pulumi-gcp 8.35.0a1750225231__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.0a1750225231.dist-info → pulumi_gcp-8.36.0.dist-info}/METADATA +2 -2
  74. {pulumi_gcp-8.35.0a1750225231.dist-info → pulumi_gcp-8.36.0.dist-info}/RECORD +76 -70
  75. {pulumi_gcp-8.35.0a1750225231.dist-info → pulumi_gcp-8.36.0.dist-info}/WHEEL +0 -0
  76. {pulumi_gcp-8.35.0a1750225231.dist-info → pulumi_gcp-8.36.0.dist-info}/top_level.txt +0 -0
@@ -17,6 +17,9 @@ from .. import _utilities
17
17
  from . import outputs
18
18
 
19
19
  __all__ = [
20
+ 'AppProfileDataBoostIsolationReadOnly',
21
+ 'AppProfileSingleClusterRouting',
22
+ 'AppProfileStandardIsolation',
20
23
  'AuthorizedViewSubsetView',
21
24
  'AuthorizedViewSubsetViewFamilySubset',
22
25
  'GCPolicyMaxAge',
@@ -31,6 +34,114 @@ __all__ = [
31
34
  'TableIamMemberCondition',
32
35
  ]
33
36
 
37
+ @pulumi.output_type
38
+ class AppProfileDataBoostIsolationReadOnly(dict):
39
+ @staticmethod
40
+ def __key_warning(key: str):
41
+ suggest = None
42
+ if key == "computeBillingOwner":
43
+ suggest = "compute_billing_owner"
44
+
45
+ if suggest:
46
+ pulumi.log.warn(f"Key '{key}' not found in AppProfileDataBoostIsolationReadOnly. Access the value via the '{suggest}' property getter instead.")
47
+
48
+ def __getitem__(self, key: str) -> Any:
49
+ AppProfileDataBoostIsolationReadOnly.__key_warning(key)
50
+ return super().__getitem__(key)
51
+
52
+ def get(self, key: str, default = None) -> Any:
53
+ AppProfileDataBoostIsolationReadOnly.__key_warning(key)
54
+ return super().get(key, default)
55
+
56
+ def __init__(__self__, *,
57
+ compute_billing_owner: builtins.str):
58
+ """
59
+ :param builtins.str compute_billing_owner: The Compute Billing Owner for this Data Boost App Profile.
60
+ Possible values are: `HOST_PAYS`.
61
+ """
62
+ pulumi.set(__self__, "compute_billing_owner", compute_billing_owner)
63
+
64
+ @property
65
+ @pulumi.getter(name="computeBillingOwner")
66
+ def compute_billing_owner(self) -> builtins.str:
67
+ """
68
+ The Compute Billing Owner for this Data Boost App Profile.
69
+ Possible values are: `HOST_PAYS`.
70
+ """
71
+ return pulumi.get(self, "compute_billing_owner")
72
+
73
+
74
+ @pulumi.output_type
75
+ class AppProfileSingleClusterRouting(dict):
76
+ @staticmethod
77
+ def __key_warning(key: str):
78
+ suggest = None
79
+ if key == "clusterId":
80
+ suggest = "cluster_id"
81
+ elif key == "allowTransactionalWrites":
82
+ suggest = "allow_transactional_writes"
83
+
84
+ if suggest:
85
+ pulumi.log.warn(f"Key '{key}' not found in AppProfileSingleClusterRouting. Access the value via the '{suggest}' property getter instead.")
86
+
87
+ def __getitem__(self, key: str) -> Any:
88
+ AppProfileSingleClusterRouting.__key_warning(key)
89
+ return super().__getitem__(key)
90
+
91
+ def get(self, key: str, default = None) -> Any:
92
+ AppProfileSingleClusterRouting.__key_warning(key)
93
+ return super().get(key, default)
94
+
95
+ def __init__(__self__, *,
96
+ cluster_id: builtins.str,
97
+ allow_transactional_writes: Optional[builtins.bool] = None):
98
+ """
99
+ :param builtins.str cluster_id: The cluster to which read/write requests should be routed.
100
+ :param builtins.bool allow_transactional_writes: If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile.
101
+ It is unsafe to send these requests to the same table/row/column in multiple clusters.
102
+ """
103
+ pulumi.set(__self__, "cluster_id", cluster_id)
104
+ if allow_transactional_writes is not None:
105
+ pulumi.set(__self__, "allow_transactional_writes", allow_transactional_writes)
106
+
107
+ @property
108
+ @pulumi.getter(name="clusterId")
109
+ def cluster_id(self) -> builtins.str:
110
+ """
111
+ The cluster to which read/write requests should be routed.
112
+ """
113
+ return pulumi.get(self, "cluster_id")
114
+
115
+ @property
116
+ @pulumi.getter(name="allowTransactionalWrites")
117
+ def allow_transactional_writes(self) -> Optional[builtins.bool]:
118
+ """
119
+ If true, CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile.
120
+ It is unsafe to send these requests to the same table/row/column in multiple clusters.
121
+ """
122
+ return pulumi.get(self, "allow_transactional_writes")
123
+
124
+
125
+ @pulumi.output_type
126
+ class AppProfileStandardIsolation(dict):
127
+ def __init__(__self__, *,
128
+ priority: builtins.str):
129
+ """
130
+ :param builtins.str priority: The priority of requests sent using this app profile.
131
+ Possible values are: `PRIORITY_LOW`, `PRIORITY_MEDIUM`, `PRIORITY_HIGH`.
132
+ """
133
+ pulumi.set(__self__, "priority", priority)
134
+
135
+ @property
136
+ @pulumi.getter
137
+ def priority(self) -> builtins.str:
138
+ """
139
+ The priority of requests sent using this app profile.
140
+ Possible values are: `PRIORITY_LOW`, `PRIORITY_MEDIUM`, `PRIORITY_HIGH`.
141
+ """
142
+ return pulumi.get(self, "priority")
143
+
144
+
34
145
  @pulumi.output_type
35
146
  class AuthorizedViewSubsetView(dict):
36
147
  @staticmethod
@@ -29,6 +29,7 @@ class TableArgs:
29
29
  deletion_protection: Optional[pulumi.Input[builtins.str]] = None,
30
30
  name: Optional[pulumi.Input[builtins.str]] = None,
31
31
  project: Optional[pulumi.Input[builtins.str]] = None,
32
+ row_key_schema: Optional[pulumi.Input[builtins.str]] = None,
32
33
  split_keys: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
33
34
  """
34
35
  The set of arguments for constructing a Table resource.
@@ -42,6 +43,12 @@ class TableArgs:
42
43
  :param pulumi.Input[builtins.str] name: The name of the table. Must be 1-50 characters and must only contain hyphens, underscores, periods, letters and numbers.
43
44
  :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs. If it
44
45
  is not provided, the provider project is used.
46
+ :param pulumi.Input[builtins.str] row_key_schema: Defines the row key schema of a table. To create or update a table with a row key schema, specify this argument. Note
47
+ that in-place update is not supported, and any in-place modification to the schema will lead to failure. To update a
48
+ schema, please clear it (by omitting the field), and update the resource again with a new schema.\\n The schema must be a
49
+ valid JSON encoded string representing a Type's struct protobuf message. Note that for bytes sequence (like
50
+ delimited_bytes.delimiter) the delimiter must be base64 encoded. For example, if you want to set a delimiter to a single
51
+ byte character "#", it should be set to "Iw==", which is the base64 encoding of the byte sequence "#".
45
52
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] split_keys: A list of predefined keys to split the table on.
46
53
  !> **Warning:** Modifying the `split_keys` of an existing table will cause the provider
47
54
  to delete/recreate the entire `bigtable.Table` resource.
@@ -59,6 +66,8 @@ class TableArgs:
59
66
  pulumi.set(__self__, "name", name)
60
67
  if project is not None:
61
68
  pulumi.set(__self__, "project", project)
69
+ if row_key_schema is not None:
70
+ pulumi.set(__self__, "row_key_schema", row_key_schema)
62
71
  if split_keys is not None:
63
72
  pulumi.set(__self__, "split_keys", split_keys)
64
73
 
@@ -149,6 +158,23 @@ class TableArgs:
149
158
  def project(self, value: Optional[pulumi.Input[builtins.str]]):
150
159
  pulumi.set(self, "project", value)
151
160
 
161
+ @property
162
+ @pulumi.getter(name="rowKeySchema")
163
+ def row_key_schema(self) -> Optional[pulumi.Input[builtins.str]]:
164
+ """
165
+ Defines the row key schema of a table. To create or update a table with a row key schema, specify this argument. Note
166
+ that in-place update is not supported, and any in-place modification to the schema will lead to failure. To update a
167
+ schema, please clear it (by omitting the field), and update the resource again with a new schema.\\n The schema must be a
168
+ valid JSON encoded string representing a Type's struct protobuf message. Note that for bytes sequence (like
169
+ delimited_bytes.delimiter) the delimiter must be base64 encoded. For example, if you want to set a delimiter to a single
170
+ byte character "#", it should be set to "Iw==", which is the base64 encoding of the byte sequence "#".
171
+ """
172
+ return pulumi.get(self, "row_key_schema")
173
+
174
+ @row_key_schema.setter
175
+ def row_key_schema(self, value: Optional[pulumi.Input[builtins.str]]):
176
+ pulumi.set(self, "row_key_schema", value)
177
+
152
178
  @property
153
179
  @pulumi.getter(name="splitKeys")
154
180
  def split_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
@@ -174,6 +200,7 @@ class _TableState:
174
200
  instance_name: Optional[pulumi.Input[builtins.str]] = None,
175
201
  name: Optional[pulumi.Input[builtins.str]] = None,
176
202
  project: Optional[pulumi.Input[builtins.str]] = None,
203
+ row_key_schema: Optional[pulumi.Input[builtins.str]] = None,
177
204
  split_keys: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
178
205
  """
179
206
  Input properties used for looking up and filtering Table resources.
@@ -187,6 +214,12 @@ class _TableState:
187
214
  :param pulumi.Input[builtins.str] name: The name of the table. Must be 1-50 characters and must only contain hyphens, underscores, periods, letters and numbers.
188
215
  :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs. If it
189
216
  is not provided, the provider project is used.
217
+ :param pulumi.Input[builtins.str] row_key_schema: Defines the row key schema of a table. To create or update a table with a row key schema, specify this argument. Note
218
+ that in-place update is not supported, and any in-place modification to the schema will lead to failure. To update a
219
+ schema, please clear it (by omitting the field), and update the resource again with a new schema.\\n The schema must be a
220
+ valid JSON encoded string representing a Type's struct protobuf message. Note that for bytes sequence (like
221
+ delimited_bytes.delimiter) the delimiter must be base64 encoded. For example, if you want to set a delimiter to a single
222
+ byte character "#", it should be set to "Iw==", which is the base64 encoding of the byte sequence "#".
190
223
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] split_keys: A list of predefined keys to split the table on.
191
224
  !> **Warning:** Modifying the `split_keys` of an existing table will cause the provider
192
225
  to delete/recreate the entire `bigtable.Table` resource.
@@ -205,6 +238,8 @@ class _TableState:
205
238
  pulumi.set(__self__, "name", name)
206
239
  if project is not None:
207
240
  pulumi.set(__self__, "project", project)
241
+ if row_key_schema is not None:
242
+ pulumi.set(__self__, "row_key_schema", row_key_schema)
208
243
  if split_keys is not None:
209
244
  pulumi.set(__self__, "split_keys", split_keys)
210
245
 
@@ -295,6 +330,23 @@ class _TableState:
295
330
  def project(self, value: Optional[pulumi.Input[builtins.str]]):
296
331
  pulumi.set(self, "project", value)
297
332
 
333
+ @property
334
+ @pulumi.getter(name="rowKeySchema")
335
+ def row_key_schema(self) -> Optional[pulumi.Input[builtins.str]]:
336
+ """
337
+ Defines the row key schema of a table. To create or update a table with a row key schema, specify this argument. Note
338
+ that in-place update is not supported, and any in-place modification to the schema will lead to failure. To update a
339
+ schema, please clear it (by omitting the field), and update the resource again with a new schema.\\n The schema must be a
340
+ valid JSON encoded string representing a Type's struct protobuf message. Note that for bytes sequence (like
341
+ delimited_bytes.delimiter) the delimiter must be base64 encoded. For example, if you want to set a delimiter to a single
342
+ byte character "#", it should be set to "Iw==", which is the base64 encoding of the byte sequence "#".
343
+ """
344
+ return pulumi.get(self, "row_key_schema")
345
+
346
+ @row_key_schema.setter
347
+ def row_key_schema(self, value: Optional[pulumi.Input[builtins.str]]):
348
+ pulumi.set(self, "row_key_schema", value)
349
+
298
350
  @property
299
351
  @pulumi.getter(name="splitKeys")
300
352
  def split_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
@@ -323,6 +375,7 @@ class Table(pulumi.CustomResource):
323
375
  instance_name: Optional[pulumi.Input[builtins.str]] = None,
324
376
  name: Optional[pulumi.Input[builtins.str]] = None,
325
377
  project: Optional[pulumi.Input[builtins.str]] = None,
378
+ row_key_schema: Optional[pulumi.Input[builtins.str]] = None,
326
379
  split_keys: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
327
380
  __props__=None):
328
381
  """
@@ -422,6 +475,12 @@ class Table(pulumi.CustomResource):
422
475
  :param pulumi.Input[builtins.str] name: The name of the table. Must be 1-50 characters and must only contain hyphens, underscores, periods, letters and numbers.
423
476
  :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs. If it
424
477
  is not provided, the provider project is used.
478
+ :param pulumi.Input[builtins.str] row_key_schema: Defines the row key schema of a table. To create or update a table with a row key schema, specify this argument. Note
479
+ that in-place update is not supported, and any in-place modification to the schema will lead to failure. To update a
480
+ schema, please clear it (by omitting the field), and update the resource again with a new schema.\\n The schema must be a
481
+ valid JSON encoded string representing a Type's struct protobuf message. Note that for bytes sequence (like
482
+ delimited_bytes.delimiter) the delimiter must be base64 encoded. For example, if you want to set a delimiter to a single
483
+ byte character "#", it should be set to "Iw==", which is the base64 encoding of the byte sequence "#".
425
484
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] split_keys: A list of predefined keys to split the table on.
426
485
  !> **Warning:** Modifying the `split_keys` of an existing table will cause the provider
427
486
  to delete/recreate the entire `bigtable.Table` resource.
@@ -539,6 +598,7 @@ class Table(pulumi.CustomResource):
539
598
  instance_name: Optional[pulumi.Input[builtins.str]] = None,
540
599
  name: Optional[pulumi.Input[builtins.str]] = None,
541
600
  project: Optional[pulumi.Input[builtins.str]] = None,
601
+ row_key_schema: Optional[pulumi.Input[builtins.str]] = None,
542
602
  split_keys: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
543
603
  __props__=None):
544
604
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -558,6 +618,7 @@ class Table(pulumi.CustomResource):
558
618
  __props__.__dict__["instance_name"] = instance_name
559
619
  __props__.__dict__["name"] = name
560
620
  __props__.__dict__["project"] = project
621
+ __props__.__dict__["row_key_schema"] = row_key_schema
561
622
  __props__.__dict__["split_keys"] = split_keys
562
623
  super(Table, __self__).__init__(
563
624
  'gcp:bigtable/table:Table',
@@ -576,6 +637,7 @@ class Table(pulumi.CustomResource):
576
637
  instance_name: Optional[pulumi.Input[builtins.str]] = None,
577
638
  name: Optional[pulumi.Input[builtins.str]] = None,
578
639
  project: Optional[pulumi.Input[builtins.str]] = None,
640
+ row_key_schema: Optional[pulumi.Input[builtins.str]] = None,
579
641
  split_keys: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None) -> 'Table':
580
642
  """
581
643
  Get an existing Table resource's state with the given name, id, and optional extra
@@ -594,6 +656,12 @@ class Table(pulumi.CustomResource):
594
656
  :param pulumi.Input[builtins.str] name: The name of the table. Must be 1-50 characters and must only contain hyphens, underscores, periods, letters and numbers.
595
657
  :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs. If it
596
658
  is not provided, the provider project is used.
659
+ :param pulumi.Input[builtins.str] row_key_schema: Defines the row key schema of a table. To create or update a table with a row key schema, specify this argument. Note
660
+ that in-place update is not supported, and any in-place modification to the schema will lead to failure. To update a
661
+ schema, please clear it (by omitting the field), and update the resource again with a new schema.\\n The schema must be a
662
+ valid JSON encoded string representing a Type's struct protobuf message. Note that for bytes sequence (like
663
+ delimited_bytes.delimiter) the delimiter must be base64 encoded. For example, if you want to set a delimiter to a single
664
+ byte character "#", it should be set to "Iw==", which is the base64 encoding of the byte sequence "#".
597
665
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] split_keys: A list of predefined keys to split the table on.
598
666
  !> **Warning:** Modifying the `split_keys` of an existing table will cause the provider
599
667
  to delete/recreate the entire `bigtable.Table` resource.
@@ -609,6 +677,7 @@ class Table(pulumi.CustomResource):
609
677
  __props__.__dict__["instance_name"] = instance_name
610
678
  __props__.__dict__["name"] = name
611
679
  __props__.__dict__["project"] = project
680
+ __props__.__dict__["row_key_schema"] = row_key_schema
612
681
  __props__.__dict__["split_keys"] = split_keys
613
682
  return Table(resource_name, opts=opts, __props__=__props__)
614
683
 
@@ -671,6 +740,19 @@ class Table(pulumi.CustomResource):
671
740
  """
672
741
  return pulumi.get(self, "project")
673
742
 
743
+ @property
744
+ @pulumi.getter(name="rowKeySchema")
745
+ def row_key_schema(self) -> pulumi.Output[Optional[builtins.str]]:
746
+ """
747
+ Defines the row key schema of a table. To create or update a table with a row key schema, specify this argument. Note
748
+ that in-place update is not supported, and any in-place modification to the schema will lead to failure. To update a
749
+ schema, please clear it (by omitting the field), and update the resource again with a new schema.\\n The schema must be a
750
+ valid JSON encoded string representing a Type's struct protobuf message. Note that for bytes sequence (like
751
+ delimited_bytes.delimiter) the delimiter must be base64 encoded. For example, if you want to set a delimiter to a single
752
+ byte character "#", it should be set to "Iw==", which is the base64 encoding of the byte sequence "#".
753
+ """
754
+ return pulumi.get(self, "row_key_schema")
755
+
674
756
  @property
675
757
  @pulumi.getter(name="splitKeys")
676
758
  def split_keys(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
@@ -70,15 +70,19 @@ class _SQuotaAdjusterSettingsState:
70
70
  effective_container: Optional[pulumi.Input[builtins.str]] = None,
71
71
  effective_enablement: Optional[pulumi.Input[builtins.str]] = None,
72
72
  enablement: Optional[pulumi.Input[builtins.str]] = None,
73
+ inherited: Optional[pulumi.Input[builtins.bool]] = None,
74
+ inherited_from: Optional[pulumi.Input[builtins.str]] = None,
73
75
  parent: Optional[pulumi.Input[builtins.str]] = None):
74
76
  """
75
77
  Input properties used for looking up and filtering SQuotaAdjusterSettings resources.
76
78
  :param pulumi.Input[builtins.str] effective_container: The resource container that determines if the quota adjuster is set for this project.
77
- Expect this field to be empty currently.
78
79
  :param pulumi.Input[builtins.str] effective_enablement: Based on the effective container`s setting above, determines Whether this resource container has the quota adjuster enabled.
79
- Expect this field to be empty currently.
80
80
  :param pulumi.Input[builtins.str] enablement: Required. The configured value of the enablement at the given resource.
81
81
  Possible values are: `ENABLED`, `DISABLED`.
82
+ :param pulumi.Input[builtins.bool] inherited: Indicates whether the setting is inherited or explicitly specified.
83
+ :param pulumi.Input[builtins.str] inherited_from: The resource container from which the setting is inherited. This refers to the nearest ancestor with enablement set (either ENABLED or DISABLED).
84
+ The value can be `organizations/{organization_id}`, `folders/{folder_id}`, or can be `default` if no ancestor exists with enablement set.
85
+ The value will be empty when `enablement` is specified on this resource container.
82
86
  :param pulumi.Input[builtins.str] parent: The parent of the quota preference. Allowed parent format is "projects/[project-id / number]".
83
87
 
84
88
 
@@ -90,6 +94,10 @@ class _SQuotaAdjusterSettingsState:
90
94
  pulumi.set(__self__, "effective_enablement", effective_enablement)
91
95
  if enablement is not None:
92
96
  pulumi.set(__self__, "enablement", enablement)
97
+ if inherited is not None:
98
+ pulumi.set(__self__, "inherited", inherited)
99
+ if inherited_from is not None:
100
+ pulumi.set(__self__, "inherited_from", inherited_from)
93
101
  if parent is not None:
94
102
  pulumi.set(__self__, "parent", parent)
95
103
 
@@ -98,7 +106,6 @@ class _SQuotaAdjusterSettingsState:
98
106
  def effective_container(self) -> Optional[pulumi.Input[builtins.str]]:
99
107
  """
100
108
  The resource container that determines if the quota adjuster is set for this project.
101
- Expect this field to be empty currently.
102
109
  """
103
110
  return pulumi.get(self, "effective_container")
104
111
 
@@ -111,7 +118,6 @@ class _SQuotaAdjusterSettingsState:
111
118
  def effective_enablement(self) -> Optional[pulumi.Input[builtins.str]]:
112
119
  """
113
120
  Based on the effective container`s setting above, determines Whether this resource container has the quota adjuster enabled.
114
- Expect this field to be empty currently.
115
121
  """
116
122
  return pulumi.get(self, "effective_enablement")
117
123
 
@@ -132,6 +138,32 @@ class _SQuotaAdjusterSettingsState:
132
138
  def enablement(self, value: Optional[pulumi.Input[builtins.str]]):
133
139
  pulumi.set(self, "enablement", value)
134
140
 
141
+ @property
142
+ @pulumi.getter
143
+ def inherited(self) -> Optional[pulumi.Input[builtins.bool]]:
144
+ """
145
+ Indicates whether the setting is inherited or explicitly specified.
146
+ """
147
+ return pulumi.get(self, "inherited")
148
+
149
+ @inherited.setter
150
+ def inherited(self, value: Optional[pulumi.Input[builtins.bool]]):
151
+ pulumi.set(self, "inherited", value)
152
+
153
+ @property
154
+ @pulumi.getter(name="inheritedFrom")
155
+ def inherited_from(self) -> Optional[pulumi.Input[builtins.str]]:
156
+ """
157
+ The resource container from which the setting is inherited. This refers to the nearest ancestor with enablement set (either ENABLED or DISABLED).
158
+ The value can be `organizations/{organization_id}`, `folders/{folder_id}`, or can be `default` if no ancestor exists with enablement set.
159
+ The value will be empty when `enablement` is specified on this resource container.
160
+ """
161
+ return pulumi.get(self, "inherited_from")
162
+
163
+ @inherited_from.setter
164
+ def inherited_from(self, value: Optional[pulumi.Input[builtins.str]]):
165
+ pulumi.set(self, "inherited_from", value)
166
+
135
167
  @property
136
168
  @pulumi.getter
137
169
  def parent(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -256,6 +288,8 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
256
288
  __props__.__dict__["parent"] = parent
257
289
  __props__.__dict__["effective_container"] = None
258
290
  __props__.__dict__["effective_enablement"] = None
291
+ __props__.__dict__["inherited"] = None
292
+ __props__.__dict__["inherited_from"] = None
259
293
  super(SQuotaAdjusterSettings, __self__).__init__(
260
294
  'gcp:cloudquota/sQuotaAdjusterSettings:SQuotaAdjusterSettings',
261
295
  resource_name,
@@ -269,6 +303,8 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
269
303
  effective_container: Optional[pulumi.Input[builtins.str]] = None,
270
304
  effective_enablement: Optional[pulumi.Input[builtins.str]] = None,
271
305
  enablement: Optional[pulumi.Input[builtins.str]] = None,
306
+ inherited: Optional[pulumi.Input[builtins.bool]] = None,
307
+ inherited_from: Optional[pulumi.Input[builtins.str]] = None,
272
308
  parent: Optional[pulumi.Input[builtins.str]] = None) -> 'SQuotaAdjusterSettings':
273
309
  """
274
310
  Get an existing SQuotaAdjusterSettings resource's state with the given name, id, and optional extra
@@ -278,11 +314,13 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
278
314
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
279
315
  :param pulumi.ResourceOptions opts: Options for the resource.
280
316
  :param pulumi.Input[builtins.str] effective_container: The resource container that determines if the quota adjuster is set for this project.
281
- Expect this field to be empty currently.
282
317
  :param pulumi.Input[builtins.str] effective_enablement: Based on the effective container`s setting above, determines Whether this resource container has the quota adjuster enabled.
283
- Expect this field to be empty currently.
284
318
  :param pulumi.Input[builtins.str] enablement: Required. The configured value of the enablement at the given resource.
285
319
  Possible values are: `ENABLED`, `DISABLED`.
320
+ :param pulumi.Input[builtins.bool] inherited: Indicates whether the setting is inherited or explicitly specified.
321
+ :param pulumi.Input[builtins.str] inherited_from: The resource container from which the setting is inherited. This refers to the nearest ancestor with enablement set (either ENABLED or DISABLED).
322
+ The value can be `organizations/{organization_id}`, `folders/{folder_id}`, or can be `default` if no ancestor exists with enablement set.
323
+ The value will be empty when `enablement` is specified on this resource container.
286
324
  :param pulumi.Input[builtins.str] parent: The parent of the quota preference. Allowed parent format is "projects/[project-id / number]".
287
325
 
288
326
 
@@ -295,6 +333,8 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
295
333
  __props__.__dict__["effective_container"] = effective_container
296
334
  __props__.__dict__["effective_enablement"] = effective_enablement
297
335
  __props__.__dict__["enablement"] = enablement
336
+ __props__.__dict__["inherited"] = inherited
337
+ __props__.__dict__["inherited_from"] = inherited_from
298
338
  __props__.__dict__["parent"] = parent
299
339
  return SQuotaAdjusterSettings(resource_name, opts=opts, __props__=__props__)
300
340
 
@@ -303,7 +343,6 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
303
343
  def effective_container(self) -> pulumi.Output[builtins.str]:
304
344
  """
305
345
  The resource container that determines if the quota adjuster is set for this project.
306
- Expect this field to be empty currently.
307
346
  """
308
347
  return pulumi.get(self, "effective_container")
309
348
 
@@ -312,7 +351,6 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
312
351
  def effective_enablement(self) -> pulumi.Output[builtins.str]:
313
352
  """
314
353
  Based on the effective container`s setting above, determines Whether this resource container has the quota adjuster enabled.
315
- Expect this field to be empty currently.
316
354
  """
317
355
  return pulumi.get(self, "effective_enablement")
318
356
 
@@ -325,6 +363,24 @@ class SQuotaAdjusterSettings(pulumi.CustomResource):
325
363
  """
326
364
  return pulumi.get(self, "enablement")
327
365
 
366
+ @property
367
+ @pulumi.getter
368
+ def inherited(self) -> pulumi.Output[builtins.bool]:
369
+ """
370
+ Indicates whether the setting is inherited or explicitly specified.
371
+ """
372
+ return pulumi.get(self, "inherited")
373
+
374
+ @property
375
+ @pulumi.getter(name="inheritedFrom")
376
+ def inherited_from(self) -> pulumi.Output[builtins.str]:
377
+ """
378
+ The resource container from which the setting is inherited. This refers to the nearest ancestor with enablement set (either ENABLED or DISABLED).
379
+ The value can be `organizations/{organization_id}`, `folders/{folder_id}`, or can be `default` if no ancestor exists with enablement set.
380
+ The value will be empty when `enablement` is specified on this resource container.
381
+ """
382
+ return pulumi.get(self, "inherited_from")
383
+
328
384
  @property
329
385
  @pulumi.getter
330
386
  def parent(self) -> pulumi.Output[builtins.str]:
@@ -49279,8 +49279,9 @@ if not MYPY:
49279
49279
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
49280
49280
  * REGION_CODE: The country/region from which the request originates.
49281
49281
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49282
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49282
49283
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
49283
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49284
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49284
49285
  """
49285
49286
  enforce_on_key_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgsDict']]]]
49286
49287
  """
@@ -49337,8 +49338,9 @@ class RegionSecurityPolicyRuleRateLimitOptionsArgs:
49337
49338
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
49338
49339
  * REGION_CODE: The country/region from which the request originates.
49339
49340
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49341
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49340
49342
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
49341
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49343
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49342
49344
  :param pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs']]] enforce_on_key_configs: If specified, any combination of values of enforceOnKeyType/enforceOnKeyName is treated as the key on which ratelimit threshold/action is enforced.
49343
49345
  You can specify up to 3 enforceOnKeyConfigs.
49344
49346
  If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
@@ -49422,8 +49424,9 @@ class RegionSecurityPolicyRuleRateLimitOptionsArgs:
49422
49424
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
49423
49425
  * REGION_CODE: The country/region from which the request originates.
49424
49426
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49427
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49425
49428
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
49426
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49429
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49427
49430
  """
49428
49431
  return pulumi.get(self, "enforce_on_key")
49429
49432
 
@@ -49559,8 +49562,9 @@ if not MYPY:
49559
49562
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
49560
49563
  * REGION_CODE: The country/region from which the request originates.
49561
49564
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49565
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49562
49566
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
49563
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49567
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49564
49568
  """
49565
49569
  elif False:
49566
49570
  RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgsDict: TypeAlias = Mapping[str, Any]
@@ -49584,8 +49588,9 @@ class RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
49584
49588
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
49585
49589
  * REGION_CODE: The country/region from which the request originates.
49586
49590
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49591
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49587
49592
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
49588
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49593
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49589
49594
  """
49590
49595
  if enforce_on_key_name is not None:
49591
49596
  pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
@@ -49620,8 +49625,9 @@ class RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
49620
49625
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
49621
49626
  * REGION_CODE: The country/region from which the request originates.
49622
49627
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49628
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
49623
49629
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
49624
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
49630
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
49625
49631
  """
49626
49632
  return pulumi.get(self, "enforce_on_key_type")
49627
49633
 
@@ -63889,8 +63895,9 @@ if not MYPY:
63889
63895
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
63890
63896
  * REGION_CODE: The country/region from which the request originates.
63891
63897
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
63898
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
63892
63899
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
63893
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
63900
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
63894
63901
  """
63895
63902
  enforce_on_key_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgsDict']]]]
63896
63903
  """
@@ -63953,8 +63960,9 @@ class SecurityPolicyRuleRateLimitOptionsArgs:
63953
63960
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
63954
63961
  * REGION_CODE: The country/region from which the request originates.
63955
63962
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
63963
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
63956
63964
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
63957
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
63965
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
63958
63966
  :param pulumi.Input[Sequence[pulumi.Input['SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs']]] enforce_on_key_configs: If specified, any combination of values of enforceOnKeyType/enforceOnKeyName is treated as the key on which ratelimit threshold/action is enforced.
63959
63967
  You can specify up to 3 enforceOnKeyConfigs.
63960
63968
  If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
@@ -64042,8 +64050,9 @@ class SecurityPolicyRuleRateLimitOptionsArgs:
64042
64050
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
64043
64051
  * REGION_CODE: The country/region from which the request originates.
64044
64052
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64053
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64045
64054
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
64046
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
64055
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
64047
64056
  """
64048
64057
  return pulumi.get(self, "enforce_on_key")
64049
64058
 
@@ -64192,8 +64201,9 @@ if not MYPY:
64192
64201
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
64193
64202
  * REGION_CODE: The country/region from which the request originates.
64194
64203
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64204
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64195
64205
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
64196
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
64206
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
64197
64207
  """
64198
64208
  elif False:
64199
64209
  SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgsDict: TypeAlias = Mapping[str, Any]
@@ -64217,8 +64227,9 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
64217
64227
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
64218
64228
  * REGION_CODE: The country/region from which the request originates.
64219
64229
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64230
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64220
64231
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
64221
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
64232
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
64222
64233
  """
64223
64234
  if enforce_on_key_name is not None:
64224
64235
  pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
@@ -64253,8 +64264,9 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
64253
64264
  * SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
64254
64265
  * REGION_CODE: The country/region from which the request originates.
64255
64266
  * TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64267
+ * TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
64256
64268
  * USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
64257
- Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
64269
+ Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `TLS_JA4_FINGERPRINT`, `USER_IP`.
64258
64270
  """
64259
64271
  return pulumi.get(self, "enforce_on_key_type")
64260
64272
 
@@ -1606,7 +1606,7 @@ class Instance(pulumi.CustomResource):
1606
1606
  },
1607
1607
  boot_disk={
1608
1608
  "initialize_params": {
1609
- "image": "ubuntu-os-cloud/ubuntu-2004-lts",
1609
+ "image": "ubuntu-os-cloud/ubuntu-2204-lts",
1610
1610
  "labels": {
1611
1611
  "my_label": "value",
1612
1612
  },
@@ -1822,7 +1822,7 @@ class Instance(pulumi.CustomResource):
1822
1822
  },
1823
1823
  boot_disk={
1824
1824
  "initialize_params": {
1825
- "image": "ubuntu-os-cloud/ubuntu-2004-lts",
1825
+ "image": "ubuntu-os-cloud/ubuntu-2204-lts",
1826
1826
  "labels": {
1827
1827
  "my_label": "value",
1828
1828
  },