pulumi-databricks 1.77.0a1762276204__py3-none-any.whl → 1.78.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.
Files changed (48) hide show
  1. pulumi_databricks/_inputs.py +117 -120
  2. pulumi_databricks/account_federation_policy.py +24 -0
  3. pulumi_databricks/account_network_policy.py +50 -0
  4. pulumi_databricks/alert_v2.py +72 -0
  5. pulumi_databricks/app.py +64 -0
  6. pulumi_databricks/apps_settings_custom_template.py +66 -0
  7. pulumi_databricks/catalog.py +7 -7
  8. pulumi_databricks/cluster_policy.py +120 -0
  9. pulumi_databricks/config/__init__.pyi +4 -0
  10. pulumi_databricks/config/vars.py +8 -0
  11. pulumi_databricks/database_synced_database_table.py +212 -0
  12. pulumi_databricks/external_location.py +131 -7
  13. pulumi_databricks/file.py +2 -2
  14. pulumi_databricks/get_aws_assume_role_policy.py +14 -14
  15. pulumi_databricks/get_aws_bucket_policy.py +10 -10
  16. pulumi_databricks/get_aws_unity_catalog_assume_role_policy.py +10 -10
  17. pulumi_databricks/get_aws_unity_catalog_policy.py +10 -10
  18. pulumi_databricks/get_cluster.py +54 -0
  19. pulumi_databricks/get_current_config.py +4 -4
  20. pulumi_databricks/get_metastore.py +6 -6
  21. pulumi_databricks/get_notebook.py +20 -1
  22. pulumi_databricks/get_service_principals.py +64 -0
  23. pulumi_databricks/instance_profile.py +0 -182
  24. pulumi_databricks/metastore.py +81 -7
  25. pulumi_databricks/metastore_data_access.py +48 -0
  26. pulumi_databricks/mlflow_webhook.py +4 -4
  27. pulumi_databricks/mws_credentials.py +10 -10
  28. pulumi_databricks/mws_customer_managed_keys.py +0 -288
  29. pulumi_databricks/mws_log_delivery.py +146 -0
  30. pulumi_databricks/mws_storage_configurations.py +16 -16
  31. pulumi_databricks/mws_vpc_endpoint.py +56 -56
  32. pulumi_databricks/mws_workspaces.py +85 -51
  33. pulumi_databricks/notebook.py +49 -0
  34. pulumi_databricks/outputs.py +99 -76
  35. pulumi_databricks/permission_assignment.py +49 -0
  36. pulumi_databricks/permissions.py +6 -6
  37. pulumi_databricks/provider.py +36 -1
  38. pulumi_databricks/pulumi-plugin.json +1 -1
  39. pulumi_databricks/recipient.py +74 -0
  40. pulumi_databricks/registered_model.py +7 -7
  41. pulumi_databricks/schema.py +7 -7
  42. pulumi_databricks/service_principal_federation_policy.py +28 -0
  43. pulumi_databricks/sql_table.py +7 -7
  44. pulumi_databricks/volume.py +7 -7
  45. {pulumi_databricks-1.77.0a1762276204.dist-info → pulumi_databricks-1.78.0.dist-info}/METADATA +1 -1
  46. {pulumi_databricks-1.77.0a1762276204.dist-info → pulumi_databricks-1.78.0.dist-info}/RECORD +48 -48
  47. {pulumi_databricks-1.77.0a1762276204.dist-info → pulumi_databricks-1.78.0.dist-info}/WHEEL +0 -0
  48. {pulumi_databricks-1.77.0a1762276204.dist-info → pulumi_databricks-1.78.0.dist-info}/top_level.txt +0 -0
@@ -371,20 +371,20 @@ class MwsVpcEndpoint(pulumi.CustomResource):
371
371
  import pulumi
372
372
  import pulumi_aws as aws
373
373
 
374
- workspace = aws.ec2.VpcEndpoint("workspace",
375
- vpc_id=vpc["vpcId"],
376
- service_name=private_link["workspaceService"],
377
- vpc_endpoint_type="Interface",
378
- security_group_ids=[vpc["defaultSecurityGroupId"]],
379
- subnet_ids=[pl_subnet["id"]],
374
+ workspace = aws.index.VpcEndpoint("workspace",
375
+ vpc_id=vpc.vpc_id,
376
+ service_name=private_link.workspace_service,
377
+ vpc_endpoint_type=Interface,
378
+ security_group_ids=[vpc.default_security_group_id],
379
+ subnet_ids=[pl_subnet.id],
380
380
  private_dns_enabled=True,
381
381
  opts = pulumi.ResourceOptions(depends_on=[pl_subnet]))
382
- relay = aws.ec2.VpcEndpoint("relay",
383
- vpc_id=vpc["vpcId"],
384
- service_name=private_link["relayService"],
385
- vpc_endpoint_type="Interface",
386
- security_group_ids=[vpc["defaultSecurityGroupId"]],
387
- subnet_ids=[pl_subnet["id"]],
382
+ relay = aws.index.VpcEndpoint("relay",
383
+ vpc_id=vpc.vpc_id,
384
+ service_name=private_link.relay_service,
385
+ vpc_endpoint_type=Interface,
386
+ security_group_ids=[vpc.default_security_group_id],
387
+ subnet_ids=[pl_subnet.id],
388
388
  private_dns_enabled=True,
389
389
  opts = pulumi.ResourceOptions(depends_on=[pl_subnet]))
390
390
  ```
@@ -396,25 +396,25 @@ class MwsVpcEndpoint(pulumi.CustomResource):
396
396
  import pulumi
397
397
  import pulumi_aws as aws
398
398
 
399
- s3 = aws.ec2.VpcEndpoint("s3",
400
- vpc_id=vpc["vpcId"],
401
- route_table_ids=vpc["privateRouteTableIds"],
402
- service_name=f"com.amazonaws.{region}.s3",
399
+ s3 = aws.index.VpcEndpoint("s3",
400
+ vpc_id=vpc.vpc_id,
401
+ route_table_ids=vpc.private_route_table_ids,
402
+ service_name=fcom.amazonaws.{region}.s3,
403
403
  opts = pulumi.ResourceOptions(depends_on=[vpc]))
404
- sts = aws.ec2.VpcEndpoint("sts",
405
- vpc_id=vpc["vpcId"],
406
- service_name=f"com.amazonaws.{region}.sts",
407
- vpc_endpoint_type="Interface",
408
- subnet_ids=vpc["privateSubnets"],
409
- security_group_ids=[vpc["defaultSecurityGroupId"]],
404
+ sts = aws.index.VpcEndpoint("sts",
405
+ vpc_id=vpc.vpc_id,
406
+ service_name=fcom.amazonaws.{region}.sts,
407
+ vpc_endpoint_type=Interface,
408
+ subnet_ids=vpc.private_subnets,
409
+ security_group_ids=[vpc.default_security_group_id],
410
410
  private_dns_enabled=True,
411
411
  opts = pulumi.ResourceOptions(depends_on=[vpc]))
412
- kinesis_streams = aws.ec2.VpcEndpoint("kinesis-streams",
413
- vpc_id=vpc["vpcId"],
414
- service_name=f"com.amazonaws.{region}.kinesis-streams",
415
- vpc_endpoint_type="Interface",
416
- subnet_ids=vpc["privateSubnets"],
417
- security_group_ids=[vpc["defaultSecurityGroupId"]],
412
+ kinesis_streams = aws.index.VpcEndpoint("kinesis-streams",
413
+ vpc_id=vpc.vpc_id,
414
+ service_name=fcom.amazonaws.{region}.kinesis-streams,
415
+ vpc_endpoint_type=Interface,
416
+ subnet_ids=vpc.private_subnets,
417
+ security_group_ids=[vpc.default_security_group_id],
418
418
  opts = pulumi.ResourceOptions(depends_on=[vpc]))
419
419
  ```
420
420
 
@@ -565,20 +565,20 @@ class MwsVpcEndpoint(pulumi.CustomResource):
565
565
  import pulumi
566
566
  import pulumi_aws as aws
567
567
 
568
- workspace = aws.ec2.VpcEndpoint("workspace",
569
- vpc_id=vpc["vpcId"],
570
- service_name=private_link["workspaceService"],
571
- vpc_endpoint_type="Interface",
572
- security_group_ids=[vpc["defaultSecurityGroupId"]],
573
- subnet_ids=[pl_subnet["id"]],
568
+ workspace = aws.index.VpcEndpoint("workspace",
569
+ vpc_id=vpc.vpc_id,
570
+ service_name=private_link.workspace_service,
571
+ vpc_endpoint_type=Interface,
572
+ security_group_ids=[vpc.default_security_group_id],
573
+ subnet_ids=[pl_subnet.id],
574
574
  private_dns_enabled=True,
575
575
  opts = pulumi.ResourceOptions(depends_on=[pl_subnet]))
576
- relay = aws.ec2.VpcEndpoint("relay",
577
- vpc_id=vpc["vpcId"],
578
- service_name=private_link["relayService"],
579
- vpc_endpoint_type="Interface",
580
- security_group_ids=[vpc["defaultSecurityGroupId"]],
581
- subnet_ids=[pl_subnet["id"]],
576
+ relay = aws.index.VpcEndpoint("relay",
577
+ vpc_id=vpc.vpc_id,
578
+ service_name=private_link.relay_service,
579
+ vpc_endpoint_type=Interface,
580
+ security_group_ids=[vpc.default_security_group_id],
581
+ subnet_ids=[pl_subnet.id],
582
582
  private_dns_enabled=True,
583
583
  opts = pulumi.ResourceOptions(depends_on=[pl_subnet]))
584
584
  ```
@@ -590,25 +590,25 @@ class MwsVpcEndpoint(pulumi.CustomResource):
590
590
  import pulumi
591
591
  import pulumi_aws as aws
592
592
 
593
- s3 = aws.ec2.VpcEndpoint("s3",
594
- vpc_id=vpc["vpcId"],
595
- route_table_ids=vpc["privateRouteTableIds"],
596
- service_name=f"com.amazonaws.{region}.s3",
593
+ s3 = aws.index.VpcEndpoint("s3",
594
+ vpc_id=vpc.vpc_id,
595
+ route_table_ids=vpc.private_route_table_ids,
596
+ service_name=fcom.amazonaws.{region}.s3,
597
597
  opts = pulumi.ResourceOptions(depends_on=[vpc]))
598
- sts = aws.ec2.VpcEndpoint("sts",
599
- vpc_id=vpc["vpcId"],
600
- service_name=f"com.amazonaws.{region}.sts",
601
- vpc_endpoint_type="Interface",
602
- subnet_ids=vpc["privateSubnets"],
603
- security_group_ids=[vpc["defaultSecurityGroupId"]],
598
+ sts = aws.index.VpcEndpoint("sts",
599
+ vpc_id=vpc.vpc_id,
600
+ service_name=fcom.amazonaws.{region}.sts,
601
+ vpc_endpoint_type=Interface,
602
+ subnet_ids=vpc.private_subnets,
603
+ security_group_ids=[vpc.default_security_group_id],
604
604
  private_dns_enabled=True,
605
605
  opts = pulumi.ResourceOptions(depends_on=[vpc]))
606
- kinesis_streams = aws.ec2.VpcEndpoint("kinesis-streams",
607
- vpc_id=vpc["vpcId"],
608
- service_name=f"com.amazonaws.{region}.kinesis-streams",
609
- vpc_endpoint_type="Interface",
610
- subnet_ids=vpc["privateSubnets"],
611
- security_group_ids=[vpc["defaultSecurityGroupId"]],
606
+ kinesis_streams = aws.index.VpcEndpoint("kinesis-streams",
607
+ vpc_id=vpc.vpc_id,
608
+ service_name=fcom.amazonaws.{region}.kinesis-streams,
609
+ vpc_endpoint_type=Interface,
610
+ subnet_ids=vpc.private_subnets,
611
+ security_group_ids=[vpc.default_security_group_id],
612
612
  opts = pulumi.ResourceOptions(depends_on=[vpc]))
613
613
  ```
614
614
 
@@ -39,6 +39,7 @@ class MwsWorkspacesArgs:
39
39
  is_no_public_ip_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
40
40
  location: Optional[pulumi.Input[_builtins.str]] = None,
41
41
  managed_services_customer_managed_key_id: Optional[pulumi.Input[_builtins.str]] = None,
42
+ network_connectivity_config_id: Optional[pulumi.Input[_builtins.str]] = None,
42
43
  network_id: Optional[pulumi.Input[_builtins.str]] = None,
43
44
  pricing_tier: Optional[pulumi.Input[_builtins.str]] = None,
44
45
  private_access_settings_id: Optional[pulumi.Input[_builtins.str]] = None,
@@ -105,8 +106,8 @@ class MwsWorkspacesArgs:
105
106
  if gcp_managed_network_config is not None:
106
107
  pulumi.set(__self__, "gcp_managed_network_config", gcp_managed_network_config)
107
108
  if gke_config is not None:
108
- warnings.warn("""gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.96.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""", DeprecationWarning)
109
- pulumi.log.warn("""gke_config is deprecated: gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.96.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""")
109
+ warnings.warn("""gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.97.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""", DeprecationWarning)
110
+ pulumi.log.warn("""gke_config is deprecated: gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.97.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""")
110
111
  if gke_config is not None:
111
112
  pulumi.set(__self__, "gke_config", gke_config)
112
113
  if is_no_public_ip_enabled is not None:
@@ -115,6 +116,8 @@ class MwsWorkspacesArgs:
115
116
  pulumi.set(__self__, "location", location)
116
117
  if managed_services_customer_managed_key_id is not None:
117
118
  pulumi.set(__self__, "managed_services_customer_managed_key_id", managed_services_customer_managed_key_id)
119
+ if network_connectivity_config_id is not None:
120
+ pulumi.set(__self__, "network_connectivity_config_id", network_connectivity_config_id)
118
121
  if network_id is not None:
119
122
  pulumi.set(__self__, "network_id", network_id)
120
123
  if pricing_tier is not None:
@@ -297,7 +300,7 @@ class MwsWorkspacesArgs:
297
300
 
298
301
  @_builtins.property
299
302
  @pulumi.getter(name="gkeConfig")
300
- @_utilities.deprecated("""gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.96.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""")
303
+ @_utilities.deprecated("""gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.97.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""")
301
304
  def gke_config(self) -> Optional[pulumi.Input['MwsWorkspacesGkeConfigArgs']]:
302
305
  return pulumi.get(self, "gke_config")
303
306
 
@@ -338,6 +341,15 @@ class MwsWorkspacesArgs:
338
341
  def managed_services_customer_managed_key_id(self, value: Optional[pulumi.Input[_builtins.str]]):
339
342
  pulumi.set(self, "managed_services_customer_managed_key_id", value)
340
343
 
344
+ @_builtins.property
345
+ @pulumi.getter(name="networkConnectivityConfigId")
346
+ def network_connectivity_config_id(self) -> Optional[pulumi.Input[_builtins.str]]:
347
+ return pulumi.get(self, "network_connectivity_config_id")
348
+
349
+ @network_connectivity_config_id.setter
350
+ def network_connectivity_config_id(self, value: Optional[pulumi.Input[_builtins.str]]):
351
+ pulumi.set(self, "network_connectivity_config_id", value)
352
+
341
353
  @_builtins.property
342
354
  @pulumi.getter(name="networkId")
343
355
  def network_id(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -478,6 +490,7 @@ class _MwsWorkspacesState:
478
490
  is_no_public_ip_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
479
491
  location: Optional[pulumi.Input[_builtins.str]] = None,
480
492
  managed_services_customer_managed_key_id: Optional[pulumi.Input[_builtins.str]] = None,
493
+ network_connectivity_config_id: Optional[pulumi.Input[_builtins.str]] = None,
481
494
  network_id: Optional[pulumi.Input[_builtins.str]] = None,
482
495
  pricing_tier: Optional[pulumi.Input[_builtins.str]] = None,
483
496
  private_access_settings_id: Optional[pulumi.Input[_builtins.str]] = None,
@@ -551,8 +564,8 @@ class _MwsWorkspacesState:
551
564
  if gcp_workspace_sa is not None:
552
565
  pulumi.set(__self__, "gcp_workspace_sa", gcp_workspace_sa)
553
566
  if gke_config is not None:
554
- warnings.warn("""gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.96.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""", DeprecationWarning)
555
- pulumi.log.warn("""gke_config is deprecated: gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.96.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""")
567
+ warnings.warn("""gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.97.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""", DeprecationWarning)
568
+ pulumi.log.warn("""gke_config is deprecated: gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.97.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""")
556
569
  if gke_config is not None:
557
570
  pulumi.set(__self__, "gke_config", gke_config)
558
571
  if is_no_public_ip_enabled is not None:
@@ -561,6 +574,8 @@ class _MwsWorkspacesState:
561
574
  pulumi.set(__self__, "location", location)
562
575
  if managed_services_customer_managed_key_id is not None:
563
576
  pulumi.set(__self__, "managed_services_customer_managed_key_id", managed_services_customer_managed_key_id)
577
+ if network_connectivity_config_id is not None:
578
+ pulumi.set(__self__, "network_connectivity_config_id", network_connectivity_config_id)
564
579
  if network_id is not None:
565
580
  pulumi.set(__self__, "network_id", network_id)
566
581
  if pricing_tier is not None:
@@ -757,7 +772,7 @@ class _MwsWorkspacesState:
757
772
 
758
773
  @_builtins.property
759
774
  @pulumi.getter(name="gkeConfig")
760
- @_utilities.deprecated("""gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.96.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""")
775
+ @_utilities.deprecated("""gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.97.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""")
761
776
  def gke_config(self) -> Optional[pulumi.Input['MwsWorkspacesGkeConfigArgs']]:
762
777
  return pulumi.get(self, "gke_config")
763
778
 
@@ -798,6 +813,15 @@ class _MwsWorkspacesState:
798
813
  def managed_services_customer_managed_key_id(self, value: Optional[pulumi.Input[_builtins.str]]):
799
814
  pulumi.set(self, "managed_services_customer_managed_key_id", value)
800
815
 
816
+ @_builtins.property
817
+ @pulumi.getter(name="networkConnectivityConfigId")
818
+ def network_connectivity_config_id(self) -> Optional[pulumi.Input[_builtins.str]]:
819
+ return pulumi.get(self, "network_connectivity_config_id")
820
+
821
+ @network_connectivity_config_id.setter
822
+ def network_connectivity_config_id(self, value: Optional[pulumi.Input[_builtins.str]]):
823
+ pulumi.set(self, "network_connectivity_config_id", value)
824
+
801
825
  @_builtins.property
802
826
  @pulumi.getter(name="networkId")
803
827
  def network_id(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -951,6 +975,7 @@ class MwsWorkspaces(pulumi.CustomResource):
951
975
  is_no_public_ip_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
952
976
  location: Optional[pulumi.Input[_builtins.str]] = None,
953
977
  managed_services_customer_managed_key_id: Optional[pulumi.Input[_builtins.str]] = None,
978
+ network_connectivity_config_id: Optional[pulumi.Input[_builtins.str]] = None,
954
979
  network_id: Optional[pulumi.Input[_builtins.str]] = None,
955
980
  pricing_tier: Optional[pulumi.Input[_builtins.str]] = None,
956
981
  private_access_settings_id: Optional[pulumi.Input[_builtins.str]] = None,
@@ -1057,52 +1082,52 @@ class MwsWorkspaces(pulumi.CustomResource):
1057
1082
  length=6)
1058
1083
  prefix = f"dltp{naming['result']}"
1059
1084
  this = databricks.get_aws_assume_role_policy(external_id=databricks_account_id)
1060
- cross_account_role = aws.iam.Role("cross_account_role",
1061
- name=f"{prefix}-crossaccount",
1085
+ cross_account_role = aws.index.IamRole("cross_account_role",
1086
+ name=f{prefix}-crossaccount,
1062
1087
  assume_role_policy=this.json,
1063
1088
  tags=tags)
1064
1089
  this_get_aws_cross_account_policy = databricks.get_aws_cross_account_policy()
1065
- this_role_policy = aws.iam.RolePolicy("this",
1066
- name=f"{prefix}-policy",
1090
+ this_iam_role_policy = aws.index.IamRolePolicy("this",
1091
+ name=f{prefix}-policy,
1067
1092
  role=cross_account_role.id,
1068
1093
  policy=this_get_aws_cross_account_policy.json)
1069
1094
  this_mws_credentials = databricks.MwsCredentials("this",
1070
1095
  account_id=databricks_account_id,
1071
1096
  credentials_name=f"{prefix}-creds",
1072
- role_arn=cross_account_role.arn)
1073
- root_storage_bucket = aws.s3.Bucket("root_storage_bucket",
1074
- bucket=f"{prefix}-rootbucket",
1075
- acl=aws.s3.CannedAcl.PRIVATE,
1097
+ role_arn=cross_account_role["arn"])
1098
+ root_storage_bucket = aws.index.S3Bucket("root_storage_bucket",
1099
+ bucket=f{prefix}-rootbucket,
1100
+ acl=private,
1076
1101
  force_destroy=True,
1077
1102
  tags=tags)
1078
- root_versioning = aws.s3.BucketVersioning("root_versioning",
1103
+ root_versioning = aws.index.S3BucketVersioning("root_versioning",
1079
1104
  bucket=root_storage_bucket.id,
1080
- versioning_configuration={
1081
- "status": "Disabled",
1082
- })
1083
- root_storage_bucket_bucket_server_side_encryption_configuration = aws.s3.BucketServerSideEncryptionConfiguration("root_storage_bucket",
1105
+ versioning_configuration=[{
1106
+ status: Disabled,
1107
+ }])
1108
+ root_storage_bucket_s3_bucket_server_side_encryption_configuration = aws.index.S3BucketServerSideEncryptionConfiguration("root_storage_bucket",
1084
1109
  bucket=root_storage_bucket.bucket,
1085
- rules=[{
1086
- "apply_server_side_encryption_by_default": {
1087
- "sse_algorithm": "AES256",
1088
- },
1110
+ rule=[{
1111
+ applyServerSideEncryptionByDefault: [{
1112
+ sseAlgorithm: AES256,
1113
+ }],
1089
1114
  }])
1090
- root_storage_bucket_bucket_public_access_block = aws.s3.BucketPublicAccessBlock("root_storage_bucket",
1115
+ root_storage_bucket_s3_bucket_public_access_block = aws.index.S3BucketPublicAccessBlock("root_storage_bucket",
1091
1116
  bucket=root_storage_bucket.id,
1092
1117
  block_public_acls=True,
1093
1118
  block_public_policy=True,
1094
1119
  ignore_public_acls=True,
1095
1120
  restrict_public_buckets=True,
1096
1121
  opts = pulumi.ResourceOptions(depends_on=[root_storage_bucket]))
1097
- this_get_aws_bucket_policy = databricks.get_aws_bucket_policy_output(bucket=root_storage_bucket.bucket)
1098
- root_bucket_policy = aws.s3.BucketPolicy("root_bucket_policy",
1122
+ this_get_aws_bucket_policy = databricks.get_aws_bucket_policy(bucket=root_storage_bucket["bucket"])
1123
+ root_bucket_policy = aws.index.S3BucketPolicy("root_bucket_policy",
1099
1124
  bucket=root_storage_bucket.id,
1100
1125
  policy=this_get_aws_bucket_policy.json,
1101
- opts = pulumi.ResourceOptions(depends_on=[root_storage_bucket_bucket_public_access_block]))
1126
+ opts = pulumi.ResourceOptions(depends_on=[root_storage_bucket_s3_bucket_public_access_block]))
1102
1127
  this_mws_storage_configurations = databricks.MwsStorageConfigurations("this",
1103
1128
  account_id=databricks_account_id,
1104
1129
  storage_configuration_name=f"{prefix}-storage",
1105
- bucket_name=root_storage_bucket.bucket)
1130
+ bucket_name=root_storage_bucket["bucket"])
1106
1131
  this_mws_workspaces = databricks.MwsWorkspaces("this",
1107
1132
  account_id=databricks_account_id,
1108
1133
  workspace_name=prefix,
@@ -1318,52 +1343,52 @@ class MwsWorkspaces(pulumi.CustomResource):
1318
1343
  length=6)
1319
1344
  prefix = f"dltp{naming['result']}"
1320
1345
  this = databricks.get_aws_assume_role_policy(external_id=databricks_account_id)
1321
- cross_account_role = aws.iam.Role("cross_account_role",
1322
- name=f"{prefix}-crossaccount",
1346
+ cross_account_role = aws.index.IamRole("cross_account_role",
1347
+ name=f{prefix}-crossaccount,
1323
1348
  assume_role_policy=this.json,
1324
1349
  tags=tags)
1325
1350
  this_get_aws_cross_account_policy = databricks.get_aws_cross_account_policy()
1326
- this_role_policy = aws.iam.RolePolicy("this",
1327
- name=f"{prefix}-policy",
1351
+ this_iam_role_policy = aws.index.IamRolePolicy("this",
1352
+ name=f{prefix}-policy,
1328
1353
  role=cross_account_role.id,
1329
1354
  policy=this_get_aws_cross_account_policy.json)
1330
1355
  this_mws_credentials = databricks.MwsCredentials("this",
1331
1356
  account_id=databricks_account_id,
1332
1357
  credentials_name=f"{prefix}-creds",
1333
- role_arn=cross_account_role.arn)
1334
- root_storage_bucket = aws.s3.Bucket("root_storage_bucket",
1335
- bucket=f"{prefix}-rootbucket",
1336
- acl=aws.s3.CannedAcl.PRIVATE,
1358
+ role_arn=cross_account_role["arn"])
1359
+ root_storage_bucket = aws.index.S3Bucket("root_storage_bucket",
1360
+ bucket=f{prefix}-rootbucket,
1361
+ acl=private,
1337
1362
  force_destroy=True,
1338
1363
  tags=tags)
1339
- root_versioning = aws.s3.BucketVersioning("root_versioning",
1364
+ root_versioning = aws.index.S3BucketVersioning("root_versioning",
1340
1365
  bucket=root_storage_bucket.id,
1341
- versioning_configuration={
1342
- "status": "Disabled",
1343
- })
1344
- root_storage_bucket_bucket_server_side_encryption_configuration = aws.s3.BucketServerSideEncryptionConfiguration("root_storage_bucket",
1366
+ versioning_configuration=[{
1367
+ status: Disabled,
1368
+ }])
1369
+ root_storage_bucket_s3_bucket_server_side_encryption_configuration = aws.index.S3BucketServerSideEncryptionConfiguration("root_storage_bucket",
1345
1370
  bucket=root_storage_bucket.bucket,
1346
- rules=[{
1347
- "apply_server_side_encryption_by_default": {
1348
- "sse_algorithm": "AES256",
1349
- },
1371
+ rule=[{
1372
+ applyServerSideEncryptionByDefault: [{
1373
+ sseAlgorithm: AES256,
1374
+ }],
1350
1375
  }])
1351
- root_storage_bucket_bucket_public_access_block = aws.s3.BucketPublicAccessBlock("root_storage_bucket",
1376
+ root_storage_bucket_s3_bucket_public_access_block = aws.index.S3BucketPublicAccessBlock("root_storage_bucket",
1352
1377
  bucket=root_storage_bucket.id,
1353
1378
  block_public_acls=True,
1354
1379
  block_public_policy=True,
1355
1380
  ignore_public_acls=True,
1356
1381
  restrict_public_buckets=True,
1357
1382
  opts = pulumi.ResourceOptions(depends_on=[root_storage_bucket]))
1358
- this_get_aws_bucket_policy = databricks.get_aws_bucket_policy_output(bucket=root_storage_bucket.bucket)
1359
- root_bucket_policy = aws.s3.BucketPolicy("root_bucket_policy",
1383
+ this_get_aws_bucket_policy = databricks.get_aws_bucket_policy(bucket=root_storage_bucket["bucket"])
1384
+ root_bucket_policy = aws.index.S3BucketPolicy("root_bucket_policy",
1360
1385
  bucket=root_storage_bucket.id,
1361
1386
  policy=this_get_aws_bucket_policy.json,
1362
- opts = pulumi.ResourceOptions(depends_on=[root_storage_bucket_bucket_public_access_block]))
1387
+ opts = pulumi.ResourceOptions(depends_on=[root_storage_bucket_s3_bucket_public_access_block]))
1363
1388
  this_mws_storage_configurations = databricks.MwsStorageConfigurations("this",
1364
1389
  account_id=databricks_account_id,
1365
1390
  storage_configuration_name=f"{prefix}-storage",
1366
- bucket_name=root_storage_bucket.bucket)
1391
+ bucket_name=root_storage_bucket["bucket"])
1367
1392
  this_mws_workspaces = databricks.MwsWorkspaces("this",
1368
1393
  account_id=databricks_account_id,
1369
1394
  workspace_name=prefix,
@@ -1485,6 +1510,7 @@ class MwsWorkspaces(pulumi.CustomResource):
1485
1510
  is_no_public_ip_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1486
1511
  location: Optional[pulumi.Input[_builtins.str]] = None,
1487
1512
  managed_services_customer_managed_key_id: Optional[pulumi.Input[_builtins.str]] = None,
1513
+ network_connectivity_config_id: Optional[pulumi.Input[_builtins.str]] = None,
1488
1514
  network_id: Optional[pulumi.Input[_builtins.str]] = None,
1489
1515
  pricing_tier: Optional[pulumi.Input[_builtins.str]] = None,
1490
1516
  private_access_settings_id: Optional[pulumi.Input[_builtins.str]] = None,
@@ -1524,6 +1550,7 @@ class MwsWorkspaces(pulumi.CustomResource):
1524
1550
  __props__.__dict__["is_no_public_ip_enabled"] = is_no_public_ip_enabled
1525
1551
  __props__.__dict__["location"] = location
1526
1552
  __props__.__dict__["managed_services_customer_managed_key_id"] = managed_services_customer_managed_key_id
1553
+ __props__.__dict__["network_connectivity_config_id"] = network_connectivity_config_id
1527
1554
  __props__.__dict__["network_id"] = network_id
1528
1555
  __props__.__dict__["pricing_tier"] = pricing_tier
1529
1556
  __props__.__dict__["private_access_settings_id"] = private_access_settings_id
@@ -1570,6 +1597,7 @@ class MwsWorkspaces(pulumi.CustomResource):
1570
1597
  is_no_public_ip_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1571
1598
  location: Optional[pulumi.Input[_builtins.str]] = None,
1572
1599
  managed_services_customer_managed_key_id: Optional[pulumi.Input[_builtins.str]] = None,
1600
+ network_connectivity_config_id: Optional[pulumi.Input[_builtins.str]] = None,
1573
1601
  network_id: Optional[pulumi.Input[_builtins.str]] = None,
1574
1602
  pricing_tier: Optional[pulumi.Input[_builtins.str]] = None,
1575
1603
  private_access_settings_id: Optional[pulumi.Input[_builtins.str]] = None,
@@ -1637,6 +1665,7 @@ class MwsWorkspaces(pulumi.CustomResource):
1637
1665
  __props__.__dict__["is_no_public_ip_enabled"] = is_no_public_ip_enabled
1638
1666
  __props__.__dict__["location"] = location
1639
1667
  __props__.__dict__["managed_services_customer_managed_key_id"] = managed_services_customer_managed_key_id
1668
+ __props__.__dict__["network_connectivity_config_id"] = network_connectivity_config_id
1640
1669
  __props__.__dict__["network_id"] = network_id
1641
1670
  __props__.__dict__["pricing_tier"] = pricing_tier
1642
1671
  __props__.__dict__["private_access_settings_id"] = private_access_settings_id
@@ -1763,7 +1792,7 @@ class MwsWorkspaces(pulumi.CustomResource):
1763
1792
 
1764
1793
  @_builtins.property
1765
1794
  @pulumi.getter(name="gkeConfig")
1766
- @_utilities.deprecated("""gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.96.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""")
1795
+ @_utilities.deprecated("""gke_config is deprecated and will be removed in a future release. For more information, review the documentation at https://registry.terraform.io/providers/databricks/databricks/1.97.0/docs/guides/gcp-workspace#creating-a-databricks-workspace""")
1767
1796
  def gke_config(self) -> pulumi.Output[Optional['outputs.MwsWorkspacesGkeConfig']]:
1768
1797
  return pulumi.get(self, "gke_config")
1769
1798
 
@@ -1788,6 +1817,11 @@ class MwsWorkspaces(pulumi.CustomResource):
1788
1817
  """
1789
1818
  return pulumi.get(self, "managed_services_customer_managed_key_id")
1790
1819
 
1820
+ @_builtins.property
1821
+ @pulumi.getter(name="networkConnectivityConfigId")
1822
+ def network_connectivity_config_id(self) -> pulumi.Output[_builtins.str]:
1823
+ return pulumi.get(self, "network_connectivity_config_id")
1824
+
1791
1825
  @_builtins.property
1792
1826
  @pulumi.getter(name="networkId")
1793
1827
  def network_id(self) -> pulumi.Output[Optional[_builtins.str]]:
@@ -13,6 +13,8 @@ if sys.version_info >= (3, 11):
13
13
  else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
16
18
 
17
19
  __all__ = ['NotebookArgs', 'Notebook']
18
20
 
@@ -26,6 +28,7 @@ class NotebookArgs:
26
28
  md5: Optional[pulumi.Input[_builtins.str]] = None,
27
29
  object_id: Optional[pulumi.Input[_builtins.int]] = None,
28
30
  object_type: Optional[pulumi.Input[_builtins.str]] = None,
31
+ provider_config: Optional[pulumi.Input['NotebookProviderConfigArgs']] = None,
29
32
  source: Optional[pulumi.Input[_builtins.str]] = None):
30
33
  """
31
34
  The set of arguments for constructing a Notebook resource.
@@ -33,6 +36,7 @@ class NotebookArgs:
33
36
  :param pulumi.Input[_builtins.str] content_base64: The base64-encoded notebook source code. Conflicts with `source`. Use of `content_base64` is discouraged, as it's increasing memory footprint of Pulumi state and should only be used in exceptional circumstances, like creating a notebook with configuration properties for a data pipeline.
34
37
  :param pulumi.Input[_builtins.str] language: One of `SCALA`, `PYTHON`, `SQL`, `R`.
35
38
  :param pulumi.Input[_builtins.int] object_id: Unique identifier for a NOTEBOOK
39
+ :param pulumi.Input['NotebookProviderConfigArgs'] provider_config: Configure the provider for management through account provider. This block consists of the following fields:
36
40
  :param pulumi.Input[_builtins.str] source: Path to notebook in source code format on local filesystem. Conflicts with `content_base64`.
37
41
  """
38
42
  pulumi.set(__self__, "path", path)
@@ -51,6 +55,8 @@ class NotebookArgs:
51
55
  pulumi.log.warn("""object_type is deprecated: Always is a notebook""")
52
56
  if object_type is not None:
53
57
  pulumi.set(__self__, "object_type", object_type)
58
+ if provider_config is not None:
59
+ pulumi.set(__self__, "provider_config", provider_config)
54
60
  if source is not None:
55
61
  pulumi.set(__self__, "source", source)
56
62
 
@@ -130,6 +136,18 @@ class NotebookArgs:
130
136
  def object_type(self, value: Optional[pulumi.Input[_builtins.str]]):
131
137
  pulumi.set(self, "object_type", value)
132
138
 
139
+ @_builtins.property
140
+ @pulumi.getter(name="providerConfig")
141
+ def provider_config(self) -> Optional[pulumi.Input['NotebookProviderConfigArgs']]:
142
+ """
143
+ Configure the provider for management through account provider. This block consists of the following fields:
144
+ """
145
+ return pulumi.get(self, "provider_config")
146
+
147
+ @provider_config.setter
148
+ def provider_config(self, value: Optional[pulumi.Input['NotebookProviderConfigArgs']]):
149
+ pulumi.set(self, "provider_config", value)
150
+
133
151
  @_builtins.property
134
152
  @pulumi.getter
135
153
  def source(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -153,6 +171,7 @@ class _NotebookState:
153
171
  object_id: Optional[pulumi.Input[_builtins.int]] = None,
154
172
  object_type: Optional[pulumi.Input[_builtins.str]] = None,
155
173
  path: Optional[pulumi.Input[_builtins.str]] = None,
174
+ provider_config: Optional[pulumi.Input['NotebookProviderConfigArgs']] = None,
156
175
  source: Optional[pulumi.Input[_builtins.str]] = None,
157
176
  url: Optional[pulumi.Input[_builtins.str]] = None,
158
177
  workspace_path: Optional[pulumi.Input[_builtins.str]] = None):
@@ -162,6 +181,7 @@ class _NotebookState:
162
181
  :param pulumi.Input[_builtins.str] language: One of `SCALA`, `PYTHON`, `SQL`, `R`.
163
182
  :param pulumi.Input[_builtins.int] object_id: Unique identifier for a NOTEBOOK
164
183
  :param pulumi.Input[_builtins.str] path: The absolute path of the notebook or directory, beginning with "/", e.g. "/Demo".
184
+ :param pulumi.Input['NotebookProviderConfigArgs'] provider_config: Configure the provider for management through account provider. This block consists of the following fields:
165
185
  :param pulumi.Input[_builtins.str] source: Path to notebook in source code format on local filesystem. Conflicts with `content_base64`.
166
186
  :param pulumi.Input[_builtins.str] url: Routable URL of the notebook
167
187
  :param pulumi.Input[_builtins.str] workspace_path: path on Workspace File System (WSFS) in form of `/Workspace` + `path`
@@ -183,6 +203,8 @@ class _NotebookState:
183
203
  pulumi.set(__self__, "object_type", object_type)
184
204
  if path is not None:
185
205
  pulumi.set(__self__, "path", path)
206
+ if provider_config is not None:
207
+ pulumi.set(__self__, "provider_config", provider_config)
186
208
  if source is not None:
187
209
  pulumi.set(__self__, "source", source)
188
210
  if url is not None:
@@ -266,6 +288,18 @@ class _NotebookState:
266
288
  def path(self, value: Optional[pulumi.Input[_builtins.str]]):
267
289
  pulumi.set(self, "path", value)
268
290
 
291
+ @_builtins.property
292
+ @pulumi.getter(name="providerConfig")
293
+ def provider_config(self) -> Optional[pulumi.Input['NotebookProviderConfigArgs']]:
294
+ """
295
+ Configure the provider for management through account provider. This block consists of the following fields:
296
+ """
297
+ return pulumi.get(self, "provider_config")
298
+
299
+ @provider_config.setter
300
+ def provider_config(self, value: Optional[pulumi.Input['NotebookProviderConfigArgs']]):
301
+ pulumi.set(self, "provider_config", value)
302
+
269
303
  @_builtins.property
270
304
  @pulumi.getter
271
305
  def source(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -316,6 +350,7 @@ class Notebook(pulumi.CustomResource):
316
350
  object_id: Optional[pulumi.Input[_builtins.int]] = None,
317
351
  object_type: Optional[pulumi.Input[_builtins.str]] = None,
318
352
  path: Optional[pulumi.Input[_builtins.str]] = None,
353
+ provider_config: Optional[pulumi.Input[Union['NotebookProviderConfigArgs', 'NotebookProviderConfigArgsDict']]] = None,
319
354
  source: Optional[pulumi.Input[_builtins.str]] = None,
320
355
  __props__=None):
321
356
  """
@@ -351,6 +386,7 @@ class Notebook(pulumi.CustomResource):
351
386
  :param pulumi.Input[_builtins.str] language: One of `SCALA`, `PYTHON`, `SQL`, `R`.
352
387
  :param pulumi.Input[_builtins.int] object_id: Unique identifier for a NOTEBOOK
353
388
  :param pulumi.Input[_builtins.str] path: The absolute path of the notebook or directory, beginning with "/", e.g. "/Demo".
389
+ :param pulumi.Input[Union['NotebookProviderConfigArgs', 'NotebookProviderConfigArgsDict']] provider_config: Configure the provider for management through account provider. This block consists of the following fields:
354
390
  :param pulumi.Input[_builtins.str] source: Path to notebook in source code format on local filesystem. Conflicts with `content_base64`.
355
391
  """
356
392
  ...
@@ -408,6 +444,7 @@ class Notebook(pulumi.CustomResource):
408
444
  object_id: Optional[pulumi.Input[_builtins.int]] = None,
409
445
  object_type: Optional[pulumi.Input[_builtins.str]] = None,
410
446
  path: Optional[pulumi.Input[_builtins.str]] = None,
447
+ provider_config: Optional[pulumi.Input[Union['NotebookProviderConfigArgs', 'NotebookProviderConfigArgsDict']]] = None,
411
448
  source: Optional[pulumi.Input[_builtins.str]] = None,
412
449
  __props__=None):
413
450
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -427,6 +464,7 @@ class Notebook(pulumi.CustomResource):
427
464
  if path is None and not opts.urn:
428
465
  raise TypeError("Missing required property 'path'")
429
466
  __props__.__dict__["path"] = path
467
+ __props__.__dict__["provider_config"] = provider_config
430
468
  __props__.__dict__["source"] = source
431
469
  __props__.__dict__["url"] = None
432
470
  __props__.__dict__["workspace_path"] = None
@@ -447,6 +485,7 @@ class Notebook(pulumi.CustomResource):
447
485
  object_id: Optional[pulumi.Input[_builtins.int]] = None,
448
486
  object_type: Optional[pulumi.Input[_builtins.str]] = None,
449
487
  path: Optional[pulumi.Input[_builtins.str]] = None,
488
+ provider_config: Optional[pulumi.Input[Union['NotebookProviderConfigArgs', 'NotebookProviderConfigArgsDict']]] = None,
450
489
  source: Optional[pulumi.Input[_builtins.str]] = None,
451
490
  url: Optional[pulumi.Input[_builtins.str]] = None,
452
491
  workspace_path: Optional[pulumi.Input[_builtins.str]] = None) -> 'Notebook':
@@ -461,6 +500,7 @@ class Notebook(pulumi.CustomResource):
461
500
  :param pulumi.Input[_builtins.str] language: One of `SCALA`, `PYTHON`, `SQL`, `R`.
462
501
  :param pulumi.Input[_builtins.int] object_id: Unique identifier for a NOTEBOOK
463
502
  :param pulumi.Input[_builtins.str] path: The absolute path of the notebook or directory, beginning with "/", e.g. "/Demo".
503
+ :param pulumi.Input[Union['NotebookProviderConfigArgs', 'NotebookProviderConfigArgsDict']] provider_config: Configure the provider for management through account provider. This block consists of the following fields:
464
504
  :param pulumi.Input[_builtins.str] source: Path to notebook in source code format on local filesystem. Conflicts with `content_base64`.
465
505
  :param pulumi.Input[_builtins.str] url: Routable URL of the notebook
466
506
  :param pulumi.Input[_builtins.str] workspace_path: path on Workspace File System (WSFS) in form of `/Workspace` + `path`
@@ -476,6 +516,7 @@ class Notebook(pulumi.CustomResource):
476
516
  __props__.__dict__["object_id"] = object_id
477
517
  __props__.__dict__["object_type"] = object_type
478
518
  __props__.__dict__["path"] = path
519
+ __props__.__dict__["provider_config"] = provider_config
479
520
  __props__.__dict__["source"] = source
480
521
  __props__.__dict__["url"] = url
481
522
  __props__.__dict__["workspace_path"] = workspace_path
@@ -529,6 +570,14 @@ class Notebook(pulumi.CustomResource):
529
570
  """
530
571
  return pulumi.get(self, "path")
531
572
 
573
+ @_builtins.property
574
+ @pulumi.getter(name="providerConfig")
575
+ def provider_config(self) -> pulumi.Output[Optional['outputs.NotebookProviderConfig']]:
576
+ """
577
+ Configure the provider for management through account provider. This block consists of the following fields:
578
+ """
579
+ return pulumi.get(self, "provider_config")
580
+
532
581
  @_builtins.property
533
582
  @pulumi.getter
534
583
  def source(self) -> pulumi.Output[Optional[_builtins.str]]: