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.
- pulumi_gcp/__init__.py +24 -0
- pulumi_gcp/bigquery/table.py +47 -0
- pulumi_gcp/bigtable/__init__.py +1 -0
- pulumi_gcp/bigtable/_inputs.py +101 -0
- pulumi_gcp/bigtable/authorized_view.py +440 -0
- pulumi_gcp/bigtable/outputs.py +119 -0
- pulumi_gcp/certificateauthority/certificate_template.py +70 -0
- pulumi_gcp/cloudbuildv2/repository.py +2 -2
- pulumi_gcp/clouddeploy/_inputs.py +96 -0
- pulumi_gcp/clouddeploy/custom_target_type.py +46 -0
- pulumi_gcp/clouddeploy/delivery_pipeline.py +7 -7
- pulumi_gcp/clouddeploy/outputs.py +96 -1
- pulumi_gcp/clouddeploy/target.py +54 -7
- pulumi_gcp/compute/_inputs.py +689 -0
- pulumi_gcp/compute/firewall_policy_rule.py +125 -10
- pulumi_gcp/compute/network_firewall_policy_rule.py +125 -10
- pulumi_gcp/compute/outputs.py +684 -0
- pulumi_gcp/compute/region_network_firewall_policy_rule.py +125 -10
- pulumi_gcp/compute/region_security_policy_rule.py +230 -1
- pulumi_gcp/container/_inputs.py +67 -3
- pulumi_gcp/container/outputs.py +93 -4
- pulumi_gcp/dataflow/flex_template_job.py +7 -7
- pulumi_gcp/dataflow/job.py +7 -7
- pulumi_gcp/iam/_inputs.py +191 -2
- pulumi_gcp/iam/outputs.py +197 -2
- pulumi_gcp/iam/workforce_pool_provider.py +245 -0
- pulumi_gcp/integrationconnectors/__init__.py +1 -0
- pulumi_gcp/integrationconnectors/managed_zone.py +753 -0
- pulumi_gcp/networkconnectivity/__init__.py +1 -0
- pulumi_gcp/networkconnectivity/regional_endpoint.py +946 -0
- pulumi_gcp/networksecurity/firewall_endpoint.py +34 -0
- pulumi_gcp/networksecurity/firewall_endpoint_association.py +24 -0
- pulumi_gcp/networksecurity/security_profile.py +16 -0
- pulumi_gcp/networksecurity/security_profile_group.py +18 -0
- pulumi_gcp/networksecurity/tls_inspection_policy.py +16 -0
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/pubsub/subscription.py +4 -4
- pulumi_gcp/pulumi-plugin.json +2 -1
- {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/RECORD +42 -39
- {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/WHEEL +0 -0
- {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.
|
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.
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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 == "
|
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
|