pulumi-gcp 8.35.0a1750229953__py3-none-any.whl → 8.36.0__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 (76) hide show
  1. pulumi_gcp/__init__.py +43 -0
  2. pulumi_gcp/alloydb/_inputs.py +26 -0
  3. pulumi_gcp/alloydb/outputs.py +34 -1
  4. pulumi_gcp/apihub/__init__.py +1 -0
  5. pulumi_gcp/apihub/_inputs.py +983 -0
  6. pulumi_gcp/apihub/outputs.py +807 -0
  7. pulumi_gcp/apihub/plugin_instance.py +808 -0
  8. pulumi_gcp/bigquery/app_profile.py +16 -8
  9. pulumi_gcp/bigquery/table.py +16 -12
  10. pulumi_gcp/bigqueryanalyticshub/_inputs.py +56 -6
  11. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +73 -0
  12. pulumi_gcp/bigqueryanalyticshub/listing.py +201 -48
  13. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +28 -0
  14. pulumi_gcp/bigqueryanalyticshub/outputs.py +50 -4
  15. pulumi_gcp/bigtable/__init__.py +1 -0
  16. pulumi_gcp/bigtable/_inputs.py +128 -0
  17. pulumi_gcp/bigtable/app_profile.py +1065 -0
  18. pulumi_gcp/bigtable/outputs.py +111 -0
  19. pulumi_gcp/bigtable/table.py +82 -0
  20. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +64 -8
  21. pulumi_gcp/compute/_inputs.py +24 -12
  22. pulumi_gcp/compute/instance.py +2 -2
  23. pulumi_gcp/compute/instance_template.py +2 -2
  24. pulumi_gcp/compute/interconnect.py +43 -11
  25. pulumi_gcp/compute/node_template.py +21 -0
  26. pulumi_gcp/compute/outputs.py +16 -8
  27. pulumi_gcp/compute/service_attachment.py +76 -8
  28. pulumi_gcp/config/__init__.pyi +2 -0
  29. pulumi_gcp/config/vars.py +4 -0
  30. pulumi_gcp/contactcenterinsights/__init__.py +9 -0
  31. pulumi_gcp/contactcenterinsights/view.py +526 -0
  32. pulumi_gcp/container/_inputs.py +72 -12
  33. pulumi_gcp/container/get_engine_versions.py +15 -1
  34. pulumi_gcp/container/outputs.py +73 -9
  35. pulumi_gcp/dataplex/_inputs.py +431 -6
  36. pulumi_gcp/dataplex/datascan.py +251 -0
  37. pulumi_gcp/dataplex/entry_type.py +2 -2
  38. pulumi_gcp/dataplex/glossary_category.py +8 -8
  39. pulumi_gcp/dataplex/glossary_term.py +8 -8
  40. pulumi_gcp/dataplex/outputs.py +353 -4
  41. pulumi_gcp/dataplex/task.py +16 -16
  42. pulumi_gcp/dataproc/__init__.py +1 -0
  43. pulumi_gcp/dataproc/_inputs.py +486 -0
  44. pulumi_gcp/dataproc/batch.py +10 -10
  45. pulumi_gcp/dataproc/outputs.py +407 -0
  46. pulumi_gcp/dataproc/session_template.py +1084 -0
  47. pulumi_gcp/diagflow/__init__.py +1 -0
  48. pulumi_gcp/diagflow/_inputs.py +48 -0
  49. pulumi_gcp/diagflow/cx_tool.py +2 -2
  50. pulumi_gcp/diagflow/encryption_spec.py +382 -0
  51. pulumi_gcp/diagflow/outputs.py +46 -0
  52. pulumi_gcp/firestore/field.py +6 -6
  53. pulumi_gcp/gkehub/membership_binding.py +6 -6
  54. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  55. pulumi_gcp/gkehub/namespace.py +4 -4
  56. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  57. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  58. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  59. pulumi_gcp/lustre/get_instance.py +12 -1
  60. pulumi_gcp/lustre/instance.py +143 -86
  61. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  62. pulumi_gcp/managedkafka/connector.py +4 -4
  63. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  64. pulumi_gcp/orgpolicy/policy.py +2 -2
  65. pulumi_gcp/provider.py +20 -0
  66. pulumi_gcp/pubsub/subscription.py +6 -6
  67. pulumi_gcp/pulumi-plugin.json +1 -1
  68. pulumi_gcp/storage/bucket_object.py +56 -0
  69. pulumi_gcp/storage/get_bucket_object.py +12 -1
  70. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  71. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  72. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  73. {pulumi_gcp-8.35.0a1750229953.dist-info → pulumi_gcp-8.36.0.dist-info}/METADATA +2 -2
  74. {pulumi_gcp-8.35.0a1750229953.dist-info → pulumi_gcp-8.36.0.dist-info}/RECORD +76 -70
  75. {pulumi_gcp-8.35.0a1750229953.dist-info → pulumi_gcp-8.36.0.dist-info}/WHEEL +0 -0
  76. {pulumi_gcp-8.35.0a1750229953.dist-info → pulumi_gcp-8.36.0.dist-info}/top_level.txt +0 -0
@@ -112,6 +112,7 @@ class _ListingSubscriptionState:
112
112
  linked_resources: Optional[pulumi.Input[Sequence[pulumi.Input['ListingSubscriptionLinkedResourceArgs']]]] = None,
113
113
  listing_id: Optional[pulumi.Input[builtins.str]] = None,
114
114
  location: Optional[pulumi.Input[builtins.str]] = None,
115
+ log_linked_dataset_query_user_email: Optional[pulumi.Input[builtins.bool]] = None,
115
116
  name: Optional[pulumi.Input[builtins.str]] = None,
116
117
  organization_display_name: Optional[pulumi.Input[builtins.str]] = None,
117
118
  organization_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -134,6 +135,7 @@ class _ListingSubscriptionState:
134
135
  Structure is documented below.
135
136
  :param pulumi.Input[builtins.str] listing_id: The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
136
137
  :param pulumi.Input[builtins.str] location: The name of the location of the data exchange. Distinct from the location of the destination data set.
138
+ :param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: Output only. By default, false. If true, the Subscriber agreed to the email sharing mandate that is enabled for Listing.
137
139
  :param pulumi.Input[builtins.str] name: The resource name of the subscription. e.g. "projects/myproject/locations/US/subscriptions/123"
138
140
  :param pulumi.Input[builtins.str] organization_display_name: Display name of the project of this subscription.
139
141
  :param pulumi.Input[builtins.str] organization_id: Organization of the project this subscription belongs to.
@@ -158,6 +160,8 @@ class _ListingSubscriptionState:
158
160
  pulumi.set(__self__, "listing_id", listing_id)
159
161
  if location is not None:
160
162
  pulumi.set(__self__, "location", location)
163
+ if log_linked_dataset_query_user_email is not None:
164
+ pulumi.set(__self__, "log_linked_dataset_query_user_email", log_linked_dataset_query_user_email)
161
165
  if name is not None:
162
166
  pulumi.set(__self__, "name", name)
163
167
  if organization_display_name is not None:
@@ -275,6 +279,18 @@ class _ListingSubscriptionState:
275
279
  def location(self, value: Optional[pulumi.Input[builtins.str]]):
276
280
  pulumi.set(self, "location", value)
277
281
 
282
+ @property
283
+ @pulumi.getter(name="logLinkedDatasetQueryUserEmail")
284
+ def log_linked_dataset_query_user_email(self) -> Optional[pulumi.Input[builtins.bool]]:
285
+ """
286
+ Output only. By default, false. If true, the Subscriber agreed to the email sharing mandate that is enabled for Listing.
287
+ """
288
+ return pulumi.get(self, "log_linked_dataset_query_user_email")
289
+
290
+ @log_linked_dataset_query_user_email.setter
291
+ def log_linked_dataset_query_user_email(self, value: Optional[pulumi.Input[builtins.bool]]):
292
+ pulumi.set(self, "log_linked_dataset_query_user_email", value)
293
+
278
294
  @property
279
295
  @pulumi.getter
280
296
  def name(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -601,6 +617,7 @@ class ListingSubscription(pulumi.CustomResource):
601
617
  __props__.__dict__["last_modify_time"] = None
602
618
  __props__.__dict__["linked_dataset_maps"] = None
603
619
  __props__.__dict__["linked_resources"] = None
620
+ __props__.__dict__["log_linked_dataset_query_user_email"] = None
604
621
  __props__.__dict__["name"] = None
605
622
  __props__.__dict__["organization_display_name"] = None
606
623
  __props__.__dict__["organization_id"] = None
@@ -626,6 +643,7 @@ class ListingSubscription(pulumi.CustomResource):
626
643
  linked_resources: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ListingSubscriptionLinkedResourceArgs', 'ListingSubscriptionLinkedResourceArgsDict']]]]] = None,
627
644
  listing_id: Optional[pulumi.Input[builtins.str]] = None,
628
645
  location: Optional[pulumi.Input[builtins.str]] = None,
646
+ log_linked_dataset_query_user_email: Optional[pulumi.Input[builtins.bool]] = None,
629
647
  name: Optional[pulumi.Input[builtins.str]] = None,
630
648
  organization_display_name: Optional[pulumi.Input[builtins.str]] = None,
631
649
  organization_id: Optional[pulumi.Input[builtins.str]] = None,
@@ -653,6 +671,7 @@ class ListingSubscription(pulumi.CustomResource):
653
671
  Structure is documented below.
654
672
  :param pulumi.Input[builtins.str] listing_id: The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
655
673
  :param pulumi.Input[builtins.str] location: The name of the location of the data exchange. Distinct from the location of the destination data set.
674
+ :param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: Output only. By default, false. If true, the Subscriber agreed to the email sharing mandate that is enabled for Listing.
656
675
  :param pulumi.Input[builtins.str] name: The resource name of the subscription. e.g. "projects/myproject/locations/US/subscriptions/123"
657
676
  :param pulumi.Input[builtins.str] organization_display_name: Display name of the project of this subscription.
658
677
  :param pulumi.Input[builtins.str] organization_id: Organization of the project this subscription belongs to.
@@ -673,6 +692,7 @@ class ListingSubscription(pulumi.CustomResource):
673
692
  __props__.__dict__["linked_resources"] = linked_resources
674
693
  __props__.__dict__["listing_id"] = listing_id
675
694
  __props__.__dict__["location"] = location
695
+ __props__.__dict__["log_linked_dataset_query_user_email"] = log_linked_dataset_query_user_email
676
696
  __props__.__dict__["name"] = name
677
697
  __props__.__dict__["organization_display_name"] = organization_display_name
678
698
  __props__.__dict__["organization_id"] = organization_id
@@ -751,6 +771,14 @@ class ListingSubscription(pulumi.CustomResource):
751
771
  """
752
772
  return pulumi.get(self, "location")
753
773
 
774
+ @property
775
+ @pulumi.getter(name="logLinkedDatasetQueryUserEmail")
776
+ def log_linked_dataset_query_user_email(self) -> pulumi.Output[builtins.bool]:
777
+ """
778
+ Output only. By default, false. If true, the Subscriber agreed to the email sharing mandate that is enabled for Listing.
779
+ """
780
+ return pulumi.get(self, "log_linked_dataset_query_user_email")
781
+
754
782
  @property
755
783
  @pulumi.getter
756
784
  def name(self) -> pulumi.Output[builtins.str]:
@@ -28,6 +28,7 @@ __all__ = [
28
28
  'ListingIamBindingCondition',
29
29
  'ListingIamMemberCondition',
30
30
  'ListingPublisher',
31
+ 'ListingPubsubTopic',
31
32
  'ListingRestrictedExportConfig',
32
33
  'ListingSubscriptionDestinationDataset',
33
34
  'ListingSubscriptionDestinationDatasetDatasetReference',
@@ -206,8 +207,6 @@ class ListingBigqueryDatasetSelectedResource(dict):
206
207
  table: Optional[builtins.str] = None):
207
208
  """
208
209
  :param builtins.str table: Format: For table: projects/{projectId}/datasets/{datasetId}/tables/{tableId} Example:"projects/test_project/datasets/test_dataset/tables/test_table"
209
-
210
- - - -
211
210
  """
212
211
  if table is not None:
213
212
  pulumi.set(__self__, "table", table)
@@ -217,8 +216,6 @@ class ListingBigqueryDatasetSelectedResource(dict):
217
216
  def table(self) -> Optional[builtins.str]:
218
217
  """
219
218
  Format: For table: projects/{projectId}/datasets/{datasetId}/tables/{tableId} Example:"projects/test_project/datasets/test_dataset/tables/test_table"
220
-
221
- - - -
222
219
  """
223
220
  return pulumi.get(self, "table")
224
221
 
@@ -371,6 +368,55 @@ class ListingPublisher(dict):
371
368
  return pulumi.get(self, "primary_contact")
372
369
 
373
370
 
371
+ @pulumi.output_type
372
+ class ListingPubsubTopic(dict):
373
+ @staticmethod
374
+ def __key_warning(key: str):
375
+ suggest = None
376
+ if key == "dataAffinityRegions":
377
+ suggest = "data_affinity_regions"
378
+
379
+ if suggest:
380
+ pulumi.log.warn(f"Key '{key}' not found in ListingPubsubTopic. Access the value via the '{suggest}' property getter instead.")
381
+
382
+ def __getitem__(self, key: str) -> Any:
383
+ ListingPubsubTopic.__key_warning(key)
384
+ return super().__getitem__(key)
385
+
386
+ def get(self, key: str, default = None) -> Any:
387
+ ListingPubsubTopic.__key_warning(key)
388
+ return super().get(key, default)
389
+
390
+ def __init__(__self__, *,
391
+ topic: builtins.str,
392
+ data_affinity_regions: Optional[Sequence[builtins.str]] = None):
393
+ """
394
+ :param builtins.str topic: Resource name of the Pub/Sub topic source for this listing. e.g. projects/myproject/topics/topicId
395
+ :param Sequence[builtins.str] data_affinity_regions: Region hint on where the data might be published. Data affinity regions are modifiable.
396
+ See https://cloud.google.com/about/locations for full listing of possible Cloud regions.
397
+ """
398
+ pulumi.set(__self__, "topic", topic)
399
+ if data_affinity_regions is not None:
400
+ pulumi.set(__self__, "data_affinity_regions", data_affinity_regions)
401
+
402
+ @property
403
+ @pulumi.getter
404
+ def topic(self) -> builtins.str:
405
+ """
406
+ Resource name of the Pub/Sub topic source for this listing. e.g. projects/myproject/topics/topicId
407
+ """
408
+ return pulumi.get(self, "topic")
409
+
410
+ @property
411
+ @pulumi.getter(name="dataAffinityRegions")
412
+ def data_affinity_regions(self) -> Optional[Sequence[builtins.str]]:
413
+ """
414
+ Region hint on where the data might be published. Data affinity regions are modifiable.
415
+ See https://cloud.google.com/about/locations for full listing of possible Cloud regions.
416
+ """
417
+ return pulumi.get(self, "data_affinity_regions")
418
+
419
+
374
420
  @pulumi.output_type
375
421
  class ListingRestrictedExportConfig(dict):
376
422
  @staticmethod
@@ -6,6 +6,7 @@ import builtins
6
6
  from .. import _utilities
7
7
  import typing
8
8
  # Export this package's modules as members:
9
+ from .app_profile import *
9
10
  from .authorized_view import *
10
11
  from .gc_policy import *
11
12
  from .get_instance_iam_policy import *
@@ -16,6 +16,12 @@ else:
16
16
  from .. import _utilities
17
17
 
18
18
  __all__ = [
19
+ 'AppProfileDataBoostIsolationReadOnlyArgs',
20
+ 'AppProfileDataBoostIsolationReadOnlyArgsDict',
21
+ 'AppProfileSingleClusterRoutingArgs',
22
+ 'AppProfileSingleClusterRoutingArgsDict',
23
+ 'AppProfileStandardIsolationArgs',
24
+ 'AppProfileStandardIsolationArgsDict',
19
25
  'AuthorizedViewSubsetViewArgs',
20
26
  'AuthorizedViewSubsetViewArgsDict',
21
27
  'AuthorizedViewSubsetViewFamilySubsetArgs',
@@ -44,6 +50,128 @@ __all__ = [
44
50
 
45
51
  MYPY = False
46
52
 
53
+ if not MYPY:
54
+ class AppProfileDataBoostIsolationReadOnlyArgsDict(TypedDict):
55
+ compute_billing_owner: pulumi.Input[builtins.str]
56
+ """
57
+ The Compute Billing Owner for this Data Boost App Profile.
58
+ Possible values are: `HOST_PAYS`.
59
+ """
60
+ elif False:
61
+ AppProfileDataBoostIsolationReadOnlyArgsDict: TypeAlias = Mapping[str, Any]
62
+
63
+ @pulumi.input_type
64
+ class AppProfileDataBoostIsolationReadOnlyArgs:
65
+ def __init__(__self__, *,
66
+ compute_billing_owner: pulumi.Input[builtins.str]):
67
+ """
68
+ :param pulumi.Input[builtins.str] compute_billing_owner: The Compute Billing Owner for this Data Boost App Profile.
69
+ Possible values are: `HOST_PAYS`.
70
+ """
71
+ pulumi.set(__self__, "compute_billing_owner", compute_billing_owner)
72
+
73
+ @property
74
+ @pulumi.getter(name="computeBillingOwner")
75
+ def compute_billing_owner(self) -> pulumi.Input[builtins.str]:
76
+ """
77
+ The Compute Billing Owner for this Data Boost App Profile.
78
+ Possible values are: `HOST_PAYS`.
79
+ """
80
+ return pulumi.get(self, "compute_billing_owner")
81
+
82
+ @compute_billing_owner.setter
83
+ def compute_billing_owner(self, value: pulumi.Input[builtins.str]):
84
+ pulumi.set(self, "compute_billing_owner", value)
85
+
86
+
87
+ if not MYPY:
88
+ class AppProfileSingleClusterRoutingArgsDict(TypedDict):
89
+ cluster_id: pulumi.Input[builtins.str]
90
+ """
91
+ The cluster to which read/write requests should be routed.
92
+ """
93
+ allow_transactional_writes: NotRequired[pulumi.Input[builtins.bool]]
94
+ """
95
+ If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile.
96
+ It is unsafe to send these requests to the same table/row/column in multiple clusters.
97
+ """
98
+ elif False:
99
+ AppProfileSingleClusterRoutingArgsDict: TypeAlias = Mapping[str, Any]
100
+
101
+ @pulumi.input_type
102
+ class AppProfileSingleClusterRoutingArgs:
103
+ def __init__(__self__, *,
104
+ cluster_id: pulumi.Input[builtins.str],
105
+ allow_transactional_writes: Optional[pulumi.Input[builtins.bool]] = None):
106
+ """
107
+ :param pulumi.Input[builtins.str] cluster_id: The cluster to which read/write requests should be routed.
108
+ :param pulumi.Input[builtins.bool] allow_transactional_writes: If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile.
109
+ It is unsafe to send these requests to the same table/row/column in multiple clusters.
110
+ """
111
+ pulumi.set(__self__, "cluster_id", cluster_id)
112
+ if allow_transactional_writes is not None:
113
+ pulumi.set(__self__, "allow_transactional_writes", allow_transactional_writes)
114
+
115
+ @property
116
+ @pulumi.getter(name="clusterId")
117
+ def cluster_id(self) -> pulumi.Input[builtins.str]:
118
+ """
119
+ The cluster to which read/write requests should be routed.
120
+ """
121
+ return pulumi.get(self, "cluster_id")
122
+
123
+ @cluster_id.setter
124
+ def cluster_id(self, value: pulumi.Input[builtins.str]):
125
+ pulumi.set(self, "cluster_id", value)
126
+
127
+ @property
128
+ @pulumi.getter(name="allowTransactionalWrites")
129
+ def allow_transactional_writes(self) -> Optional[pulumi.Input[builtins.bool]]:
130
+ """
131
+ If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile.
132
+ It is unsafe to send these requests to the same table/row/column in multiple clusters.
133
+ """
134
+ return pulumi.get(self, "allow_transactional_writes")
135
+
136
+ @allow_transactional_writes.setter
137
+ def allow_transactional_writes(self, value: Optional[pulumi.Input[builtins.bool]]):
138
+ pulumi.set(self, "allow_transactional_writes", value)
139
+
140
+
141
+ if not MYPY:
142
+ class AppProfileStandardIsolationArgsDict(TypedDict):
143
+ priority: pulumi.Input[builtins.str]
144
+ """
145
+ The priority of requests sent using this app profile.
146
+ Possible values are: `PRIORITY_LOW`, `PRIORITY_MEDIUM`, `PRIORITY_HIGH`.
147
+ """
148
+ elif False:
149
+ AppProfileStandardIsolationArgsDict: TypeAlias = Mapping[str, Any]
150
+
151
+ @pulumi.input_type
152
+ class AppProfileStandardIsolationArgs:
153
+ def __init__(__self__, *,
154
+ priority: pulumi.Input[builtins.str]):
155
+ """
156
+ :param pulumi.Input[builtins.str] priority: The priority of requests sent using this app profile.
157
+ Possible values are: `PRIORITY_LOW`, `PRIORITY_MEDIUM`, `PRIORITY_HIGH`.
158
+ """
159
+ pulumi.set(__self__, "priority", priority)
160
+
161
+ @property
162
+ @pulumi.getter
163
+ def priority(self) -> pulumi.Input[builtins.str]:
164
+ """
165
+ The priority of requests sent using this app profile.
166
+ Possible values are: `PRIORITY_LOW`, `PRIORITY_MEDIUM`, `PRIORITY_HIGH`.
167
+ """
168
+ return pulumi.get(self, "priority")
169
+
170
+ @priority.setter
171
+ def priority(self, value: pulumi.Input[builtins.str]):
172
+ pulumi.set(self, "priority", value)
173
+
174
+
47
175
  if not MYPY:
48
176
  class AuthorizedViewSubsetViewArgsDict(TypedDict):
49
177
  family_subsets: NotRequired[pulumi.Input[Sequence[pulumi.Input['AuthorizedViewSubsetViewFamilySubsetArgsDict']]]]