pulumi-gcp 7.7.0a1705990280__py3-none-any.whl → 7.8.0a1706310284__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. pulumi_gcp/__init__.py +56 -0
  2. pulumi_gcp/alloydb/cluster.py +26 -21
  3. pulumi_gcp/bigquery/_inputs.py +231 -0
  4. pulumi_gcp/bigquery/outputs.py +229 -0
  5. pulumi_gcp/bigquery/routine.py +256 -10
  6. pulumi_gcp/bigquery/table.py +47 -0
  7. pulumi_gcp/cloudbuildv2/repository.py +60 -53
  8. pulumi_gcp/cloudrunv2/_inputs.py +176 -4
  9. pulumi_gcp/cloudrunv2/outputs.py +256 -3
  10. pulumi_gcp/cloudrunv2/service.py +148 -0
  11. pulumi_gcp/composer/_inputs.py +24 -0
  12. pulumi_gcp/composer/outputs.py +34 -0
  13. pulumi_gcp/compute/_inputs.py +4 -2
  14. pulumi_gcp/compute/disk.py +14 -14
  15. pulumi_gcp/compute/outputs.py +4 -2
  16. pulumi_gcp/healthcare/fhir_store.py +56 -0
  17. pulumi_gcp/kms/crypto_key.py +2 -2
  18. pulumi_gcp/kms/crypto_key_iam_binding.py +2 -2
  19. pulumi_gcp/kms/crypto_key_iam_member.py +2 -2
  20. pulumi_gcp/kms/crypto_key_iam_policy.py +2 -2
  21. pulumi_gcp/kms/crypto_key_version.py +2 -2
  22. pulumi_gcp/kms/secret_ciphertext.py +2 -2
  23. pulumi_gcp/netapp/__init__.py +4 -0
  24. pulumi_gcp/netapp/_inputs.py +643 -0
  25. pulumi_gcp/netapp/backup_policy.py +829 -0
  26. pulumi_gcp/netapp/kmsconfig.py +2 -2
  27. pulumi_gcp/netapp/outputs.py +651 -0
  28. pulumi_gcp/netapp/volume.py +1467 -0
  29. pulumi_gcp/networksecurity/__init__.py +5 -0
  30. pulumi_gcp/networksecurity/_inputs.py +228 -0
  31. pulumi_gcp/networksecurity/address_group_iam_binding.py +324 -0
  32. pulumi_gcp/networksecurity/address_group_iam_member.py +324 -0
  33. pulumi_gcp/networksecurity/address_group_iam_policy.py +492 -0
  34. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +144 -0
  35. pulumi_gcp/networksecurity/outputs.py +212 -0
  36. pulumi_gcp/networksecurity/security_profile.py +800 -0
  37. pulumi_gcp/networkservices/gateway.py +1 -1
  38. pulumi_gcp/organizations/get_folders.py +1 -1
  39. pulumi_gcp/orgpolicy/_inputs.py +12 -12
  40. pulumi_gcp/orgpolicy/outputs.py +12 -12
  41. pulumi_gcp/securesourcemanager/instance.py +4 -2
  42. pulumi_gcp/storage/insights_report_config.py +12 -10
  43. pulumi_gcp/vertex/__init__.py +1 -0
  44. pulumi_gcp/vertex/ai_feature_group_feature.py +767 -0
  45. pulumi_gcp/workstations/workstation_config.py +47 -0
  46. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/METADATA +1 -1
  47. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/RECORD +49 -39
  48. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/WHEEL +0 -0
  49. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/top_level.txt +0 -0
@@ -27,7 +27,8 @@ class RoutineArgs:
27
27
  language: Optional[pulumi.Input[str]] = None,
28
28
  project: Optional[pulumi.Input[str]] = None,
29
29
  return_table_type: Optional[pulumi.Input[str]] = None,
30
- return_type: Optional[pulumi.Input[str]] = None):
30
+ return_type: Optional[pulumi.Input[str]] = None,
31
+ spark_options: Optional[pulumi.Input['RoutineSparkOptionsArgs']] = None):
31
32
  """
32
33
  The set of arguments for constructing a Routine resource.
33
34
  :param pulumi.Input[str] dataset_id: The ID of the dataset containing this routine
@@ -47,7 +48,7 @@ class RoutineArgs:
47
48
  :param pulumi.Input[Sequence[pulumi.Input[str]]] imported_libraries: Optional. If language = "JAVASCRIPT", this field stores the path of the
48
49
  imported JAVASCRIPT libraries.
49
50
  :param pulumi.Input[str] language: The language of the routine.
50
- Possible values are: `SQL`, `JAVASCRIPT`.
51
+ Possible values are: `SQL`, `JAVASCRIPT`, `PYTHON`, `JAVA`, `SCALA`.
51
52
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
52
53
  If it is not provided, the provider project is used.
53
54
  :param pulumi.Input[str] return_table_type: Optional. Can be set only if routineType = "TABLE_VALUED_FUNCTION".
@@ -63,6 +64,8 @@ class RoutineArgs:
63
64
  d the order of values or replaced STRUCT field type with RECORD field type, we currently
64
65
  cannot suppress the recurring diff this causes. As a workaround, we recommend using
65
66
  the schema as returned by the API.
67
+ :param pulumi.Input['RoutineSparkOptionsArgs'] spark_options: Optional. If language is one of "PYTHON", "JAVA", "SCALA", this field stores the options for spark stored procedure.
68
+ Structure is documented below.
66
69
  """
67
70
  pulumi.set(__self__, "dataset_id", dataset_id)
68
71
  pulumi.set(__self__, "definition_body", definition_body)
@@ -84,6 +87,8 @@ class RoutineArgs:
84
87
  pulumi.set(__self__, "return_table_type", return_table_type)
85
88
  if return_type is not None:
86
89
  pulumi.set(__self__, "return_type", return_type)
90
+ if spark_options is not None:
91
+ pulumi.set(__self__, "spark_options", spark_options)
87
92
 
88
93
  @property
89
94
  @pulumi.getter(name="datasetId")
@@ -194,7 +199,7 @@ class RoutineArgs:
194
199
  def language(self) -> Optional[pulumi.Input[str]]:
195
200
  """
196
201
  The language of the routine.
197
- Possible values are: `SQL`, `JAVASCRIPT`.
202
+ Possible values are: `SQL`, `JAVASCRIPT`, `PYTHON`, `JAVA`, `SCALA`.
198
203
  """
199
204
  return pulumi.get(self, "language")
200
205
 
@@ -250,6 +255,19 @@ class RoutineArgs:
250
255
  def return_type(self, value: Optional[pulumi.Input[str]]):
251
256
  pulumi.set(self, "return_type", value)
252
257
 
258
+ @property
259
+ @pulumi.getter(name="sparkOptions")
260
+ def spark_options(self) -> Optional[pulumi.Input['RoutineSparkOptionsArgs']]:
261
+ """
262
+ Optional. If language is one of "PYTHON", "JAVA", "SCALA", this field stores the options for spark stored procedure.
263
+ Structure is documented below.
264
+ """
265
+ return pulumi.get(self, "spark_options")
266
+
267
+ @spark_options.setter
268
+ def spark_options(self, value: Optional[pulumi.Input['RoutineSparkOptionsArgs']]):
269
+ pulumi.set(self, "spark_options", value)
270
+
253
271
 
254
272
  @pulumi.input_type
255
273
  class _RoutineState:
@@ -267,7 +285,8 @@ class _RoutineState:
267
285
  return_table_type: Optional[pulumi.Input[str]] = None,
268
286
  return_type: Optional[pulumi.Input[str]] = None,
269
287
  routine_id: Optional[pulumi.Input[str]] = None,
270
- routine_type: Optional[pulumi.Input[str]] = None):
288
+ routine_type: Optional[pulumi.Input[str]] = None,
289
+ spark_options: Optional[pulumi.Input['RoutineSparkOptionsArgs']] = None):
271
290
  """
272
291
  Input properties used for looking up and filtering Routine resources.
273
292
  :param pulumi.Input[Sequence[pulumi.Input['RoutineArgumentArgs']]] arguments: Input/output argument of a function or a stored procedure.
@@ -286,7 +305,7 @@ class _RoutineState:
286
305
  :param pulumi.Input[Sequence[pulumi.Input[str]]] imported_libraries: Optional. If language = "JAVASCRIPT", this field stores the path of the
287
306
  imported JAVASCRIPT libraries.
288
307
  :param pulumi.Input[str] language: The language of the routine.
289
- Possible values are: `SQL`, `JAVASCRIPT`.
308
+ Possible values are: `SQL`, `JAVASCRIPT`, `PYTHON`, `JAVA`, `SCALA`.
290
309
  :param pulumi.Input[int] last_modified_time: The time when this routine was modified, in milliseconds since the
291
310
  epoch.
292
311
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
@@ -307,6 +326,8 @@ class _RoutineState:
307
326
  :param pulumi.Input[str] routine_id: The ID of the the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
308
327
  :param pulumi.Input[str] routine_type: The type of routine.
309
328
  Possible values are: `SCALAR_FUNCTION`, `PROCEDURE`, `TABLE_VALUED_FUNCTION`.
329
+ :param pulumi.Input['RoutineSparkOptionsArgs'] spark_options: Optional. If language is one of "PYTHON", "JAVA", "SCALA", this field stores the options for spark stored procedure.
330
+ Structure is documented below.
310
331
  """
311
332
  if arguments is not None:
312
333
  pulumi.set(__self__, "arguments", arguments)
@@ -336,6 +357,8 @@ class _RoutineState:
336
357
  pulumi.set(__self__, "routine_id", routine_id)
337
358
  if routine_type is not None:
338
359
  pulumi.set(__self__, "routine_type", routine_type)
360
+ if spark_options is not None:
361
+ pulumi.set(__self__, "spark_options", spark_options)
339
362
 
340
363
  @property
341
364
  @pulumi.getter
@@ -434,7 +457,7 @@ class _RoutineState:
434
457
  def language(self) -> Optional[pulumi.Input[str]]:
435
458
  """
436
459
  The language of the routine.
437
- Possible values are: `SQL`, `JAVASCRIPT`.
460
+ Possible values are: `SQL`, `JAVASCRIPT`, `PYTHON`, `JAVA`, `SCALA`.
438
461
  """
439
462
  return pulumi.get(self, "language")
440
463
 
@@ -528,6 +551,19 @@ class _RoutineState:
528
551
  def routine_type(self, value: Optional[pulumi.Input[str]]):
529
552
  pulumi.set(self, "routine_type", value)
530
553
 
554
+ @property
555
+ @pulumi.getter(name="sparkOptions")
556
+ def spark_options(self) -> Optional[pulumi.Input['RoutineSparkOptionsArgs']]:
557
+ """
558
+ Optional. If language is one of "PYTHON", "JAVA", "SCALA", this field stores the options for spark stored procedure.
559
+ Structure is documented below.
560
+ """
561
+ return pulumi.get(self, "spark_options")
562
+
563
+ @spark_options.setter
564
+ def spark_options(self, value: Optional[pulumi.Input['RoutineSparkOptionsArgs']]):
565
+ pulumi.set(self, "spark_options", value)
566
+
531
567
 
532
568
  class Routine(pulumi.CustomResource):
533
569
  @overload
@@ -546,6 +582,7 @@ class Routine(pulumi.CustomResource):
546
582
  return_type: Optional[pulumi.Input[str]] = None,
547
583
  routine_id: Optional[pulumi.Input[str]] = None,
548
584
  routine_type: Optional[pulumi.Input[str]] = None,
585
+ spark_options: Optional[pulumi.Input[pulumi.InputType['RoutineSparkOptionsArgs']]] = None,
549
586
  __props__=None):
550
587
  """
551
588
  A user-defined function or a stored procedure that belongs to a Dataset
@@ -626,6 +663,102 @@ class Routine(pulumi.CustomResource):
626
663
  }],
627
664
  }))
628
665
  ```
666
+ ### Big Query Routine Pyspark
667
+
668
+ ```python
669
+ import pulumi
670
+ import pulumi_gcp as gcp
671
+
672
+ test_dataset = gcp.bigquery.Dataset("testDataset", dataset_id="dataset_id")
673
+ test_connection = gcp.bigquery.Connection("testConnection",
674
+ connection_id="connection_id",
675
+ location="US",
676
+ spark=gcp.bigquery.ConnectionSparkArgs())
677
+ pyspark = gcp.bigquery.Routine("pyspark",
678
+ dataset_id=test_dataset.dataset_id,
679
+ routine_id="routine_id",
680
+ routine_type="PROCEDURE",
681
+ language="PYTHON",
682
+ definition_body=\"\"\"from pyspark.sql import SparkSession
683
+
684
+ spark = SparkSession.builder.appName("spark-bigquery-demo").getOrCreate()
685
+
686
+ # Load data from BigQuery.
687
+ words = spark.read.format("bigquery") \\
688
+ .option("table", "bigquery-public-data:samples.shakespeare") \\
689
+ .load()
690
+ words.createOrReplaceTempView("words")
691
+
692
+ # Perform word count.
693
+ word_count = words.select('word', 'word_count').groupBy('word').sum('word_count').withColumnRenamed("sum(word_count)", "sum_word_count")
694
+ word_count.show()
695
+ word_count.printSchema()
696
+
697
+ # Saving the data to BigQuery
698
+ word_count.write.format("bigquery") \\
699
+ .option("writeMethod", "direct") \\
700
+ .save("wordcount_dataset.wordcount_output")
701
+ \"\"\",
702
+ spark_options=gcp.bigquery.RoutineSparkOptionsArgs(
703
+ connection=test_connection.name,
704
+ runtime_version="2.1",
705
+ ))
706
+ ```
707
+ ### Big Query Routine Pyspark Mainfile
708
+
709
+ ```python
710
+ import pulumi
711
+ import pulumi_gcp as gcp
712
+
713
+ test_dataset = gcp.bigquery.Dataset("testDataset", dataset_id="dataset_id")
714
+ test_connection = gcp.bigquery.Connection("testConnection",
715
+ connection_id="connection_id",
716
+ location="US",
717
+ spark=gcp.bigquery.ConnectionSparkArgs())
718
+ pyspark_mainfile = gcp.bigquery.Routine("pysparkMainfile",
719
+ dataset_id=test_dataset.dataset_id,
720
+ routine_id="routine_id",
721
+ routine_type="PROCEDURE",
722
+ language="PYTHON",
723
+ definition_body="",
724
+ spark_options=gcp.bigquery.RoutineSparkOptionsArgs(
725
+ connection=test_connection.name,
726
+ runtime_version="2.1",
727
+ main_file_uri="gs://test-bucket/main.py",
728
+ py_file_uris=["gs://test-bucket/lib.py"],
729
+ file_uris=["gs://test-bucket/distribute_in_executor.json"],
730
+ archive_uris=["gs://test-bucket/distribute_in_executor.tar.gz"],
731
+ ))
732
+ ```
733
+ ### Big Query Routine Spark Jar
734
+
735
+ ```python
736
+ import pulumi
737
+ import pulumi_gcp as gcp
738
+
739
+ test_dataset = gcp.bigquery.Dataset("testDataset", dataset_id="dataset_id")
740
+ test_connection = gcp.bigquery.Connection("testConnection",
741
+ connection_id="connection_id",
742
+ location="US",
743
+ spark=gcp.bigquery.ConnectionSparkArgs())
744
+ spark_jar = gcp.bigquery.Routine("sparkJar",
745
+ dataset_id=test_dataset.dataset_id,
746
+ routine_id="routine_id",
747
+ routine_type="PROCEDURE",
748
+ language="SCALA",
749
+ definition_body="",
750
+ spark_options=gcp.bigquery.RoutineSparkOptionsArgs(
751
+ connection=test_connection.name,
752
+ runtime_version="2.1",
753
+ container_image="gcr.io/my-project-id/my-spark-image:latest",
754
+ main_class="com.google.test.jar.MainClass",
755
+ jar_uris=["gs://test-bucket/uberjar_spark_spark3.jar"],
756
+ properties={
757
+ "spark.dataproc.scaling.version": "2",
758
+ "spark.reducer.fetchMigratedShuffle.enabled": "true",
759
+ },
760
+ ))
761
+ ```
629
762
 
630
763
  ## Import
631
764
 
@@ -667,7 +800,7 @@ class Routine(pulumi.CustomResource):
667
800
  :param pulumi.Input[Sequence[pulumi.Input[str]]] imported_libraries: Optional. If language = "JAVASCRIPT", this field stores the path of the
668
801
  imported JAVASCRIPT libraries.
669
802
  :param pulumi.Input[str] language: The language of the routine.
670
- Possible values are: `SQL`, `JAVASCRIPT`.
803
+ Possible values are: `SQL`, `JAVASCRIPT`, `PYTHON`, `JAVA`, `SCALA`.
671
804
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
672
805
  If it is not provided, the provider project is used.
673
806
  :param pulumi.Input[str] return_table_type: Optional. Can be set only if routineType = "TABLE_VALUED_FUNCTION".
@@ -686,6 +819,8 @@ class Routine(pulumi.CustomResource):
686
819
  :param pulumi.Input[str] routine_id: The ID of the the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
687
820
  :param pulumi.Input[str] routine_type: The type of routine.
688
821
  Possible values are: `SCALAR_FUNCTION`, `PROCEDURE`, `TABLE_VALUED_FUNCTION`.
822
+ :param pulumi.Input[pulumi.InputType['RoutineSparkOptionsArgs']] spark_options: Optional. If language is one of "PYTHON", "JAVA", "SCALA", this field stores the options for spark stored procedure.
823
+ Structure is documented below.
689
824
  """
690
825
  ...
691
826
  @overload
@@ -772,6 +907,102 @@ class Routine(pulumi.CustomResource):
772
907
  }],
773
908
  }))
774
909
  ```
910
+ ### Big Query Routine Pyspark
911
+
912
+ ```python
913
+ import pulumi
914
+ import pulumi_gcp as gcp
915
+
916
+ test_dataset = gcp.bigquery.Dataset("testDataset", dataset_id="dataset_id")
917
+ test_connection = gcp.bigquery.Connection("testConnection",
918
+ connection_id="connection_id",
919
+ location="US",
920
+ spark=gcp.bigquery.ConnectionSparkArgs())
921
+ pyspark = gcp.bigquery.Routine("pyspark",
922
+ dataset_id=test_dataset.dataset_id,
923
+ routine_id="routine_id",
924
+ routine_type="PROCEDURE",
925
+ language="PYTHON",
926
+ definition_body=\"\"\"from pyspark.sql import SparkSession
927
+
928
+ spark = SparkSession.builder.appName("spark-bigquery-demo").getOrCreate()
929
+
930
+ # Load data from BigQuery.
931
+ words = spark.read.format("bigquery") \\
932
+ .option("table", "bigquery-public-data:samples.shakespeare") \\
933
+ .load()
934
+ words.createOrReplaceTempView("words")
935
+
936
+ # Perform word count.
937
+ word_count = words.select('word', 'word_count').groupBy('word').sum('word_count').withColumnRenamed("sum(word_count)", "sum_word_count")
938
+ word_count.show()
939
+ word_count.printSchema()
940
+
941
+ # Saving the data to BigQuery
942
+ word_count.write.format("bigquery") \\
943
+ .option("writeMethod", "direct") \\
944
+ .save("wordcount_dataset.wordcount_output")
945
+ \"\"\",
946
+ spark_options=gcp.bigquery.RoutineSparkOptionsArgs(
947
+ connection=test_connection.name,
948
+ runtime_version="2.1",
949
+ ))
950
+ ```
951
+ ### Big Query Routine Pyspark Mainfile
952
+
953
+ ```python
954
+ import pulumi
955
+ import pulumi_gcp as gcp
956
+
957
+ test_dataset = gcp.bigquery.Dataset("testDataset", dataset_id="dataset_id")
958
+ test_connection = gcp.bigquery.Connection("testConnection",
959
+ connection_id="connection_id",
960
+ location="US",
961
+ spark=gcp.bigquery.ConnectionSparkArgs())
962
+ pyspark_mainfile = gcp.bigquery.Routine("pysparkMainfile",
963
+ dataset_id=test_dataset.dataset_id,
964
+ routine_id="routine_id",
965
+ routine_type="PROCEDURE",
966
+ language="PYTHON",
967
+ definition_body="",
968
+ spark_options=gcp.bigquery.RoutineSparkOptionsArgs(
969
+ connection=test_connection.name,
970
+ runtime_version="2.1",
971
+ main_file_uri="gs://test-bucket/main.py",
972
+ py_file_uris=["gs://test-bucket/lib.py"],
973
+ file_uris=["gs://test-bucket/distribute_in_executor.json"],
974
+ archive_uris=["gs://test-bucket/distribute_in_executor.tar.gz"],
975
+ ))
976
+ ```
977
+ ### Big Query Routine Spark Jar
978
+
979
+ ```python
980
+ import pulumi
981
+ import pulumi_gcp as gcp
982
+
983
+ test_dataset = gcp.bigquery.Dataset("testDataset", dataset_id="dataset_id")
984
+ test_connection = gcp.bigquery.Connection("testConnection",
985
+ connection_id="connection_id",
986
+ location="US",
987
+ spark=gcp.bigquery.ConnectionSparkArgs())
988
+ spark_jar = gcp.bigquery.Routine("sparkJar",
989
+ dataset_id=test_dataset.dataset_id,
990
+ routine_id="routine_id",
991
+ routine_type="PROCEDURE",
992
+ language="SCALA",
993
+ definition_body="",
994
+ spark_options=gcp.bigquery.RoutineSparkOptionsArgs(
995
+ connection=test_connection.name,
996
+ runtime_version="2.1",
997
+ container_image="gcr.io/my-project-id/my-spark-image:latest",
998
+ main_class="com.google.test.jar.MainClass",
999
+ jar_uris=["gs://test-bucket/uberjar_spark_spark3.jar"],
1000
+ properties={
1001
+ "spark.dataproc.scaling.version": "2",
1002
+ "spark.reducer.fetchMigratedShuffle.enabled": "true",
1003
+ },
1004
+ ))
1005
+ ```
775
1006
 
776
1007
  ## Import
777
1008
 
@@ -824,6 +1055,7 @@ class Routine(pulumi.CustomResource):
824
1055
  return_type: Optional[pulumi.Input[str]] = None,
825
1056
  routine_id: Optional[pulumi.Input[str]] = None,
826
1057
  routine_type: Optional[pulumi.Input[str]] = None,
1058
+ spark_options: Optional[pulumi.Input[pulumi.InputType['RoutineSparkOptionsArgs']]] = None,
827
1059
  __props__=None):
828
1060
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
829
1061
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -853,6 +1085,7 @@ class Routine(pulumi.CustomResource):
853
1085
  if routine_type is None and not opts.urn:
854
1086
  raise TypeError("Missing required property 'routine_type'")
855
1087
  __props__.__dict__["routine_type"] = routine_type
1088
+ __props__.__dict__["spark_options"] = spark_options
856
1089
  __props__.__dict__["creation_time"] = None
857
1090
  __props__.__dict__["last_modified_time"] = None
858
1091
  super(Routine, __self__).__init__(
@@ -878,7 +1111,8 @@ class Routine(pulumi.CustomResource):
878
1111
  return_table_type: Optional[pulumi.Input[str]] = None,
879
1112
  return_type: Optional[pulumi.Input[str]] = None,
880
1113
  routine_id: Optional[pulumi.Input[str]] = None,
881
- routine_type: Optional[pulumi.Input[str]] = None) -> 'Routine':
1114
+ routine_type: Optional[pulumi.Input[str]] = None,
1115
+ spark_options: Optional[pulumi.Input[pulumi.InputType['RoutineSparkOptionsArgs']]] = None) -> 'Routine':
882
1116
  """
883
1117
  Get an existing Routine resource's state with the given name, id, and optional extra
884
1118
  properties used to qualify the lookup.
@@ -902,7 +1136,7 @@ class Routine(pulumi.CustomResource):
902
1136
  :param pulumi.Input[Sequence[pulumi.Input[str]]] imported_libraries: Optional. If language = "JAVASCRIPT", this field stores the path of the
903
1137
  imported JAVASCRIPT libraries.
904
1138
  :param pulumi.Input[str] language: The language of the routine.
905
- Possible values are: `SQL`, `JAVASCRIPT`.
1139
+ Possible values are: `SQL`, `JAVASCRIPT`, `PYTHON`, `JAVA`, `SCALA`.
906
1140
  :param pulumi.Input[int] last_modified_time: The time when this routine was modified, in milliseconds since the
907
1141
  epoch.
908
1142
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
@@ -923,6 +1157,8 @@ class Routine(pulumi.CustomResource):
923
1157
  :param pulumi.Input[str] routine_id: The ID of the the routine. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 256 characters.
924
1158
  :param pulumi.Input[str] routine_type: The type of routine.
925
1159
  Possible values are: `SCALAR_FUNCTION`, `PROCEDURE`, `TABLE_VALUED_FUNCTION`.
1160
+ :param pulumi.Input[pulumi.InputType['RoutineSparkOptionsArgs']] spark_options: Optional. If language is one of "PYTHON", "JAVA", "SCALA", this field stores the options for spark stored procedure.
1161
+ Structure is documented below.
926
1162
  """
927
1163
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
928
1164
 
@@ -942,6 +1178,7 @@ class Routine(pulumi.CustomResource):
942
1178
  __props__.__dict__["return_type"] = return_type
943
1179
  __props__.__dict__["routine_id"] = routine_id
944
1180
  __props__.__dict__["routine_type"] = routine_type
1181
+ __props__.__dict__["spark_options"] = spark_options
945
1182
  return Routine(resource_name, opts=opts, __props__=__props__)
946
1183
 
947
1184
  @property
@@ -1013,7 +1250,7 @@ class Routine(pulumi.CustomResource):
1013
1250
  def language(self) -> pulumi.Output[Optional[str]]:
1014
1251
  """
1015
1252
  The language of the routine.
1016
- Possible values are: `SQL`, `JAVASCRIPT`.
1253
+ Possible values are: `SQL`, `JAVASCRIPT`, `PYTHON`, `JAVA`, `SCALA`.
1017
1254
  """
1018
1255
  return pulumi.get(self, "language")
1019
1256
 
@@ -1079,3 +1316,12 @@ class Routine(pulumi.CustomResource):
1079
1316
  """
1080
1317
  return pulumi.get(self, "routine_type")
1081
1318
 
1319
+ @property
1320
+ @pulumi.getter(name="sparkOptions")
1321
+ def spark_options(self) -> pulumi.Output[Optional['outputs.RoutineSparkOptions']]:
1322
+ """
1323
+ Optional. If language is one of "PYTHON", "JAVA", "SCALA", this field stores the options for spark stored procedure.
1324
+ Structure is documented below.
1325
+ """
1326
+ return pulumi.get(self, "spark_options")
1327
+
@@ -33,6 +33,7 @@ class TableArgs:
33
33
  require_partition_filter: Optional[pulumi.Input[bool]] = None,
34
34
  schema: Optional[pulumi.Input[str]] = None,
35
35
  table_constraints: Optional[pulumi.Input['TableTableConstraintsArgs']] = None,
36
+ table_replication_info: Optional[pulumi.Input['TableTableReplicationInfoArgs']] = None,
36
37
  time_partitioning: Optional[pulumi.Input['TableTimePartitioningArgs']] = None,
37
38
  view: Optional[pulumi.Input['TableViewArgs']] = None):
38
39
  """
@@ -93,6 +94,7 @@ class TableArgs:
93
94
  documented above.
94
95
  :param pulumi.Input['TableTableConstraintsArgs'] table_constraints: Defines the primary key and foreign keys.
95
96
  Structure is documented below.
97
+ :param pulumi.Input['TableTableReplicationInfoArgs'] table_replication_info: Replication info of a table created using "AS REPLICA" DDL like: "CREATE MATERIALIZED VIEW mv1 AS REPLICA OF src_mv".
96
98
  :param pulumi.Input['TableTimePartitioningArgs'] time_partitioning: If specified, configures time-based
97
99
  partitioning for this table. Structure is documented below.
98
100
  :param pulumi.Input['TableViewArgs'] view: If specified, configures this table as a view.
@@ -130,6 +132,8 @@ class TableArgs:
130
132
  pulumi.set(__self__, "schema", schema)
131
133
  if table_constraints is not None:
132
134
  pulumi.set(__self__, "table_constraints", table_constraints)
135
+ if table_replication_info is not None:
136
+ pulumi.set(__self__, "table_replication_info", table_replication_info)
133
137
  if time_partitioning is not None:
134
138
  pulumi.set(__self__, "time_partitioning", time_partitioning)
135
139
  if view is not None:
@@ -378,6 +382,18 @@ class TableArgs:
378
382
  def table_constraints(self, value: Optional[pulumi.Input['TableTableConstraintsArgs']]):
379
383
  pulumi.set(self, "table_constraints", value)
380
384
 
385
+ @property
386
+ @pulumi.getter(name="tableReplicationInfo")
387
+ def table_replication_info(self) -> Optional[pulumi.Input['TableTableReplicationInfoArgs']]:
388
+ """
389
+ Replication info of a table created using "AS REPLICA" DDL like: "CREATE MATERIALIZED VIEW mv1 AS REPLICA OF src_mv".
390
+ """
391
+ return pulumi.get(self, "table_replication_info")
392
+
393
+ @table_replication_info.setter
394
+ def table_replication_info(self, value: Optional[pulumi.Input['TableTableReplicationInfoArgs']]):
395
+ pulumi.set(self, "table_replication_info", value)
396
+
381
397
  @property
382
398
  @pulumi.getter(name="timePartitioning")
383
399
  def time_partitioning(self) -> Optional[pulumi.Input['TableTimePartitioningArgs']]:
@@ -435,6 +451,7 @@ class _TableState:
435
451
  self_link: Optional[pulumi.Input[str]] = None,
436
452
  table_constraints: Optional[pulumi.Input['TableTableConstraintsArgs']] = None,
437
453
  table_id: Optional[pulumi.Input[str]] = None,
454
+ table_replication_info: Optional[pulumi.Input['TableTableReplicationInfoArgs']] = None,
438
455
  time_partitioning: Optional[pulumi.Input['TableTimePartitioningArgs']] = None,
439
456
  type: Optional[pulumi.Input[str]] = None,
440
457
  view: Optional[pulumi.Input['TableViewArgs']] = None):
@@ -521,6 +538,7 @@ class _TableState:
521
538
  Structure is documented below.
522
539
  :param pulumi.Input[str] table_id: A unique ID for the resource.
523
540
  Changing this forces a new resource to be created.
541
+ :param pulumi.Input['TableTableReplicationInfoArgs'] table_replication_info: Replication info of a table created using "AS REPLICA" DDL like: "CREATE MATERIALIZED VIEW mv1 AS REPLICA OF src_mv".
524
542
  :param pulumi.Input['TableTimePartitioningArgs'] time_partitioning: If specified, configures time-based
525
543
  partitioning for this table. Structure is documented below.
526
544
  :param pulumi.Input[str] type: The supported types are DAY, HOUR, MONTH, and YEAR,
@@ -582,6 +600,8 @@ class _TableState:
582
600
  pulumi.set(__self__, "table_constraints", table_constraints)
583
601
  if table_id is not None:
584
602
  pulumi.set(__self__, "table_id", table_id)
603
+ if table_replication_info is not None:
604
+ pulumi.set(__self__, "table_replication_info", table_replication_info)
585
605
  if time_partitioning is not None:
586
606
  pulumi.set(__self__, "time_partitioning", time_partitioning)
587
607
  if type is not None:
@@ -967,6 +987,18 @@ class _TableState:
967
987
  def table_id(self, value: Optional[pulumi.Input[str]]):
968
988
  pulumi.set(self, "table_id", value)
969
989
 
990
+ @property
991
+ @pulumi.getter(name="tableReplicationInfo")
992
+ def table_replication_info(self) -> Optional[pulumi.Input['TableTableReplicationInfoArgs']]:
993
+ """
994
+ Replication info of a table created using "AS REPLICA" DDL like: "CREATE MATERIALIZED VIEW mv1 AS REPLICA OF src_mv".
995
+ """
996
+ return pulumi.get(self, "table_replication_info")
997
+
998
+ @table_replication_info.setter
999
+ def table_replication_info(self, value: Optional[pulumi.Input['TableTableReplicationInfoArgs']]):
1000
+ pulumi.set(self, "table_replication_info", value)
1001
+
970
1002
  @property
971
1003
  @pulumi.getter(name="timePartitioning")
972
1004
  def time_partitioning(self) -> Optional[pulumi.Input['TableTimePartitioningArgs']]:
@@ -1029,6 +1061,7 @@ class Table(pulumi.CustomResource):
1029
1061
  schema: Optional[pulumi.Input[str]] = None,
1030
1062
  table_constraints: Optional[pulumi.Input[pulumi.InputType['TableTableConstraintsArgs']]] = None,
1031
1063
  table_id: Optional[pulumi.Input[str]] = None,
1064
+ table_replication_info: Optional[pulumi.Input[pulumi.InputType['TableTableReplicationInfoArgs']]] = None,
1032
1065
  time_partitioning: Optional[pulumi.Input[pulumi.InputType['TableTimePartitioningArgs']]] = None,
1033
1066
  view: Optional[pulumi.Input[pulumi.InputType['TableViewArgs']]] = None,
1034
1067
  __props__=None):
@@ -1175,6 +1208,7 @@ class Table(pulumi.CustomResource):
1175
1208
  Structure is documented below.
1176
1209
  :param pulumi.Input[str] table_id: A unique ID for the resource.
1177
1210
  Changing this forces a new resource to be created.
1211
+ :param pulumi.Input[pulumi.InputType['TableTableReplicationInfoArgs']] table_replication_info: Replication info of a table created using "AS REPLICA" DDL like: "CREATE MATERIALIZED VIEW mv1 AS REPLICA OF src_mv".
1178
1212
  :param pulumi.Input[pulumi.InputType['TableTimePartitioningArgs']] time_partitioning: If specified, configures time-based
1179
1213
  partitioning for this table. Structure is documented below.
1180
1214
  :param pulumi.Input[pulumi.InputType['TableViewArgs']] view: If specified, configures this table as a view.
@@ -1303,6 +1337,7 @@ class Table(pulumi.CustomResource):
1303
1337
  schema: Optional[pulumi.Input[str]] = None,
1304
1338
  table_constraints: Optional[pulumi.Input[pulumi.InputType['TableTableConstraintsArgs']]] = None,
1305
1339
  table_id: Optional[pulumi.Input[str]] = None,
1340
+ table_replication_info: Optional[pulumi.Input[pulumi.InputType['TableTableReplicationInfoArgs']]] = None,
1306
1341
  time_partitioning: Optional[pulumi.Input[pulumi.InputType['TableTimePartitioningArgs']]] = None,
1307
1342
  view: Optional[pulumi.Input[pulumi.InputType['TableViewArgs']]] = None,
1308
1343
  __props__=None):
@@ -1335,6 +1370,7 @@ class Table(pulumi.CustomResource):
1335
1370
  if table_id is None and not opts.urn:
1336
1371
  raise TypeError("Missing required property 'table_id'")
1337
1372
  __props__.__dict__["table_id"] = table_id
1373
+ __props__.__dict__["table_replication_info"] = table_replication_info
1338
1374
  __props__.__dict__["time_partitioning"] = time_partitioning
1339
1375
  __props__.__dict__["view"] = view
1340
1376
  __props__.__dict__["creation_time"] = None
@@ -1387,6 +1423,7 @@ class Table(pulumi.CustomResource):
1387
1423
  self_link: Optional[pulumi.Input[str]] = None,
1388
1424
  table_constraints: Optional[pulumi.Input[pulumi.InputType['TableTableConstraintsArgs']]] = None,
1389
1425
  table_id: Optional[pulumi.Input[str]] = None,
1426
+ table_replication_info: Optional[pulumi.Input[pulumi.InputType['TableTableReplicationInfoArgs']]] = None,
1390
1427
  time_partitioning: Optional[pulumi.Input[pulumi.InputType['TableTimePartitioningArgs']]] = None,
1391
1428
  type: Optional[pulumi.Input[str]] = None,
1392
1429
  view: Optional[pulumi.Input[pulumi.InputType['TableViewArgs']]] = None) -> 'Table':
@@ -1478,6 +1515,7 @@ class Table(pulumi.CustomResource):
1478
1515
  Structure is documented below.
1479
1516
  :param pulumi.Input[str] table_id: A unique ID for the resource.
1480
1517
  Changing this forces a new resource to be created.
1518
+ :param pulumi.Input[pulumi.InputType['TableTableReplicationInfoArgs']] table_replication_info: Replication info of a table created using "AS REPLICA" DDL like: "CREATE MATERIALIZED VIEW mv1 AS REPLICA OF src_mv".
1481
1519
  :param pulumi.Input[pulumi.InputType['TableTimePartitioningArgs']] time_partitioning: If specified, configures time-based
1482
1520
  partitioning for this table. Structure is documented below.
1483
1521
  :param pulumi.Input[str] type: The supported types are DAY, HOUR, MONTH, and YEAR,
@@ -1516,6 +1554,7 @@ class Table(pulumi.CustomResource):
1516
1554
  __props__.__dict__["self_link"] = self_link
1517
1555
  __props__.__dict__["table_constraints"] = table_constraints
1518
1556
  __props__.__dict__["table_id"] = table_id
1557
+ __props__.__dict__["table_replication_info"] = table_replication_info
1519
1558
  __props__.__dict__["time_partitioning"] = time_partitioning
1520
1559
  __props__.__dict__["type"] = type
1521
1560
  __props__.__dict__["view"] = view
@@ -1791,6 +1830,14 @@ class Table(pulumi.CustomResource):
1791
1830
  """
1792
1831
  return pulumi.get(self, "table_id")
1793
1832
 
1833
+ @property
1834
+ @pulumi.getter(name="tableReplicationInfo")
1835
+ def table_replication_info(self) -> pulumi.Output[Optional['outputs.TableTableReplicationInfo']]:
1836
+ """
1837
+ Replication info of a table created using "AS REPLICA" DDL like: "CREATE MATERIALIZED VIEW mv1 AS REPLICA OF src_mv".
1838
+ """
1839
+ return pulumi.get(self, "table_replication_info")
1840
+
1794
1841
  @property
1795
1842
  @pulumi.getter(name="timePartitioning")
1796
1843
  def time_partitioning(self) -> pulumi.Output[Optional['outputs.TableTimePartitioning']]: