pulumi-gcp 7.34.0a1722421695__py3-none-any.whl → 7.34.0a1722604983__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.

Potentially problematic release.


This version of pulumi-gcp might be problematic. Click here for more details.

Files changed (78) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/alloydb/_inputs.py +174 -0
  3. pulumi_gcp/alloydb/instance.py +54 -0
  4. pulumi_gcp/alloydb/outputs.py +133 -0
  5. pulumi_gcp/apigee/__init__.py +2 -0
  6. pulumi_gcp/apigee/environment_keyvaluemaps.py +370 -0
  7. pulumi_gcp/apigee/environment_keyvaluemaps_entries.py +440 -0
  8. pulumi_gcp/apigee/instance.py +2 -2
  9. pulumi_gcp/apigee/nat_address.py +2 -2
  10. pulumi_gcp/apigee/organization.py +4 -4
  11. pulumi_gcp/apphub/service_project_attachment.py +11 -11
  12. pulumi_gcp/bigquery/_inputs.py +36 -0
  13. pulumi_gcp/bigquery/app_profile.py +54 -0
  14. pulumi_gcp/bigquery/outputs.py +38 -0
  15. pulumi_gcp/bigquery/reservation.py +34 -4
  16. pulumi_gcp/bigquery/table.py +65 -21
  17. pulumi_gcp/bigtable/table.py +27 -26
  18. pulumi_gcp/certificateauthority/authority.py +4 -4
  19. pulumi_gcp/cloudfunctions/function.py +47 -0
  20. pulumi_gcp/cloudfunctions/get_function.py +11 -1
  21. pulumi_gcp/cloudfunctionsv2/function.py +2 -2
  22. pulumi_gcp/cloudrun/_inputs.py +24 -21
  23. pulumi_gcp/cloudrun/outputs.py +20 -24
  24. pulumi_gcp/cloudrunv2/_inputs.py +3 -0
  25. pulumi_gcp/cloudrunv2/outputs.py +4 -0
  26. pulumi_gcp/compute/__init__.py +2 -0
  27. pulumi_gcp/compute/_inputs.py +2334 -329
  28. pulumi_gcp/compute/backend_service.py +6 -0
  29. pulumi_gcp/compute/outputs.py +1466 -7
  30. pulumi_gcp/compute/public_advertised_prefix.py +30 -2
  31. pulumi_gcp/compute/resize_request.py +782 -0
  32. pulumi_gcp/compute/router_peer.py +437 -0
  33. pulumi_gcp/compute/router_route_policy.py +616 -0
  34. pulumi_gcp/compute/service_attachment.py +7 -14
  35. pulumi_gcp/container/_inputs.py +215 -18
  36. pulumi_gcp/container/node_pool.py +0 -14
  37. pulumi_gcp/container/outputs.py +226 -12
  38. pulumi_gcp/databasemigrationservice/private_connection.py +10 -6
  39. pulumi_gcp/dataloss/_inputs.py +707 -21
  40. pulumi_gcp/dataloss/outputs.py +588 -14
  41. pulumi_gcp/datastore/data_store_index.py +24 -12
  42. pulumi_gcp/datastream/_inputs.py +83 -3
  43. pulumi_gcp/datastream/outputs.py +51 -3
  44. pulumi_gcp/datastream/stream.py +170 -0
  45. pulumi_gcp/firebase/database_instance.py +8 -8
  46. pulumi_gcp/firebase/hosting_site.py +8 -8
  47. pulumi_gcp/firestore/index.py +10 -10
  48. pulumi_gcp/gkeonprem/_inputs.py +78 -78
  49. pulumi_gcp/gkeonprem/outputs.py +52 -52
  50. pulumi_gcp/iap/client.py +4 -4
  51. pulumi_gcp/integrationconnectors/_inputs.py +30 -30
  52. pulumi_gcp/integrationconnectors/outputs.py +20 -20
  53. pulumi_gcp/netapp/volume.py +1 -1
  54. pulumi_gcp/networkconnectivity/_inputs.py +3 -6
  55. pulumi_gcp/networkconnectivity/hub.py +60 -49
  56. pulumi_gcp/networkconnectivity/outputs.py +2 -4
  57. pulumi_gcp/networkconnectivity/spoke.py +159 -104
  58. pulumi_gcp/networksecurity/tls_inspection_policy.py +2 -2
  59. pulumi_gcp/orgpolicy/policy.py +4 -4
  60. pulumi_gcp/projects/get_project_service.py +11 -1
  61. pulumi_gcp/projects/service.py +68 -0
  62. pulumi_gcp/projects/service_identity.py +30 -2
  63. pulumi_gcp/pubsub/subscription.py +6 -6
  64. pulumi_gcp/pulumi-plugin.json +1 -1
  65. pulumi_gcp/securesourcemanager/instance.py +528 -4
  66. pulumi_gcp/securitycenter/__init__.py +1 -0
  67. pulumi_gcp/securitycenter/v2_organization_mute_config.py +673 -0
  68. pulumi_gcp/sql/database_instance.py +2 -2
  69. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  70. pulumi_gcp/vmwareengine/get_private_cloud.py +21 -1
  71. pulumi_gcp/vmwareengine/private_cloud.py +121 -2
  72. pulumi_gcp/workbench/_inputs.py +77 -0
  73. pulumi_gcp/workbench/instance.py +18 -4
  74. pulumi_gcp/workbench/outputs.py +67 -1
  75. {pulumi_gcp-7.34.0a1722421695.dist-info → pulumi_gcp-7.34.0a1722604983.dist-info}/METADATA +1 -1
  76. {pulumi_gcp-7.34.0a1722421695.dist-info → pulumi_gcp-7.34.0a1722604983.dist-info}/RECORD +78 -73
  77. {pulumi_gcp-7.34.0a1722421695.dist-info → pulumi_gcp-7.34.0a1722604983.dist-info}/WHEEL +0 -0
  78. {pulumi_gcp-7.34.0a1722421695.dist-info → pulumi_gcp-7.34.0a1722604983.dist-info}/top_level.txt +0 -0
@@ -251,6 +251,19 @@ __all__ = [
251
251
  'PreventionDiscoveryConfigTargetCloudSqlTargetFilterOthers',
252
252
  'PreventionDiscoveryConfigTargetCloudSqlTargetGenerationCadence',
253
253
  'PreventionDiscoveryConfigTargetCloudSqlTargetGenerationCadenceSchemaModifiedCadence',
254
+ 'PreventionDiscoveryConfigTargetCloudStorageTarget',
255
+ 'PreventionDiscoveryConfigTargetCloudStorageTargetConditions',
256
+ 'PreventionDiscoveryConfigTargetCloudStorageTargetConditionsCloudStorageConditions',
257
+ 'PreventionDiscoveryConfigTargetCloudStorageTargetDisabled',
258
+ 'PreventionDiscoveryConfigTargetCloudStorageTargetFilter',
259
+ 'PreventionDiscoveryConfigTargetCloudStorageTargetFilterCloudStorageResourceReference',
260
+ 'PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollection',
261
+ 'PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexes',
262
+ 'PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPattern',
263
+ 'PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPatternCloudStorageRegex',
264
+ 'PreventionDiscoveryConfigTargetCloudStorageTargetFilterOthers',
265
+ 'PreventionDiscoveryConfigTargetCloudStorageTargetGenerationCadence',
266
+ 'PreventionDiscoveryConfigTargetCloudStorageTargetGenerationCadenceInspectTemplateModifiedCadence',
254
267
  'PreventionDiscoveryConfigTargetSecretsTarget',
255
268
  'PreventionInspectTemplateInspectConfig',
256
269
  'PreventionInspectTemplateInspectConfigCustomInfoType',
@@ -11755,6 +11768,8 @@ class PreventionDiscoveryConfigTarget(dict):
11755
11768
  suggest = "big_query_target"
11756
11769
  elif key == "cloudSqlTarget":
11757
11770
  suggest = "cloud_sql_target"
11771
+ elif key == "cloudStorageTarget":
11772
+ suggest = "cloud_storage_target"
11758
11773
  elif key == "secretsTarget":
11759
11774
  suggest = "secrets_target"
11760
11775
 
@@ -11772,18 +11787,23 @@ class PreventionDiscoveryConfigTarget(dict):
11772
11787
  def __init__(__self__, *,
11773
11788
  big_query_target: Optional['outputs.PreventionDiscoveryConfigTargetBigQueryTarget'] = None,
11774
11789
  cloud_sql_target: Optional['outputs.PreventionDiscoveryConfigTargetCloudSqlTarget'] = None,
11790
+ cloud_storage_target: Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTarget'] = None,
11775
11791
  secrets_target: Optional['outputs.PreventionDiscoveryConfigTargetSecretsTarget'] = None):
11776
11792
  """
11777
11793
  :param 'PreventionDiscoveryConfigTargetBigQueryTargetArgs' big_query_target: BigQuery target for Discovery. The first target to match a table will be the one applied.
11778
11794
  Structure is documented below.
11779
11795
  :param 'PreventionDiscoveryConfigTargetCloudSqlTargetArgs' cloud_sql_target: Cloud SQL target for Discovery. The first target to match a table will be the one applied.
11780
11796
  Structure is documented below.
11797
+ :param 'PreventionDiscoveryConfigTargetCloudStorageTargetArgs' cloud_storage_target: Cloud Storage target for Discovery. The first target to match a bucket will be the one applied.
11798
+ Structure is documented below.
11781
11799
  :param 'PreventionDiscoveryConfigTargetSecretsTargetArgs' secrets_target: Discovery target that looks for credentials and secrets stored in cloud resource metadata and reports them as vulnerabilities to Security Command Center. Only one target of this type is allowed.
11782
11800
  """
11783
11801
  if big_query_target is not None:
11784
11802
  pulumi.set(__self__, "big_query_target", big_query_target)
11785
11803
  if cloud_sql_target is not None:
11786
11804
  pulumi.set(__self__, "cloud_sql_target", cloud_sql_target)
11805
+ if cloud_storage_target is not None:
11806
+ pulumi.set(__self__, "cloud_storage_target", cloud_storage_target)
11787
11807
  if secrets_target is not None:
11788
11808
  pulumi.set(__self__, "secrets_target", secrets_target)
11789
11809
 
@@ -11805,6 +11825,15 @@ class PreventionDiscoveryConfigTarget(dict):
11805
11825
  """
11806
11826
  return pulumi.get(self, "cloud_sql_target")
11807
11827
 
11828
+ @property
11829
+ @pulumi.getter(name="cloudStorageTarget")
11830
+ def cloud_storage_target(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTarget']:
11831
+ """
11832
+ Cloud Storage target for Discovery. The first target to match a bucket will be the one applied.
11833
+ Structure is documented below.
11834
+ """
11835
+ return pulumi.get(self, "cloud_storage_target")
11836
+
11808
11837
  @property
11809
11838
  @pulumi.getter(name="secretsTarget")
11810
11839
  def secrets_target(self) -> Optional['outputs.PreventionDiscoveryConfigTargetSecretsTarget']:
@@ -12028,7 +12057,7 @@ class PreventionDiscoveryConfigTargetBigQueryTargetConditions(dict):
12028
12057
  type_collection: Optional[str] = None,
12029
12058
  types: Optional['outputs.PreventionDiscoveryConfigTargetBigQueryTargetConditionsTypes'] = None):
12030
12059
  """
12031
- :param str created_after: A timestamp in RFC3339 UTC "Zulu" format with nanosecond resolution and upto nine fractional digits.
12060
+ :param str created_after: File store must have been created after this date. Used to avoid backfilling. A timestamp in RFC3339 UTC "Zulu" format with nanosecond resolution and upto nine fractional digits.
12032
12061
  :param 'PreventionDiscoveryConfigTargetBigQueryTargetConditionsOrConditionsArgs' or_conditions: At least one of the conditions must be true for a table to be scanned.
12033
12062
  Structure is documented below.
12034
12063
  :param str type_collection: Restrict discovery to categories of table types. Currently view, materialized view, snapshot and non-biglake external tables are supported.
@@ -12049,7 +12078,7 @@ class PreventionDiscoveryConfigTargetBigQueryTargetConditions(dict):
12049
12078
  @pulumi.getter(name="createdAfter")
12050
12079
  def created_after(self) -> Optional[str]:
12051
12080
  """
12052
- A timestamp in RFC3339 UTC "Zulu" format with nanosecond resolution and upto nine fractional digits.
12081
+ File store must have been created after this date. Used to avoid backfilling. A timestamp in RFC3339 UTC "Zulu" format with nanosecond resolution and upto nine fractional digits.
12053
12082
  """
12054
12083
  return pulumi.get(self, "created_after")
12055
12084
 
@@ -12321,7 +12350,7 @@ class PreventionDiscoveryConfigTargetBigQueryTargetFilterTablesIncludeRegexes(di
12321
12350
  def __init__(__self__, *,
12322
12351
  patterns: Optional[Sequence['outputs.PreventionDiscoveryConfigTargetBigQueryTargetFilterTablesIncludeRegexesPattern']] = None):
12323
12352
  """
12324
- :param Sequence['PreventionDiscoveryConfigTargetBigQueryTargetFilterTablesIncludeRegexesPatternArgs'] patterns: A group of regular expression patterns to match against one or more database resources. Maximum of 100 entries. The sum of all regular expressions' length can't exceed 10 KiB.
12353
+ :param Sequence['PreventionDiscoveryConfigTargetBigQueryTargetFilterTablesIncludeRegexesPatternArgs'] patterns: The group of regular expression patterns to match against one or more file stores. Maximum of 100 entries. The sum of all lengths of regular expressions can't exceed 10 KiB.
12325
12354
  Structure is documented below.
12326
12355
  """
12327
12356
  if patterns is not None:
@@ -12331,7 +12360,7 @@ class PreventionDiscoveryConfigTargetBigQueryTargetFilterTablesIncludeRegexes(di
12331
12360
  @pulumi.getter
12332
12361
  def patterns(self) -> Optional[Sequence['outputs.PreventionDiscoveryConfigTargetBigQueryTargetFilterTablesIncludeRegexesPattern']]:
12333
12362
  """
12334
- A group of regular expression patterns to match against one or more database resources. Maximum of 100 entries. The sum of all regular expressions' length can't exceed 10 KiB.
12363
+ The group of regular expression patterns to match against one or more file stores. Maximum of 100 entries. The sum of all lengths of regular expressions can't exceed 10 KiB.
12335
12364
  Structure is documented below.
12336
12365
  """
12337
12366
  return pulumi.get(self, "patterns")
@@ -12560,11 +12589,11 @@ class PreventionDiscoveryConfigTargetCloudSqlTargetFilter(dict):
12560
12589
  database_resource_reference: Optional['outputs.PreventionDiscoveryConfigTargetCloudSqlTargetFilterDatabaseResourceReference'] = None,
12561
12590
  others: Optional['outputs.PreventionDiscoveryConfigTargetCloudSqlTargetFilterOthers'] = None):
12562
12591
  """
12563
- :param 'PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollectionArgs' collection: A specific set of database resources for this filter to apply to.
12592
+ :param 'PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollectionArgs' collection: A specific set of buckets for this filter to apply to.
12564
12593
  Structure is documented below.
12565
12594
  :param 'PreventionDiscoveryConfigTargetCloudSqlTargetFilterDatabaseResourceReferenceArgs' database_resource_reference: The database resource to scan. Targets including this can only include one target (the target with this database resource reference).
12566
12595
  Structure is documented below.
12567
- :param 'PreventionDiscoveryConfigTargetCloudSqlTargetFilterOthersArgs' others: Catch-all. This should always be the last target in the list because anything above it will apply first. Should only appear once in a configuration. If none is specified, a default one will be added automatically.
12596
+ :param 'PreventionDiscoveryConfigTargetCloudSqlTargetFilterOthersArgs' others: Match discovery resources not covered by any other filter.
12568
12597
  """
12569
12598
  if collection is not None:
12570
12599
  pulumi.set(__self__, "collection", collection)
@@ -12577,7 +12606,7 @@ class PreventionDiscoveryConfigTargetCloudSqlTargetFilter(dict):
12577
12606
  @pulumi.getter
12578
12607
  def collection(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollection']:
12579
12608
  """
12580
- A specific set of database resources for this filter to apply to.
12609
+ A specific set of buckets for this filter to apply to.
12581
12610
  Structure is documented below.
12582
12611
  """
12583
12612
  return pulumi.get(self, "collection")
@@ -12595,7 +12624,7 @@ class PreventionDiscoveryConfigTargetCloudSqlTargetFilter(dict):
12595
12624
  @pulumi.getter
12596
12625
  def others(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudSqlTargetFilterOthers']:
12597
12626
  """
12598
- Catch-all. This should always be the last target in the list because anything above it will apply first. Should only appear once in a configuration. If none is specified, a default one will be added automatically.
12627
+ Match discovery resources not covered by any other filter.
12599
12628
  """
12600
12629
  return pulumi.get(self, "others")
12601
12630
 
@@ -12622,7 +12651,7 @@ class PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollection(dict):
12622
12651
  def __init__(__self__, *,
12623
12652
  include_regexes: Optional['outputs.PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollectionIncludeRegexes'] = None):
12624
12653
  """
12625
- :param 'PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollectionIncludeRegexesArgs' include_regexes: A collection of regular expressions to match a database resource against.
12654
+ :param 'PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollectionIncludeRegexesArgs' include_regexes: A collection of regular expressions to match a file store against.
12626
12655
  Structure is documented below.
12627
12656
  """
12628
12657
  if include_regexes is not None:
@@ -12632,7 +12661,7 @@ class PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollection(dict):
12632
12661
  @pulumi.getter(name="includeRegexes")
12633
12662
  def include_regexes(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollectionIncludeRegexes']:
12634
12663
  """
12635
- A collection of regular expressions to match a database resource against.
12664
+ A collection of regular expressions to match a file store against.
12636
12665
  Structure is documented below.
12637
12666
  """
12638
12667
  return pulumi.get(self, "include_regexes")
@@ -12643,7 +12672,7 @@ class PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollectionIncludeRegexe
12643
12672
  def __init__(__self__, *,
12644
12673
  patterns: Optional[Sequence['outputs.PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollectionIncludeRegexesPattern']] = None):
12645
12674
  """
12646
- :param Sequence['PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollectionIncludeRegexesPatternArgs'] patterns: A group of regular expression patterns to match against one or more database resources. Maximum of 100 entries. The sum of all regular expressions' length can't exceed 10 KiB.
12675
+ :param Sequence['PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollectionIncludeRegexesPatternArgs'] patterns: The group of regular expression patterns to match against one or more file stores. Maximum of 100 entries. The sum of all lengths of regular expressions can't exceed 10 KiB.
12647
12676
  Structure is documented below.
12648
12677
  """
12649
12678
  if patterns is not None:
@@ -12653,7 +12682,7 @@ class PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollectionIncludeRegexe
12653
12682
  @pulumi.getter
12654
12683
  def patterns(self) -> Optional[Sequence['outputs.PreventionDiscoveryConfigTargetCloudSqlTargetFilterCollectionIncludeRegexesPattern']]:
12655
12684
  """
12656
- A group of regular expression patterns to match against one or more database resources. Maximum of 100 entries. The sum of all regular expressions' length can't exceed 10 KiB.
12685
+ The group of regular expression patterns to match against one or more file stores. Maximum of 100 entries. The sum of all lengths of regular expressions can't exceed 10 KiB.
12657
12686
  Structure is documented below.
12658
12687
  """
12659
12688
  return pulumi.get(self, "patterns")
@@ -12838,7 +12867,7 @@ class PreventionDiscoveryConfigTargetCloudSqlTargetGenerationCadence(dict):
12838
12867
  refresh_frequency: Optional[str] = None,
12839
12868
  schema_modified_cadence: Optional['outputs.PreventionDiscoveryConfigTargetCloudSqlTargetGenerationCadenceSchemaModifiedCadence'] = None):
12840
12869
  """
12841
- :param str refresh_frequency: Data changes (non-schema changes) in Cloud SQL tables can't trigger reprofiling. If you set this field, profiles are refreshed at this frequency regardless of whether the underlying tables have changes. Defaults to never.
12870
+ :param str refresh_frequency: Data changes in Cloud Storage can't trigger reprofiling. If you set this field, profiles are refreshed at this frequency regardless of whether the underlying buckets have changes. Defaults to never.
12842
12871
  Possible values are: `UPDATE_FREQUENCY_NEVER`, `UPDATE_FREQUENCY_DAILY`, `UPDATE_FREQUENCY_MONTHLY`.
12843
12872
  :param 'PreventionDiscoveryConfigTargetCloudSqlTargetGenerationCadenceSchemaModifiedCadenceArgs' schema_modified_cadence: Governs when to update data profiles when a schema is modified
12844
12873
  Structure is documented below.
@@ -12852,7 +12881,7 @@ class PreventionDiscoveryConfigTargetCloudSqlTargetGenerationCadence(dict):
12852
12881
  @pulumi.getter(name="refreshFrequency")
12853
12882
  def refresh_frequency(self) -> Optional[str]:
12854
12883
  """
12855
- Data changes (non-schema changes) in Cloud SQL tables can't trigger reprofiling. If you set this field, profiles are refreshed at this frequency regardless of whether the underlying tables have changes. Defaults to never.
12884
+ Data changes in Cloud Storage can't trigger reprofiling. If you set this field, profiles are refreshed at this frequency regardless of whether the underlying buckets have changes. Defaults to never.
12856
12885
  Possible values are: `UPDATE_FREQUENCY_NEVER`, `UPDATE_FREQUENCY_DAILY`, `UPDATE_FREQUENCY_MONTHLY`.
12857
12886
  """
12858
12887
  return pulumi.get(self, "refresh_frequency")
@@ -12902,6 +12931,551 @@ class PreventionDiscoveryConfigTargetCloudSqlTargetGenerationCadenceSchemaModifi
12902
12931
  return pulumi.get(self, "types")
12903
12932
 
12904
12933
 
12934
+ @pulumi.output_type
12935
+ class PreventionDiscoveryConfigTargetCloudStorageTarget(dict):
12936
+ @staticmethod
12937
+ def __key_warning(key: str):
12938
+ suggest = None
12939
+ if key == "generationCadence":
12940
+ suggest = "generation_cadence"
12941
+
12942
+ if suggest:
12943
+ pulumi.log.warn(f"Key '{key}' not found in PreventionDiscoveryConfigTargetCloudStorageTarget. Access the value via the '{suggest}' property getter instead.")
12944
+
12945
+ def __getitem__(self, key: str) -> Any:
12946
+ PreventionDiscoveryConfigTargetCloudStorageTarget.__key_warning(key)
12947
+ return super().__getitem__(key)
12948
+
12949
+ def get(self, key: str, default = None) -> Any:
12950
+ PreventionDiscoveryConfigTargetCloudStorageTarget.__key_warning(key)
12951
+ return super().get(key, default)
12952
+
12953
+ def __init__(__self__, *,
12954
+ filter: 'outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilter',
12955
+ conditions: Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetConditions'] = None,
12956
+ disabled: Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetDisabled'] = None,
12957
+ generation_cadence: Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetGenerationCadence'] = None):
12958
+ """
12959
+ :param 'PreventionDiscoveryConfigTargetCloudStorageTargetFilterArgs' filter: The buckets the generation_cadence applies to. The first target with a matching filter will be the one to apply to a bucket.
12960
+ Structure is documented below.
12961
+ :param 'PreventionDiscoveryConfigTargetCloudStorageTargetConditionsArgs' conditions: In addition to matching the filter, these conditions must be true before a profile is generated.
12962
+ Structure is documented below.
12963
+ :param 'PreventionDiscoveryConfigTargetCloudStorageTargetDisabledArgs' disabled: Disable profiling for buckets that match this filter.
12964
+ :param 'PreventionDiscoveryConfigTargetCloudStorageTargetGenerationCadenceArgs' generation_cadence: How often and when to update profiles. New buckets that match both the filter and conditions are scanned as quickly as possible depending on system capacity.
12965
+ Structure is documented below.
12966
+ """
12967
+ pulumi.set(__self__, "filter", filter)
12968
+ if conditions is not None:
12969
+ pulumi.set(__self__, "conditions", conditions)
12970
+ if disabled is not None:
12971
+ pulumi.set(__self__, "disabled", disabled)
12972
+ if generation_cadence is not None:
12973
+ pulumi.set(__self__, "generation_cadence", generation_cadence)
12974
+
12975
+ @property
12976
+ @pulumi.getter
12977
+ def filter(self) -> 'outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilter':
12978
+ """
12979
+ The buckets the generation_cadence applies to. The first target with a matching filter will be the one to apply to a bucket.
12980
+ Structure is documented below.
12981
+ """
12982
+ return pulumi.get(self, "filter")
12983
+
12984
+ @property
12985
+ @pulumi.getter
12986
+ def conditions(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetConditions']:
12987
+ """
12988
+ In addition to matching the filter, these conditions must be true before a profile is generated.
12989
+ Structure is documented below.
12990
+ """
12991
+ return pulumi.get(self, "conditions")
12992
+
12993
+ @property
12994
+ @pulumi.getter
12995
+ def disabled(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetDisabled']:
12996
+ """
12997
+ Disable profiling for buckets that match this filter.
12998
+ """
12999
+ return pulumi.get(self, "disabled")
13000
+
13001
+ @property
13002
+ @pulumi.getter(name="generationCadence")
13003
+ def generation_cadence(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetGenerationCadence']:
13004
+ """
13005
+ How often and when to update profiles. New buckets that match both the filter and conditions are scanned as quickly as possible depending on system capacity.
13006
+ Structure is documented below.
13007
+ """
13008
+ return pulumi.get(self, "generation_cadence")
13009
+
13010
+
13011
+ @pulumi.output_type
13012
+ class PreventionDiscoveryConfigTargetCloudStorageTargetConditions(dict):
13013
+ @staticmethod
13014
+ def __key_warning(key: str):
13015
+ suggest = None
13016
+ if key == "cloudStorageConditions":
13017
+ suggest = "cloud_storage_conditions"
13018
+ elif key == "createdAfter":
13019
+ suggest = "created_after"
13020
+ elif key == "minAge":
13021
+ suggest = "min_age"
13022
+
13023
+ if suggest:
13024
+ pulumi.log.warn(f"Key '{key}' not found in PreventionDiscoveryConfigTargetCloudStorageTargetConditions. Access the value via the '{suggest}' property getter instead.")
13025
+
13026
+ def __getitem__(self, key: str) -> Any:
13027
+ PreventionDiscoveryConfigTargetCloudStorageTargetConditions.__key_warning(key)
13028
+ return super().__getitem__(key)
13029
+
13030
+ def get(self, key: str, default = None) -> Any:
13031
+ PreventionDiscoveryConfigTargetCloudStorageTargetConditions.__key_warning(key)
13032
+ return super().get(key, default)
13033
+
13034
+ def __init__(__self__, *,
13035
+ cloud_storage_conditions: Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetConditionsCloudStorageConditions'] = None,
13036
+ created_after: Optional[str] = None,
13037
+ min_age: Optional[str] = None):
13038
+ """
13039
+ :param 'PreventionDiscoveryConfigTargetCloudStorageTargetConditionsCloudStorageConditionsArgs' cloud_storage_conditions: Cloud Storage conditions.
13040
+ Structure is documented below.
13041
+ :param str created_after: File store must have been created after this date. Used to avoid backfilling. A timestamp in RFC3339 UTC "Zulu" format with nanosecond resolution and upto nine fractional digits.
13042
+ :param str min_age: Duration format. Minimum age a file store must have. If set, the value must be 1 hour or greater.
13043
+ """
13044
+ if cloud_storage_conditions is not None:
13045
+ pulumi.set(__self__, "cloud_storage_conditions", cloud_storage_conditions)
13046
+ if created_after is not None:
13047
+ pulumi.set(__self__, "created_after", created_after)
13048
+ if min_age is not None:
13049
+ pulumi.set(__self__, "min_age", min_age)
13050
+
13051
+ @property
13052
+ @pulumi.getter(name="cloudStorageConditions")
13053
+ def cloud_storage_conditions(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetConditionsCloudStorageConditions']:
13054
+ """
13055
+ Cloud Storage conditions.
13056
+ Structure is documented below.
13057
+ """
13058
+ return pulumi.get(self, "cloud_storage_conditions")
13059
+
13060
+ @property
13061
+ @pulumi.getter(name="createdAfter")
13062
+ def created_after(self) -> Optional[str]:
13063
+ """
13064
+ File store must have been created after this date. Used to avoid backfilling. A timestamp in RFC3339 UTC "Zulu" format with nanosecond resolution and upto nine fractional digits.
13065
+ """
13066
+ return pulumi.get(self, "created_after")
13067
+
13068
+ @property
13069
+ @pulumi.getter(name="minAge")
13070
+ def min_age(self) -> Optional[str]:
13071
+ """
13072
+ Duration format. Minimum age a file store must have. If set, the value must be 1 hour or greater.
13073
+ """
13074
+ return pulumi.get(self, "min_age")
13075
+
13076
+
13077
+ @pulumi.output_type
13078
+ class PreventionDiscoveryConfigTargetCloudStorageTargetConditionsCloudStorageConditions(dict):
13079
+ @staticmethod
13080
+ def __key_warning(key: str):
13081
+ suggest = None
13082
+ if key == "includedBucketAttributes":
13083
+ suggest = "included_bucket_attributes"
13084
+ elif key == "includedObjectAttributes":
13085
+ suggest = "included_object_attributes"
13086
+
13087
+ if suggest:
13088
+ pulumi.log.warn(f"Key '{key}' not found in PreventionDiscoveryConfigTargetCloudStorageTargetConditionsCloudStorageConditions. Access the value via the '{suggest}' property getter instead.")
13089
+
13090
+ def __getitem__(self, key: str) -> Any:
13091
+ PreventionDiscoveryConfigTargetCloudStorageTargetConditionsCloudStorageConditions.__key_warning(key)
13092
+ return super().__getitem__(key)
13093
+
13094
+ def get(self, key: str, default = None) -> Any:
13095
+ PreventionDiscoveryConfigTargetCloudStorageTargetConditionsCloudStorageConditions.__key_warning(key)
13096
+ return super().get(key, default)
13097
+
13098
+ def __init__(__self__, *,
13099
+ included_bucket_attributes: Optional[Sequence[str]] = None,
13100
+ included_object_attributes: Optional[Sequence[str]] = None):
13101
+ """
13102
+ :param Sequence[str] included_bucket_attributes: Only objects with the specified attributes will be scanned. Defaults to [ALL_SUPPORTED_BUCKETS] if unset.
13103
+ Each value may be one of: `ALL_SUPPORTED_BUCKETS`, `AUTOCLASS_DISABLED`, `AUTOCLASS_ENABLED`.
13104
+ :param Sequence[str] included_object_attributes: Only objects with the specified attributes will be scanned. If an object has one of the specified attributes but is inside an excluded bucket, it will not be scanned. Defaults to [ALL_SUPPORTED_OBJECTS]. A profile will be created even if no objects match the included_object_attributes.
13105
+ Each value may be one of: `ALL_SUPPORTED_OBJECTS`, `STANDARD`, `NEARLINE`, `COLDLINE`, `ARCHIVE`, `REGIONAL`, `MULTI_REGIONAL`, `DURABLE_REDUCED_AVAILABILITY`.
13106
+ """
13107
+ if included_bucket_attributes is not None:
13108
+ pulumi.set(__self__, "included_bucket_attributes", included_bucket_attributes)
13109
+ if included_object_attributes is not None:
13110
+ pulumi.set(__self__, "included_object_attributes", included_object_attributes)
13111
+
13112
+ @property
13113
+ @pulumi.getter(name="includedBucketAttributes")
13114
+ def included_bucket_attributes(self) -> Optional[Sequence[str]]:
13115
+ """
13116
+ Only objects with the specified attributes will be scanned. Defaults to [ALL_SUPPORTED_BUCKETS] if unset.
13117
+ Each value may be one of: `ALL_SUPPORTED_BUCKETS`, `AUTOCLASS_DISABLED`, `AUTOCLASS_ENABLED`.
13118
+ """
13119
+ return pulumi.get(self, "included_bucket_attributes")
13120
+
13121
+ @property
13122
+ @pulumi.getter(name="includedObjectAttributes")
13123
+ def included_object_attributes(self) -> Optional[Sequence[str]]:
13124
+ """
13125
+ Only objects with the specified attributes will be scanned. If an object has one of the specified attributes but is inside an excluded bucket, it will not be scanned. Defaults to [ALL_SUPPORTED_OBJECTS]. A profile will be created even if no objects match the included_object_attributes.
13126
+ Each value may be one of: `ALL_SUPPORTED_OBJECTS`, `STANDARD`, `NEARLINE`, `COLDLINE`, `ARCHIVE`, `REGIONAL`, `MULTI_REGIONAL`, `DURABLE_REDUCED_AVAILABILITY`.
13127
+ """
13128
+ return pulumi.get(self, "included_object_attributes")
13129
+
13130
+
13131
+ @pulumi.output_type
13132
+ class PreventionDiscoveryConfigTargetCloudStorageTargetDisabled(dict):
13133
+ def __init__(__self__):
13134
+ pass
13135
+
13136
+
13137
+ @pulumi.output_type
13138
+ class PreventionDiscoveryConfigTargetCloudStorageTargetFilter(dict):
13139
+ @staticmethod
13140
+ def __key_warning(key: str):
13141
+ suggest = None
13142
+ if key == "cloudStorageResourceReference":
13143
+ suggest = "cloud_storage_resource_reference"
13144
+
13145
+ if suggest:
13146
+ pulumi.log.warn(f"Key '{key}' not found in PreventionDiscoveryConfigTargetCloudStorageTargetFilter. Access the value via the '{suggest}' property getter instead.")
13147
+
13148
+ def __getitem__(self, key: str) -> Any:
13149
+ PreventionDiscoveryConfigTargetCloudStorageTargetFilter.__key_warning(key)
13150
+ return super().__getitem__(key)
13151
+
13152
+ def get(self, key: str, default = None) -> Any:
13153
+ PreventionDiscoveryConfigTargetCloudStorageTargetFilter.__key_warning(key)
13154
+ return super().get(key, default)
13155
+
13156
+ def __init__(__self__, *,
13157
+ cloud_storage_resource_reference: Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilterCloudStorageResourceReference'] = None,
13158
+ collection: Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollection'] = None,
13159
+ others: Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilterOthers'] = None):
13160
+ """
13161
+ :param 'PreventionDiscoveryConfigTargetCloudStorageTargetFilterCloudStorageResourceReferenceArgs' cloud_storage_resource_reference: The bucket to scan. Targets including this can only include one target (the target with this bucket). This enables profiling the contents of a single bucket, while the other options allow for easy profiling of many buckets within a project or an organization.
13162
+ Structure is documented below.
13163
+ :param 'PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionArgs' collection: A specific set of buckets for this filter to apply to.
13164
+ Structure is documented below.
13165
+ :param 'PreventionDiscoveryConfigTargetCloudStorageTargetFilterOthersArgs' others: Match discovery resources not covered by any other filter.
13166
+ """
13167
+ if cloud_storage_resource_reference is not None:
13168
+ pulumi.set(__self__, "cloud_storage_resource_reference", cloud_storage_resource_reference)
13169
+ if collection is not None:
13170
+ pulumi.set(__self__, "collection", collection)
13171
+ if others is not None:
13172
+ pulumi.set(__self__, "others", others)
13173
+
13174
+ @property
13175
+ @pulumi.getter(name="cloudStorageResourceReference")
13176
+ def cloud_storage_resource_reference(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilterCloudStorageResourceReference']:
13177
+ """
13178
+ The bucket to scan. Targets including this can only include one target (the target with this bucket). This enables profiling the contents of a single bucket, while the other options allow for easy profiling of many buckets within a project or an organization.
13179
+ Structure is documented below.
13180
+ """
13181
+ return pulumi.get(self, "cloud_storage_resource_reference")
13182
+
13183
+ @property
13184
+ @pulumi.getter
13185
+ def collection(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollection']:
13186
+ """
13187
+ A specific set of buckets for this filter to apply to.
13188
+ Structure is documented below.
13189
+ """
13190
+ return pulumi.get(self, "collection")
13191
+
13192
+ @property
13193
+ @pulumi.getter
13194
+ def others(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilterOthers']:
13195
+ """
13196
+ Match discovery resources not covered by any other filter.
13197
+ """
13198
+ return pulumi.get(self, "others")
13199
+
13200
+
13201
+ @pulumi.output_type
13202
+ class PreventionDiscoveryConfigTargetCloudStorageTargetFilterCloudStorageResourceReference(dict):
13203
+ @staticmethod
13204
+ def __key_warning(key: str):
13205
+ suggest = None
13206
+ if key == "bucketName":
13207
+ suggest = "bucket_name"
13208
+ elif key == "projectId":
13209
+ suggest = "project_id"
13210
+
13211
+ if suggest:
13212
+ pulumi.log.warn(f"Key '{key}' not found in PreventionDiscoveryConfigTargetCloudStorageTargetFilterCloudStorageResourceReference. Access the value via the '{suggest}' property getter instead.")
13213
+
13214
+ def __getitem__(self, key: str) -> Any:
13215
+ PreventionDiscoveryConfigTargetCloudStorageTargetFilterCloudStorageResourceReference.__key_warning(key)
13216
+ return super().__getitem__(key)
13217
+
13218
+ def get(self, key: str, default = None) -> Any:
13219
+ PreventionDiscoveryConfigTargetCloudStorageTargetFilterCloudStorageResourceReference.__key_warning(key)
13220
+ return super().get(key, default)
13221
+
13222
+ def __init__(__self__, *,
13223
+ bucket_name: Optional[str] = None,
13224
+ project_id: Optional[str] = None):
13225
+ """
13226
+ :param str bucket_name: The bucket to scan.
13227
+ :param str project_id: If within a project-level config, then this must match the config's project id.
13228
+ """
13229
+ if bucket_name is not None:
13230
+ pulumi.set(__self__, "bucket_name", bucket_name)
13231
+ if project_id is not None:
13232
+ pulumi.set(__self__, "project_id", project_id)
13233
+
13234
+ @property
13235
+ @pulumi.getter(name="bucketName")
13236
+ def bucket_name(self) -> Optional[str]:
13237
+ """
13238
+ The bucket to scan.
13239
+ """
13240
+ return pulumi.get(self, "bucket_name")
13241
+
13242
+ @property
13243
+ @pulumi.getter(name="projectId")
13244
+ def project_id(self) -> Optional[str]:
13245
+ """
13246
+ If within a project-level config, then this must match the config's project id.
13247
+ """
13248
+ return pulumi.get(self, "project_id")
13249
+
13250
+
13251
+ @pulumi.output_type
13252
+ class PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollection(dict):
13253
+ @staticmethod
13254
+ def __key_warning(key: str):
13255
+ suggest = None
13256
+ if key == "includeRegexes":
13257
+ suggest = "include_regexes"
13258
+
13259
+ if suggest:
13260
+ pulumi.log.warn(f"Key '{key}' not found in PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollection. Access the value via the '{suggest}' property getter instead.")
13261
+
13262
+ def __getitem__(self, key: str) -> Any:
13263
+ PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollection.__key_warning(key)
13264
+ return super().__getitem__(key)
13265
+
13266
+ def get(self, key: str, default = None) -> Any:
13267
+ PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollection.__key_warning(key)
13268
+ return super().get(key, default)
13269
+
13270
+ def __init__(__self__, *,
13271
+ include_regexes: Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexes'] = None):
13272
+ """
13273
+ :param 'PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesArgs' include_regexes: A collection of regular expressions to match a file store against.
13274
+ Structure is documented below.
13275
+ """
13276
+ if include_regexes is not None:
13277
+ pulumi.set(__self__, "include_regexes", include_regexes)
13278
+
13279
+ @property
13280
+ @pulumi.getter(name="includeRegexes")
13281
+ def include_regexes(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexes']:
13282
+ """
13283
+ A collection of regular expressions to match a file store against.
13284
+ Structure is documented below.
13285
+ """
13286
+ return pulumi.get(self, "include_regexes")
13287
+
13288
+
13289
+ @pulumi.output_type
13290
+ class PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexes(dict):
13291
+ def __init__(__self__, *,
13292
+ patterns: Optional[Sequence['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPattern']] = None):
13293
+ """
13294
+ :param Sequence['PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPatternArgs'] patterns: The group of regular expression patterns to match against one or more file stores. Maximum of 100 entries. The sum of all lengths of regular expressions can't exceed 10 KiB.
13295
+ Structure is documented below.
13296
+ """
13297
+ if patterns is not None:
13298
+ pulumi.set(__self__, "patterns", patterns)
13299
+
13300
+ @property
13301
+ @pulumi.getter
13302
+ def patterns(self) -> Optional[Sequence['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPattern']]:
13303
+ """
13304
+ The group of regular expression patterns to match against one or more file stores. Maximum of 100 entries. The sum of all lengths of regular expressions can't exceed 10 KiB.
13305
+ Structure is documented below.
13306
+ """
13307
+ return pulumi.get(self, "patterns")
13308
+
13309
+
13310
+ @pulumi.output_type
13311
+ class PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPattern(dict):
13312
+ @staticmethod
13313
+ def __key_warning(key: str):
13314
+ suggest = None
13315
+ if key == "cloudStorageRegex":
13316
+ suggest = "cloud_storage_regex"
13317
+
13318
+ if suggest:
13319
+ pulumi.log.warn(f"Key '{key}' not found in PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPattern. Access the value via the '{suggest}' property getter instead.")
13320
+
13321
+ def __getitem__(self, key: str) -> Any:
13322
+ PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPattern.__key_warning(key)
13323
+ return super().__getitem__(key)
13324
+
13325
+ def get(self, key: str, default = None) -> Any:
13326
+ PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPattern.__key_warning(key)
13327
+ return super().get(key, default)
13328
+
13329
+ def __init__(__self__, *,
13330
+ cloud_storage_regex: Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPatternCloudStorageRegex'] = None):
13331
+ """
13332
+ :param 'PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPatternCloudStorageRegexArgs' cloud_storage_regex: Regex for Cloud Storage.
13333
+ Structure is documented below.
13334
+ """
13335
+ if cloud_storage_regex is not None:
13336
+ pulumi.set(__self__, "cloud_storage_regex", cloud_storage_regex)
13337
+
13338
+ @property
13339
+ @pulumi.getter(name="cloudStorageRegex")
13340
+ def cloud_storage_regex(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPatternCloudStorageRegex']:
13341
+ """
13342
+ Regex for Cloud Storage.
13343
+ Structure is documented below.
13344
+ """
13345
+ return pulumi.get(self, "cloud_storage_regex")
13346
+
13347
+
13348
+ @pulumi.output_type
13349
+ class PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPatternCloudStorageRegex(dict):
13350
+ @staticmethod
13351
+ def __key_warning(key: str):
13352
+ suggest = None
13353
+ if key == "bucketNameRegex":
13354
+ suggest = "bucket_name_regex"
13355
+ elif key == "projectIdRegex":
13356
+ suggest = "project_id_regex"
13357
+
13358
+ if suggest:
13359
+ pulumi.log.warn(f"Key '{key}' not found in PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPatternCloudStorageRegex. Access the value via the '{suggest}' property getter instead.")
13360
+
13361
+ def __getitem__(self, key: str) -> Any:
13362
+ PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPatternCloudStorageRegex.__key_warning(key)
13363
+ return super().__getitem__(key)
13364
+
13365
+ def get(self, key: str, default = None) -> Any:
13366
+ PreventionDiscoveryConfigTargetCloudStorageTargetFilterCollectionIncludeRegexesPatternCloudStorageRegex.__key_warning(key)
13367
+ return super().get(key, default)
13368
+
13369
+ def __init__(__self__, *,
13370
+ bucket_name_regex: Optional[str] = None,
13371
+ project_id_regex: Optional[str] = None):
13372
+ """
13373
+ :param str bucket_name_regex: Regex to test the bucket name against. If empty, all buckets match. Example: "marketing2021" or "(marketing)\\d{4}" will both match the bucket gs://marketing2021
13374
+ :param str project_id_regex: For organizations, if unset, will match all projects.
13375
+ """
13376
+ if bucket_name_regex is not None:
13377
+ pulumi.set(__self__, "bucket_name_regex", bucket_name_regex)
13378
+ if project_id_regex is not None:
13379
+ pulumi.set(__self__, "project_id_regex", project_id_regex)
13380
+
13381
+ @property
13382
+ @pulumi.getter(name="bucketNameRegex")
13383
+ def bucket_name_regex(self) -> Optional[str]:
13384
+ """
13385
+ Regex to test the bucket name against. If empty, all buckets match. Example: "marketing2021" or "(marketing)\\d{4}" will both match the bucket gs://marketing2021
13386
+ """
13387
+ return pulumi.get(self, "bucket_name_regex")
13388
+
13389
+ @property
13390
+ @pulumi.getter(name="projectIdRegex")
13391
+ def project_id_regex(self) -> Optional[str]:
13392
+ """
13393
+ For organizations, if unset, will match all projects.
13394
+ """
13395
+ return pulumi.get(self, "project_id_regex")
13396
+
13397
+
13398
+ @pulumi.output_type
13399
+ class PreventionDiscoveryConfigTargetCloudStorageTargetFilterOthers(dict):
13400
+ def __init__(__self__):
13401
+ pass
13402
+
13403
+
13404
+ @pulumi.output_type
13405
+ class PreventionDiscoveryConfigTargetCloudStorageTargetGenerationCadence(dict):
13406
+ @staticmethod
13407
+ def __key_warning(key: str):
13408
+ suggest = None
13409
+ if key == "inspectTemplateModifiedCadence":
13410
+ suggest = "inspect_template_modified_cadence"
13411
+ elif key == "refreshFrequency":
13412
+ suggest = "refresh_frequency"
13413
+
13414
+ if suggest:
13415
+ pulumi.log.warn(f"Key '{key}' not found in PreventionDiscoveryConfigTargetCloudStorageTargetGenerationCadence. Access the value via the '{suggest}' property getter instead.")
13416
+
13417
+ def __getitem__(self, key: str) -> Any:
13418
+ PreventionDiscoveryConfigTargetCloudStorageTargetGenerationCadence.__key_warning(key)
13419
+ return super().__getitem__(key)
13420
+
13421
+ def get(self, key: str, default = None) -> Any:
13422
+ PreventionDiscoveryConfigTargetCloudStorageTargetGenerationCadence.__key_warning(key)
13423
+ return super().get(key, default)
13424
+
13425
+ def __init__(__self__, *,
13426
+ inspect_template_modified_cadence: Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetGenerationCadenceInspectTemplateModifiedCadence'] = None,
13427
+ refresh_frequency: Optional[str] = None):
13428
+ """
13429
+ :param 'PreventionDiscoveryConfigTargetCloudStorageTargetGenerationCadenceInspectTemplateModifiedCadenceArgs' inspect_template_modified_cadence: Governs when to update data profiles when the inspection rules defined by the `InspectTemplate` change. If not set, changing the template will not cause a data profile to update.
13430
+ Structure is documented below.
13431
+ :param str refresh_frequency: Data changes in Cloud Storage can't trigger reprofiling. If you set this field, profiles are refreshed at this frequency regardless of whether the underlying buckets have changes. Defaults to never.
13432
+ Possible values are: `UPDATE_FREQUENCY_NEVER`, `UPDATE_FREQUENCY_DAILY`, `UPDATE_FREQUENCY_MONTHLY`.
13433
+ """
13434
+ if inspect_template_modified_cadence is not None:
13435
+ pulumi.set(__self__, "inspect_template_modified_cadence", inspect_template_modified_cadence)
13436
+ if refresh_frequency is not None:
13437
+ pulumi.set(__self__, "refresh_frequency", refresh_frequency)
13438
+
13439
+ @property
13440
+ @pulumi.getter(name="inspectTemplateModifiedCadence")
13441
+ def inspect_template_modified_cadence(self) -> Optional['outputs.PreventionDiscoveryConfigTargetCloudStorageTargetGenerationCadenceInspectTemplateModifiedCadence']:
13442
+ """
13443
+ Governs when to update data profiles when the inspection rules defined by the `InspectTemplate` change. If not set, changing the template will not cause a data profile to update.
13444
+ Structure is documented below.
13445
+ """
13446
+ return pulumi.get(self, "inspect_template_modified_cadence")
13447
+
13448
+ @property
13449
+ @pulumi.getter(name="refreshFrequency")
13450
+ def refresh_frequency(self) -> Optional[str]:
13451
+ """
13452
+ Data changes in Cloud Storage can't trigger reprofiling. If you set this field, profiles are refreshed at this frequency regardless of whether the underlying buckets have changes. Defaults to never.
13453
+ Possible values are: `UPDATE_FREQUENCY_NEVER`, `UPDATE_FREQUENCY_DAILY`, `UPDATE_FREQUENCY_MONTHLY`.
13454
+ """
13455
+ return pulumi.get(self, "refresh_frequency")
13456
+
13457
+
13458
+ @pulumi.output_type
13459
+ class PreventionDiscoveryConfigTargetCloudStorageTargetGenerationCadenceInspectTemplateModifiedCadence(dict):
13460
+ def __init__(__self__, *,
13461
+ frequency: Optional[str] = None):
13462
+ """
13463
+ :param str frequency: How frequently data profiles can be updated when the template is modified. Defaults to never.
13464
+ Possible values are: `UPDATE_FREQUENCY_NEVER`, `UPDATE_FREQUENCY_DAILY`, `UPDATE_FREQUENCY_MONTHLY`.
13465
+ """
13466
+ if frequency is not None:
13467
+ pulumi.set(__self__, "frequency", frequency)
13468
+
13469
+ @property
13470
+ @pulumi.getter
13471
+ def frequency(self) -> Optional[str]:
13472
+ """
13473
+ How frequently data profiles can be updated when the template is modified. Defaults to never.
13474
+ Possible values are: `UPDATE_FREQUENCY_NEVER`, `UPDATE_FREQUENCY_DAILY`, `UPDATE_FREQUENCY_MONTHLY`.
13475
+ """
13476
+ return pulumi.get(self, "frequency")
13477
+
13478
+
12905
13479
  @pulumi.output_type
12906
13480
  class PreventionDiscoveryConfigTargetSecretsTarget(dict):
12907
13481
  def __init__(__self__):