pulumi-gcp 7.29.0a1719298381__py3-none-any.whl → 7.29.0a1719365805__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 (36) hide show
  1. pulumi_gcp/__init__.py +8 -0
  2. pulumi_gcp/activedirectory/domain.py +14 -14
  3. pulumi_gcp/activedirectory/domain_trust.py +14 -14
  4. pulumi_gcp/artifactregistry/__init__.py +1 -0
  5. pulumi_gcp/artifactregistry/_inputs.py +4 -4
  6. pulumi_gcp/artifactregistry/get_docker_image.py +244 -0
  7. pulumi_gcp/artifactregistry/outputs.py +6 -6
  8. pulumi_gcp/artifactregistry/repository.py +8 -8
  9. pulumi_gcp/bigquery/dataset.py +75 -0
  10. pulumi_gcp/bigquery/get_dataset.py +11 -1
  11. pulumi_gcp/billing/_inputs.py +22 -0
  12. pulumi_gcp/billing/budget.py +50 -0
  13. pulumi_gcp/billing/outputs.py +20 -0
  14. pulumi_gcp/cloudrunv2/get_job.py +21 -1
  15. pulumi_gcp/cloudrunv2/job.py +157 -13
  16. pulumi_gcp/compute/_inputs.py +83 -0
  17. pulumi_gcp/compute/outputs.py +166 -1
  18. pulumi_gcp/dataproc/_inputs.py +100 -0
  19. pulumi_gcp/dataproc/metastore_service.py +172 -0
  20. pulumi_gcp/dataproc/outputs.py +192 -1
  21. pulumi_gcp/gkehub/_inputs.py +2 -2
  22. pulumi_gcp/gkehub/outputs.py +2 -2
  23. pulumi_gcp/pubsub/_inputs.py +40 -0
  24. pulumi_gcp/pubsub/outputs.py +66 -0
  25. pulumi_gcp/pubsub/subscription.py +166 -0
  26. pulumi_gcp/pulumi-plugin.json +1 -1
  27. pulumi_gcp/redis/get_instance.py +11 -1
  28. pulumi_gcp/redis/instance.py +47 -0
  29. pulumi_gcp/servicenetworking/__init__.py +1 -0
  30. pulumi_gcp/servicenetworking/vpc_service_controls.py +511 -0
  31. pulumi_gcp/sql/user.py +21 -7
  32. pulumi_gcp/vpcaccess/connector.py +2 -8
  33. {pulumi_gcp-7.29.0a1719298381.dist-info → pulumi_gcp-7.29.0a1719365805.dist-info}/METADATA +1 -1
  34. {pulumi_gcp-7.29.0a1719298381.dist-info → pulumi_gcp-7.29.0a1719365805.dist-info}/RECORD +36 -34
  35. {pulumi_gcp-7.29.0a1719298381.dist-info → pulumi_gcp-7.29.0a1719365805.dist-info}/WHEEL +1 -1
  36. {pulumi_gcp-7.29.0a1719298381.dist-info → pulumi_gcp-7.29.0a1719365805.dist-info}/top_level.txt +0 -0
@@ -25,7 +25,9 @@ class JobArgs:
25
25
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
26
26
  launch_stage: Optional[pulumi.Input[str]] = None,
27
27
  name: Optional[pulumi.Input[str]] = None,
28
- project: Optional[pulumi.Input[str]] = None):
28
+ project: Optional[pulumi.Input[str]] = None,
29
+ run_execution_token: Optional[pulumi.Input[str]] = None,
30
+ start_execution_token: Optional[pulumi.Input[str]] = None):
29
31
  """
30
32
  The set of arguments for constructing a Job resource.
31
33
  :param pulumi.Input[str] location: The location of the cloud run job
@@ -56,6 +58,10 @@ class JobArgs:
56
58
  input, but only BETA and GA-level features are used, this field will be BETA on output. Possible values:
57
59
  ["UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED"]
58
60
  :param pulumi.Input[str] name: Name of the Job.
61
+ :param pulumi.Input[str] run_execution_token: A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
62
+ execution is successfully completed. The sum of job name and token length must be fewer than 63 characters.
63
+ :param pulumi.Input[str] start_execution_token: A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
64
+ execution is successfully started. The sum of job name and token length must be fewer than 63 characters.
59
65
  """
60
66
  pulumi.set(__self__, "location", location)
61
67
  pulumi.set(__self__, "template", template)
@@ -75,6 +81,10 @@ class JobArgs:
75
81
  pulumi.set(__self__, "name", name)
76
82
  if project is not None:
77
83
  pulumi.set(__self__, "project", project)
84
+ if run_execution_token is not None:
85
+ pulumi.set(__self__, "run_execution_token", run_execution_token)
86
+ if start_execution_token is not None:
87
+ pulumi.set(__self__, "start_execution_token", start_execution_token)
78
88
 
79
89
  @property
80
90
  @pulumi.getter
@@ -212,6 +222,32 @@ class JobArgs:
212
222
  def project(self, value: Optional[pulumi.Input[str]]):
213
223
  pulumi.set(self, "project", value)
214
224
 
225
+ @property
226
+ @pulumi.getter(name="runExecutionToken")
227
+ def run_execution_token(self) -> Optional[pulumi.Input[str]]:
228
+ """
229
+ A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
230
+ execution is successfully completed. The sum of job name and token length must be fewer than 63 characters.
231
+ """
232
+ return pulumi.get(self, "run_execution_token")
233
+
234
+ @run_execution_token.setter
235
+ def run_execution_token(self, value: Optional[pulumi.Input[str]]):
236
+ pulumi.set(self, "run_execution_token", value)
237
+
238
+ @property
239
+ @pulumi.getter(name="startExecutionToken")
240
+ def start_execution_token(self) -> Optional[pulumi.Input[str]]:
241
+ """
242
+ A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
243
+ execution is successfully started. The sum of job name and token length must be fewer than 63 characters.
244
+ """
245
+ return pulumi.get(self, "start_execution_token")
246
+
247
+ @start_execution_token.setter
248
+ def start_execution_token(self, value: Optional[pulumi.Input[str]]):
249
+ pulumi.set(self, "start_execution_token", value)
250
+
215
251
 
216
252
  @pulumi.input_type
217
253
  class _JobState:
@@ -240,6 +276,8 @@ class _JobState:
240
276
  project: Optional[pulumi.Input[str]] = None,
241
277
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
242
278
  reconciling: Optional[pulumi.Input[bool]] = None,
279
+ run_execution_token: Optional[pulumi.Input[str]] = None,
280
+ start_execution_token: Optional[pulumi.Input[str]] = None,
243
281
  template: Optional[pulumi.Input['JobTemplateArgs']] = None,
244
282
  terminal_conditions: Optional[pulumi.Input[Sequence[pulumi.Input['JobTerminalConditionArgs']]]] = None,
245
283
  uid: Optional[pulumi.Input[str]] = None,
@@ -294,6 +332,10 @@ class _JobState:
294
332
  When a new Job is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Job to the desired state. This process is called reconciliation. While reconciliation is in process, observedGeneration and latest_succeeded_execution, will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the state matches the Job, or there was an error, and reconciliation failed. This state can be found in terminalCondition.state.
295
333
  If reconciliation succeeded, the following fields will match: observedGeneration and generation, latest_succeeded_execution and latestCreatedExecution.
296
334
  If reconciliation failed, observedGeneration and latest_succeeded_execution will have the state of the last succeeded execution or empty for newly created Job. Additional information on the failure can be found in terminalCondition and conditions
335
+ :param pulumi.Input[str] run_execution_token: A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
336
+ execution is successfully completed. The sum of job name and token length must be fewer than 63 characters.
337
+ :param pulumi.Input[str] start_execution_token: A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
338
+ execution is successfully started. The sum of job name and token length must be fewer than 63 characters.
297
339
  :param pulumi.Input['JobTemplateArgs'] template: The template used to create executions for this Job.
298
340
  Structure is documented below.
299
341
  :param pulumi.Input[Sequence[pulumi.Input['JobTerminalConditionArgs']]] terminal_conditions: The Condition of this Job, containing its readiness status, and detailed error information in case it did not reach the desired state
@@ -349,6 +391,10 @@ class _JobState:
349
391
  pulumi.set(__self__, "pulumi_labels", pulumi_labels)
350
392
  if reconciling is not None:
351
393
  pulumi.set(__self__, "reconciling", reconciling)
394
+ if run_execution_token is not None:
395
+ pulumi.set(__self__, "run_execution_token", run_execution_token)
396
+ if start_execution_token is not None:
397
+ pulumi.set(__self__, "start_execution_token", start_execution_token)
352
398
  if template is not None:
353
399
  pulumi.set(__self__, "template", template)
354
400
  if terminal_conditions is not None:
@@ -666,6 +712,32 @@ class _JobState:
666
712
  def reconciling(self, value: Optional[pulumi.Input[bool]]):
667
713
  pulumi.set(self, "reconciling", value)
668
714
 
715
+ @property
716
+ @pulumi.getter(name="runExecutionToken")
717
+ def run_execution_token(self) -> Optional[pulumi.Input[str]]:
718
+ """
719
+ A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
720
+ execution is successfully completed. The sum of job name and token length must be fewer than 63 characters.
721
+ """
722
+ return pulumi.get(self, "run_execution_token")
723
+
724
+ @run_execution_token.setter
725
+ def run_execution_token(self, value: Optional[pulumi.Input[str]]):
726
+ pulumi.set(self, "run_execution_token", value)
727
+
728
+ @property
729
+ @pulumi.getter(name="startExecutionToken")
730
+ def start_execution_token(self) -> Optional[pulumi.Input[str]]:
731
+ """
732
+ A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
733
+ execution is successfully started. The sum of job name and token length must be fewer than 63 characters.
734
+ """
735
+ return pulumi.get(self, "start_execution_token")
736
+
737
+ @start_execution_token.setter
738
+ def start_execution_token(self, value: Optional[pulumi.Input[str]]):
739
+ pulumi.set(self, "start_execution_token", value)
740
+
669
741
  @property
670
742
  @pulumi.getter
671
743
  def template(self) -> Optional[pulumi.Input['JobTemplateArgs']]:
@@ -731,6 +803,8 @@ class Job(pulumi.CustomResource):
731
803
  location: Optional[pulumi.Input[str]] = None,
732
804
  name: Optional[pulumi.Input[str]] = None,
733
805
  project: Optional[pulumi.Input[str]] = None,
806
+ run_execution_token: Optional[pulumi.Input[str]] = None,
807
+ start_execution_token: Optional[pulumi.Input[str]] = None,
734
808
  template: Optional[pulumi.Input[pulumi.InputType['JobTemplateArgs']]] = None,
735
809
  __props__=None):
736
810
  """
@@ -756,7 +830,7 @@ class Job(pulumi.CustomResource):
756
830
  template=gcp.cloudrunv2.JobTemplateArgs(
757
831
  template=gcp.cloudrunv2.JobTemplateTemplateArgs(
758
832
  containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
759
- image="us-docker.pkg.dev/cloudrun/container/hello",
833
+ image="us-docker.pkg.dev/cloudrun/container/job",
760
834
  )],
761
835
  ),
762
836
  ))
@@ -773,7 +847,7 @@ class Job(pulumi.CustomResource):
773
847
  template=gcp.cloudrunv2.JobTemplateArgs(
774
848
  template=gcp.cloudrunv2.JobTemplateTemplateArgs(
775
849
  containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
776
- image="us-docker.pkg.dev/cloudrun/container/hello",
850
+ image="us-docker.pkg.dev/cloudrun/container/job",
777
851
  resources=gcp.cloudrunv2.JobTemplateTemplateContainerResourcesArgs(
778
852
  limits={
779
853
  "cpu": "2",
@@ -815,7 +889,7 @@ class Job(pulumi.CustomResource):
815
889
  ),
816
890
  )],
817
891
  containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
818
- image="us-docker.pkg.dev/cloudrun/container/hello",
892
+ image="us-docker.pkg.dev/cloudrun/container/job",
819
893
  envs=[
820
894
  gcp.cloudrunv2.JobTemplateTemplateContainerEnvArgs(
821
895
  name="FOO",
@@ -877,7 +951,7 @@ class Job(pulumi.CustomResource):
877
951
  template=gcp.cloudrunv2.JobTemplateArgs(
878
952
  template=gcp.cloudrunv2.JobTemplateTemplateArgs(
879
953
  containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
880
- image="us-docker.pkg.dev/cloudrun/container/hello",
954
+ image="us-docker.pkg.dev/cloudrun/container/job",
881
955
  )],
882
956
  vpc_access=gcp.cloudrunv2.JobTemplateTemplateVpcAccessArgs(
883
957
  connector=connector.id,
@@ -953,7 +1027,7 @@ class Job(pulumi.CustomResource):
953
1027
  ),
954
1028
  )],
955
1029
  containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
956
- image="us-docker.pkg.dev/cloudrun/container/hello",
1030
+ image="us-docker.pkg.dev/cloudrun/container/job",
957
1031
  volume_mounts=[gcp.cloudrunv2.JobTemplateTemplateContainerVolumeMountArgs(
958
1032
  name="a-volume",
959
1033
  mount_path="/secrets",
@@ -979,7 +1053,7 @@ class Job(pulumi.CustomResource):
979
1053
  template=gcp.cloudrunv2.JobTemplateArgs(
980
1054
  template=gcp.cloudrunv2.JobTemplateTemplateArgs(
981
1055
  containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
982
- image="us-docker.pkg.dev/cloudrun/container/hello",
1056
+ image="us-docker.pkg.dev/cloudrun/container/job",
983
1057
  volume_mounts=[gcp.cloudrunv2.JobTemplateTemplateContainerVolumeMountArgs(
984
1058
  name="empty-dir-volume",
985
1059
  mount_path="/mnt",
@@ -995,6 +1069,24 @@ class Job(pulumi.CustomResource):
995
1069
  ),
996
1070
  ))
997
1071
  ```
1072
+ ### Cloudrunv2 Job Run Job
1073
+
1074
+ ```python
1075
+ import pulumi
1076
+ import pulumi_gcp as gcp
1077
+
1078
+ default = gcp.cloudrunv2.Job("default",
1079
+ name="cloudrun-job",
1080
+ location="us-central1",
1081
+ start_execution_token="start-once-created",
1082
+ template=gcp.cloudrunv2.JobTemplateArgs(
1083
+ template=gcp.cloudrunv2.JobTemplateTemplateArgs(
1084
+ containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
1085
+ image="us-docker.pkg.dev/cloudrun/container/job",
1086
+ )],
1087
+ ),
1088
+ ))
1089
+ ```
998
1090
 
999
1091
  ## Import
1000
1092
 
@@ -1048,6 +1140,10 @@ class Job(pulumi.CustomResource):
1048
1140
  ["UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED"]
1049
1141
  :param pulumi.Input[str] location: The location of the cloud run job
1050
1142
  :param pulumi.Input[str] name: Name of the Job.
1143
+ :param pulumi.Input[str] run_execution_token: A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
1144
+ execution is successfully completed. The sum of job name and token length must be fewer than 63 characters.
1145
+ :param pulumi.Input[str] start_execution_token: A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
1146
+ execution is successfully started. The sum of job name and token length must be fewer than 63 characters.
1051
1147
  :param pulumi.Input[pulumi.InputType['JobTemplateArgs']] template: The template used to create executions for this Job.
1052
1148
  Structure is documented below.
1053
1149
  """
@@ -1080,7 +1176,7 @@ class Job(pulumi.CustomResource):
1080
1176
  template=gcp.cloudrunv2.JobTemplateArgs(
1081
1177
  template=gcp.cloudrunv2.JobTemplateTemplateArgs(
1082
1178
  containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
1083
- image="us-docker.pkg.dev/cloudrun/container/hello",
1179
+ image="us-docker.pkg.dev/cloudrun/container/job",
1084
1180
  )],
1085
1181
  ),
1086
1182
  ))
@@ -1097,7 +1193,7 @@ class Job(pulumi.CustomResource):
1097
1193
  template=gcp.cloudrunv2.JobTemplateArgs(
1098
1194
  template=gcp.cloudrunv2.JobTemplateTemplateArgs(
1099
1195
  containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
1100
- image="us-docker.pkg.dev/cloudrun/container/hello",
1196
+ image="us-docker.pkg.dev/cloudrun/container/job",
1101
1197
  resources=gcp.cloudrunv2.JobTemplateTemplateContainerResourcesArgs(
1102
1198
  limits={
1103
1199
  "cpu": "2",
@@ -1139,7 +1235,7 @@ class Job(pulumi.CustomResource):
1139
1235
  ),
1140
1236
  )],
1141
1237
  containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
1142
- image="us-docker.pkg.dev/cloudrun/container/hello",
1238
+ image="us-docker.pkg.dev/cloudrun/container/job",
1143
1239
  envs=[
1144
1240
  gcp.cloudrunv2.JobTemplateTemplateContainerEnvArgs(
1145
1241
  name="FOO",
@@ -1201,7 +1297,7 @@ class Job(pulumi.CustomResource):
1201
1297
  template=gcp.cloudrunv2.JobTemplateArgs(
1202
1298
  template=gcp.cloudrunv2.JobTemplateTemplateArgs(
1203
1299
  containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
1204
- image="us-docker.pkg.dev/cloudrun/container/hello",
1300
+ image="us-docker.pkg.dev/cloudrun/container/job",
1205
1301
  )],
1206
1302
  vpc_access=gcp.cloudrunv2.JobTemplateTemplateVpcAccessArgs(
1207
1303
  connector=connector.id,
@@ -1277,7 +1373,7 @@ class Job(pulumi.CustomResource):
1277
1373
  ),
1278
1374
  )],
1279
1375
  containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
1280
- image="us-docker.pkg.dev/cloudrun/container/hello",
1376
+ image="us-docker.pkg.dev/cloudrun/container/job",
1281
1377
  volume_mounts=[gcp.cloudrunv2.JobTemplateTemplateContainerVolumeMountArgs(
1282
1378
  name="a-volume",
1283
1379
  mount_path="/secrets",
@@ -1303,7 +1399,7 @@ class Job(pulumi.CustomResource):
1303
1399
  template=gcp.cloudrunv2.JobTemplateArgs(
1304
1400
  template=gcp.cloudrunv2.JobTemplateTemplateArgs(
1305
1401
  containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
1306
- image="us-docker.pkg.dev/cloudrun/container/hello",
1402
+ image="us-docker.pkg.dev/cloudrun/container/job",
1307
1403
  volume_mounts=[gcp.cloudrunv2.JobTemplateTemplateContainerVolumeMountArgs(
1308
1404
  name="empty-dir-volume",
1309
1405
  mount_path="/mnt",
@@ -1319,6 +1415,24 @@ class Job(pulumi.CustomResource):
1319
1415
  ),
1320
1416
  ))
1321
1417
  ```
1418
+ ### Cloudrunv2 Job Run Job
1419
+
1420
+ ```python
1421
+ import pulumi
1422
+ import pulumi_gcp as gcp
1423
+
1424
+ default = gcp.cloudrunv2.Job("default",
1425
+ name="cloudrun-job",
1426
+ location="us-central1",
1427
+ start_execution_token="start-once-created",
1428
+ template=gcp.cloudrunv2.JobTemplateArgs(
1429
+ template=gcp.cloudrunv2.JobTemplateTemplateArgs(
1430
+ containers=[gcp.cloudrunv2.JobTemplateTemplateContainerArgs(
1431
+ image="us-docker.pkg.dev/cloudrun/container/job",
1432
+ )],
1433
+ ),
1434
+ ))
1435
+ ```
1322
1436
 
1323
1437
  ## Import
1324
1438
 
@@ -1368,6 +1482,8 @@ class Job(pulumi.CustomResource):
1368
1482
  location: Optional[pulumi.Input[str]] = None,
1369
1483
  name: Optional[pulumi.Input[str]] = None,
1370
1484
  project: Optional[pulumi.Input[str]] = None,
1485
+ run_execution_token: Optional[pulumi.Input[str]] = None,
1486
+ start_execution_token: Optional[pulumi.Input[str]] = None,
1371
1487
  template: Optional[pulumi.Input[pulumi.InputType['JobTemplateArgs']]] = None,
1372
1488
  __props__=None):
1373
1489
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -1389,6 +1505,8 @@ class Job(pulumi.CustomResource):
1389
1505
  __props__.__dict__["location"] = location
1390
1506
  __props__.__dict__["name"] = name
1391
1507
  __props__.__dict__["project"] = project
1508
+ __props__.__dict__["run_execution_token"] = run_execution_token
1509
+ __props__.__dict__["start_execution_token"] = start_execution_token
1392
1510
  if template is None and not opts.urn:
1393
1511
  raise TypeError("Missing required property 'template'")
1394
1512
  __props__.__dict__["template"] = template
@@ -1446,6 +1564,8 @@ class Job(pulumi.CustomResource):
1446
1564
  project: Optional[pulumi.Input[str]] = None,
1447
1565
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1448
1566
  reconciling: Optional[pulumi.Input[bool]] = None,
1567
+ run_execution_token: Optional[pulumi.Input[str]] = None,
1568
+ start_execution_token: Optional[pulumi.Input[str]] = None,
1449
1569
  template: Optional[pulumi.Input[pulumi.InputType['JobTemplateArgs']]] = None,
1450
1570
  terminal_conditions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['JobTerminalConditionArgs']]]]] = None,
1451
1571
  uid: Optional[pulumi.Input[str]] = None,
@@ -1505,6 +1625,10 @@ class Job(pulumi.CustomResource):
1505
1625
  When a new Job is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Job to the desired state. This process is called reconciliation. While reconciliation is in process, observedGeneration and latest_succeeded_execution, will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the state matches the Job, or there was an error, and reconciliation failed. This state can be found in terminalCondition.state.
1506
1626
  If reconciliation succeeded, the following fields will match: observedGeneration and generation, latest_succeeded_execution and latestCreatedExecution.
1507
1627
  If reconciliation failed, observedGeneration and latest_succeeded_execution will have the state of the last succeeded execution or empty for newly created Job. Additional information on the failure can be found in terminalCondition and conditions
1628
+ :param pulumi.Input[str] run_execution_token: A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
1629
+ execution is successfully completed. The sum of job name and token length must be fewer than 63 characters.
1630
+ :param pulumi.Input[str] start_execution_token: A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
1631
+ execution is successfully started. The sum of job name and token length must be fewer than 63 characters.
1508
1632
  :param pulumi.Input[pulumi.InputType['JobTemplateArgs']] template: The template used to create executions for this Job.
1509
1633
  Structure is documented below.
1510
1634
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['JobTerminalConditionArgs']]]] terminal_conditions: The Condition of this Job, containing its readiness status, and detailed error information in case it did not reach the desired state
@@ -1540,6 +1664,8 @@ class Job(pulumi.CustomResource):
1540
1664
  __props__.__dict__["project"] = project
1541
1665
  __props__.__dict__["pulumi_labels"] = pulumi_labels
1542
1666
  __props__.__dict__["reconciling"] = reconciling
1667
+ __props__.__dict__["run_execution_token"] = run_execution_token
1668
+ __props__.__dict__["start_execution_token"] = start_execution_token
1543
1669
  __props__.__dict__["template"] = template
1544
1670
  __props__.__dict__["terminal_conditions"] = terminal_conditions
1545
1671
  __props__.__dict__["uid"] = uid
@@ -1758,6 +1884,24 @@ class Job(pulumi.CustomResource):
1758
1884
  """
1759
1885
  return pulumi.get(self, "reconciling")
1760
1886
 
1887
+ @property
1888
+ @pulumi.getter(name="runExecutionToken")
1889
+ def run_execution_token(self) -> pulumi.Output[Optional[str]]:
1890
+ """
1891
+ A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
1892
+ execution is successfully completed. The sum of job name and token length must be fewer than 63 characters.
1893
+ """
1894
+ return pulumi.get(self, "run_execution_token")
1895
+
1896
+ @property
1897
+ @pulumi.getter(name="startExecutionToken")
1898
+ def start_execution_token(self) -> pulumi.Output[Optional[str]]:
1899
+ """
1900
+ A unique string used as a suffix creating a new execution upon job create or update. The Job will become ready when the
1901
+ execution is successfully started. The sum of job name and token length must be fewer than 63 characters.
1902
+ """
1903
+ return pulumi.get(self, "start_execution_token")
1904
+
1761
1905
  @property
1762
1906
  @pulumi.getter
1763
1907
  def template(self) -> pulumi.Output['outputs.JobTemplate']:
@@ -437,6 +437,8 @@ __all__ = [
437
437
  'SecurityPolicyRuleMatchArgs',
438
438
  'SecurityPolicyRuleMatchConfigArgs',
439
439
  'SecurityPolicyRuleMatchExprArgs',
440
+ 'SecurityPolicyRuleMatchExprOptionsArgs',
441
+ 'SecurityPolicyRuleMatchExprOptionsRecaptchaOptionsArgs',
440
442
  'SecurityPolicyRulePreconfiguredWafConfigArgs',
441
443
  'SecurityPolicyRulePreconfiguredWafConfigExclusionArgs',
442
444
  'SecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookyArgs',
@@ -30829,6 +30831,7 @@ class SecurityPolicyRuleMatchArgs:
30829
30831
  def __init__(__self__, *,
30830
30832
  config: Optional[pulumi.Input['SecurityPolicyRuleMatchConfigArgs']] = None,
30831
30833
  expr: Optional[pulumi.Input['SecurityPolicyRuleMatchExprArgs']] = None,
30834
+ expr_options: Optional[pulumi.Input['SecurityPolicyRuleMatchExprOptionsArgs']] = None,
30832
30835
  versioned_expr: Optional[pulumi.Input[str]] = None):
30833
30836
  """
30834
30837
  :param pulumi.Input['SecurityPolicyRuleMatchConfigArgs'] config: The configuration options available when specifying versionedExpr.
@@ -30836,6 +30839,8 @@ class SecurityPolicyRuleMatchArgs:
30836
30839
  Structure is documented below.
30837
30840
  :param pulumi.Input['SecurityPolicyRuleMatchExprArgs'] expr: User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
30838
30841
  Structure is documented below.
30842
+ :param pulumi.Input['SecurityPolicyRuleMatchExprOptionsArgs'] expr_options: The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr').
30843
+ Structure is documented below.
30839
30844
  :param pulumi.Input[str] versioned_expr: Preconfigured versioned expression. If this field is specified, config must also be specified.
30840
30845
  Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding srcIpRange field in config.
30841
30846
  Possible values are: `SRC_IPS_V1`.
@@ -30844,6 +30849,8 @@ class SecurityPolicyRuleMatchArgs:
30844
30849
  pulumi.set(__self__, "config", config)
30845
30850
  if expr is not None:
30846
30851
  pulumi.set(__self__, "expr", expr)
30852
+ if expr_options is not None:
30853
+ pulumi.set(__self__, "expr_options", expr_options)
30847
30854
  if versioned_expr is not None:
30848
30855
  pulumi.set(__self__, "versioned_expr", versioned_expr)
30849
30856
 
@@ -30874,6 +30881,19 @@ class SecurityPolicyRuleMatchArgs:
30874
30881
  def expr(self, value: Optional[pulumi.Input['SecurityPolicyRuleMatchExprArgs']]):
30875
30882
  pulumi.set(self, "expr", value)
30876
30883
 
30884
+ @property
30885
+ @pulumi.getter(name="exprOptions")
30886
+ def expr_options(self) -> Optional[pulumi.Input['SecurityPolicyRuleMatchExprOptionsArgs']]:
30887
+ """
30888
+ The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr').
30889
+ Structure is documented below.
30890
+ """
30891
+ return pulumi.get(self, "expr_options")
30892
+
30893
+ @expr_options.setter
30894
+ def expr_options(self, value: Optional[pulumi.Input['SecurityPolicyRuleMatchExprOptionsArgs']]):
30895
+ pulumi.set(self, "expr_options", value)
30896
+
30877
30897
  @property
30878
30898
  @pulumi.getter(name="versionedExpr")
30879
30899
  def versioned_expr(self) -> Optional[pulumi.Input[str]]:
@@ -30934,6 +30954,69 @@ class SecurityPolicyRuleMatchExprArgs:
30934
30954
  pulumi.set(self, "expression", value)
30935
30955
 
30936
30956
 
30957
+ @pulumi.input_type
30958
+ class SecurityPolicyRuleMatchExprOptionsArgs:
30959
+ def __init__(__self__, *,
30960
+ recaptcha_options: pulumi.Input['SecurityPolicyRuleMatchExprOptionsRecaptchaOptionsArgs']):
30961
+ """
30962
+ :param pulumi.Input['SecurityPolicyRuleMatchExprOptionsRecaptchaOptionsArgs'] recaptcha_options: reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field has no effect.
30963
+ Structure is documented below.
30964
+ """
30965
+ pulumi.set(__self__, "recaptcha_options", recaptcha_options)
30966
+
30967
+ @property
30968
+ @pulumi.getter(name="recaptchaOptions")
30969
+ def recaptcha_options(self) -> pulumi.Input['SecurityPolicyRuleMatchExprOptionsRecaptchaOptionsArgs']:
30970
+ """
30971
+ reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field has no effect.
30972
+ Structure is documented below.
30973
+ """
30974
+ return pulumi.get(self, "recaptcha_options")
30975
+
30976
+ @recaptcha_options.setter
30977
+ def recaptcha_options(self, value: pulumi.Input['SecurityPolicyRuleMatchExprOptionsRecaptchaOptionsArgs']):
30978
+ pulumi.set(self, "recaptcha_options", value)
30979
+
30980
+
30981
+ @pulumi.input_type
30982
+ class SecurityPolicyRuleMatchExprOptionsRecaptchaOptionsArgs:
30983
+ def __init__(__self__, *,
30984
+ action_token_site_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
30985
+ session_token_site_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
30986
+ """
30987
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] action_token_site_keys: A list of site keys to be used during the validation of reCAPTCHA action-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created.
30988
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] session_token_site_keys: A list of site keys to be used during the validation of reCAPTCHA session-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created.
30989
+ """
30990
+ if action_token_site_keys is not None:
30991
+ pulumi.set(__self__, "action_token_site_keys", action_token_site_keys)
30992
+ if session_token_site_keys is not None:
30993
+ pulumi.set(__self__, "session_token_site_keys", session_token_site_keys)
30994
+
30995
+ @property
30996
+ @pulumi.getter(name="actionTokenSiteKeys")
30997
+ def action_token_site_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
30998
+ """
30999
+ A list of site keys to be used during the validation of reCAPTCHA action-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created.
31000
+ """
31001
+ return pulumi.get(self, "action_token_site_keys")
31002
+
31003
+ @action_token_site_keys.setter
31004
+ def action_token_site_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
31005
+ pulumi.set(self, "action_token_site_keys", value)
31006
+
31007
+ @property
31008
+ @pulumi.getter(name="sessionTokenSiteKeys")
31009
+ def session_token_site_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
31010
+ """
31011
+ A list of site keys to be used during the validation of reCAPTCHA session-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created.
31012
+ """
31013
+ return pulumi.get(self, "session_token_site_keys")
31014
+
31015
+ @session_token_site_keys.setter
31016
+ def session_token_site_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
31017
+ pulumi.set(self, "session_token_site_keys", value)
31018
+
31019
+
30937
31020
  @pulumi.input_type
30938
31021
  class SecurityPolicyRulePreconfiguredWafConfigArgs:
30939
31022
  def __init__(__self__, *,