pulumi-gcp 7.12.0a1709561306__py3-none-any.whl → 7.13.0a1709814369__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/appengine/application_url_dispatch_rules.py +2 -2
  3. pulumi_gcp/appengine/engine_split_traffic.py +4 -4
  4. pulumi_gcp/appengine/service_network_settings.py +2 -2
  5. pulumi_gcp/appengine/standard_app_version.py +4 -4
  6. pulumi_gcp/bigquery/_inputs.py +88 -0
  7. pulumi_gcp/bigquery/outputs.py +91 -0
  8. pulumi_gcp/bigquery/routine.py +118 -12
  9. pulumi_gcp/certificatemanager/dns_authorization.py +63 -14
  10. pulumi_gcp/clouddeploy/__init__.py +4 -0
  11. pulumi_gcp/clouddeploy/_inputs.py +80 -0
  12. pulumi_gcp/clouddeploy/automation.py +16 -0
  13. pulumi_gcp/clouddeploy/get_target_iam_policy.py +162 -0
  14. pulumi_gcp/clouddeploy/outputs.py +56 -0
  15. pulumi_gcp/clouddeploy/target_iam_binding.py +324 -0
  16. pulumi_gcp/clouddeploy/target_iam_member.py +324 -0
  17. pulumi_gcp/clouddeploy/target_iam_policy.py +253 -0
  18. pulumi_gcp/cloudrunv2/_inputs.py +4 -2
  19. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  20. pulumi_gcp/composer/_inputs.py +18 -2
  21. pulumi_gcp/composer/outputs.py +29 -4
  22. pulumi_gcp/compute/region_target_https_proxy.py +162 -37
  23. pulumi_gcp/gkehub/scope.py +85 -0
  24. pulumi_gcp/monitoring/get_app_engine_service.py +2 -2
  25. pulumi_gcp/spanner/_inputs.py +20 -0
  26. pulumi_gcp/spanner/database_iam_binding.py +134 -0
  27. pulumi_gcp/spanner/database_iam_member.py +134 -0
  28. pulumi_gcp/spanner/database_iam_policy.py +114 -0
  29. pulumi_gcp/spanner/outputs.py +20 -0
  30. {pulumi_gcp-7.12.0a1709561306.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/METADATA +1 -1
  31. {pulumi_gcp-7.12.0a1709561306.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/RECORD +33 -29
  32. {pulumi_gcp-7.12.0a1709561306.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/WHEEL +0 -0
  33. {pulumi_gcp-7.12.0a1709561306.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/top_level.txt +0 -0
@@ -26,6 +26,7 @@ class RoutineArgs:
26
26
  imported_libraries: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
27
27
  language: Optional[pulumi.Input[str]] = None,
28
28
  project: Optional[pulumi.Input[str]] = None,
29
+ remote_function_options: Optional[pulumi.Input['RoutineRemoteFunctionOptionsArgs']] = None,
29
30
  return_table_type: Optional[pulumi.Input[str]] = None,
30
31
  return_type: Optional[pulumi.Input[str]] = None,
31
32
  spark_options: Optional[pulumi.Input['RoutineSparkOptionsArgs']] = None):
@@ -51,6 +52,8 @@ class RoutineArgs:
51
52
  Possible values are: `SQL`, `JAVASCRIPT`, `PYTHON`, `JAVA`, `SCALA`.
52
53
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
53
54
  If it is not provided, the provider project is used.
55
+ :param pulumi.Input['RoutineRemoteFunctionOptionsArgs'] remote_function_options: Remote function specific options.
56
+ Structure is documented below.
54
57
  :param pulumi.Input[str] return_table_type: Optional. Can be set only if routineType = "TABLE_VALUED_FUNCTION".
55
58
  If absent, the return table type is inferred from definitionBody at query time in each query
56
59
  that references this routine. If present, then the columns in the evaluated table result will
@@ -83,6 +86,8 @@ class RoutineArgs:
83
86
  pulumi.set(__self__, "language", language)
84
87
  if project is not None:
85
88
  pulumi.set(__self__, "project", project)
89
+ if remote_function_options is not None:
90
+ pulumi.set(__self__, "remote_function_options", remote_function_options)
86
91
  if return_table_type is not None:
87
92
  pulumi.set(__self__, "return_table_type", return_table_type)
88
93
  if return_type is not None:
@@ -220,6 +225,19 @@ class RoutineArgs:
220
225
  def project(self, value: Optional[pulumi.Input[str]]):
221
226
  pulumi.set(self, "project", value)
222
227
 
228
+ @property
229
+ @pulumi.getter(name="remoteFunctionOptions")
230
+ def remote_function_options(self) -> Optional[pulumi.Input['RoutineRemoteFunctionOptionsArgs']]:
231
+ """
232
+ Remote function specific options.
233
+ Structure is documented below.
234
+ """
235
+ return pulumi.get(self, "remote_function_options")
236
+
237
+ @remote_function_options.setter
238
+ def remote_function_options(self, value: Optional[pulumi.Input['RoutineRemoteFunctionOptionsArgs']]):
239
+ pulumi.set(self, "remote_function_options", value)
240
+
223
241
  @property
224
242
  @pulumi.getter(name="returnTableType")
225
243
  def return_table_type(self) -> Optional[pulumi.Input[str]]:
@@ -282,6 +300,7 @@ class _RoutineState:
282
300
  language: Optional[pulumi.Input[str]] = None,
283
301
  last_modified_time: Optional[pulumi.Input[int]] = None,
284
302
  project: Optional[pulumi.Input[str]] = None,
303
+ remote_function_options: Optional[pulumi.Input['RoutineRemoteFunctionOptionsArgs']] = None,
285
304
  return_table_type: Optional[pulumi.Input[str]] = None,
286
305
  return_type: Optional[pulumi.Input[str]] = None,
287
306
  routine_id: Optional[pulumi.Input[str]] = None,
@@ -310,6 +329,8 @@ class _RoutineState:
310
329
  epoch.
311
330
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
312
331
  If it is not provided, the provider project is used.
332
+ :param pulumi.Input['RoutineRemoteFunctionOptionsArgs'] remote_function_options: Remote function specific options.
333
+ Structure is documented below.
313
334
  :param pulumi.Input[str] return_table_type: Optional. Can be set only if routineType = "TABLE_VALUED_FUNCTION".
314
335
  If absent, the return table type is inferred from definitionBody at query time in each query
315
336
  that references this routine. If present, then the columns in the evaluated table result will
@@ -349,6 +370,8 @@ class _RoutineState:
349
370
  pulumi.set(__self__, "last_modified_time", last_modified_time)
350
371
  if project is not None:
351
372
  pulumi.set(__self__, "project", project)
373
+ if remote_function_options is not None:
374
+ pulumi.set(__self__, "remote_function_options", remote_function_options)
352
375
  if return_table_type is not None:
353
376
  pulumi.set(__self__, "return_table_type", return_table_type)
354
377
  if return_type is not None:
@@ -491,6 +514,19 @@ class _RoutineState:
491
514
  def project(self, value: Optional[pulumi.Input[str]]):
492
515
  pulumi.set(self, "project", value)
493
516
 
517
+ @property
518
+ @pulumi.getter(name="remoteFunctionOptions")
519
+ def remote_function_options(self) -> Optional[pulumi.Input['RoutineRemoteFunctionOptionsArgs']]:
520
+ """
521
+ Remote function specific options.
522
+ Structure is documented below.
523
+ """
524
+ return pulumi.get(self, "remote_function_options")
525
+
526
+ @remote_function_options.setter
527
+ def remote_function_options(self, value: Optional[pulumi.Input['RoutineRemoteFunctionOptionsArgs']]):
528
+ pulumi.set(self, "remote_function_options", value)
529
+
494
530
  @property
495
531
  @pulumi.getter(name="returnTableType")
496
532
  def return_table_type(self) -> Optional[pulumi.Input[str]]:
@@ -578,6 +614,7 @@ class Routine(pulumi.CustomResource):
578
614
  imported_libraries: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
579
615
  language: Optional[pulumi.Input[str]] = None,
580
616
  project: Optional[pulumi.Input[str]] = None,
617
+ remote_function_options: Optional[pulumi.Input[pulumi.InputType['RoutineRemoteFunctionOptionsArgs']]] = None,
581
618
  return_table_type: Optional[pulumi.Input[str]] = None,
582
619
  return_type: Optional[pulumi.Input[str]] = None,
583
620
  routine_id: Optional[pulumi.Input[str]] = None,
@@ -594,7 +631,7 @@ class Routine(pulumi.CustomResource):
594
631
  * [Routines Intro](https://cloud.google.com/bigquery/docs/reference/rest/v2/routines)
595
632
 
596
633
  ## Example Usage
597
- ### Big Query Routine Basic
634
+ ### Bigquery Routine Basic
598
635
 
599
636
  ```python
600
637
  import pulumi
@@ -608,7 +645,7 @@ class Routine(pulumi.CustomResource):
608
645
  language="SQL",
609
646
  definition_body="CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);")
610
647
  ```
611
- ### Big Query Routine Json
648
+ ### Bigquery Routine Json
612
649
 
613
650
  ```python
614
651
  import pulumi
@@ -633,7 +670,7 @@ class Routine(pulumi.CustomResource):
633
670
  ],
634
671
  return_type="{\\"typeKind\\" : \\"FLOAT64\\"}")
635
672
  ```
636
- ### Big Query Routine Tvf
673
+ ### Bigquery Routine Tvf
637
674
 
638
675
  ```python
639
676
  import pulumi
@@ -663,7 +700,7 @@ class Routine(pulumi.CustomResource):
663
700
  }],
664
701
  }))
665
702
  ```
666
- ### Big Query Routine Pyspark
703
+ ### Bigquery Routine Pyspark
667
704
 
668
705
  ```python
669
706
  import pulumi
@@ -704,7 +741,7 @@ class Routine(pulumi.CustomResource):
704
741
  runtime_version="2.1",
705
742
  ))
706
743
  ```
707
- ### Big Query Routine Pyspark Mainfile
744
+ ### Bigquery Routine Pyspark Mainfile
708
745
 
709
746
  ```python
710
747
  import pulumi
@@ -730,7 +767,7 @@ class Routine(pulumi.CustomResource):
730
767
  archive_uris=["gs://test-bucket/distribute_in_executor.tar.gz"],
731
768
  ))
732
769
  ```
733
- ### Big Query Routine Spark Jar
770
+ ### Bigquery Routine Spark Jar
734
771
 
735
772
  ```python
736
773
  import pulumi
@@ -759,6 +796,32 @@ class Routine(pulumi.CustomResource):
759
796
  },
760
797
  ))
761
798
  ```
799
+ ### Bigquery Routine Remote Function
800
+
801
+ ```python
802
+ import pulumi
803
+ import pulumi_gcp as gcp
804
+
805
+ test = gcp.bigquery.Dataset("test", dataset_id="dataset_id")
806
+ test_connection = gcp.bigquery.Connection("test",
807
+ connection_id="connection_id",
808
+ location="US",
809
+ cloud_resource=gcp.bigquery.ConnectionCloudResourceArgs())
810
+ remote_function = gcp.bigquery.Routine("remote_function",
811
+ dataset_id=test.dataset_id,
812
+ routine_id="routine_id",
813
+ routine_type="SCALAR_FUNCTION",
814
+ definition_body="",
815
+ return_type="{\\"typeKind\\" : \\"STRING\\"}",
816
+ remote_function_options=gcp.bigquery.RoutineRemoteFunctionOptionsArgs(
817
+ endpoint="https://us-east1-my_gcf_project.cloudfunctions.net/remote_add",
818
+ connection=test_connection.name,
819
+ max_batching_rows="10",
820
+ user_defined_context={
821
+ "z": "1.5",
822
+ },
823
+ ))
824
+ ```
762
825
 
763
826
  ## Import
764
827
 
@@ -803,6 +866,8 @@ class Routine(pulumi.CustomResource):
803
866
  Possible values are: `SQL`, `JAVASCRIPT`, `PYTHON`, `JAVA`, `SCALA`.
804
867
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
805
868
  If it is not provided, the provider project is used.
869
+ :param pulumi.Input[pulumi.InputType['RoutineRemoteFunctionOptionsArgs']] remote_function_options: Remote function specific options.
870
+ Structure is documented below.
806
871
  :param pulumi.Input[str] return_table_type: Optional. Can be set only if routineType = "TABLE_VALUED_FUNCTION".
807
872
  If absent, the return table type is inferred from definitionBody at query time in each query
808
873
  that references this routine. If present, then the columns in the evaluated table result will
@@ -838,7 +903,7 @@ class Routine(pulumi.CustomResource):
838
903
  * [Routines Intro](https://cloud.google.com/bigquery/docs/reference/rest/v2/routines)
839
904
 
840
905
  ## Example Usage
841
- ### Big Query Routine Basic
906
+ ### Bigquery Routine Basic
842
907
 
843
908
  ```python
844
909
  import pulumi
@@ -852,7 +917,7 @@ class Routine(pulumi.CustomResource):
852
917
  language="SQL",
853
918
  definition_body="CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);")
854
919
  ```
855
- ### Big Query Routine Json
920
+ ### Bigquery Routine Json
856
921
 
857
922
  ```python
858
923
  import pulumi
@@ -877,7 +942,7 @@ class Routine(pulumi.CustomResource):
877
942
  ],
878
943
  return_type="{\\"typeKind\\" : \\"FLOAT64\\"}")
879
944
  ```
880
- ### Big Query Routine Tvf
945
+ ### Bigquery Routine Tvf
881
946
 
882
947
  ```python
883
948
  import pulumi
@@ -907,7 +972,7 @@ class Routine(pulumi.CustomResource):
907
972
  }],
908
973
  }))
909
974
  ```
910
- ### Big Query Routine Pyspark
975
+ ### Bigquery Routine Pyspark
911
976
 
912
977
  ```python
913
978
  import pulumi
@@ -948,7 +1013,7 @@ class Routine(pulumi.CustomResource):
948
1013
  runtime_version="2.1",
949
1014
  ))
950
1015
  ```
951
- ### Big Query Routine Pyspark Mainfile
1016
+ ### Bigquery Routine Pyspark Mainfile
952
1017
 
953
1018
  ```python
954
1019
  import pulumi
@@ -974,7 +1039,7 @@ class Routine(pulumi.CustomResource):
974
1039
  archive_uris=["gs://test-bucket/distribute_in_executor.tar.gz"],
975
1040
  ))
976
1041
  ```
977
- ### Big Query Routine Spark Jar
1042
+ ### Bigquery Routine Spark Jar
978
1043
 
979
1044
  ```python
980
1045
  import pulumi
@@ -1003,6 +1068,32 @@ class Routine(pulumi.CustomResource):
1003
1068
  },
1004
1069
  ))
1005
1070
  ```
1071
+ ### Bigquery Routine Remote Function
1072
+
1073
+ ```python
1074
+ import pulumi
1075
+ import pulumi_gcp as gcp
1076
+
1077
+ test = gcp.bigquery.Dataset("test", dataset_id="dataset_id")
1078
+ test_connection = gcp.bigquery.Connection("test",
1079
+ connection_id="connection_id",
1080
+ location="US",
1081
+ cloud_resource=gcp.bigquery.ConnectionCloudResourceArgs())
1082
+ remote_function = gcp.bigquery.Routine("remote_function",
1083
+ dataset_id=test.dataset_id,
1084
+ routine_id="routine_id",
1085
+ routine_type="SCALAR_FUNCTION",
1086
+ definition_body="",
1087
+ return_type="{\\"typeKind\\" : \\"STRING\\"}",
1088
+ remote_function_options=gcp.bigquery.RoutineRemoteFunctionOptionsArgs(
1089
+ endpoint="https://us-east1-my_gcf_project.cloudfunctions.net/remote_add",
1090
+ connection=test_connection.name,
1091
+ max_batching_rows="10",
1092
+ user_defined_context={
1093
+ "z": "1.5",
1094
+ },
1095
+ ))
1096
+ ```
1006
1097
 
1007
1098
  ## Import
1008
1099
 
@@ -1051,6 +1142,7 @@ class Routine(pulumi.CustomResource):
1051
1142
  imported_libraries: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1052
1143
  language: Optional[pulumi.Input[str]] = None,
1053
1144
  project: Optional[pulumi.Input[str]] = None,
1145
+ remote_function_options: Optional[pulumi.Input[pulumi.InputType['RoutineRemoteFunctionOptionsArgs']]] = None,
1054
1146
  return_table_type: Optional[pulumi.Input[str]] = None,
1055
1147
  return_type: Optional[pulumi.Input[str]] = None,
1056
1148
  routine_id: Optional[pulumi.Input[str]] = None,
@@ -1077,6 +1169,7 @@ class Routine(pulumi.CustomResource):
1077
1169
  __props__.__dict__["imported_libraries"] = imported_libraries
1078
1170
  __props__.__dict__["language"] = language
1079
1171
  __props__.__dict__["project"] = project
1172
+ __props__.__dict__["remote_function_options"] = remote_function_options
1080
1173
  __props__.__dict__["return_table_type"] = return_table_type
1081
1174
  __props__.__dict__["return_type"] = return_type
1082
1175
  if routine_id is None and not opts.urn:
@@ -1108,6 +1201,7 @@ class Routine(pulumi.CustomResource):
1108
1201
  language: Optional[pulumi.Input[str]] = None,
1109
1202
  last_modified_time: Optional[pulumi.Input[int]] = None,
1110
1203
  project: Optional[pulumi.Input[str]] = None,
1204
+ remote_function_options: Optional[pulumi.Input[pulumi.InputType['RoutineRemoteFunctionOptionsArgs']]] = None,
1111
1205
  return_table_type: Optional[pulumi.Input[str]] = None,
1112
1206
  return_type: Optional[pulumi.Input[str]] = None,
1113
1207
  routine_id: Optional[pulumi.Input[str]] = None,
@@ -1141,6 +1235,8 @@ class Routine(pulumi.CustomResource):
1141
1235
  epoch.
1142
1236
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
1143
1237
  If it is not provided, the provider project is used.
1238
+ :param pulumi.Input[pulumi.InputType['RoutineRemoteFunctionOptionsArgs']] remote_function_options: Remote function specific options.
1239
+ Structure is documented below.
1144
1240
  :param pulumi.Input[str] return_table_type: Optional. Can be set only if routineType = "TABLE_VALUED_FUNCTION".
1145
1241
  If absent, the return table type is inferred from definitionBody at query time in each query
1146
1242
  that references this routine. If present, then the columns in the evaluated table result will
@@ -1174,6 +1270,7 @@ class Routine(pulumi.CustomResource):
1174
1270
  __props__.__dict__["language"] = language
1175
1271
  __props__.__dict__["last_modified_time"] = last_modified_time
1176
1272
  __props__.__dict__["project"] = project
1273
+ __props__.__dict__["remote_function_options"] = remote_function_options
1177
1274
  __props__.__dict__["return_table_type"] = return_table_type
1178
1275
  __props__.__dict__["return_type"] = return_type
1179
1276
  __props__.__dict__["routine_id"] = routine_id
@@ -1272,6 +1369,15 @@ class Routine(pulumi.CustomResource):
1272
1369
  """
1273
1370
  return pulumi.get(self, "project")
1274
1371
 
1372
+ @property
1373
+ @pulumi.getter(name="remoteFunctionOptions")
1374
+ def remote_function_options(self) -> pulumi.Output[Optional['outputs.RoutineRemoteFunctionOptions']]:
1375
+ """
1376
+ Remote function specific options.
1377
+ Structure is documented below.
1378
+ """
1379
+ return pulumi.get(self, "remote_function_options")
1380
+
1275
1381
  @property
1276
1382
  @pulumi.getter(name="returnTableType")
1277
1383
  def return_table_type(self) -> pulumi.Output[Optional[str]]:
@@ -19,6 +19,7 @@ class DnsAuthorizationArgs:
19
19
  domain: pulumi.Input[str],
20
20
  description: Optional[pulumi.Input[str]] = None,
21
21
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
22
+ location: Optional[pulumi.Input[str]] = None,
22
23
  name: Optional[pulumi.Input[str]] = None,
23
24
  project: Optional[pulumi.Input[str]] = None):
24
25
  """
@@ -30,6 +31,7 @@ class DnsAuthorizationArgs:
30
31
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the DNS Authorization resource.
31
32
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
32
33
  Please refer to the field `effective_labels` for all of the labels present on the resource.
34
+ :param pulumi.Input[str] location: The Certificate Manager location. If not specified, "global" is used.
33
35
  :param pulumi.Input[str] name: Name of the resource; provided by the client when the resource is created.
34
36
  The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter,
35
37
  and all following characters must be a dash, underscore, letter or digit.
@@ -44,6 +46,8 @@ class DnsAuthorizationArgs:
44
46
  pulumi.set(__self__, "description", description)
45
47
  if labels is not None:
46
48
  pulumi.set(__self__, "labels", labels)
49
+ if location is not None:
50
+ pulumi.set(__self__, "location", location)
47
51
  if name is not None:
48
52
  pulumi.set(__self__, "name", name)
49
53
  if project is not None:
@@ -89,6 +93,18 @@ class DnsAuthorizationArgs:
89
93
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
90
94
  pulumi.set(self, "labels", value)
91
95
 
96
+ @property
97
+ @pulumi.getter
98
+ def location(self) -> Optional[pulumi.Input[str]]:
99
+ """
100
+ The Certificate Manager location. If not specified, "global" is used.
101
+ """
102
+ return pulumi.get(self, "location")
103
+
104
+ @location.setter
105
+ def location(self, value: Optional[pulumi.Input[str]]):
106
+ pulumi.set(self, "location", value)
107
+
92
108
  @property
93
109
  @pulumi.getter
94
110
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -128,6 +144,7 @@ class _DnsAuthorizationState:
128
144
  domain: Optional[pulumi.Input[str]] = None,
129
145
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
130
146
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
147
+ location: Optional[pulumi.Input[str]] = None,
131
148
  name: Optional[pulumi.Input[str]] = None,
132
149
  project: Optional[pulumi.Input[str]] = None,
133
150
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
@@ -145,6 +162,7 @@ class _DnsAuthorizationState:
145
162
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the DNS Authorization resource.
146
163
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
147
164
  Please refer to the field `effective_labels` for all of the labels present on the resource.
165
+ :param pulumi.Input[str] location: The Certificate Manager location. If not specified, "global" is used.
148
166
  :param pulumi.Input[str] name: Name of the resource; provided by the client when the resource is created.
149
167
  The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter,
150
168
  and all following characters must be a dash, underscore, letter or digit.
@@ -166,6 +184,8 @@ class _DnsAuthorizationState:
166
184
  pulumi.set(__self__, "effective_labels", effective_labels)
167
185
  if labels is not None:
168
186
  pulumi.set(__self__, "labels", labels)
187
+ if location is not None:
188
+ pulumi.set(__self__, "location", location)
169
189
  if name is not None:
170
190
  pulumi.set(__self__, "name", name)
171
191
  if project is not None:
@@ -240,6 +260,18 @@ class _DnsAuthorizationState:
240
260
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
241
261
  pulumi.set(self, "labels", value)
242
262
 
263
+ @property
264
+ @pulumi.getter
265
+ def location(self) -> Optional[pulumi.Input[str]]:
266
+ """
267
+ The Certificate Manager location. If not specified, "global" is used.
268
+ """
269
+ return pulumi.get(self, "location")
270
+
271
+ @location.setter
272
+ def location(self, value: Optional[pulumi.Input[str]]):
273
+ pulumi.set(self, "location", value)
274
+
243
275
  @property
244
276
  @pulumi.getter
245
277
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -292,6 +324,7 @@ class DnsAuthorization(pulumi.CustomResource):
292
324
  description: Optional[pulumi.Input[str]] = None,
293
325
  domain: Optional[pulumi.Input[str]] = None,
294
326
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
327
+ location: Optional[pulumi.Input[str]] = None,
295
328
  name: Optional[pulumi.Input[str]] = None,
296
329
  project: Optional[pulumi.Input[str]] = None,
297
330
  __props__=None):
@@ -307,7 +340,8 @@ class DnsAuthorization(pulumi.CustomResource):
307
340
 
308
341
  default = gcp.certificatemanager.DnsAuthorization("default",
309
342
  name="dns-auth",
310
- description="The default dnss",
343
+ location="global",
344
+ description="The default dns",
311
345
  domain="subdomain.hashicorptest.com")
312
346
  pulumi.export("recordNameToInsert", default.dns_resource_records[0].name)
313
347
  pulumi.export("recordTypeToInsert", default.dns_resource_records[0].type)
@@ -318,24 +352,24 @@ class DnsAuthorization(pulumi.CustomResource):
318
352
 
319
353
  DnsAuthorization can be imported using any of these accepted formats:
320
354
 
321
- * `projects/{{project}}/locations/global/dnsAuthorizations/{{name}}`
355
+ * `projects/{{project}}/locations/{{location}}/dnsAuthorizations/{{name}}`
322
356
 
323
- * `{{project}}/{{name}}`
357
+ * `{{project}}/{{location}}/{{name}}`
324
358
 
325
- * `{{name}}`
359
+ * `{{location}}/{{name}}`
326
360
 
327
361
  When using the `pulumi import` command, DnsAuthorization can be imported using one of the formats above. For example:
328
362
 
329
363
  ```sh
330
- $ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default projects/{{project}}/locations/global/dnsAuthorizations/{{name}}
364
+ $ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default projects/{{project}}/locations/{{location}}/dnsAuthorizations/{{name}}
331
365
  ```
332
366
 
333
367
  ```sh
334
- $ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default {{project}}/{{name}}
368
+ $ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default {{project}}/{{location}}/{{name}}
335
369
  ```
336
370
 
337
371
  ```sh
338
- $ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default {{name}}
372
+ $ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default {{location}}/{{name}}
339
373
  ```
340
374
 
341
375
  :param str resource_name: The name of the resource.
@@ -347,6 +381,7 @@ class DnsAuthorization(pulumi.CustomResource):
347
381
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the DNS Authorization resource.
348
382
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
349
383
  Please refer to the field `effective_labels` for all of the labels present on the resource.
384
+ :param pulumi.Input[str] location: The Certificate Manager location. If not specified, "global" is used.
350
385
  :param pulumi.Input[str] name: Name of the resource; provided by the client when the resource is created.
351
386
  The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter,
352
387
  and all following characters must be a dash, underscore, letter or digit.
@@ -374,7 +409,8 @@ class DnsAuthorization(pulumi.CustomResource):
374
409
 
375
410
  default = gcp.certificatemanager.DnsAuthorization("default",
376
411
  name="dns-auth",
377
- description="The default dnss",
412
+ location="global",
413
+ description="The default dns",
378
414
  domain="subdomain.hashicorptest.com")
379
415
  pulumi.export("recordNameToInsert", default.dns_resource_records[0].name)
380
416
  pulumi.export("recordTypeToInsert", default.dns_resource_records[0].type)
@@ -385,24 +421,24 @@ class DnsAuthorization(pulumi.CustomResource):
385
421
 
386
422
  DnsAuthorization can be imported using any of these accepted formats:
387
423
 
388
- * `projects/{{project}}/locations/global/dnsAuthorizations/{{name}}`
424
+ * `projects/{{project}}/locations/{{location}}/dnsAuthorizations/{{name}}`
389
425
 
390
- * `{{project}}/{{name}}`
426
+ * `{{project}}/{{location}}/{{name}}`
391
427
 
392
- * `{{name}}`
428
+ * `{{location}}/{{name}}`
393
429
 
394
430
  When using the `pulumi import` command, DnsAuthorization can be imported using one of the formats above. For example:
395
431
 
396
432
  ```sh
397
- $ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default projects/{{project}}/locations/global/dnsAuthorizations/{{name}}
433
+ $ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default projects/{{project}}/locations/{{location}}/dnsAuthorizations/{{name}}
398
434
  ```
399
435
 
400
436
  ```sh
401
- $ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default {{project}}/{{name}}
437
+ $ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default {{project}}/{{location}}/{{name}}
402
438
  ```
403
439
 
404
440
  ```sh
405
- $ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default {{name}}
441
+ $ pulumi import gcp:certificatemanager/dnsAuthorization:DnsAuthorization default {{location}}/{{name}}
406
442
  ```
407
443
 
408
444
  :param str resource_name: The name of the resource.
@@ -423,6 +459,7 @@ class DnsAuthorization(pulumi.CustomResource):
423
459
  description: Optional[pulumi.Input[str]] = None,
424
460
  domain: Optional[pulumi.Input[str]] = None,
425
461
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
462
+ location: Optional[pulumi.Input[str]] = None,
426
463
  name: Optional[pulumi.Input[str]] = None,
427
464
  project: Optional[pulumi.Input[str]] = None,
428
465
  __props__=None):
@@ -439,6 +476,7 @@ class DnsAuthorization(pulumi.CustomResource):
439
476
  raise TypeError("Missing required property 'domain'")
440
477
  __props__.__dict__["domain"] = domain
441
478
  __props__.__dict__["labels"] = labels
479
+ __props__.__dict__["location"] = location
442
480
  __props__.__dict__["name"] = name
443
481
  __props__.__dict__["project"] = project
444
482
  __props__.__dict__["dns_resource_records"] = None
@@ -461,6 +499,7 @@ class DnsAuthorization(pulumi.CustomResource):
461
499
  domain: Optional[pulumi.Input[str]] = None,
462
500
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
463
501
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
502
+ location: Optional[pulumi.Input[str]] = None,
464
503
  name: Optional[pulumi.Input[str]] = None,
465
504
  project: Optional[pulumi.Input[str]] = None,
466
505
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'DnsAuthorization':
@@ -483,6 +522,7 @@ class DnsAuthorization(pulumi.CustomResource):
483
522
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the DNS Authorization resource.
484
523
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
485
524
  Please refer to the field `effective_labels` for all of the labels present on the resource.
525
+ :param pulumi.Input[str] location: The Certificate Manager location. If not specified, "global" is used.
486
526
  :param pulumi.Input[str] name: Name of the resource; provided by the client when the resource is created.
487
527
  The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]* which means the first character must be a letter,
488
528
  and all following characters must be a dash, underscore, letter or digit.
@@ -503,6 +543,7 @@ class DnsAuthorization(pulumi.CustomResource):
503
543
  __props__.__dict__["domain"] = domain
504
544
  __props__.__dict__["effective_labels"] = effective_labels
505
545
  __props__.__dict__["labels"] = labels
546
+ __props__.__dict__["location"] = location
506
547
  __props__.__dict__["name"] = name
507
548
  __props__.__dict__["project"] = project
508
549
  __props__.__dict__["pulumi_labels"] = pulumi_labels
@@ -555,6 +596,14 @@ class DnsAuthorization(pulumi.CustomResource):
555
596
  """
556
597
  return pulumi.get(self, "labels")
557
598
 
599
+ @property
600
+ @pulumi.getter
601
+ def location(self) -> pulumi.Output[Optional[str]]:
602
+ """
603
+ The Certificate Manager location. If not specified, "global" is used.
604
+ """
605
+ return pulumi.get(self, "location")
606
+
558
607
  @property
559
608
  @pulumi.getter
560
609
  def name(self) -> pulumi.Output[str]:
@@ -12,6 +12,10 @@ from .delivery_pipeline_iam_binding import *
12
12
  from .delivery_pipeline_iam_member import *
13
13
  from .delivery_pipeline_iam_policy import *
14
14
  from .get_delivery_pipeline_iam_policy import *
15
+ from .get_target_iam_policy import *
15
16
  from .target import *
17
+ from .target_iam_binding import *
18
+ from .target_iam_member import *
19
+ from .target_iam_policy import *
16
20
  from ._inputs import *
17
21
  from . import outputs
@@ -48,6 +48,8 @@ __all__ = [
48
48
  'TargetAnthosClusterArgs',
49
49
  'TargetExecutionConfigArgs',
50
50
  'TargetGkeArgs',
51
+ 'TargetIamBindingConditionArgs',
52
+ 'TargetIamMemberConditionArgs',
51
53
  'TargetMultiTargetArgs',
52
54
  'TargetRunArgs',
53
55
  ]
@@ -1809,6 +1811,84 @@ class TargetGkeArgs:
1809
1811
  pulumi.set(self, "internal_ip", value)
1810
1812
 
1811
1813
 
1814
+ @pulumi.input_type
1815
+ class TargetIamBindingConditionArgs:
1816
+ def __init__(__self__, *,
1817
+ expression: pulumi.Input[str],
1818
+ title: pulumi.Input[str],
1819
+ description: Optional[pulumi.Input[str]] = None):
1820
+ pulumi.set(__self__, "expression", expression)
1821
+ pulumi.set(__self__, "title", title)
1822
+ if description is not None:
1823
+ pulumi.set(__self__, "description", description)
1824
+
1825
+ @property
1826
+ @pulumi.getter
1827
+ def expression(self) -> pulumi.Input[str]:
1828
+ return pulumi.get(self, "expression")
1829
+
1830
+ @expression.setter
1831
+ def expression(self, value: pulumi.Input[str]):
1832
+ pulumi.set(self, "expression", value)
1833
+
1834
+ @property
1835
+ @pulumi.getter
1836
+ def title(self) -> pulumi.Input[str]:
1837
+ return pulumi.get(self, "title")
1838
+
1839
+ @title.setter
1840
+ def title(self, value: pulumi.Input[str]):
1841
+ pulumi.set(self, "title", value)
1842
+
1843
+ @property
1844
+ @pulumi.getter
1845
+ def description(self) -> Optional[pulumi.Input[str]]:
1846
+ return pulumi.get(self, "description")
1847
+
1848
+ @description.setter
1849
+ def description(self, value: Optional[pulumi.Input[str]]):
1850
+ pulumi.set(self, "description", value)
1851
+
1852
+
1853
+ @pulumi.input_type
1854
+ class TargetIamMemberConditionArgs:
1855
+ def __init__(__self__, *,
1856
+ expression: pulumi.Input[str],
1857
+ title: pulumi.Input[str],
1858
+ description: Optional[pulumi.Input[str]] = None):
1859
+ pulumi.set(__self__, "expression", expression)
1860
+ pulumi.set(__self__, "title", title)
1861
+ if description is not None:
1862
+ pulumi.set(__self__, "description", description)
1863
+
1864
+ @property
1865
+ @pulumi.getter
1866
+ def expression(self) -> pulumi.Input[str]:
1867
+ return pulumi.get(self, "expression")
1868
+
1869
+ @expression.setter
1870
+ def expression(self, value: pulumi.Input[str]):
1871
+ pulumi.set(self, "expression", value)
1872
+
1873
+ @property
1874
+ @pulumi.getter
1875
+ def title(self) -> pulumi.Input[str]:
1876
+ return pulumi.get(self, "title")
1877
+
1878
+ @title.setter
1879
+ def title(self, value: pulumi.Input[str]):
1880
+ pulumi.set(self, "title", value)
1881
+
1882
+ @property
1883
+ @pulumi.getter
1884
+ def description(self) -> Optional[pulumi.Input[str]]:
1885
+ return pulumi.get(self, "description")
1886
+
1887
+ @description.setter
1888
+ def description(self, value: Optional[pulumi.Input[str]]):
1889
+ pulumi.set(self, "description", value)
1890
+
1891
+
1812
1892
  @pulumi.input_type
1813
1893
  class TargetMultiTargetArgs:
1814
1894
  def __init__(__self__, *,