pulumi-gcp 8.24.0a1743177741__py3-none-any.whl → 8.25.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 (126) hide show
  1. pulumi_gcp/__init__.py +104 -0
  2. pulumi_gcp/_inputs.py +48 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +324 -12
  4. pulumi_gcp/accesscontextmanager/outputs.py +204 -12
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/apigee/__init__.py +1 -0
  7. pulumi_gcp/apigee/_inputs.py +58 -0
  8. pulumi_gcp/apigee/dns_zone.py +491 -0
  9. pulumi_gcp/apigee/outputs.py +53 -0
  10. pulumi_gcp/bigquery/reservation_assignment.py +7 -7
  11. pulumi_gcp/bigtable/table.py +8 -8
  12. pulumi_gcp/chronicle/data_access_label.py +2 -2
  13. pulumi_gcp/chronicle/data_access_scope.py +16 -0
  14. pulumi_gcp/chronicle/reference_list.py +16 -0
  15. pulumi_gcp/chronicle/retrohunt.py +16 -0
  16. pulumi_gcp/chronicle/rule.py +16 -0
  17. pulumi_gcp/chronicle/rule_deployment.py +16 -0
  18. pulumi_gcp/chronicle/watchlist.py +16 -0
  19. pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
  20. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  21. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  22. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  23. pulumi_gcp/compute/__init__.py +1 -0
  24. pulumi_gcp/compute/_inputs.py +2011 -43
  25. pulumi_gcp/compute/backend_service.py +121 -3
  26. pulumi_gcp/compute/get_backend_service.py +15 -4
  27. pulumi_gcp/compute/get_instance.py +12 -1
  28. pulumi_gcp/compute/get_region_backend_service.py +482 -0
  29. pulumi_gcp/compute/get_router.py +12 -1
  30. pulumi_gcp/compute/get_subnetwork.py +43 -1
  31. pulumi_gcp/compute/instance.py +47 -0
  32. pulumi_gcp/compute/instance_from_machine_image.py +94 -0
  33. pulumi_gcp/compute/instance_from_template.py +47 -0
  34. pulumi_gcp/compute/outputs.py +3578 -139
  35. pulumi_gcp/compute/public_delegated_prefix.py +69 -15
  36. pulumi_gcp/compute/router.py +54 -0
  37. pulumi_gcp/compute/subnetwork.py +35 -5
  38. pulumi_gcp/config/__init__.pyi +2 -0
  39. pulumi_gcp/config/outputs.py +27 -0
  40. pulumi_gcp/config/vars.py +4 -0
  41. pulumi_gcp/container/_inputs.py +12 -12
  42. pulumi_gcp/container/cluster.py +47 -0
  43. pulumi_gcp/container/get_cluster.py +12 -1
  44. pulumi_gcp/container/get_registry_image.py +4 -0
  45. pulumi_gcp/container/get_registry_repository.py +4 -0
  46. pulumi_gcp/container/outputs.py +8 -8
  47. pulumi_gcp/container/registry.py +4 -0
  48. pulumi_gcp/datafusion/instance.py +68 -0
  49. pulumi_gcp/dataproc/__init__.py +8 -0
  50. pulumi_gcp/dataproc/_inputs.py +196 -0
  51. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
  52. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
  53. pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
  54. pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
  55. pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
  56. pulumi_gcp/dataproc/metastore_federation.py +38 -2
  57. pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
  58. pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
  59. pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
  60. pulumi_gcp/dataproc/outputs.py +112 -0
  61. pulumi_gcp/datastream/_inputs.py +311 -94
  62. pulumi_gcp/datastream/connection_profile.py +40 -0
  63. pulumi_gcp/datastream/outputs.py +244 -51
  64. pulumi_gcp/datastream/stream.py +216 -0
  65. pulumi_gcp/discoveryengine/__init__.py +1 -0
  66. pulumi_gcp/discoveryengine/sitemap.py +504 -0
  67. pulumi_gcp/eventarc/__init__.py +1 -0
  68. pulumi_gcp/eventarc/enrollment.py +980 -0
  69. pulumi_gcp/firebase/__init__.py +1 -0
  70. pulumi_gcp/firebase/_inputs.py +484 -0
  71. pulumi_gcp/firebase/app_hosting_build.py +1232 -0
  72. pulumi_gcp/firebase/outputs.py +333 -0
  73. pulumi_gcp/identityplatform/_inputs.py +91 -0
  74. pulumi_gcp/identityplatform/outputs.py +73 -0
  75. pulumi_gcp/identityplatform/tenant.py +56 -0
  76. pulumi_gcp/managedkafka/cluster.py +2 -2
  77. pulumi_gcp/memorystore/__init__.py +1 -0
  78. pulumi_gcp/memorystore/_inputs.py +826 -0
  79. pulumi_gcp/memorystore/get_instance.py +23 -1
  80. pulumi_gcp/memorystore/instance.py +344 -23
  81. pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
  82. pulumi_gcp/memorystore/outputs.py +889 -8
  83. pulumi_gcp/networksecurity/_inputs.py +473 -0
  84. pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
  85. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
  86. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
  87. pulumi_gcp/networksecurity/outputs.py +291 -1
  88. pulumi_gcp/networksecurity/security_profile.py +8 -0
  89. pulumi_gcp/organizations/__init__.py +1 -0
  90. pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
  91. pulumi_gcp/organizations/outputs.py +96 -0
  92. pulumi_gcp/parametermanager/get_parameter.py +16 -1
  93. pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
  94. pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
  95. pulumi_gcp/parametermanager/get_parameters.py +4 -0
  96. pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
  97. pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
  98. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
  99. pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
  100. pulumi_gcp/parametermanager/outputs.py +11 -0
  101. pulumi_gcp/parametermanager/parameter.py +88 -0
  102. pulumi_gcp/parametermanager/parameter_version.py +74 -0
  103. pulumi_gcp/parametermanager/regional_parameter.py +12 -0
  104. pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
  105. pulumi_gcp/provider.py +15 -0
  106. pulumi_gcp/pulumi-plugin.json +1 -1
  107. pulumi_gcp/redis/_inputs.py +136 -0
  108. pulumi_gcp/redis/cluster.py +54 -0
  109. pulumi_gcp/redis/outputs.py +114 -0
  110. pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
  111. pulumi_gcp/storage/__init__.py +4 -0
  112. pulumi_gcp/storage/_inputs.py +596 -0
  113. pulumi_gcp/storage/bucket.py +7 -7
  114. pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
  115. pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
  116. pulumi_gcp/storage/control_project_intelligence_config.py +49 -7
  117. pulumi_gcp/storage/get_bucket_object_content.py +16 -1
  118. pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
  119. pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
  120. pulumi_gcp/storage/get_control_project_intelligence_config.py +32 -2
  121. pulumi_gcp/storage/outputs.py +2132 -1312
  122. pulumi_gcp/workbench/instance.py +14 -2
  123. {pulumi_gcp-8.24.0a1743177741.dist-info → pulumi_gcp-8.25.0.dist-info}/METADATA +1 -1
  124. {pulumi_gcp-8.24.0a1743177741.dist-info → pulumi_gcp-8.25.0.dist-info}/RECORD +126 -107
  125. {pulumi_gcp-8.24.0a1743177741.dist-info → pulumi_gcp-8.25.0.dist-info}/WHEEL +0 -0
  126. {pulumi_gcp-8.24.0a1743177741.dist-info → pulumi_gcp-8.25.0.dist-info}/top_level.txt +0 -0
@@ -98,6 +98,7 @@ class _ParameterVersionState:
98
98
  def __init__(__self__, *,
99
99
  create_time: Optional[pulumi.Input[str]] = None,
100
100
  disabled: Optional[pulumi.Input[bool]] = None,
101
+ kms_key_version: Optional[pulumi.Input[str]] = None,
101
102
  name: Optional[pulumi.Input[str]] = None,
102
103
  parameter: Optional[pulumi.Input[str]] = None,
103
104
  parameter_data: Optional[pulumi.Input[str]] = None,
@@ -107,6 +108,8 @@ class _ParameterVersionState:
107
108
  Input properties used for looking up and filtering ParameterVersion resources.
108
109
  :param pulumi.Input[str] create_time: The time at which the Parameter Version was created.
109
110
  :param pulumi.Input[bool] disabled: The current state of Parameter Version. This field is only applicable for updating Parameter Version.
111
+ :param pulumi.Input[str] kms_key_version: The resource name of the Cloud KMS CryptoKeyVersion used to decrypt parameter version payload. Format
112
+ `projects/{{project}}/locations/global/keyRings/{{key_ring}}/cryptoKeys/{{crypto_key}}/cryptoKeyVersions/{{crypto_key_version}}`
110
113
  :param pulumi.Input[str] name: The resource name of the Parameter Version. Format:
111
114
  `projects/{{project}}/locations/global/parameters/{{parameter_id}}/versions/{{parameter_version_id}}`
112
115
  :param pulumi.Input[str] parameter: Parameter Manager Parameter resource.
@@ -122,6 +125,8 @@ class _ParameterVersionState:
122
125
  pulumi.set(__self__, "create_time", create_time)
123
126
  if disabled is not None:
124
127
  pulumi.set(__self__, "disabled", disabled)
128
+ if kms_key_version is not None:
129
+ pulumi.set(__self__, "kms_key_version", kms_key_version)
125
130
  if name is not None:
126
131
  pulumi.set(__self__, "name", name)
127
132
  if parameter is not None:
@@ -157,6 +162,19 @@ class _ParameterVersionState:
157
162
  def disabled(self, value: Optional[pulumi.Input[bool]]):
158
163
  pulumi.set(self, "disabled", value)
159
164
 
165
+ @property
166
+ @pulumi.getter(name="kmsKeyVersion")
167
+ def kms_key_version(self) -> Optional[pulumi.Input[str]]:
168
+ """
169
+ The resource name of the Cloud KMS CryptoKeyVersion used to decrypt parameter version payload. Format
170
+ `projects/{{project}}/locations/global/keyRings/{{key_ring}}/cryptoKeys/{{crypto_key}}/cryptoKeyVersions/{{crypto_key_version}}`
171
+ """
172
+ return pulumi.get(self, "kms_key_version")
173
+
174
+ @kms_key_version.setter
175
+ def kms_key_version(self, value: Optional[pulumi.Input[str]]):
176
+ pulumi.set(self, "kms_key_version", value)
177
+
160
178
  @property
161
179
  @pulumi.getter
162
180
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -234,6 +252,12 @@ class ParameterVersion(pulumi.CustomResource):
234
252
  parameter_version_id: Optional[pulumi.Input[str]] = None,
235
253
  __props__=None):
236
254
  """
255
+ A Parameter Version resource that stores the actual value of the parameter.
256
+
257
+ To get more information about ParameterVersion, see:
258
+
259
+ * [API documentation](https://cloud.google.com/secret-manager/parameter-manager/docs/reference/rest/v1/projects.locations.parameters.versions)
260
+
237
261
  ## Example Usage
238
262
 
239
263
  ### Parameter Version Basic
@@ -266,6 +290,21 @@ class ParameterVersion(pulumi.CustomResource):
266
290
  "key2": "val2",
267
291
  }))
268
292
  ```
293
+ ### Parameter Version With Kms Key
294
+
295
+ ```python
296
+ import pulumi
297
+ import pulumi_gcp as gcp
298
+
299
+ project = gcp.organizations.get_project()
300
+ parameter_basic = gcp.parametermanager.Parameter("parameter-basic",
301
+ parameter_id="parameter",
302
+ kms_key="kms-key")
303
+ parameter_version_with_kms_key = gcp.parametermanager.ParameterVersion("parameter-version-with-kms-key",
304
+ parameter=parameter_basic.id,
305
+ parameter_version_id="parameter_version",
306
+ parameter_data="app-parameter-version-data")
307
+ ```
269
308
  ## Import
270
309
 
271
310
  ParameterVersion can be imported using any of these accepted formats:
@@ -296,6 +335,12 @@ class ParameterVersion(pulumi.CustomResource):
296
335
  args: ParameterVersionArgs,
297
336
  opts: Optional[pulumi.ResourceOptions] = None):
298
337
  """
338
+ A Parameter Version resource that stores the actual value of the parameter.
339
+
340
+ To get more information about ParameterVersion, see:
341
+
342
+ * [API documentation](https://cloud.google.com/secret-manager/parameter-manager/docs/reference/rest/v1/projects.locations.parameters.versions)
343
+
299
344
  ## Example Usage
300
345
 
301
346
  ### Parameter Version Basic
@@ -328,6 +373,21 @@ class ParameterVersion(pulumi.CustomResource):
328
373
  "key2": "val2",
329
374
  }))
330
375
  ```
376
+ ### Parameter Version With Kms Key
377
+
378
+ ```python
379
+ import pulumi
380
+ import pulumi_gcp as gcp
381
+
382
+ project = gcp.organizations.get_project()
383
+ parameter_basic = gcp.parametermanager.Parameter("parameter-basic",
384
+ parameter_id="parameter",
385
+ kms_key="kms-key")
386
+ parameter_version_with_kms_key = gcp.parametermanager.ParameterVersion("parameter-version-with-kms-key",
387
+ parameter=parameter_basic.id,
388
+ parameter_version_id="parameter_version",
389
+ parameter_data="app-parameter-version-data")
390
+ ```
331
391
  ## Import
332
392
 
333
393
  ParameterVersion can be imported using any of these accepted formats:
@@ -379,6 +439,7 @@ class ParameterVersion(pulumi.CustomResource):
379
439
  raise TypeError("Missing required property 'parameter_version_id'")
380
440
  __props__.__dict__["parameter_version_id"] = parameter_version_id
381
441
  __props__.__dict__["create_time"] = None
442
+ __props__.__dict__["kms_key_version"] = None
382
443
  __props__.__dict__["name"] = None
383
444
  __props__.__dict__["update_time"] = None
384
445
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["parameterData"])
@@ -395,6 +456,7 @@ class ParameterVersion(pulumi.CustomResource):
395
456
  opts: Optional[pulumi.ResourceOptions] = None,
396
457
  create_time: Optional[pulumi.Input[str]] = None,
397
458
  disabled: Optional[pulumi.Input[bool]] = None,
459
+ kms_key_version: Optional[pulumi.Input[str]] = None,
398
460
  name: Optional[pulumi.Input[str]] = None,
399
461
  parameter: Optional[pulumi.Input[str]] = None,
400
462
  parameter_data: Optional[pulumi.Input[str]] = None,
@@ -409,6 +471,8 @@ class ParameterVersion(pulumi.CustomResource):
409
471
  :param pulumi.ResourceOptions opts: Options for the resource.
410
472
  :param pulumi.Input[str] create_time: The time at which the Parameter Version was created.
411
473
  :param pulumi.Input[bool] disabled: The current state of Parameter Version. This field is only applicable for updating Parameter Version.
474
+ :param pulumi.Input[str] kms_key_version: The resource name of the Cloud KMS CryptoKeyVersion used to decrypt parameter version payload. Format
475
+ `projects/{{project}}/locations/global/keyRings/{{key_ring}}/cryptoKeys/{{crypto_key}}/cryptoKeyVersions/{{crypto_key_version}}`
412
476
  :param pulumi.Input[str] name: The resource name of the Parameter Version. Format:
413
477
  `projects/{{project}}/locations/global/parameters/{{parameter_id}}/versions/{{parameter_version_id}}`
414
478
  :param pulumi.Input[str] parameter: Parameter Manager Parameter resource.
@@ -426,6 +490,7 @@ class ParameterVersion(pulumi.CustomResource):
426
490
 
427
491
  __props__.__dict__["create_time"] = create_time
428
492
  __props__.__dict__["disabled"] = disabled
493
+ __props__.__dict__["kms_key_version"] = kms_key_version
429
494
  __props__.__dict__["name"] = name
430
495
  __props__.__dict__["parameter"] = parameter
431
496
  __props__.__dict__["parameter_data"] = parameter_data
@@ -449,6 +514,15 @@ class ParameterVersion(pulumi.CustomResource):
449
514
  """
450
515
  return pulumi.get(self, "disabled")
451
516
 
517
+ @property
518
+ @pulumi.getter(name="kmsKeyVersion")
519
+ def kms_key_version(self) -> pulumi.Output[str]:
520
+ """
521
+ The resource name of the Cloud KMS CryptoKeyVersion used to decrypt parameter version payload. Format
522
+ `projects/{{project}}/locations/global/keyRings/{{key_ring}}/cryptoKeys/{{crypto_key}}/cryptoKeyVersions/{{crypto_key_version}}`
523
+ """
524
+ return pulumi.get(self, "kms_key_version")
525
+
452
526
  @property
453
527
  @pulumi.getter
454
528
  def name(self) -> pulumi.Output[str]:
@@ -370,6 +370,12 @@ class RegionalParameter(pulumi.CustomResource):
370
370
  project: Optional[pulumi.Input[str]] = None,
371
371
  __props__=None):
372
372
  """
373
+ A Regional Parameter is a logical regional parameter.
374
+
375
+ To get more information about RegionalParameter, see:
376
+
377
+ * [API documentation](https://cloud.google.com/secret-manager/parameter-manager/docs/reference/rest/v1/projects.locations.parameters)
378
+
373
379
  ## Example Usage
374
380
 
375
381
  ### Regional Parameter Basic
@@ -466,6 +472,12 @@ class RegionalParameter(pulumi.CustomResource):
466
472
  args: RegionalParameterArgs,
467
473
  opts: Optional[pulumi.ResourceOptions] = None):
468
474
  """
475
+ A Regional Parameter is a logical regional parameter.
476
+
477
+ To get more information about RegionalParameter, see:
478
+
479
+ * [API documentation](https://cloud.google.com/secret-manager/parameter-manager/docs/reference/rest/v1/projects.locations.parameters)
480
+
469
481
  ## Example Usage
470
482
 
471
483
  ### Regional Parameter Basic
@@ -250,6 +250,12 @@ class RegionalParameterVersion(pulumi.CustomResource):
250
250
  parameter_version_id: Optional[pulumi.Input[str]] = None,
251
251
  __props__=None):
252
252
  """
253
+ A Regional Parameter Version resource that stores the actual value of the regional parameter.
254
+
255
+ To get more information about RegionalParameterVersion, see:
256
+
257
+ * [API documentation](https://cloud.google.com/secret-manager/parameter-manager/docs/reference/rest/v1/projects.locations.parameters.versions)
258
+
253
259
  ## Example Usage
254
260
 
255
261
  ### Regional Parameter Version Basic
@@ -315,6 +321,12 @@ class RegionalParameterVersion(pulumi.CustomResource):
315
321
  args: RegionalParameterVersionArgs,
316
322
  opts: Optional[pulumi.ResourceOptions] = None):
317
323
  """
324
+ A Regional Parameter Version resource that stores the actual value of the regional parameter.
325
+
326
+ To get more information about RegionalParameterVersion, see:
327
+
328
+ * [API documentation](https://cloud.google.com/secret-manager/parameter-manager/docs/reference/rest/v1/projects.locations.parameters.versions)
329
+
318
330
  ## Example Usage
319
331
 
320
332
  ### Regional Parameter Version Basic
pulumi_gcp/provider.py CHANGED
@@ -104,6 +104,7 @@ class ProviderArgs:
104
104
  edgenetwork_custom_endpoint: Optional[pulumi.Input[str]] = None,
105
105
  essential_contacts_custom_endpoint: Optional[pulumi.Input[str]] = None,
106
106
  eventarc_custom_endpoint: Optional[pulumi.Input[str]] = None,
107
+ external_credentials: Optional[pulumi.Input['ProviderExternalCredentialsArgs']] = None,
107
108
  filestore_custom_endpoint: Optional[pulumi.Input[str]] = None,
108
109
  firebase_app_check_custom_endpoint: Optional[pulumi.Input[str]] = None,
109
110
  firebase_app_hosting_custom_endpoint: Optional[pulumi.Input[str]] = None,
@@ -381,6 +382,8 @@ class ProviderArgs:
381
382
  pulumi.set(__self__, "essential_contacts_custom_endpoint", essential_contacts_custom_endpoint)
382
383
  if eventarc_custom_endpoint is not None:
383
384
  pulumi.set(__self__, "eventarc_custom_endpoint", eventarc_custom_endpoint)
385
+ if external_credentials is not None:
386
+ pulumi.set(__self__, "external_credentials", external_credentials)
384
387
  if filestore_custom_endpoint is not None:
385
388
  pulumi.set(__self__, "filestore_custom_endpoint", filestore_custom_endpoint)
386
389
  if firebase_app_check_custom_endpoint is not None:
@@ -1356,6 +1359,15 @@ class ProviderArgs:
1356
1359
  def eventarc_custom_endpoint(self, value: Optional[pulumi.Input[str]]):
1357
1360
  pulumi.set(self, "eventarc_custom_endpoint", value)
1358
1361
 
1362
+ @property
1363
+ @pulumi.getter(name="externalCredentials")
1364
+ def external_credentials(self) -> Optional[pulumi.Input['ProviderExternalCredentialsArgs']]:
1365
+ return pulumi.get(self, "external_credentials")
1366
+
1367
+ @external_credentials.setter
1368
+ def external_credentials(self, value: Optional[pulumi.Input['ProviderExternalCredentialsArgs']]):
1369
+ pulumi.set(self, "external_credentials", value)
1370
+
1359
1371
  @property
1360
1372
  @pulumi.getter(name="filestoreCustomEndpoint")
1361
1373
  def filestore_custom_endpoint(self) -> Optional[pulumi.Input[str]]:
@@ -2400,6 +2412,7 @@ class Provider(pulumi.ProviderResource):
2400
2412
  edgenetwork_custom_endpoint: Optional[pulumi.Input[str]] = None,
2401
2413
  essential_contacts_custom_endpoint: Optional[pulumi.Input[str]] = None,
2402
2414
  eventarc_custom_endpoint: Optional[pulumi.Input[str]] = None,
2415
+ external_credentials: Optional[pulumi.Input[Union['ProviderExternalCredentialsArgs', 'ProviderExternalCredentialsArgsDict']]] = None,
2403
2416
  filestore_custom_endpoint: Optional[pulumi.Input[str]] = None,
2404
2417
  firebase_app_check_custom_endpoint: Optional[pulumi.Input[str]] = None,
2405
2418
  firebase_app_hosting_custom_endpoint: Optional[pulumi.Input[str]] = None,
@@ -2627,6 +2640,7 @@ class Provider(pulumi.ProviderResource):
2627
2640
  edgenetwork_custom_endpoint: Optional[pulumi.Input[str]] = None,
2628
2641
  essential_contacts_custom_endpoint: Optional[pulumi.Input[str]] = None,
2629
2642
  eventarc_custom_endpoint: Optional[pulumi.Input[str]] = None,
2643
+ external_credentials: Optional[pulumi.Input[Union['ProviderExternalCredentialsArgs', 'ProviderExternalCredentialsArgsDict']]] = None,
2630
2644
  filestore_custom_endpoint: Optional[pulumi.Input[str]] = None,
2631
2645
  firebase_app_check_custom_endpoint: Optional[pulumi.Input[str]] = None,
2632
2646
  firebase_app_hosting_custom_endpoint: Optional[pulumi.Input[str]] = None,
@@ -2826,6 +2840,7 @@ class Provider(pulumi.ProviderResource):
2826
2840
  __props__.__dict__["edgenetwork_custom_endpoint"] = edgenetwork_custom_endpoint
2827
2841
  __props__.__dict__["essential_contacts_custom_endpoint"] = essential_contacts_custom_endpoint
2828
2842
  __props__.__dict__["eventarc_custom_endpoint"] = eventarc_custom_endpoint
2843
+ __props__.__dict__["external_credentials"] = pulumi.Output.from_input(external_credentials).apply(pulumi.runtime.to_json) if external_credentials is not None else None
2829
2844
  __props__.__dict__["filestore_custom_endpoint"] = filestore_custom_endpoint
2830
2845
  __props__.__dict__["firebase_app_check_custom_endpoint"] = firebase_app_check_custom_endpoint
2831
2846
  __props__.__dict__["firebase_app_hosting_custom_endpoint"] = firebase_app_hosting_custom_endpoint
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "gcp",
4
- "version": "8.24.0-alpha.1743177741"
4
+ "version": "8.25.0"
5
5
  }
@@ -15,6 +15,12 @@ else:
15
15
  from .. import _utilities
16
16
 
17
17
  __all__ = [
18
+ 'ClusterAutomatedBackupConfigArgs',
19
+ 'ClusterAutomatedBackupConfigArgsDict',
20
+ 'ClusterAutomatedBackupConfigFixedFrequencyScheduleArgs',
21
+ 'ClusterAutomatedBackupConfigFixedFrequencyScheduleArgsDict',
22
+ 'ClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgs',
23
+ 'ClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgsDict',
18
24
  'ClusterCrossClusterReplicationConfigArgs',
19
25
  'ClusterCrossClusterReplicationConfigArgsDict',
20
26
  'ClusterCrossClusterReplicationConfigMembershipArgs',
@@ -81,6 +87,136 @@ __all__ = [
81
87
 
82
88
  MYPY = False
83
89
 
90
+ if not MYPY:
91
+ class ClusterAutomatedBackupConfigArgsDict(TypedDict):
92
+ fixed_frequency_schedule: pulumi.Input['ClusterAutomatedBackupConfigFixedFrequencyScheduleArgsDict']
93
+ """
94
+ Trigger automated backups at a fixed frequency.
95
+ Structure is documented below.
96
+ """
97
+ retention: pulumi.Input[str]
98
+ """
99
+ How long to keep automated backups before the backups are deleted.
100
+ The value should be between 1 day and 365 days. If not specified, the default value is 35 days.
101
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
102
+ """
103
+ elif False:
104
+ ClusterAutomatedBackupConfigArgsDict: TypeAlias = Mapping[str, Any]
105
+
106
+ @pulumi.input_type
107
+ class ClusterAutomatedBackupConfigArgs:
108
+ def __init__(__self__, *,
109
+ fixed_frequency_schedule: pulumi.Input['ClusterAutomatedBackupConfigFixedFrequencyScheduleArgs'],
110
+ retention: pulumi.Input[str]):
111
+ """
112
+ :param pulumi.Input['ClusterAutomatedBackupConfigFixedFrequencyScheduleArgs'] fixed_frequency_schedule: Trigger automated backups at a fixed frequency.
113
+ Structure is documented below.
114
+ :param pulumi.Input[str] retention: How long to keep automated backups before the backups are deleted.
115
+ The value should be between 1 day and 365 days. If not specified, the default value is 35 days.
116
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
117
+ """
118
+ pulumi.set(__self__, "fixed_frequency_schedule", fixed_frequency_schedule)
119
+ pulumi.set(__self__, "retention", retention)
120
+
121
+ @property
122
+ @pulumi.getter(name="fixedFrequencySchedule")
123
+ def fixed_frequency_schedule(self) -> pulumi.Input['ClusterAutomatedBackupConfigFixedFrequencyScheduleArgs']:
124
+ """
125
+ Trigger automated backups at a fixed frequency.
126
+ Structure is documented below.
127
+ """
128
+ return pulumi.get(self, "fixed_frequency_schedule")
129
+
130
+ @fixed_frequency_schedule.setter
131
+ def fixed_frequency_schedule(self, value: pulumi.Input['ClusterAutomatedBackupConfigFixedFrequencyScheduleArgs']):
132
+ pulumi.set(self, "fixed_frequency_schedule", value)
133
+
134
+ @property
135
+ @pulumi.getter
136
+ def retention(self) -> pulumi.Input[str]:
137
+ """
138
+ How long to keep automated backups before the backups are deleted.
139
+ The value should be between 1 day and 365 days. If not specified, the default value is 35 days.
140
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
141
+ """
142
+ return pulumi.get(self, "retention")
143
+
144
+ @retention.setter
145
+ def retention(self, value: pulumi.Input[str]):
146
+ pulumi.set(self, "retention", value)
147
+
148
+
149
+ if not MYPY:
150
+ class ClusterAutomatedBackupConfigFixedFrequencyScheduleArgsDict(TypedDict):
151
+ start_time: pulumi.Input['ClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgsDict']
152
+ """
153
+ The start time of every automated backup in UTC.
154
+ It must be set to the start of an hour. This field is required.
155
+ Structure is documented below.
156
+ """
157
+ elif False:
158
+ ClusterAutomatedBackupConfigFixedFrequencyScheduleArgsDict: TypeAlias = Mapping[str, Any]
159
+
160
+ @pulumi.input_type
161
+ class ClusterAutomatedBackupConfigFixedFrequencyScheduleArgs:
162
+ def __init__(__self__, *,
163
+ start_time: pulumi.Input['ClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgs']):
164
+ """
165
+ :param pulumi.Input['ClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgs'] start_time: The start time of every automated backup in UTC.
166
+ It must be set to the start of an hour. This field is required.
167
+ Structure is documented below.
168
+ """
169
+ pulumi.set(__self__, "start_time", start_time)
170
+
171
+ @property
172
+ @pulumi.getter(name="startTime")
173
+ def start_time(self) -> pulumi.Input['ClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgs']:
174
+ """
175
+ The start time of every automated backup in UTC.
176
+ It must be set to the start of an hour. This field is required.
177
+ Structure is documented below.
178
+ """
179
+ return pulumi.get(self, "start_time")
180
+
181
+ @start_time.setter
182
+ def start_time(self, value: pulumi.Input['ClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgs']):
183
+ pulumi.set(self, "start_time", value)
184
+
185
+
186
+ if not MYPY:
187
+ class ClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgsDict(TypedDict):
188
+ hours: pulumi.Input[int]
189
+ """
190
+ Hours of day in 24 hour format. Should be from 0 to 23.
191
+ An API may choose to allow the value "24:00:00" for scenarios like business closing time.
192
+ """
193
+ elif False:
194
+ ClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgsDict: TypeAlias = Mapping[str, Any]
195
+
196
+ @pulumi.input_type
197
+ class ClusterAutomatedBackupConfigFixedFrequencyScheduleStartTimeArgs:
198
+ def __init__(__self__, *,
199
+ hours: pulumi.Input[int]):
200
+ """
201
+ :param pulumi.Input[int] hours: Hours of day in 24 hour format. Should be from 0 to 23.
202
+ An API may choose to allow the value "24:00:00" for scenarios like business closing time.
203
+ """
204
+ pulumi.set(__self__, "hours", hours)
205
+
206
+ @property
207
+ @pulumi.getter
208
+ def hours(self) -> pulumi.Input[int]:
209
+ """
210
+ Hours of day in 24 hour format. Should be from 0 to 23.
211
+ An API may choose to allow the value "24:00:00" for scenarios like business closing time.
212
+ """
213
+ return pulumi.get(self, "hours")
214
+
215
+ @hours.setter
216
+ def hours(self, value: pulumi.Input[int]):
217
+ pulumi.set(self, "hours", value)
218
+
219
+
84
220
  if not MYPY:
85
221
  class ClusterCrossClusterReplicationConfigArgsDict(TypedDict):
86
222
  cluster_role: NotRequired[pulumi.Input[str]]
@@ -23,6 +23,7 @@ class ClusterArgs:
23
23
  def __init__(__self__, *,
24
24
  shard_count: pulumi.Input[int],
25
25
  authorization_mode: Optional[pulumi.Input[str]] = None,
26
+ automated_backup_config: Optional[pulumi.Input['ClusterAutomatedBackupConfigArgs']] = None,
26
27
  cross_cluster_replication_config: Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']] = None,
27
28
  deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
28
29
  kms_key: Optional[pulumi.Input[str]] = None,
@@ -43,6 +44,8 @@ class ClusterArgs:
43
44
  :param pulumi.Input[str] authorization_mode: Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
44
45
  Default value is `AUTH_MODE_DISABLED`.
45
46
  Possible values are: `AUTH_MODE_UNSPECIFIED`, `AUTH_MODE_IAM_AUTH`, `AUTH_MODE_DISABLED`.
47
+ :param pulumi.Input['ClusterAutomatedBackupConfigArgs'] automated_backup_config: The automated backup config for a instance.
48
+ Structure is documented below.
46
49
  :param pulumi.Input['ClusterCrossClusterReplicationConfigArgs'] cross_cluster_replication_config: Cross cluster replication config
47
50
  Structure is documented below.
48
51
  :param pulumi.Input[bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not.
@@ -82,6 +85,8 @@ class ClusterArgs:
82
85
  pulumi.set(__self__, "shard_count", shard_count)
83
86
  if authorization_mode is not None:
84
87
  pulumi.set(__self__, "authorization_mode", authorization_mode)
88
+ if automated_backup_config is not None:
89
+ pulumi.set(__self__, "automated_backup_config", automated_backup_config)
85
90
  if cross_cluster_replication_config is not None:
86
91
  pulumi.set(__self__, "cross_cluster_replication_config", cross_cluster_replication_config)
87
92
  if deletion_protection_enabled is not None:
@@ -137,6 +142,19 @@ class ClusterArgs:
137
142
  def authorization_mode(self, value: Optional[pulumi.Input[str]]):
138
143
  pulumi.set(self, "authorization_mode", value)
139
144
 
145
+ @property
146
+ @pulumi.getter(name="automatedBackupConfig")
147
+ def automated_backup_config(self) -> Optional[pulumi.Input['ClusterAutomatedBackupConfigArgs']]:
148
+ """
149
+ The automated backup config for a instance.
150
+ Structure is documented below.
151
+ """
152
+ return pulumi.get(self, "automated_backup_config")
153
+
154
+ @automated_backup_config.setter
155
+ def automated_backup_config(self, value: Optional[pulumi.Input['ClusterAutomatedBackupConfigArgs']]):
156
+ pulumi.set(self, "automated_backup_config", value)
157
+
140
158
  @property
141
159
  @pulumi.getter(name="crossClusterReplicationConfig")
142
160
  def cross_cluster_replication_config(self) -> Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']]:
@@ -331,6 +349,7 @@ class ClusterArgs:
331
349
  class _ClusterState:
332
350
  def __init__(__self__, *,
333
351
  authorization_mode: Optional[pulumi.Input[str]] = None,
352
+ automated_backup_config: Optional[pulumi.Input['ClusterAutomatedBackupConfigArgs']] = None,
334
353
  create_time: Optional[pulumi.Input[str]] = None,
335
354
  cross_cluster_replication_config: Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']] = None,
336
355
  deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
@@ -361,6 +380,8 @@ class _ClusterState:
361
380
  :param pulumi.Input[str] authorization_mode: Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
362
381
  Default value is `AUTH_MODE_DISABLED`.
363
382
  Possible values are: `AUTH_MODE_UNSPECIFIED`, `AUTH_MODE_IAM_AUTH`, `AUTH_MODE_DISABLED`.
383
+ :param pulumi.Input['ClusterAutomatedBackupConfigArgs'] automated_backup_config: The automated backup config for a instance.
384
+ Structure is documented below.
364
385
  :param pulumi.Input[str] create_time: The timestamp associated with the cluster creation request. A timestamp in
365
386
  RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional
366
387
  digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
@@ -419,6 +440,8 @@ class _ClusterState:
419
440
  """
420
441
  if authorization_mode is not None:
421
442
  pulumi.set(__self__, "authorization_mode", authorization_mode)
443
+ if automated_backup_config is not None:
444
+ pulumi.set(__self__, "automated_backup_config", automated_backup_config)
422
445
  if create_time is not None:
423
446
  pulumi.set(__self__, "create_time", create_time)
424
447
  if cross_cluster_replication_config is not None:
@@ -484,6 +507,19 @@ class _ClusterState:
484
507
  def authorization_mode(self, value: Optional[pulumi.Input[str]]):
485
508
  pulumi.set(self, "authorization_mode", value)
486
509
 
510
+ @property
511
+ @pulumi.getter(name="automatedBackupConfig")
512
+ def automated_backup_config(self) -> Optional[pulumi.Input['ClusterAutomatedBackupConfigArgs']]:
513
+ """
514
+ The automated backup config for a instance.
515
+ Structure is documented below.
516
+ """
517
+ return pulumi.get(self, "automated_backup_config")
518
+
519
+ @automated_backup_config.setter
520
+ def automated_backup_config(self, value: Optional[pulumi.Input['ClusterAutomatedBackupConfigArgs']]):
521
+ pulumi.set(self, "automated_backup_config", value)
522
+
487
523
  @property
488
524
  @pulumi.getter(name="createTime")
489
525
  def create_time(self) -> Optional[pulumi.Input[str]]:
@@ -821,6 +857,7 @@ class Cluster(pulumi.CustomResource):
821
857
  resource_name: str,
822
858
  opts: Optional[pulumi.ResourceOptions] = None,
823
859
  authorization_mode: Optional[pulumi.Input[str]] = None,
860
+ automated_backup_config: Optional[pulumi.Input[Union['ClusterAutomatedBackupConfigArgs', 'ClusterAutomatedBackupConfigArgsDict']]] = None,
824
861
  cross_cluster_replication_config: Optional[pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']]] = None,
825
862
  deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
826
863
  kms_key: Optional[pulumi.Input[str]] = None,
@@ -1254,6 +1291,8 @@ class Cluster(pulumi.CustomResource):
1254
1291
  :param pulumi.Input[str] authorization_mode: Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
1255
1292
  Default value is `AUTH_MODE_DISABLED`.
1256
1293
  Possible values are: `AUTH_MODE_UNSPECIFIED`, `AUTH_MODE_IAM_AUTH`, `AUTH_MODE_DISABLED`.
1294
+ :param pulumi.Input[Union['ClusterAutomatedBackupConfigArgs', 'ClusterAutomatedBackupConfigArgsDict']] automated_backup_config: The automated backup config for a instance.
1295
+ Structure is documented below.
1257
1296
  :param pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']] cross_cluster_replication_config: Cross cluster replication config
1258
1297
  Structure is documented below.
1259
1298
  :param pulumi.Input[bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not.
@@ -1725,6 +1764,7 @@ class Cluster(pulumi.CustomResource):
1725
1764
  resource_name: str,
1726
1765
  opts: Optional[pulumi.ResourceOptions] = None,
1727
1766
  authorization_mode: Optional[pulumi.Input[str]] = None,
1767
+ automated_backup_config: Optional[pulumi.Input[Union['ClusterAutomatedBackupConfigArgs', 'ClusterAutomatedBackupConfigArgsDict']]] = None,
1728
1768
  cross_cluster_replication_config: Optional[pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']]] = None,
1729
1769
  deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
1730
1770
  kms_key: Optional[pulumi.Input[str]] = None,
@@ -1750,6 +1790,7 @@ class Cluster(pulumi.CustomResource):
1750
1790
  __props__ = ClusterArgs.__new__(ClusterArgs)
1751
1791
 
1752
1792
  __props__.__dict__["authorization_mode"] = authorization_mode
1793
+ __props__.__dict__["automated_backup_config"] = automated_backup_config
1753
1794
  __props__.__dict__["cross_cluster_replication_config"] = cross_cluster_replication_config
1754
1795
  __props__.__dict__["deletion_protection_enabled"] = deletion_protection_enabled
1755
1796
  __props__.__dict__["kms_key"] = kms_key
@@ -1788,6 +1829,7 @@ class Cluster(pulumi.CustomResource):
1788
1829
  id: pulumi.Input[str],
1789
1830
  opts: Optional[pulumi.ResourceOptions] = None,
1790
1831
  authorization_mode: Optional[pulumi.Input[str]] = None,
1832
+ automated_backup_config: Optional[pulumi.Input[Union['ClusterAutomatedBackupConfigArgs', 'ClusterAutomatedBackupConfigArgsDict']]] = None,
1791
1833
  create_time: Optional[pulumi.Input[str]] = None,
1792
1834
  cross_cluster_replication_config: Optional[pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']]] = None,
1793
1835
  deletion_protection_enabled: Optional[pulumi.Input[bool]] = None,
@@ -1823,6 +1865,8 @@ class Cluster(pulumi.CustomResource):
1823
1865
  :param pulumi.Input[str] authorization_mode: Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster.
1824
1866
  Default value is `AUTH_MODE_DISABLED`.
1825
1867
  Possible values are: `AUTH_MODE_UNSPECIFIED`, `AUTH_MODE_IAM_AUTH`, `AUTH_MODE_DISABLED`.
1868
+ :param pulumi.Input[Union['ClusterAutomatedBackupConfigArgs', 'ClusterAutomatedBackupConfigArgsDict']] automated_backup_config: The automated backup config for a instance.
1869
+ Structure is documented below.
1826
1870
  :param pulumi.Input[str] create_time: The timestamp associated with the cluster creation request. A timestamp in
1827
1871
  RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional
1828
1872
  digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
@@ -1884,6 +1928,7 @@ class Cluster(pulumi.CustomResource):
1884
1928
  __props__ = _ClusterState.__new__(_ClusterState)
1885
1929
 
1886
1930
  __props__.__dict__["authorization_mode"] = authorization_mode
1931
+ __props__.__dict__["automated_backup_config"] = automated_backup_config
1887
1932
  __props__.__dict__["create_time"] = create_time
1888
1933
  __props__.__dict__["cross_cluster_replication_config"] = cross_cluster_replication_config
1889
1934
  __props__.__dict__["deletion_protection_enabled"] = deletion_protection_enabled
@@ -1921,6 +1966,15 @@ class Cluster(pulumi.CustomResource):
1921
1966
  """
1922
1967
  return pulumi.get(self, "authorization_mode")
1923
1968
 
1969
+ @property
1970
+ @pulumi.getter(name="automatedBackupConfig")
1971
+ def automated_backup_config(self) -> pulumi.Output[Optional['outputs.ClusterAutomatedBackupConfig']]:
1972
+ """
1973
+ The automated backup config for a instance.
1974
+ Structure is documented below.
1975
+ """
1976
+ return pulumi.get(self, "automated_backup_config")
1977
+
1924
1978
  @property
1925
1979
  @pulumi.getter(name="createTime")
1926
1980
  def create_time(self) -> pulumi.Output[str]: