pulumi-gcp 7.20.0a1713918100__py3-none-any.whl → 7.20.0a1713986537__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 +8 -0
- pulumi_gcp/apigee/organization.py +162 -0
- pulumi_gcp/artifactregistry/_inputs.py +186 -0
- pulumi_gcp/artifactregistry/outputs.py +297 -4
- pulumi_gcp/artifactregistry/repository.py +346 -16
- pulumi_gcp/bigquery/table.py +61 -0
- pulumi_gcp/billing/budget.py +54 -0
- pulumi_gcp/cloudfunctionsv2/_inputs.py +16 -0
- pulumi_gcp/cloudfunctionsv2/function.py +110 -0
- pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
- pulumi_gcp/compute/_inputs.py +48 -0
- pulumi_gcp/compute/get_instance_group_manager.py +11 -1
- pulumi_gcp/compute/instance_group_manager.py +68 -21
- pulumi_gcp/compute/outputs.py +93 -0
- pulumi_gcp/compute/region_instance_group_manager.py +61 -14
- pulumi_gcp/container/outputs.py +4 -4
- pulumi_gcp/dns/_inputs.py +0 -128
- pulumi_gcp/dns/get_keys.py +1 -1
- pulumi_gcp/dns/get_managed_zones.py +3 -9
- pulumi_gcp/dns/get_record_set.py +3 -0
- pulumi_gcp/dns/outputs.py +34 -56
- pulumi_gcp/firestore/document.py +4 -4
- pulumi_gcp/organizations/get_active_folder.py +18 -3
- pulumi_gcp/projects/__init__.py +1 -0
- pulumi_gcp/projects/iam_member_remove.py +313 -0
- pulumi_gcp/vmwareengine/_inputs.py +63 -5
- pulumi_gcp/vmwareengine/get_private_cloud.py +1 -21
- pulumi_gcp/vmwareengine/outputs.py +113 -5
- pulumi_gcp/vmwareengine/private_cloud.py +0 -94
- pulumi_gcp/workbench/instance.py +4 -4
- pulumi_gcp/workstations/workstation_cluster.py +32 -0
- {pulumi_gcp-7.20.0a1713918100.dist-info → pulumi_gcp-7.20.0a1713986537.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.20.0a1713918100.dist-info → pulumi_gcp-7.20.0a1713986537.dist-info}/RECORD +35 -34
- {pulumi_gcp-7.20.0a1713918100.dist-info → pulumi_gcp-7.20.0a1713986537.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.20.0a1713918100.dist-info → pulumi_gcp-7.20.0a1713986537.dist-info}/top_level.txt +0 -0
pulumi_gcp/billing/budget.py
CHANGED
@@ -21,6 +21,7 @@ class BudgetArgs:
|
|
21
21
|
all_updates_rule: Optional[pulumi.Input['BudgetAllUpdatesRuleArgs']] = None,
|
22
22
|
budget_filter: Optional[pulumi.Input['BudgetBudgetFilterArgs']] = None,
|
23
23
|
display_name: Optional[pulumi.Input[str]] = None,
|
24
|
+
ownership_scope: Optional[pulumi.Input[str]] = None,
|
24
25
|
threshold_rules: Optional[pulumi.Input[Sequence[pulumi.Input['BudgetThresholdRuleArgs']]]] = None):
|
25
26
|
"""
|
26
27
|
The set of arguments for constructing a Budget resource.
|
@@ -31,6 +32,8 @@ class BudgetArgs:
|
|
31
32
|
using threshold rules.
|
32
33
|
:param pulumi.Input['BudgetBudgetFilterArgs'] budget_filter: Filters that define which resources are used to compute the actual spend against the budget.
|
33
34
|
:param pulumi.Input[str] display_name: User data for display name in UI. Must be <= 60 chars.
|
35
|
+
:param pulumi.Input[str] ownership_scope: The ownership scope of the budget. The ownership scope and users' IAM permissions determine who has full access to the
|
36
|
+
budget's data. Possible values: ["OWNERSHIP_SCOPE_UNSPECIFIED", "ALL_USERS", "BILLING_ACCOUNT"]
|
34
37
|
:param pulumi.Input[Sequence[pulumi.Input['BudgetThresholdRuleArgs']]] threshold_rules: Rules that trigger alerts (notifications of thresholds being crossed) when spend exceeds the specified percentages of
|
35
38
|
the budget.
|
36
39
|
"""
|
@@ -42,6 +45,8 @@ class BudgetArgs:
|
|
42
45
|
pulumi.set(__self__, "budget_filter", budget_filter)
|
43
46
|
if display_name is not None:
|
44
47
|
pulumi.set(__self__, "display_name", display_name)
|
48
|
+
if ownership_scope is not None:
|
49
|
+
pulumi.set(__self__, "ownership_scope", ownership_scope)
|
45
50
|
if threshold_rules is not None:
|
46
51
|
pulumi.set(__self__, "threshold_rules", threshold_rules)
|
47
52
|
|
@@ -107,6 +112,19 @@ class BudgetArgs:
|
|
107
112
|
def display_name(self, value: Optional[pulumi.Input[str]]):
|
108
113
|
pulumi.set(self, "display_name", value)
|
109
114
|
|
115
|
+
@property
|
116
|
+
@pulumi.getter(name="ownershipScope")
|
117
|
+
def ownership_scope(self) -> Optional[pulumi.Input[str]]:
|
118
|
+
"""
|
119
|
+
The ownership scope of the budget. The ownership scope and users' IAM permissions determine who has full access to the
|
120
|
+
budget's data. Possible values: ["OWNERSHIP_SCOPE_UNSPECIFIED", "ALL_USERS", "BILLING_ACCOUNT"]
|
121
|
+
"""
|
122
|
+
return pulumi.get(self, "ownership_scope")
|
123
|
+
|
124
|
+
@ownership_scope.setter
|
125
|
+
def ownership_scope(self, value: Optional[pulumi.Input[str]]):
|
126
|
+
pulumi.set(self, "ownership_scope", value)
|
127
|
+
|
110
128
|
@property
|
111
129
|
@pulumi.getter(name="thresholdRules")
|
112
130
|
def threshold_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BudgetThresholdRuleArgs']]]]:
|
@@ -130,6 +148,7 @@ class _BudgetState:
|
|
130
148
|
budget_filter: Optional[pulumi.Input['BudgetBudgetFilterArgs']] = None,
|
131
149
|
display_name: Optional[pulumi.Input[str]] = None,
|
132
150
|
name: Optional[pulumi.Input[str]] = None,
|
151
|
+
ownership_scope: Optional[pulumi.Input[str]] = None,
|
133
152
|
threshold_rules: Optional[pulumi.Input[Sequence[pulumi.Input['BudgetThresholdRuleArgs']]]] = None):
|
134
153
|
"""
|
135
154
|
Input properties used for looking up and filtering Budget resources.
|
@@ -143,6 +162,8 @@ class _BudgetState:
|
|
143
162
|
:param pulumi.Input[str] name: Resource name of the budget. The resource name
|
144
163
|
implies the scope of a budget. Values are of the form
|
145
164
|
billingAccounts/{billingAccountId}/budgets/{budgetId}.
|
165
|
+
:param pulumi.Input[str] ownership_scope: The ownership scope of the budget. The ownership scope and users' IAM permissions determine who has full access to the
|
166
|
+
budget's data. Possible values: ["OWNERSHIP_SCOPE_UNSPECIFIED", "ALL_USERS", "BILLING_ACCOUNT"]
|
146
167
|
:param pulumi.Input[Sequence[pulumi.Input['BudgetThresholdRuleArgs']]] threshold_rules: Rules that trigger alerts (notifications of thresholds being crossed) when spend exceeds the specified percentages of
|
147
168
|
the budget.
|
148
169
|
"""
|
@@ -158,6 +179,8 @@ class _BudgetState:
|
|
158
179
|
pulumi.set(__self__, "display_name", display_name)
|
159
180
|
if name is not None:
|
160
181
|
pulumi.set(__self__, "name", name)
|
182
|
+
if ownership_scope is not None:
|
183
|
+
pulumi.set(__self__, "ownership_scope", ownership_scope)
|
161
184
|
if threshold_rules is not None:
|
162
185
|
pulumi.set(__self__, "threshold_rules", threshold_rules)
|
163
186
|
|
@@ -237,6 +260,19 @@ class _BudgetState:
|
|
237
260
|
def name(self, value: Optional[pulumi.Input[str]]):
|
238
261
|
pulumi.set(self, "name", value)
|
239
262
|
|
263
|
+
@property
|
264
|
+
@pulumi.getter(name="ownershipScope")
|
265
|
+
def ownership_scope(self) -> Optional[pulumi.Input[str]]:
|
266
|
+
"""
|
267
|
+
The ownership scope of the budget. The ownership scope and users' IAM permissions determine who has full access to the
|
268
|
+
budget's data. Possible values: ["OWNERSHIP_SCOPE_UNSPECIFIED", "ALL_USERS", "BILLING_ACCOUNT"]
|
269
|
+
"""
|
270
|
+
return pulumi.get(self, "ownership_scope")
|
271
|
+
|
272
|
+
@ownership_scope.setter
|
273
|
+
def ownership_scope(self, value: Optional[pulumi.Input[str]]):
|
274
|
+
pulumi.set(self, "ownership_scope", value)
|
275
|
+
|
240
276
|
@property
|
241
277
|
@pulumi.getter(name="thresholdRules")
|
242
278
|
def threshold_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BudgetThresholdRuleArgs']]]]:
|
@@ -261,6 +297,7 @@ class Budget(pulumi.CustomResource):
|
|
261
297
|
billing_account: Optional[pulumi.Input[str]] = None,
|
262
298
|
budget_filter: Optional[pulumi.Input[pulumi.InputType['BudgetBudgetFilterArgs']]] = None,
|
263
299
|
display_name: Optional[pulumi.Input[str]] = None,
|
300
|
+
ownership_scope: Optional[pulumi.Input[str]] = None,
|
264
301
|
threshold_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BudgetThresholdRuleArgs']]]]] = None,
|
265
302
|
__props__=None):
|
266
303
|
"""
|
@@ -475,6 +512,8 @@ class Budget(pulumi.CustomResource):
|
|
475
512
|
:param pulumi.Input[str] billing_account: ID of the billing account to set a budget on.
|
476
513
|
:param pulumi.Input[pulumi.InputType['BudgetBudgetFilterArgs']] budget_filter: Filters that define which resources are used to compute the actual spend against the budget.
|
477
514
|
:param pulumi.Input[str] display_name: User data for display name in UI. Must be <= 60 chars.
|
515
|
+
:param pulumi.Input[str] ownership_scope: The ownership scope of the budget. The ownership scope and users' IAM permissions determine who has full access to the
|
516
|
+
budget's data. Possible values: ["OWNERSHIP_SCOPE_UNSPECIFIED", "ALL_USERS", "BILLING_ACCOUNT"]
|
478
517
|
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BudgetThresholdRuleArgs']]]] threshold_rules: Rules that trigger alerts (notifications of thresholds being crossed) when spend exceeds the specified percentages of
|
479
518
|
the budget.
|
480
519
|
"""
|
@@ -707,6 +746,7 @@ class Budget(pulumi.CustomResource):
|
|
707
746
|
billing_account: Optional[pulumi.Input[str]] = None,
|
708
747
|
budget_filter: Optional[pulumi.Input[pulumi.InputType['BudgetBudgetFilterArgs']]] = None,
|
709
748
|
display_name: Optional[pulumi.Input[str]] = None,
|
749
|
+
ownership_scope: Optional[pulumi.Input[str]] = None,
|
710
750
|
threshold_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BudgetThresholdRuleArgs']]]]] = None,
|
711
751
|
__props__=None):
|
712
752
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
@@ -726,6 +766,7 @@ class Budget(pulumi.CustomResource):
|
|
726
766
|
__props__.__dict__["billing_account"] = billing_account
|
727
767
|
__props__.__dict__["budget_filter"] = budget_filter
|
728
768
|
__props__.__dict__["display_name"] = display_name
|
769
|
+
__props__.__dict__["ownership_scope"] = ownership_scope
|
729
770
|
__props__.__dict__["threshold_rules"] = threshold_rules
|
730
771
|
__props__.__dict__["name"] = None
|
731
772
|
super(Budget, __self__).__init__(
|
@@ -744,6 +785,7 @@ class Budget(pulumi.CustomResource):
|
|
744
785
|
budget_filter: Optional[pulumi.Input[pulumi.InputType['BudgetBudgetFilterArgs']]] = None,
|
745
786
|
display_name: Optional[pulumi.Input[str]] = None,
|
746
787
|
name: Optional[pulumi.Input[str]] = None,
|
788
|
+
ownership_scope: Optional[pulumi.Input[str]] = None,
|
747
789
|
threshold_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BudgetThresholdRuleArgs']]]]] = None) -> 'Budget':
|
748
790
|
"""
|
749
791
|
Get an existing Budget resource's state with the given name, id, and optional extra
|
@@ -762,6 +804,8 @@ class Budget(pulumi.CustomResource):
|
|
762
804
|
:param pulumi.Input[str] name: Resource name of the budget. The resource name
|
763
805
|
implies the scope of a budget. Values are of the form
|
764
806
|
billingAccounts/{billingAccountId}/budgets/{budgetId}.
|
807
|
+
:param pulumi.Input[str] ownership_scope: The ownership scope of the budget. The ownership scope and users' IAM permissions determine who has full access to the
|
808
|
+
budget's data. Possible values: ["OWNERSHIP_SCOPE_UNSPECIFIED", "ALL_USERS", "BILLING_ACCOUNT"]
|
765
809
|
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BudgetThresholdRuleArgs']]]] threshold_rules: Rules that trigger alerts (notifications of thresholds being crossed) when spend exceeds the specified percentages of
|
766
810
|
the budget.
|
767
811
|
"""
|
@@ -775,6 +819,7 @@ class Budget(pulumi.CustomResource):
|
|
775
819
|
__props__.__dict__["budget_filter"] = budget_filter
|
776
820
|
__props__.__dict__["display_name"] = display_name
|
777
821
|
__props__.__dict__["name"] = name
|
822
|
+
__props__.__dict__["ownership_scope"] = ownership_scope
|
778
823
|
__props__.__dict__["threshold_rules"] = threshold_rules
|
779
824
|
return Budget(resource_name, opts=opts, __props__=__props__)
|
780
825
|
|
@@ -830,6 +875,15 @@ class Budget(pulumi.CustomResource):
|
|
830
875
|
"""
|
831
876
|
return pulumi.get(self, "name")
|
832
877
|
|
878
|
+
@property
|
879
|
+
@pulumi.getter(name="ownershipScope")
|
880
|
+
def ownership_scope(self) -> pulumi.Output[Optional[str]]:
|
881
|
+
"""
|
882
|
+
The ownership scope of the budget. The ownership scope and users' IAM permissions determine who has full access to the
|
883
|
+
budget's data. Possible values: ["OWNERSHIP_SCOPE_UNSPECIFIED", "ALL_USERS", "BILLING_ACCOUNT"]
|
884
|
+
"""
|
885
|
+
return pulumi.get(self, "ownership_scope")
|
886
|
+
|
833
887
|
@property
|
834
888
|
@pulumi.getter(name="thresholdRules")
|
835
889
|
def threshold_rules(self) -> pulumi.Output[Optional[Sequence['outputs.BudgetThresholdRule']]]:
|
@@ -32,6 +32,7 @@ class FunctionBuildConfigArgs:
|
|
32
32
|
entry_point: Optional[pulumi.Input[str]] = None,
|
33
33
|
environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
34
34
|
runtime: Optional[pulumi.Input[str]] = None,
|
35
|
+
service_account: Optional[pulumi.Input[str]] = None,
|
35
36
|
source: Optional[pulumi.Input['FunctionBuildConfigSourceArgs']] = None,
|
36
37
|
worker_pool: Optional[pulumi.Input[str]] = None):
|
37
38
|
"""
|
@@ -47,6 +48,7 @@ class FunctionBuildConfigArgs:
|
|
47
48
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: User-provided build-time environment variables for the function.
|
48
49
|
:param pulumi.Input[str] runtime: The runtime in which to run the function. Required when deploying a new
|
49
50
|
function, optional when updating an existing function.
|
51
|
+
:param pulumi.Input[str] service_account: The fully-qualified name of the service account to be used for building the container.
|
50
52
|
:param pulumi.Input['FunctionBuildConfigSourceArgs'] source: The location of the function source code.
|
51
53
|
Structure is documented below.
|
52
54
|
:param pulumi.Input[str] worker_pool: Name of the Cloud Build Custom Worker Pool that should be used to build the function.
|
@@ -61,6 +63,8 @@ class FunctionBuildConfigArgs:
|
|
61
63
|
pulumi.set(__self__, "environment_variables", environment_variables)
|
62
64
|
if runtime is not None:
|
63
65
|
pulumi.set(__self__, "runtime", runtime)
|
66
|
+
if service_account is not None:
|
67
|
+
pulumi.set(__self__, "service_account", service_account)
|
64
68
|
if source is not None:
|
65
69
|
pulumi.set(__self__, "source", source)
|
66
70
|
if worker_pool is not None:
|
@@ -133,6 +137,18 @@ class FunctionBuildConfigArgs:
|
|
133
137
|
def runtime(self, value: Optional[pulumi.Input[str]]):
|
134
138
|
pulumi.set(self, "runtime", value)
|
135
139
|
|
140
|
+
@property
|
141
|
+
@pulumi.getter(name="serviceAccount")
|
142
|
+
def service_account(self) -> Optional[pulumi.Input[str]]:
|
143
|
+
"""
|
144
|
+
The fully-qualified name of the service account to be used for building the container.
|
145
|
+
"""
|
146
|
+
return pulumi.get(self, "service_account")
|
147
|
+
|
148
|
+
@service_account.setter
|
149
|
+
def service_account(self, value: Optional[pulumi.Input[str]]):
|
150
|
+
pulumi.set(self, "service_account", value)
|
151
|
+
|
136
152
|
@property
|
137
153
|
@pulumi.getter
|
138
154
|
def source(self) -> Optional[pulumi.Input['FunctionBuildConfigSourceArgs']]:
|
@@ -824,6 +824,61 @@ class Function(pulumi.CustomResource):
|
|
824
824
|
],
|
825
825
|
))
|
826
826
|
```
|
827
|
+
### Cloudfunctions2 Basic Builder
|
828
|
+
|
829
|
+
```python
|
830
|
+
import pulumi
|
831
|
+
import pulumi_gcp as gcp
|
832
|
+
import pulumi_time as time
|
833
|
+
|
834
|
+
project = "my-project-name"
|
835
|
+
account = gcp.serviceaccount.Account("account",
|
836
|
+
account_id="gcf-sa",
|
837
|
+
display_name="Test Service Account")
|
838
|
+
log_writer = gcp.projects.IAMMember("log_writer",
|
839
|
+
project=account.project,
|
840
|
+
role="roles/logging.logWriter",
|
841
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"))
|
842
|
+
artifact_registry_writer = gcp.projects.IAMMember("artifact_registry_writer",
|
843
|
+
project=account.project,
|
844
|
+
role="roles/artifactregistry.writer",
|
845
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"))
|
846
|
+
storage_object_admin = gcp.projects.IAMMember("storage_object_admin",
|
847
|
+
project=account.project,
|
848
|
+
role="roles/storage.objectAdmin",
|
849
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"))
|
850
|
+
bucket = gcp.storage.Bucket("bucket",
|
851
|
+
name=f"{project}-gcf-source",
|
852
|
+
location="US",
|
853
|
+
uniform_bucket_level_access=True)
|
854
|
+
object = gcp.storage.BucketObject("object",
|
855
|
+
name="function-source.zip",
|
856
|
+
bucket=bucket.name,
|
857
|
+
source=pulumi.FileAsset("function-source.zip"))
|
858
|
+
# builder permissions need to stablize before it can pull the source zip
|
859
|
+
wait60s = time.index.Sleep("wait_60s", create_duration=60s)
|
860
|
+
function = gcp.cloudfunctionsv2.Function("function",
|
861
|
+
name="function-v2",
|
862
|
+
location="us-central1",
|
863
|
+
description="a new function",
|
864
|
+
build_config=gcp.cloudfunctionsv2.FunctionBuildConfigArgs(
|
865
|
+
runtime="nodejs16",
|
866
|
+
entry_point="helloHttp",
|
867
|
+
source=gcp.cloudfunctionsv2.FunctionBuildConfigSourceArgs(
|
868
|
+
storage_source=gcp.cloudfunctionsv2.FunctionBuildConfigSourceStorageSourceArgs(
|
869
|
+
bucket=bucket.name,
|
870
|
+
object=object.name,
|
871
|
+
),
|
872
|
+
),
|
873
|
+
service_account=account.id,
|
874
|
+
),
|
875
|
+
service_config=gcp.cloudfunctionsv2.FunctionServiceConfigArgs(
|
876
|
+
max_instance_count=1,
|
877
|
+
available_memory="256M",
|
878
|
+
timeout_seconds=60,
|
879
|
+
))
|
880
|
+
pulumi.export("functionUri", function.service_config.uri)
|
881
|
+
```
|
827
882
|
### Cloudfunctions2 Secret Env
|
828
883
|
|
829
884
|
```python
|
@@ -1436,6 +1491,61 @@ class Function(pulumi.CustomResource):
|
|
1436
1491
|
],
|
1437
1492
|
))
|
1438
1493
|
```
|
1494
|
+
### Cloudfunctions2 Basic Builder
|
1495
|
+
|
1496
|
+
```python
|
1497
|
+
import pulumi
|
1498
|
+
import pulumi_gcp as gcp
|
1499
|
+
import pulumi_time as time
|
1500
|
+
|
1501
|
+
project = "my-project-name"
|
1502
|
+
account = gcp.serviceaccount.Account("account",
|
1503
|
+
account_id="gcf-sa",
|
1504
|
+
display_name="Test Service Account")
|
1505
|
+
log_writer = gcp.projects.IAMMember("log_writer",
|
1506
|
+
project=account.project,
|
1507
|
+
role="roles/logging.logWriter",
|
1508
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"))
|
1509
|
+
artifact_registry_writer = gcp.projects.IAMMember("artifact_registry_writer",
|
1510
|
+
project=account.project,
|
1511
|
+
role="roles/artifactregistry.writer",
|
1512
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"))
|
1513
|
+
storage_object_admin = gcp.projects.IAMMember("storage_object_admin",
|
1514
|
+
project=account.project,
|
1515
|
+
role="roles/storage.objectAdmin",
|
1516
|
+
member=account.email.apply(lambda email: f"serviceAccount:{email}"))
|
1517
|
+
bucket = gcp.storage.Bucket("bucket",
|
1518
|
+
name=f"{project}-gcf-source",
|
1519
|
+
location="US",
|
1520
|
+
uniform_bucket_level_access=True)
|
1521
|
+
object = gcp.storage.BucketObject("object",
|
1522
|
+
name="function-source.zip",
|
1523
|
+
bucket=bucket.name,
|
1524
|
+
source=pulumi.FileAsset("function-source.zip"))
|
1525
|
+
# builder permissions need to stablize before it can pull the source zip
|
1526
|
+
wait60s = time.index.Sleep("wait_60s", create_duration=60s)
|
1527
|
+
function = gcp.cloudfunctionsv2.Function("function",
|
1528
|
+
name="function-v2",
|
1529
|
+
location="us-central1",
|
1530
|
+
description="a new function",
|
1531
|
+
build_config=gcp.cloudfunctionsv2.FunctionBuildConfigArgs(
|
1532
|
+
runtime="nodejs16",
|
1533
|
+
entry_point="helloHttp",
|
1534
|
+
source=gcp.cloudfunctionsv2.FunctionBuildConfigSourceArgs(
|
1535
|
+
storage_source=gcp.cloudfunctionsv2.FunctionBuildConfigSourceStorageSourceArgs(
|
1536
|
+
bucket=bucket.name,
|
1537
|
+
object=object.name,
|
1538
|
+
),
|
1539
|
+
),
|
1540
|
+
service_account=account.id,
|
1541
|
+
),
|
1542
|
+
service_config=gcp.cloudfunctionsv2.FunctionServiceConfigArgs(
|
1543
|
+
max_instance_count=1,
|
1544
|
+
available_memory="256M",
|
1545
|
+
timeout_seconds=60,
|
1546
|
+
))
|
1547
|
+
pulumi.export("functionUri", function.service_config.uri)
|
1548
|
+
```
|
1439
1549
|
### Cloudfunctions2 Secret Env
|
1440
1550
|
|
1441
1551
|
```python
|
@@ -46,6 +46,8 @@ class FunctionBuildConfig(dict):
|
|
46
46
|
suggest = "entry_point"
|
47
47
|
elif key == "environmentVariables":
|
48
48
|
suggest = "environment_variables"
|
49
|
+
elif key == "serviceAccount":
|
50
|
+
suggest = "service_account"
|
49
51
|
elif key == "workerPool":
|
50
52
|
suggest = "worker_pool"
|
51
53
|
|
@@ -66,6 +68,7 @@ class FunctionBuildConfig(dict):
|
|
66
68
|
entry_point: Optional[str] = None,
|
67
69
|
environment_variables: Optional[Mapping[str, str]] = None,
|
68
70
|
runtime: Optional[str] = None,
|
71
|
+
service_account: Optional[str] = None,
|
69
72
|
source: Optional['outputs.FunctionBuildConfigSource'] = None,
|
70
73
|
worker_pool: Optional[str] = None):
|
71
74
|
"""
|
@@ -81,6 +84,7 @@ class FunctionBuildConfig(dict):
|
|
81
84
|
:param Mapping[str, str] environment_variables: User-provided build-time environment variables for the function.
|
82
85
|
:param str runtime: The runtime in which to run the function. Required when deploying a new
|
83
86
|
function, optional when updating an existing function.
|
87
|
+
:param str service_account: The fully-qualified name of the service account to be used for building the container.
|
84
88
|
:param 'FunctionBuildConfigSourceArgs' source: The location of the function source code.
|
85
89
|
Structure is documented below.
|
86
90
|
:param str worker_pool: Name of the Cloud Build Custom Worker Pool that should be used to build the function.
|
@@ -95,6 +99,8 @@ class FunctionBuildConfig(dict):
|
|
95
99
|
pulumi.set(__self__, "environment_variables", environment_variables)
|
96
100
|
if runtime is not None:
|
97
101
|
pulumi.set(__self__, "runtime", runtime)
|
102
|
+
if service_account is not None:
|
103
|
+
pulumi.set(__self__, "service_account", service_account)
|
98
104
|
if source is not None:
|
99
105
|
pulumi.set(__self__, "source", source)
|
100
106
|
if worker_pool is not None:
|
@@ -147,6 +153,14 @@ class FunctionBuildConfig(dict):
|
|
147
153
|
"""
|
148
154
|
return pulumi.get(self, "runtime")
|
149
155
|
|
156
|
+
@property
|
157
|
+
@pulumi.getter(name="serviceAccount")
|
158
|
+
def service_account(self) -> Optional[str]:
|
159
|
+
"""
|
160
|
+
The fully-qualified name of the service account to be used for building the container.
|
161
|
+
"""
|
162
|
+
return pulumi.get(self, "service_account")
|
163
|
+
|
150
164
|
@property
|
151
165
|
@pulumi.getter
|
152
166
|
def source(self) -> Optional['outputs.FunctionBuildConfigSource']:
|
@@ -1093,6 +1107,7 @@ class GetFunctionBuildConfigResult(dict):
|
|
1093
1107
|
entry_point: str,
|
1094
1108
|
environment_variables: Mapping[str, str],
|
1095
1109
|
runtime: str,
|
1110
|
+
service_account: str,
|
1096
1111
|
sources: Sequence['outputs.GetFunctionBuildConfigSourceResult'],
|
1097
1112
|
worker_pool: str):
|
1098
1113
|
"""
|
@@ -1107,6 +1122,7 @@ class GetFunctionBuildConfigResult(dict):
|
|
1107
1122
|
:param Mapping[str, str] environment_variables: User-provided build-time environment variables for the function.
|
1108
1123
|
:param str runtime: The runtime in which to run the function. Required when deploying a new
|
1109
1124
|
function, optional when updating an existing function.
|
1125
|
+
:param str service_account: The fully-qualified name of the service account to be used for building the container.
|
1110
1126
|
:param Sequence['GetFunctionBuildConfigSourceArgs'] sources: The location of the function source code.
|
1111
1127
|
:param str worker_pool: Name of the Cloud Build Custom Worker Pool that should be used to build the function.
|
1112
1128
|
"""
|
@@ -1115,6 +1131,7 @@ class GetFunctionBuildConfigResult(dict):
|
|
1115
1131
|
pulumi.set(__self__, "entry_point", entry_point)
|
1116
1132
|
pulumi.set(__self__, "environment_variables", environment_variables)
|
1117
1133
|
pulumi.set(__self__, "runtime", runtime)
|
1134
|
+
pulumi.set(__self__, "service_account", service_account)
|
1118
1135
|
pulumi.set(__self__, "sources", sources)
|
1119
1136
|
pulumi.set(__self__, "worker_pool", worker_pool)
|
1120
1137
|
|
@@ -1164,6 +1181,14 @@ class GetFunctionBuildConfigResult(dict):
|
|
1164
1181
|
"""
|
1165
1182
|
return pulumi.get(self, "runtime")
|
1166
1183
|
|
1184
|
+
@property
|
1185
|
+
@pulumi.getter(name="serviceAccount")
|
1186
|
+
def service_account(self) -> str:
|
1187
|
+
"""
|
1188
|
+
The fully-qualified name of the service account to be used for building the container.
|
1189
|
+
"""
|
1190
|
+
return pulumi.get(self, "service_account")
|
1191
|
+
|
1167
1192
|
@property
|
1168
1193
|
@pulumi.getter
|
1169
1194
|
def sources(self) -> Sequence['outputs.GetFunctionBuildConfigSourceResult']:
|
pulumi_gcp/compute/_inputs.py
CHANGED
@@ -128,6 +128,7 @@ __all__ = [
|
|
128
128
|
'InstanceGroupManagerAutoHealingPoliciesArgs',
|
129
129
|
'InstanceGroupManagerInstanceLifecyclePolicyArgs',
|
130
130
|
'InstanceGroupManagerNamedPortArgs',
|
131
|
+
'InstanceGroupManagerParamsArgs',
|
131
132
|
'InstanceGroupManagerStatefulDiskArgs',
|
132
133
|
'InstanceGroupManagerStatefulExternalIpArgs',
|
133
134
|
'InstanceGroupManagerStatefulInternalIpArgs',
|
@@ -259,6 +260,7 @@ __all__ = [
|
|
259
260
|
'RegionInstanceGroupManagerAutoHealingPoliciesArgs',
|
260
261
|
'RegionInstanceGroupManagerInstanceLifecyclePolicyArgs',
|
261
262
|
'RegionInstanceGroupManagerNamedPortArgs',
|
263
|
+
'RegionInstanceGroupManagerParamsArgs',
|
262
264
|
'RegionInstanceGroupManagerStatefulDiskArgs',
|
263
265
|
'RegionInstanceGroupManagerStatefulExternalIpArgs',
|
264
266
|
'RegionInstanceGroupManagerStatefulInternalIpArgs',
|
@@ -9445,6 +9447,29 @@ class InstanceGroupManagerNamedPortArgs:
|
|
9445
9447
|
pulumi.set(self, "port", value)
|
9446
9448
|
|
9447
9449
|
|
9450
|
+
@pulumi.input_type
|
9451
|
+
class InstanceGroupManagerParamsArgs:
|
9452
|
+
def __init__(__self__, *,
|
9453
|
+
resource_manager_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None):
|
9454
|
+
"""
|
9455
|
+
:param pulumi.Input[Mapping[str, Any]] resource_manager_tags: Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see [Manage tags for resources](https://cloud.google.com/compute/docs/tag-resources)
|
9456
|
+
"""
|
9457
|
+
if resource_manager_tags is not None:
|
9458
|
+
pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
|
9459
|
+
|
9460
|
+
@property
|
9461
|
+
@pulumi.getter(name="resourceManagerTags")
|
9462
|
+
def resource_manager_tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
|
9463
|
+
"""
|
9464
|
+
Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see [Manage tags for resources](https://cloud.google.com/compute/docs/tag-resources)
|
9465
|
+
"""
|
9466
|
+
return pulumi.get(self, "resource_manager_tags")
|
9467
|
+
|
9468
|
+
@resource_manager_tags.setter
|
9469
|
+
def resource_manager_tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
|
9470
|
+
pulumi.set(self, "resource_manager_tags", value)
|
9471
|
+
|
9472
|
+
|
9448
9473
|
@pulumi.input_type
|
9449
9474
|
class InstanceGroupManagerStatefulDiskArgs:
|
9450
9475
|
def __init__(__self__, *,
|
@@ -18679,6 +18704,29 @@ class RegionInstanceGroupManagerNamedPortArgs:
|
|
18679
18704
|
pulumi.set(self, "port", value)
|
18680
18705
|
|
18681
18706
|
|
18707
|
+
@pulumi.input_type
|
18708
|
+
class RegionInstanceGroupManagerParamsArgs:
|
18709
|
+
def __init__(__self__, *,
|
18710
|
+
resource_manager_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None):
|
18711
|
+
"""
|
18712
|
+
:param pulumi.Input[Mapping[str, Any]] resource_manager_tags: Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see [Manage tags for resources](https://cloud.google.com/compute/docs/tag-resources)
|
18713
|
+
"""
|
18714
|
+
if resource_manager_tags is not None:
|
18715
|
+
pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
|
18716
|
+
|
18717
|
+
@property
|
18718
|
+
@pulumi.getter(name="resourceManagerTags")
|
18719
|
+
def resource_manager_tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
|
18720
|
+
"""
|
18721
|
+
Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see [Manage tags for resources](https://cloud.google.com/compute/docs/tag-resources)
|
18722
|
+
"""
|
18723
|
+
return pulumi.get(self, "resource_manager_tags")
|
18724
|
+
|
18725
|
+
@resource_manager_tags.setter
|
18726
|
+
def resource_manager_tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
|
18727
|
+
pulumi.set(self, "resource_manager_tags", value)
|
18728
|
+
|
18729
|
+
|
18682
18730
|
@pulumi.input_type
|
18683
18731
|
class RegionInstanceGroupManagerStatefulDiskArgs:
|
18684
18732
|
def __init__(__self__, *,
|
@@ -22,7 +22,7 @@ class GetInstanceGroupManagerResult:
|
|
22
22
|
"""
|
23
23
|
A collection of values returned by getInstanceGroupManager.
|
24
24
|
"""
|
25
|
-
def __init__(__self__, all_instances_configs=None, auto_healing_policies=None, base_instance_name=None, creation_timestamp=None, description=None, fingerprint=None, id=None, instance_group=None, instance_lifecycle_policies=None, list_managed_instances_results=None, name=None, named_ports=None, operation=None, project=None, self_link=None, stateful_disks=None, stateful_external_ips=None, stateful_internal_ips=None, statuses=None, target_pools=None, target_size=None, update_policies=None, versions=None, wait_for_instances=None, wait_for_instances_status=None, zone=None):
|
25
|
+
def __init__(__self__, all_instances_configs=None, auto_healing_policies=None, base_instance_name=None, creation_timestamp=None, description=None, fingerprint=None, id=None, instance_group=None, instance_lifecycle_policies=None, list_managed_instances_results=None, name=None, named_ports=None, operation=None, params=None, project=None, self_link=None, stateful_disks=None, stateful_external_ips=None, stateful_internal_ips=None, statuses=None, target_pools=None, target_size=None, update_policies=None, versions=None, wait_for_instances=None, wait_for_instances_status=None, zone=None):
|
26
26
|
if all_instances_configs and not isinstance(all_instances_configs, list):
|
27
27
|
raise TypeError("Expected argument 'all_instances_configs' to be a list")
|
28
28
|
pulumi.set(__self__, "all_instances_configs", all_instances_configs)
|
@@ -62,6 +62,9 @@ class GetInstanceGroupManagerResult:
|
|
62
62
|
if operation and not isinstance(operation, str):
|
63
63
|
raise TypeError("Expected argument 'operation' to be a str")
|
64
64
|
pulumi.set(__self__, "operation", operation)
|
65
|
+
if params and not isinstance(params, list):
|
66
|
+
raise TypeError("Expected argument 'params' to be a list")
|
67
|
+
pulumi.set(__self__, "params", params)
|
65
68
|
if project and not isinstance(project, str):
|
66
69
|
raise TypeError("Expected argument 'project' to be a str")
|
67
70
|
pulumi.set(__self__, "project", project)
|
@@ -170,6 +173,11 @@ class GetInstanceGroupManagerResult:
|
|
170
173
|
def operation(self) -> str:
|
171
174
|
return pulumi.get(self, "operation")
|
172
175
|
|
176
|
+
@property
|
177
|
+
@pulumi.getter
|
178
|
+
def params(self) -> Sequence['outputs.GetInstanceGroupManagerParamResult']:
|
179
|
+
return pulumi.get(self, "params")
|
180
|
+
|
173
181
|
@property
|
174
182
|
@pulumi.getter
|
175
183
|
def project(self) -> Optional[str]:
|
@@ -255,6 +263,7 @@ class AwaitableGetInstanceGroupManagerResult(GetInstanceGroupManagerResult):
|
|
255
263
|
name=self.name,
|
256
264
|
named_ports=self.named_ports,
|
257
265
|
operation=self.operation,
|
266
|
+
params=self.params,
|
258
267
|
project=self.project,
|
259
268
|
self_link=self.self_link,
|
260
269
|
stateful_disks=self.stateful_disks,
|
@@ -319,6 +328,7 @@ def get_instance_group_manager(name: Optional[str] = None,
|
|
319
328
|
name=pulumi.get(__ret__, 'name'),
|
320
329
|
named_ports=pulumi.get(__ret__, 'named_ports'),
|
321
330
|
operation=pulumi.get(__ret__, 'operation'),
|
331
|
+
params=pulumi.get(__ret__, 'params'),
|
322
332
|
project=pulumi.get(__ret__, 'project'),
|
323
333
|
self_link=pulumi.get(__ret__, 'self_link'),
|
324
334
|
stateful_disks=pulumi.get(__ret__, 'stateful_disks'),
|