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.
Files changed (35) hide show
  1. pulumi_gcp/__init__.py +8 -0
  2. pulumi_gcp/apigee/organization.py +162 -0
  3. pulumi_gcp/artifactregistry/_inputs.py +186 -0
  4. pulumi_gcp/artifactregistry/outputs.py +297 -4
  5. pulumi_gcp/artifactregistry/repository.py +346 -16
  6. pulumi_gcp/bigquery/table.py +61 -0
  7. pulumi_gcp/billing/budget.py +54 -0
  8. pulumi_gcp/cloudfunctionsv2/_inputs.py +16 -0
  9. pulumi_gcp/cloudfunctionsv2/function.py +110 -0
  10. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  11. pulumi_gcp/compute/_inputs.py +48 -0
  12. pulumi_gcp/compute/get_instance_group_manager.py +11 -1
  13. pulumi_gcp/compute/instance_group_manager.py +68 -21
  14. pulumi_gcp/compute/outputs.py +93 -0
  15. pulumi_gcp/compute/region_instance_group_manager.py +61 -14
  16. pulumi_gcp/container/outputs.py +4 -4
  17. pulumi_gcp/dns/_inputs.py +0 -128
  18. pulumi_gcp/dns/get_keys.py +1 -1
  19. pulumi_gcp/dns/get_managed_zones.py +3 -9
  20. pulumi_gcp/dns/get_record_set.py +3 -0
  21. pulumi_gcp/dns/outputs.py +34 -56
  22. pulumi_gcp/firestore/document.py +4 -4
  23. pulumi_gcp/organizations/get_active_folder.py +18 -3
  24. pulumi_gcp/projects/__init__.py +1 -0
  25. pulumi_gcp/projects/iam_member_remove.py +313 -0
  26. pulumi_gcp/vmwareengine/_inputs.py +63 -5
  27. pulumi_gcp/vmwareengine/get_private_cloud.py +1 -21
  28. pulumi_gcp/vmwareengine/outputs.py +113 -5
  29. pulumi_gcp/vmwareengine/private_cloud.py +0 -94
  30. pulumi_gcp/workbench/instance.py +4 -4
  31. pulumi_gcp/workstations/workstation_cluster.py +32 -0
  32. {pulumi_gcp-7.20.0a1713918100.dist-info → pulumi_gcp-7.20.0a1713986537.dist-info}/METADATA +1 -1
  33. {pulumi_gcp-7.20.0a1713918100.dist-info → pulumi_gcp-7.20.0a1713986537.dist-info}/RECORD +35 -34
  34. {pulumi_gcp-7.20.0a1713918100.dist-info → pulumi_gcp-7.20.0a1713986537.dist-info}/WHEEL +0 -0
  35. {pulumi_gcp-7.20.0a1713918100.dist-info → pulumi_gcp-7.20.0a1713986537.dist-info}/top_level.txt +0 -0
@@ -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']:
@@ -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'),