pulumi-gcp 7.23.0a1715621482__py3-none-any.whl → 7.23.0a1715808346__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 (42) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/bigquery/table.py +47 -0
  3. pulumi_gcp/bigtable/__init__.py +1 -0
  4. pulumi_gcp/bigtable/_inputs.py +101 -0
  5. pulumi_gcp/bigtable/authorized_view.py +440 -0
  6. pulumi_gcp/bigtable/outputs.py +119 -0
  7. pulumi_gcp/certificateauthority/certificate_template.py +70 -0
  8. pulumi_gcp/cloudbuildv2/repository.py +2 -2
  9. pulumi_gcp/clouddeploy/_inputs.py +96 -0
  10. pulumi_gcp/clouddeploy/custom_target_type.py +46 -0
  11. pulumi_gcp/clouddeploy/delivery_pipeline.py +7 -7
  12. pulumi_gcp/clouddeploy/outputs.py +96 -1
  13. pulumi_gcp/clouddeploy/target.py +54 -7
  14. pulumi_gcp/compute/_inputs.py +689 -0
  15. pulumi_gcp/compute/firewall_policy_rule.py +125 -10
  16. pulumi_gcp/compute/network_firewall_policy_rule.py +125 -10
  17. pulumi_gcp/compute/outputs.py +684 -0
  18. pulumi_gcp/compute/region_network_firewall_policy_rule.py +125 -10
  19. pulumi_gcp/compute/region_security_policy_rule.py +230 -1
  20. pulumi_gcp/container/_inputs.py +67 -3
  21. pulumi_gcp/container/outputs.py +93 -4
  22. pulumi_gcp/dataflow/flex_template_job.py +7 -7
  23. pulumi_gcp/dataflow/job.py +7 -7
  24. pulumi_gcp/iam/_inputs.py +191 -2
  25. pulumi_gcp/iam/outputs.py +197 -2
  26. pulumi_gcp/iam/workforce_pool_provider.py +245 -0
  27. pulumi_gcp/integrationconnectors/__init__.py +1 -0
  28. pulumi_gcp/integrationconnectors/managed_zone.py +753 -0
  29. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  30. pulumi_gcp/networkconnectivity/regional_endpoint.py +946 -0
  31. pulumi_gcp/networksecurity/firewall_endpoint.py +34 -0
  32. pulumi_gcp/networksecurity/firewall_endpoint_association.py +24 -0
  33. pulumi_gcp/networksecurity/security_profile.py +16 -0
  34. pulumi_gcp/networksecurity/security_profile_group.py +18 -0
  35. pulumi_gcp/networksecurity/tls_inspection_policy.py +16 -0
  36. pulumi_gcp/orgpolicy/policy.py +2 -2
  37. pulumi_gcp/pubsub/subscription.py +4 -4
  38. pulumi_gcp/pulumi-plugin.json +2 -1
  39. {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/METADATA +1 -1
  40. {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/RECORD +42 -39
  41. {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/WHEEL +0 -0
  42. {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/top_level.txt +0 -0
@@ -20,6 +20,7 @@ class CertificateTemplateArgs:
20
20
  description: Optional[pulumi.Input[str]] = None,
21
21
  identity_constraints: Optional[pulumi.Input['CertificateTemplateIdentityConstraintsArgs']] = None,
22
22
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
23
+ maximum_lifetime: Optional[pulumi.Input[str]] = None,
23
24
  name: Optional[pulumi.Input[str]] = None,
24
25
  passthrough_extensions: Optional[pulumi.Input['CertificateTemplatePassthroughExtensionsArgs']] = None,
25
26
  predefined_values: Optional[pulumi.Input['CertificateTemplatePredefinedValuesArgs']] = None,
@@ -33,6 +34,10 @@ class CertificateTemplateArgs:
33
34
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels with user-defined metadata. **Note**: This field is non-authoritative, and will only manage the labels
34
35
  present in your configuration. Please refer to the field `effective_labels` for all of the labels present on the
35
36
  resource.
37
+ :param pulumi.Input[str] maximum_lifetime: Optional. The maximum lifetime allowed for all issued certificates that use this template. If the issuing CaPool's
38
+ IssuancePolicy specifies a maximum lifetime the minimum of the two durations will be the maximum lifetime for issued.
39
+ Note that if the issuing CertificateAuthority expires before a Certificate's requested maximum_lifetime, the effective
40
+ lifetime will be explicitly truncated to match it.
36
41
  :param pulumi.Input[str] name: The resource name for this CertificateTemplate in the format `projects/*/locations/*/certificateTemplates/*`.
37
42
  :param pulumi.Input['CertificateTemplatePassthroughExtensionsArgs'] passthrough_extensions: Optional. Describes the set of X.509 extensions that may appear in a Certificate issued using this CertificateTemplate.
38
43
  If a certificate request sets extensions that don't appear in the passthrough_extensions, those extensions will be
@@ -52,6 +57,8 @@ class CertificateTemplateArgs:
52
57
  pulumi.set(__self__, "identity_constraints", identity_constraints)
53
58
  if labels is not None:
54
59
  pulumi.set(__self__, "labels", labels)
60
+ if maximum_lifetime is not None:
61
+ pulumi.set(__self__, "maximum_lifetime", maximum_lifetime)
55
62
  if name is not None:
56
63
  pulumi.set(__self__, "name", name)
57
64
  if passthrough_extensions is not None:
@@ -112,6 +119,21 @@ class CertificateTemplateArgs:
112
119
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
113
120
  pulumi.set(self, "labels", value)
114
121
 
122
+ @property
123
+ @pulumi.getter(name="maximumLifetime")
124
+ def maximum_lifetime(self) -> Optional[pulumi.Input[str]]:
125
+ """
126
+ Optional. The maximum lifetime allowed for all issued certificates that use this template. If the issuing CaPool's
127
+ IssuancePolicy specifies a maximum lifetime the minimum of the two durations will be the maximum lifetime for issued.
128
+ Note that if the issuing CertificateAuthority expires before a Certificate's requested maximum_lifetime, the effective
129
+ lifetime will be explicitly truncated to match it.
130
+ """
131
+ return pulumi.get(self, "maximum_lifetime")
132
+
133
+ @maximum_lifetime.setter
134
+ def maximum_lifetime(self, value: Optional[pulumi.Input[str]]):
135
+ pulumi.set(self, "maximum_lifetime", value)
136
+
115
137
  @property
116
138
  @pulumi.getter
117
139
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -177,6 +199,7 @@ class _CertificateTemplateState:
177
199
  identity_constraints: Optional[pulumi.Input['CertificateTemplateIdentityConstraintsArgs']] = None,
178
200
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
179
201
  location: Optional[pulumi.Input[str]] = None,
202
+ maximum_lifetime: Optional[pulumi.Input[str]] = None,
180
203
  name: Optional[pulumi.Input[str]] = None,
181
204
  passthrough_extensions: Optional[pulumi.Input['CertificateTemplatePassthroughExtensionsArgs']] = None,
182
205
  predefined_values: Optional[pulumi.Input['CertificateTemplatePredefinedValuesArgs']] = None,
@@ -194,6 +217,10 @@ class _CertificateTemplateState:
194
217
  present in your configuration. Please refer to the field `effective_labels` for all of the labels present on the
195
218
  resource.
196
219
  :param pulumi.Input[str] location: The location for the resource
220
+ :param pulumi.Input[str] maximum_lifetime: Optional. The maximum lifetime allowed for all issued certificates that use this template. If the issuing CaPool's
221
+ IssuancePolicy specifies a maximum lifetime the minimum of the two durations will be the maximum lifetime for issued.
222
+ Note that if the issuing CertificateAuthority expires before a Certificate's requested maximum_lifetime, the effective
223
+ lifetime will be explicitly truncated to match it.
197
224
  :param pulumi.Input[str] name: The resource name for this CertificateTemplate in the format `projects/*/locations/*/certificateTemplates/*`.
198
225
  :param pulumi.Input['CertificateTemplatePassthroughExtensionsArgs'] passthrough_extensions: Optional. Describes the set of X.509 extensions that may appear in a Certificate issued using this CertificateTemplate.
199
226
  If a certificate request sets extensions that don't appear in the passthrough_extensions, those extensions will be
@@ -220,6 +247,8 @@ class _CertificateTemplateState:
220
247
  pulumi.set(__self__, "labels", labels)
221
248
  if location is not None:
222
249
  pulumi.set(__self__, "location", location)
250
+ if maximum_lifetime is not None:
251
+ pulumi.set(__self__, "maximum_lifetime", maximum_lifetime)
223
252
  if name is not None:
224
253
  pulumi.set(__self__, "name", name)
225
254
  if passthrough_extensions is not None:
@@ -308,6 +337,21 @@ class _CertificateTemplateState:
308
337
  def location(self, value: Optional[pulumi.Input[str]]):
309
338
  pulumi.set(self, "location", value)
310
339
 
340
+ @property
341
+ @pulumi.getter(name="maximumLifetime")
342
+ def maximum_lifetime(self) -> Optional[pulumi.Input[str]]:
343
+ """
344
+ Optional. The maximum lifetime allowed for all issued certificates that use this template. If the issuing CaPool's
345
+ IssuancePolicy specifies a maximum lifetime the minimum of the two durations will be the maximum lifetime for issued.
346
+ Note that if the issuing CertificateAuthority expires before a Certificate's requested maximum_lifetime, the effective
347
+ lifetime will be explicitly truncated to match it.
348
+ """
349
+ return pulumi.get(self, "maximum_lifetime")
350
+
351
+ @maximum_lifetime.setter
352
+ def maximum_lifetime(self, value: Optional[pulumi.Input[str]]):
353
+ pulumi.set(self, "maximum_lifetime", value)
354
+
311
355
  @property
312
356
  @pulumi.getter
313
357
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -397,6 +441,7 @@ class CertificateTemplate(pulumi.CustomResource):
397
441
  identity_constraints: Optional[pulumi.Input[pulumi.InputType['CertificateTemplateIdentityConstraintsArgs']]] = None,
398
442
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
399
443
  location: Optional[pulumi.Input[str]] = None,
444
+ maximum_lifetime: Optional[pulumi.Input[str]] = None,
400
445
  name: Optional[pulumi.Input[str]] = None,
401
446
  passthrough_extensions: Optional[pulumi.Input[pulumi.InputType['CertificateTemplatePassthroughExtensionsArgs']]] = None,
402
447
  predefined_values: Optional[pulumi.Input[pulumi.InputType['CertificateTemplatePredefinedValuesArgs']]] = None,
@@ -430,6 +475,7 @@ class CertificateTemplate(pulumi.CustomResource):
430
475
  title="Sample expression",
431
476
  ),
432
477
  ),
478
+ maximum_lifetime="86400s",
433
479
  passthrough_extensions=gcp.certificateauthority.CertificateTemplatePassthroughExtensionsArgs(
434
480
  additional_extensions=[gcp.certificateauthority.CertificateTemplatePassthroughExtensionsAdditionalExtensionArgs(
435
481
  object_id_paths=[
@@ -528,6 +574,10 @@ class CertificateTemplate(pulumi.CustomResource):
528
574
  present in your configuration. Please refer to the field `effective_labels` for all of the labels present on the
529
575
  resource.
530
576
  :param pulumi.Input[str] location: The location for the resource
577
+ :param pulumi.Input[str] maximum_lifetime: Optional. The maximum lifetime allowed for all issued certificates that use this template. If the issuing CaPool's
578
+ IssuancePolicy specifies a maximum lifetime the minimum of the two durations will be the maximum lifetime for issued.
579
+ Note that if the issuing CertificateAuthority expires before a Certificate's requested maximum_lifetime, the effective
580
+ lifetime will be explicitly truncated to match it.
531
581
  :param pulumi.Input[str] name: The resource name for this CertificateTemplate in the format `projects/*/locations/*/certificateTemplates/*`.
532
582
  :param pulumi.Input[pulumi.InputType['CertificateTemplatePassthroughExtensionsArgs']] passthrough_extensions: Optional. Describes the set of X.509 extensions that may appear in a Certificate issued using this CertificateTemplate.
533
583
  If a certificate request sets extensions that don't appear in the passthrough_extensions, those extensions will be
@@ -574,6 +624,7 @@ class CertificateTemplate(pulumi.CustomResource):
574
624
  title="Sample expression",
575
625
  ),
576
626
  ),
627
+ maximum_lifetime="86400s",
577
628
  passthrough_extensions=gcp.certificateauthority.CertificateTemplatePassthroughExtensionsArgs(
578
629
  additional_extensions=[gcp.certificateauthority.CertificateTemplatePassthroughExtensionsAdditionalExtensionArgs(
579
630
  object_id_paths=[
@@ -682,6 +733,7 @@ class CertificateTemplate(pulumi.CustomResource):
682
733
  identity_constraints: Optional[pulumi.Input[pulumi.InputType['CertificateTemplateIdentityConstraintsArgs']]] = None,
683
734
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
684
735
  location: Optional[pulumi.Input[str]] = None,
736
+ maximum_lifetime: Optional[pulumi.Input[str]] = None,
685
737
  name: Optional[pulumi.Input[str]] = None,
686
738
  passthrough_extensions: Optional[pulumi.Input[pulumi.InputType['CertificateTemplatePassthroughExtensionsArgs']]] = None,
687
739
  predefined_values: Optional[pulumi.Input[pulumi.InputType['CertificateTemplatePredefinedValuesArgs']]] = None,
@@ -701,6 +753,7 @@ class CertificateTemplate(pulumi.CustomResource):
701
753
  if location is None and not opts.urn:
702
754
  raise TypeError("Missing required property 'location'")
703
755
  __props__.__dict__["location"] = location
756
+ __props__.__dict__["maximum_lifetime"] = maximum_lifetime
704
757
  __props__.__dict__["name"] = name
705
758
  __props__.__dict__["passthrough_extensions"] = passthrough_extensions
706
759
  __props__.__dict__["predefined_values"] = predefined_values
@@ -727,6 +780,7 @@ class CertificateTemplate(pulumi.CustomResource):
727
780
  identity_constraints: Optional[pulumi.Input[pulumi.InputType['CertificateTemplateIdentityConstraintsArgs']]] = None,
728
781
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
729
782
  location: Optional[pulumi.Input[str]] = None,
783
+ maximum_lifetime: Optional[pulumi.Input[str]] = None,
730
784
  name: Optional[pulumi.Input[str]] = None,
731
785
  passthrough_extensions: Optional[pulumi.Input[pulumi.InputType['CertificateTemplatePassthroughExtensionsArgs']]] = None,
732
786
  predefined_values: Optional[pulumi.Input[pulumi.InputType['CertificateTemplatePredefinedValuesArgs']]] = None,
@@ -749,6 +803,10 @@ class CertificateTemplate(pulumi.CustomResource):
749
803
  present in your configuration. Please refer to the field `effective_labels` for all of the labels present on the
750
804
  resource.
751
805
  :param pulumi.Input[str] location: The location for the resource
806
+ :param pulumi.Input[str] maximum_lifetime: Optional. The maximum lifetime allowed for all issued certificates that use this template. If the issuing CaPool's
807
+ IssuancePolicy specifies a maximum lifetime the minimum of the two durations will be the maximum lifetime for issued.
808
+ Note that if the issuing CertificateAuthority expires before a Certificate's requested maximum_lifetime, the effective
809
+ lifetime will be explicitly truncated to match it.
752
810
  :param pulumi.Input[str] name: The resource name for this CertificateTemplate in the format `projects/*/locations/*/certificateTemplates/*`.
753
811
  :param pulumi.Input[pulumi.InputType['CertificateTemplatePassthroughExtensionsArgs']] passthrough_extensions: Optional. Describes the set of X.509 extensions that may appear in a Certificate issued using this CertificateTemplate.
754
812
  If a certificate request sets extensions that don't appear in the passthrough_extensions, those extensions will be
@@ -773,6 +831,7 @@ class CertificateTemplate(pulumi.CustomResource):
773
831
  __props__.__dict__["identity_constraints"] = identity_constraints
774
832
  __props__.__dict__["labels"] = labels
775
833
  __props__.__dict__["location"] = location
834
+ __props__.__dict__["maximum_lifetime"] = maximum_lifetime
776
835
  __props__.__dict__["name"] = name
777
836
  __props__.__dict__["passthrough_extensions"] = passthrough_extensions
778
837
  __props__.__dict__["predefined_values"] = predefined_values
@@ -832,6 +891,17 @@ class CertificateTemplate(pulumi.CustomResource):
832
891
  """
833
892
  return pulumi.get(self, "location")
834
893
 
894
+ @property
895
+ @pulumi.getter(name="maximumLifetime")
896
+ def maximum_lifetime(self) -> pulumi.Output[Optional[str]]:
897
+ """
898
+ Optional. The maximum lifetime allowed for all issued certificates that use this template. If the issuing CaPool's
899
+ IssuancePolicy specifies a maximum lifetime the minimum of the two durations will be the maximum lifetime for issued.
900
+ Note that if the issuing CertificateAuthority expires before a Certificate's requested maximum_lifetime, the effective
901
+ lifetime will be explicitly truncated to match it.
902
+ """
903
+ return pulumi.get(self, "maximum_lifetime")
904
+
835
905
  @property
836
906
  @pulumi.getter
837
907
  def name(self) -> pulumi.Output[str]:
@@ -371,7 +371,7 @@ class Repository(pulumi.CustomResource):
371
371
  my_repository = gcp.cloudbuildv2.Repository("my-repository",
372
372
  name="my-terraform-ghe-repo",
373
373
  location="us-central1",
374
- parent_connection=my_connection.id,
374
+ parent_connection=my_connection.name,
375
375
  remote_uri="https://ghe.com/hashicorp/terraform-provider-google.git")
376
376
  ```
377
377
  ### Cloudbuildv2 Repository Github Doc
@@ -515,7 +515,7 @@ class Repository(pulumi.CustomResource):
515
515
  my_repository = gcp.cloudbuildv2.Repository("my-repository",
516
516
  name="my-terraform-ghe-repo",
517
517
  location="us-central1",
518
- parent_connection=my_connection.id,
518
+ parent_connection=my_connection.name,
519
519
  remote_uri="https://ghe.com/hashicorp/terraform-provider-google.git")
520
520
  ```
521
521
  ### Cloudbuildv2 Repository Github Doc
@@ -18,6 +18,7 @@ __all__ = [
18
18
  'CustomTargetTypeCustomActionsArgs',
19
19
  'CustomTargetTypeCustomActionsIncludeSkaffoldModuleArgs',
20
20
  'CustomTargetTypeCustomActionsIncludeSkaffoldModuleGitArgs',
21
+ 'CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudBuildRepoArgs',
21
22
  'CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudStorageArgs',
22
23
  'CustomTargetTypeIamBindingConditionArgs',
23
24
  'CustomTargetTypeIamMemberConditionArgs',
@@ -48,6 +49,7 @@ __all__ = [
48
49
  'DeliveryPipelineSerialPipelineStageStrategyStandardPostdeployArgs',
49
50
  'DeliveryPipelineSerialPipelineStageStrategyStandardPredeployArgs',
50
51
  'TargetAnthosClusterArgs',
52
+ 'TargetCustomTargetArgs',
51
53
  'TargetExecutionConfigArgs',
52
54
  'TargetGkeArgs',
53
55
  'TargetIamBindingConditionArgs',
@@ -351,11 +353,14 @@ class CustomTargetTypeCustomActionsIncludeSkaffoldModuleArgs:
351
353
  def __init__(__self__, *,
352
354
  configs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
353
355
  git: Optional[pulumi.Input['CustomTargetTypeCustomActionsIncludeSkaffoldModuleGitArgs']] = None,
356
+ google_cloud_build_repo: Optional[pulumi.Input['CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudBuildRepoArgs']] = None,
354
357
  google_cloud_storage: Optional[pulumi.Input['CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudStorageArgs']] = None):
355
358
  """
356
359
  :param pulumi.Input[Sequence[pulumi.Input[str]]] configs: The Skaffold Config modules to use from the specified source.
357
360
  :param pulumi.Input['CustomTargetTypeCustomActionsIncludeSkaffoldModuleGitArgs'] git: Remote git repository containing the Skaffold Config modules.
358
361
  Structure is documented below.
362
+ :param pulumi.Input['CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudBuildRepoArgs'] google_cloud_build_repo: Cloud Build 2nd gen repository containing the Skaffold Config modules.
363
+ Structure is documented below.
359
364
  :param pulumi.Input['CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudStorageArgs'] google_cloud_storage: Cloud Storage bucket containing Skaffold Config modules.
360
365
  Structure is documented below.
361
366
  """
@@ -363,6 +368,8 @@ class CustomTargetTypeCustomActionsIncludeSkaffoldModuleArgs:
363
368
  pulumi.set(__self__, "configs", configs)
364
369
  if git is not None:
365
370
  pulumi.set(__self__, "git", git)
371
+ if google_cloud_build_repo is not None:
372
+ pulumi.set(__self__, "google_cloud_build_repo", google_cloud_build_repo)
366
373
  if google_cloud_storage is not None:
367
374
  pulumi.set(__self__, "google_cloud_storage", google_cloud_storage)
368
375
 
@@ -391,6 +398,19 @@ class CustomTargetTypeCustomActionsIncludeSkaffoldModuleArgs:
391
398
  def git(self, value: Optional[pulumi.Input['CustomTargetTypeCustomActionsIncludeSkaffoldModuleGitArgs']]):
392
399
  pulumi.set(self, "git", value)
393
400
 
401
+ @property
402
+ @pulumi.getter(name="googleCloudBuildRepo")
403
+ def google_cloud_build_repo(self) -> Optional[pulumi.Input['CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudBuildRepoArgs']]:
404
+ """
405
+ Cloud Build 2nd gen repository containing the Skaffold Config modules.
406
+ Structure is documented below.
407
+ """
408
+ return pulumi.get(self, "google_cloud_build_repo")
409
+
410
+ @google_cloud_build_repo.setter
411
+ def google_cloud_build_repo(self, value: Optional[pulumi.Input['CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudBuildRepoArgs']]):
412
+ pulumi.set(self, "google_cloud_build_repo", value)
413
+
394
414
  @property
395
415
  @pulumi.getter(name="googleCloudStorage")
396
416
  def google_cloud_storage(self) -> Optional[pulumi.Input['CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudStorageArgs']]:
@@ -459,6 +479,60 @@ class CustomTargetTypeCustomActionsIncludeSkaffoldModuleGitArgs:
459
479
  pulumi.set(self, "ref", value)
460
480
 
461
481
 
482
+ @pulumi.input_type
483
+ class CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudBuildRepoArgs:
484
+ def __init__(__self__, *,
485
+ repository: pulumi.Input[str],
486
+ path: Optional[pulumi.Input[str]] = None,
487
+ ref: Optional[pulumi.Input[str]] = None):
488
+ """
489
+ :param pulumi.Input[str] repository: Cloud Build 2nd gen repository in the format of 'projects/<project>/locations/<location>/connections/<connection>/repositories/<repository>'.
490
+ :param pulumi.Input[str] path: Relative path from the repository root to the Skaffold file.
491
+ :param pulumi.Input[str] ref: Branch or tag to use when cloning the repository.
492
+ """
493
+ pulumi.set(__self__, "repository", repository)
494
+ if path is not None:
495
+ pulumi.set(__self__, "path", path)
496
+ if ref is not None:
497
+ pulumi.set(__self__, "ref", ref)
498
+
499
+ @property
500
+ @pulumi.getter
501
+ def repository(self) -> pulumi.Input[str]:
502
+ """
503
+ Cloud Build 2nd gen repository in the format of 'projects/<project>/locations/<location>/connections/<connection>/repositories/<repository>'.
504
+ """
505
+ return pulumi.get(self, "repository")
506
+
507
+ @repository.setter
508
+ def repository(self, value: pulumi.Input[str]):
509
+ pulumi.set(self, "repository", value)
510
+
511
+ @property
512
+ @pulumi.getter
513
+ def path(self) -> Optional[pulumi.Input[str]]:
514
+ """
515
+ Relative path from the repository root to the Skaffold file.
516
+ """
517
+ return pulumi.get(self, "path")
518
+
519
+ @path.setter
520
+ def path(self, value: Optional[pulumi.Input[str]]):
521
+ pulumi.set(self, "path", value)
522
+
523
+ @property
524
+ @pulumi.getter
525
+ def ref(self) -> Optional[pulumi.Input[str]]:
526
+ """
527
+ Branch or tag to use when cloning the repository.
528
+ """
529
+ return pulumi.get(self, "ref")
530
+
531
+ @ref.setter
532
+ def ref(self, value: Optional[pulumi.Input[str]]):
533
+ pulumi.set(self, "ref", value)
534
+
535
+
462
536
  @pulumi.input_type
463
537
  class CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudStorageArgs:
464
538
  def __init__(__self__, *,
@@ -1766,6 +1840,28 @@ class TargetAnthosClusterArgs:
1766
1840
  pulumi.set(self, "membership", value)
1767
1841
 
1768
1842
 
1843
+ @pulumi.input_type
1844
+ class TargetCustomTargetArgs:
1845
+ def __init__(__self__, *,
1846
+ custom_target_type: pulumi.Input[str]):
1847
+ """
1848
+ :param pulumi.Input[str] custom_target_type: Required. The name of the CustomTargetType. Format must be `projects/{project}/locations/{location}/customTargetTypes/{custom_target_type}`.
1849
+ """
1850
+ pulumi.set(__self__, "custom_target_type", custom_target_type)
1851
+
1852
+ @property
1853
+ @pulumi.getter(name="customTargetType")
1854
+ def custom_target_type(self) -> pulumi.Input[str]:
1855
+ """
1856
+ Required. The name of the CustomTargetType. Format must be `projects/{project}/locations/{location}/customTargetTypes/{custom_target_type}`.
1857
+ """
1858
+ return pulumi.get(self, "custom_target_type")
1859
+
1860
+ @custom_target_type.setter
1861
+ def custom_target_type(self, value: pulumi.Input[str]):
1862
+ pulumi.set(self, "custom_target_type", value)
1863
+
1864
+
1769
1865
  @pulumi.input_type
1770
1866
  class TargetExecutionConfigArgs:
1771
1867
  def __init__(__self__, *,
@@ -507,6 +507,29 @@ class CustomTargetType(pulumi.CustomResource):
507
507
  )],
508
508
  ))
509
509
  ```
510
+ ### Clouddeploy Custom Target Type Gcb Repo Skaffold Modules
511
+
512
+ ```python
513
+ import pulumi
514
+ import pulumi_gcp as gcp
515
+
516
+ custom_target_type = gcp.clouddeploy.CustomTargetType("custom-target-type",
517
+ location="us-central1",
518
+ name="my-custom-target-type",
519
+ description="My custom target type",
520
+ custom_actions=gcp.clouddeploy.CustomTargetTypeCustomActionsArgs(
521
+ render_action="renderAction",
522
+ deploy_action="deployAction",
523
+ include_skaffold_modules=[gcp.clouddeploy.CustomTargetTypeCustomActionsIncludeSkaffoldModuleArgs(
524
+ configs=["my-config"],
525
+ google_cloud_build_repo=gcp.clouddeploy.CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudBuildRepoArgs(
526
+ repository="projects/example/locations/us-central1/connections/git/repositories/example-repo",
527
+ path="configs/skaffold.yaml",
528
+ ref="main",
529
+ ),
530
+ )],
531
+ ))
532
+ ```
510
533
 
511
534
  ## Import
512
535
 
@@ -637,6 +660,29 @@ class CustomTargetType(pulumi.CustomResource):
637
660
  )],
638
661
  ))
639
662
  ```
663
+ ### Clouddeploy Custom Target Type Gcb Repo Skaffold Modules
664
+
665
+ ```python
666
+ import pulumi
667
+ import pulumi_gcp as gcp
668
+
669
+ custom_target_type = gcp.clouddeploy.CustomTargetType("custom-target-type",
670
+ location="us-central1",
671
+ name="my-custom-target-type",
672
+ description="My custom target type",
673
+ custom_actions=gcp.clouddeploy.CustomTargetTypeCustomActionsArgs(
674
+ render_action="renderAction",
675
+ deploy_action="deployAction",
676
+ include_skaffold_modules=[gcp.clouddeploy.CustomTargetTypeCustomActionsIncludeSkaffoldModuleArgs(
677
+ configs=["my-config"],
678
+ google_cloud_build_repo=gcp.clouddeploy.CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudBuildRepoArgs(
679
+ repository="projects/example/locations/us-central1/connections/git/repositories/example-repo",
680
+ path="configs/skaffold.yaml",
681
+ ref="main",
682
+ ),
683
+ )],
684
+ ))
685
+ ```
640
686
 
641
687
  ## Import
642
688
 
@@ -39,7 +39,7 @@ class DeliveryPipelineArgs:
39
39
  are additionally constrained to be <= 128 bytes. **Note**: This field is non-authoritative, and will only manage the
40
40
  labels present in your configuration. Please refer to the field `effective_labels` for all of the labels present on the
41
41
  resource.
42
- :param pulumi.Input[str] name: Name of the `DeliveryPipeline`. Format is [a-z][a-z0-9\\-]{0,62}.
42
+ :param pulumi.Input[str] name: Name of the `DeliveryPipeline`. Format is `a-z?`.
43
43
  :param pulumi.Input[str] project: The project for the resource
44
44
  :param pulumi.Input['DeliveryPipelineSerialPipelineArgs'] serial_pipeline: SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`.
45
45
  :param pulumi.Input[bool] suspended: When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
@@ -121,7 +121,7 @@ class DeliveryPipelineArgs:
121
121
  @pulumi.getter
122
122
  def name(self) -> Optional[pulumi.Input[str]]:
123
123
  """
124
- Name of the `DeliveryPipeline`. Format is [a-z][a-z0-9\\-]{0,62}.
124
+ Name of the `DeliveryPipeline`. Format is `a-z?`.
125
125
  """
126
126
  return pulumi.get(self, "name")
127
127
 
@@ -204,7 +204,7 @@ class _DeliveryPipelineState:
204
204
  labels present in your configuration. Please refer to the field `effective_labels` for all of the labels present on the
205
205
  resource.
206
206
  :param pulumi.Input[str] location: The location for the resource
207
- :param pulumi.Input[str] name: Name of the `DeliveryPipeline`. Format is [a-z][a-z0-9\\-]{0,62}.
207
+ :param pulumi.Input[str] name: Name of the `DeliveryPipeline`. Format is `a-z?`.
208
208
  :param pulumi.Input[str] project: The project for the resource
209
209
  :param pulumi.Input[Mapping[str, Any]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
210
210
  :param pulumi.Input['DeliveryPipelineSerialPipelineArgs'] serial_pipeline: SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`.
@@ -363,7 +363,7 @@ class _DeliveryPipelineState:
363
363
  @pulumi.getter
364
364
  def name(self) -> Optional[pulumi.Input[str]]:
365
365
  """
366
- Name of the `DeliveryPipeline`. Format is [a-z][a-z0-9\\-]{0,62}.
366
+ Name of the `DeliveryPipeline`. Format is `a-z?`.
367
367
  """
368
368
  return pulumi.get(self, "name")
369
369
 
@@ -708,7 +708,7 @@ class DeliveryPipeline(pulumi.CustomResource):
708
708
  labels present in your configuration. Please refer to the field `effective_labels` for all of the labels present on the
709
709
  resource.
710
710
  :param pulumi.Input[str] location: The location for the resource
711
- :param pulumi.Input[str] name: Name of the `DeliveryPipeline`. Format is [a-z][a-z0-9\\-]{0,62}.
711
+ :param pulumi.Input[str] name: Name of the `DeliveryPipeline`. Format is `a-z?`.
712
712
  :param pulumi.Input[str] project: The project for the resource
713
713
  :param pulumi.Input[pulumi.InputType['DeliveryPipelineSerialPipelineArgs']] serial_pipeline: SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`.
714
714
  :param pulumi.Input[bool] suspended: When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
@@ -1056,7 +1056,7 @@ class DeliveryPipeline(pulumi.CustomResource):
1056
1056
  labels present in your configuration. Please refer to the field `effective_labels` for all of the labels present on the
1057
1057
  resource.
1058
1058
  :param pulumi.Input[str] location: The location for the resource
1059
- :param pulumi.Input[str] name: Name of the `DeliveryPipeline`. Format is [a-z][a-z0-9\\-]{0,62}.
1059
+ :param pulumi.Input[str] name: Name of the `DeliveryPipeline`. Format is `a-z?`.
1060
1060
  :param pulumi.Input[str] project: The project for the resource
1061
1061
  :param pulumi.Input[Mapping[str, Any]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
1062
1062
  :param pulumi.Input[pulumi.InputType['DeliveryPipelineSerialPipelineArgs']] serial_pipeline: SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`.
@@ -1168,7 +1168,7 @@ class DeliveryPipeline(pulumi.CustomResource):
1168
1168
  @pulumi.getter
1169
1169
  def name(self) -> pulumi.Output[str]:
1170
1170
  """
1171
- Name of the `DeliveryPipeline`. Format is [a-z][a-z0-9\\-]{0,62}.
1171
+ Name of the `DeliveryPipeline`. Format is `a-z?`.
1172
1172
  """
1173
1173
  return pulumi.get(self, "name")
1174
1174
 
@@ -19,6 +19,7 @@ __all__ = [
19
19
  'CustomTargetTypeCustomActions',
20
20
  'CustomTargetTypeCustomActionsIncludeSkaffoldModule',
21
21
  'CustomTargetTypeCustomActionsIncludeSkaffoldModuleGit',
22
+ 'CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudBuildRepo',
22
23
  'CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudStorage',
23
24
  'CustomTargetTypeIamBindingCondition',
24
25
  'CustomTargetTypeIamMemberCondition',
@@ -49,6 +50,7 @@ __all__ = [
49
50
  'DeliveryPipelineSerialPipelineStageStrategyStandardPostdeploy',
50
51
  'DeliveryPipelineSerialPipelineStageStrategyStandardPredeploy',
51
52
  'TargetAnthosCluster',
53
+ 'TargetCustomTarget',
52
54
  'TargetExecutionConfig',
53
55
  'TargetGke',
54
56
  'TargetIamBindingCondition',
@@ -368,7 +370,9 @@ class CustomTargetTypeCustomActionsIncludeSkaffoldModule(dict):
368
370
  @staticmethod
369
371
  def __key_warning(key: str):
370
372
  suggest = None
371
- if key == "googleCloudStorage":
373
+ if key == "googleCloudBuildRepo":
374
+ suggest = "google_cloud_build_repo"
375
+ elif key == "googleCloudStorage":
372
376
  suggest = "google_cloud_storage"
373
377
 
374
378
  if suggest:
@@ -385,11 +389,14 @@ class CustomTargetTypeCustomActionsIncludeSkaffoldModule(dict):
385
389
  def __init__(__self__, *,
386
390
  configs: Optional[Sequence[str]] = None,
387
391
  git: Optional['outputs.CustomTargetTypeCustomActionsIncludeSkaffoldModuleGit'] = None,
392
+ google_cloud_build_repo: Optional['outputs.CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudBuildRepo'] = None,
388
393
  google_cloud_storage: Optional['outputs.CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudStorage'] = None):
389
394
  """
390
395
  :param Sequence[str] configs: The Skaffold Config modules to use from the specified source.
391
396
  :param 'CustomTargetTypeCustomActionsIncludeSkaffoldModuleGitArgs' git: Remote git repository containing the Skaffold Config modules.
392
397
  Structure is documented below.
398
+ :param 'CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudBuildRepoArgs' google_cloud_build_repo: Cloud Build 2nd gen repository containing the Skaffold Config modules.
399
+ Structure is documented below.
393
400
  :param 'CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudStorageArgs' google_cloud_storage: Cloud Storage bucket containing Skaffold Config modules.
394
401
  Structure is documented below.
395
402
  """
@@ -397,6 +404,8 @@ class CustomTargetTypeCustomActionsIncludeSkaffoldModule(dict):
397
404
  pulumi.set(__self__, "configs", configs)
398
405
  if git is not None:
399
406
  pulumi.set(__self__, "git", git)
407
+ if google_cloud_build_repo is not None:
408
+ pulumi.set(__self__, "google_cloud_build_repo", google_cloud_build_repo)
400
409
  if google_cloud_storage is not None:
401
410
  pulumi.set(__self__, "google_cloud_storage", google_cloud_storage)
402
411
 
@@ -417,6 +426,15 @@ class CustomTargetTypeCustomActionsIncludeSkaffoldModule(dict):
417
426
  """
418
427
  return pulumi.get(self, "git")
419
428
 
429
+ @property
430
+ @pulumi.getter(name="googleCloudBuildRepo")
431
+ def google_cloud_build_repo(self) -> Optional['outputs.CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudBuildRepo']:
432
+ """
433
+ Cloud Build 2nd gen repository containing the Skaffold Config modules.
434
+ Structure is documented below.
435
+ """
436
+ return pulumi.get(self, "google_cloud_build_repo")
437
+
420
438
  @property
421
439
  @pulumi.getter(name="googleCloudStorage")
422
440
  def google_cloud_storage(self) -> Optional['outputs.CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudStorage']:
@@ -469,6 +487,48 @@ class CustomTargetTypeCustomActionsIncludeSkaffoldModuleGit(dict):
469
487
  return pulumi.get(self, "ref")
470
488
 
471
489
 
490
+ @pulumi.output_type
491
+ class CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudBuildRepo(dict):
492
+ def __init__(__self__, *,
493
+ repository: str,
494
+ path: Optional[str] = None,
495
+ ref: Optional[str] = None):
496
+ """
497
+ :param str repository: Cloud Build 2nd gen repository in the format of 'projects/<project>/locations/<location>/connections/<connection>/repositories/<repository>'.
498
+ :param str path: Relative path from the repository root to the Skaffold file.
499
+ :param str ref: Branch or tag to use when cloning the repository.
500
+ """
501
+ pulumi.set(__self__, "repository", repository)
502
+ if path is not None:
503
+ pulumi.set(__self__, "path", path)
504
+ if ref is not None:
505
+ pulumi.set(__self__, "ref", ref)
506
+
507
+ @property
508
+ @pulumi.getter
509
+ def repository(self) -> str:
510
+ """
511
+ Cloud Build 2nd gen repository in the format of 'projects/<project>/locations/<location>/connections/<connection>/repositories/<repository>'.
512
+ """
513
+ return pulumi.get(self, "repository")
514
+
515
+ @property
516
+ @pulumi.getter
517
+ def path(self) -> Optional[str]:
518
+ """
519
+ Relative path from the repository root to the Skaffold file.
520
+ """
521
+ return pulumi.get(self, "path")
522
+
523
+ @property
524
+ @pulumi.getter
525
+ def ref(self) -> Optional[str]:
526
+ """
527
+ Branch or tag to use when cloning the repository.
528
+ """
529
+ return pulumi.get(self, "ref")
530
+
531
+
472
532
  @pulumi.output_type
473
533
  class CustomTargetTypeCustomActionsIncludeSkaffoldModuleGoogleCloudStorage(dict):
474
534
  def __init__(__self__, *,
@@ -1746,6 +1806,41 @@ class TargetAnthosCluster(dict):
1746
1806
  return pulumi.get(self, "membership")
1747
1807
 
1748
1808
 
1809
+ @pulumi.output_type
1810
+ class TargetCustomTarget(dict):
1811
+ @staticmethod
1812
+ def __key_warning(key: str):
1813
+ suggest = None
1814
+ if key == "customTargetType":
1815
+ suggest = "custom_target_type"
1816
+
1817
+ if suggest:
1818
+ pulumi.log.warn(f"Key '{key}' not found in TargetCustomTarget. Access the value via the '{suggest}' property getter instead.")
1819
+
1820
+ def __getitem__(self, key: str) -> Any:
1821
+ TargetCustomTarget.__key_warning(key)
1822
+ return super().__getitem__(key)
1823
+
1824
+ def get(self, key: str, default = None) -> Any:
1825
+ TargetCustomTarget.__key_warning(key)
1826
+ return super().get(key, default)
1827
+
1828
+ def __init__(__self__, *,
1829
+ custom_target_type: str):
1830
+ """
1831
+ :param str custom_target_type: Required. The name of the CustomTargetType. Format must be `projects/{project}/locations/{location}/customTargetTypes/{custom_target_type}`.
1832
+ """
1833
+ pulumi.set(__self__, "custom_target_type", custom_target_type)
1834
+
1835
+ @property
1836
+ @pulumi.getter(name="customTargetType")
1837
+ def custom_target_type(self) -> str:
1838
+ """
1839
+ Required. The name of the CustomTargetType. Format must be `projects/{project}/locations/{location}/customTargetTypes/{custom_target_type}`.
1840
+ """
1841
+ return pulumi.get(self, "custom_target_type")
1842
+
1843
+
1749
1844
  @pulumi.output_type
1750
1845
  class TargetExecutionConfig(dict):
1751
1846
  @staticmethod