pulumi-gcp 8.39.0a1752821510__py3-none-any.whl → 8.39.0a1753206228__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 (36) hide show
  1. pulumi_gcp/__init__.py +16 -0
  2. pulumi_gcp/apigee/_inputs.py +62 -0
  3. pulumi_gcp/apigee/instance.py +63 -0
  4. pulumi_gcp/apigee/outputs.py +37 -0
  5. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  6. pulumi_gcp/backupdisasterrecovery/service_config.py +297 -0
  7. pulumi_gcp/bigqueryanalyticshub/__init__.py +1 -0
  8. pulumi_gcp/bigqueryanalyticshub/_inputs.py +355 -0
  9. pulumi_gcp/bigqueryanalyticshub/data_exchange_subscription.py +1082 -0
  10. pulumi_gcp/bigqueryanalyticshub/listing.py +116 -0
  11. pulumi_gcp/bigqueryanalyticshub/outputs.py +287 -0
  12. pulumi_gcp/compute/__init__.py +1 -0
  13. pulumi_gcp/compute/_inputs.py +699 -19
  14. pulumi_gcp/compute/firewall.py +54 -0
  15. pulumi_gcp/compute/future_reservation.py +124 -0
  16. pulumi_gcp/compute/get_network_attachment.py +288 -0
  17. pulumi_gcp/compute/get_region_disk.py +23 -1
  18. pulumi_gcp/compute/get_reservation.py +45 -1
  19. pulumi_gcp/compute/interconnect.py +108 -0
  20. pulumi_gcp/compute/outputs.py +734 -15
  21. pulumi_gcp/compute/region_disk.py +115 -0
  22. pulumi_gcp/compute/reservation.py +449 -0
  23. pulumi_gcp/firebase/hosting_site.py +50 -2
  24. pulumi_gcp/firestore/__init__.py +1 -0
  25. pulumi_gcp/firestore/database.py +117 -1
  26. pulumi_gcp/firestore/get_document.py +234 -0
  27. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +12 -0
  28. pulumi_gcp/networksecurity/backend_authentication_config.py +12 -0
  29. pulumi_gcp/pulumi-plugin.json +1 -1
  30. pulumi_gcp/storage/bucket_object.py +47 -0
  31. pulumi_gcp/storage/get_bucket_object.py +12 -1
  32. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  33. {pulumi_gcp-8.39.0a1752821510.dist-info → pulumi_gcp-8.39.0a1753206228.dist-info}/METADATA +1 -1
  34. {pulumi_gcp-8.39.0a1752821510.dist-info → pulumi_gcp-8.39.0a1753206228.dist-info}/RECORD +36 -32
  35. {pulumi_gcp-8.39.0a1752821510.dist-info → pulumi_gcp-8.39.0a1753206228.dist-info}/WHEEL +0 -0
  36. {pulumi_gcp-8.39.0a1752821510.dist-info → pulumi_gcp-8.39.0a1753206228.dist-info}/top_level.txt +0 -0
@@ -78,6 +78,7 @@ __all__ = [
78
78
  'FirewallAllow',
79
79
  'FirewallDeny',
80
80
  'FirewallLogConfig',
81
+ 'FirewallParams',
81
82
  'FirewallPolicyRuleMatch',
82
83
  'FirewallPolicyRuleMatchLayer4Config',
83
84
  'FirewallPolicyRuleMatchSrcSecureTag',
@@ -89,6 +90,9 @@ __all__ = [
89
90
  'FirewallPolicyWithRulesRuleMatch',
90
91
  'FirewallPolicyWithRulesRuleMatchLayer4Config',
91
92
  'ForwardingRuleServiceDirectoryRegistrations',
93
+ 'FutureReservationAggregateReservation',
94
+ 'FutureReservationAggregateReservationReservedResource',
95
+ 'FutureReservationAggregateReservationReservedResourceAccelerator',
92
96
  'FutureReservationAutoCreatedReservationsDuration',
93
97
  'FutureReservationCommitmentInfo',
94
98
  'FutureReservationShareSettings',
@@ -268,6 +272,11 @@ __all__ = [
268
272
  'InstanceTemplateShieldedInstanceConfig',
269
273
  'InstantSnapshotIamBindingCondition',
270
274
  'InstantSnapshotIamMemberCondition',
275
+ 'InterconnectApplicationAwareInterconnect',
276
+ 'InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy',
277
+ 'InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentage',
278
+ 'InterconnectApplicationAwareInterconnectShapeAveragePercentage',
279
+ 'InterconnectApplicationAwareInterconnectStrictPriorityPolicy',
271
280
  'InterconnectAttachmentGroupAttachment',
272
281
  'InterconnectAttachmentGroupConfigured',
273
282
  'InterconnectAttachmentGroupConfiguredAvailabilitySla',
@@ -573,6 +582,8 @@ __all__ = [
573
582
  'RegionUrlMapPathMatcherRouteRuleRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAdd',
574
583
  'RegionUrlMapPathMatcherRouteRuleUrlRedirect',
575
584
  'RegionUrlMapTest',
585
+ 'ReservationDeleteAfterDuration',
586
+ 'ReservationReservationSharingPolicy',
576
587
  'ReservationShareSettings',
577
588
  'ReservationShareSettingsProjectMap',
578
589
  'ReservationSpecificReservation',
@@ -932,6 +943,7 @@ __all__ = [
932
943
  'GetMachineTypesMachineTypeAcceleratorResult',
933
944
  'GetMachineTypesMachineTypeBundledLocalSsdResult',
934
945
  'GetMachineTypesMachineTypeDeprecatedResult',
946
+ 'GetNetworkAttachmentConnectionEndpointResult',
935
947
  'GetRegionBackendServiceBackendResult',
936
948
  'GetRegionBackendServiceBackendCustomMetricResult',
937
949
  'GetRegionBackendServiceCdnPolicyResult',
@@ -1008,6 +1020,8 @@ __all__ = [
1008
1020
  'GetRegionNetworkEndpointGroupCloudRunResult',
1009
1021
  'GetRegionNetworkEndpointGroupPscDataResult',
1010
1022
  'GetRegionNetworkEndpointGroupServerlessDeploymentResult',
1023
+ 'GetReservationDeleteAfterDurationResult',
1024
+ 'GetReservationReservationSharingPolicyResult',
1011
1025
  'GetReservationShareSettingResult',
1012
1026
  'GetReservationShareSettingProjectMapResult',
1013
1027
  'GetReservationSpecificReservationResult',
@@ -5391,6 +5405,52 @@ class FirewallLogConfig(dict):
5391
5405
  return pulumi.get(self, "metadata")
5392
5406
 
5393
5407
 
5408
+ @pulumi.output_type
5409
+ class FirewallParams(dict):
5410
+ @staticmethod
5411
+ def __key_warning(key: str):
5412
+ suggest = None
5413
+ if key == "resourceManagerTags":
5414
+ suggest = "resource_manager_tags"
5415
+
5416
+ if suggest:
5417
+ pulumi.log.warn(f"Key '{key}' not found in FirewallParams. Access the value via the '{suggest}' property getter instead.")
5418
+
5419
+ def __getitem__(self, key: str) -> Any:
5420
+ FirewallParams.__key_warning(key)
5421
+ return super().__getitem__(key)
5422
+
5423
+ def get(self, key: str, default = None) -> Any:
5424
+ FirewallParams.__key_warning(key)
5425
+ return super().get(key, default)
5426
+
5427
+ def __init__(__self__, *,
5428
+ resource_manager_tags: Optional[Mapping[str, builtins.str]] = None):
5429
+ """
5430
+ :param Mapping[str, builtins.str] resource_manager_tags: Resource manager tags to be bound to the firewall. Tag keys and values have the
5431
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
5432
+ and values are in the format tagValues/456. The field is ignored when empty.
5433
+ The field is immutable and causes resource replacement when mutated. This field is only
5434
+ set at create time and modifying this field after creation will trigger recreation.
5435
+ To apply tags to an existing resource, see the tags.TagBinding resource.
5436
+ """
5437
+ if resource_manager_tags is not None:
5438
+ pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
5439
+
5440
+ @property
5441
+ @pulumi.getter(name="resourceManagerTags")
5442
+ def resource_manager_tags(self) -> Optional[Mapping[str, builtins.str]]:
5443
+ """
5444
+ Resource manager tags to be bound to the firewall. Tag keys and values have the
5445
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
5446
+ and values are in the format tagValues/456. The field is ignored when empty.
5447
+ The field is immutable and causes resource replacement when mutated. This field is only
5448
+ set at create time and modifying this field after creation will trigger recreation.
5449
+ To apply tags to an existing resource, see the tags.TagBinding resource.
5450
+ """
5451
+ return pulumi.get(self, "resource_manager_tags")
5452
+
5453
+
5394
5454
  @pulumi.output_type
5395
5455
  class FirewallPolicyRuleMatch(dict):
5396
5456
  @staticmethod
@@ -6841,6 +6901,146 @@ class ForwardingRuleServiceDirectoryRegistrations(dict):
6841
6901
  return pulumi.get(self, "service")
6842
6902
 
6843
6903
 
6904
+ @pulumi.output_type
6905
+ class FutureReservationAggregateReservation(dict):
6906
+ @staticmethod
6907
+ def __key_warning(key: str):
6908
+ suggest = None
6909
+ if key == "reservedResources":
6910
+ suggest = "reserved_resources"
6911
+ elif key == "vmFamily":
6912
+ suggest = "vm_family"
6913
+ elif key == "workloadType":
6914
+ suggest = "workload_type"
6915
+
6916
+ if suggest:
6917
+ pulumi.log.warn(f"Key '{key}' not found in FutureReservationAggregateReservation. Access the value via the '{suggest}' property getter instead.")
6918
+
6919
+ def __getitem__(self, key: str) -> Any:
6920
+ FutureReservationAggregateReservation.__key_warning(key)
6921
+ return super().__getitem__(key)
6922
+
6923
+ def get(self, key: str, default = None) -> Any:
6924
+ FutureReservationAggregateReservation.__key_warning(key)
6925
+ return super().get(key, default)
6926
+
6927
+ def __init__(__self__, *,
6928
+ reserved_resources: Sequence['outputs.FutureReservationAggregateReservationReservedResource'],
6929
+ vm_family: Optional[builtins.str] = None,
6930
+ workload_type: Optional[builtins.str] = None):
6931
+ """
6932
+ :param Sequence['FutureReservationAggregateReservationReservedResourceArgs'] reserved_resources: futureReservations.list of reserved resources (CPUs, memory, accelerators).
6933
+ Structure is documented below.
6934
+ :param builtins.str vm_family: The VM family that all instances scheduled against this reservation must belong to.
6935
+ Possible values are: `VM_FAMILY_CLOUD_TPU_DEVICE_CT3`, `VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L`, `VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP`, `VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT6E`, `VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P`, `VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P`, `VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P`.
6936
+ :param builtins.str workload_type: The workload type of the instances that will target this reservation.
6937
+ Possible values are: `BATCH`, `SERVING`, `UNSPECIFIED`.
6938
+ """
6939
+ pulumi.set(__self__, "reserved_resources", reserved_resources)
6940
+ if vm_family is not None:
6941
+ pulumi.set(__self__, "vm_family", vm_family)
6942
+ if workload_type is not None:
6943
+ pulumi.set(__self__, "workload_type", workload_type)
6944
+
6945
+ @property
6946
+ @pulumi.getter(name="reservedResources")
6947
+ def reserved_resources(self) -> Sequence['outputs.FutureReservationAggregateReservationReservedResource']:
6948
+ """
6949
+ futureReservations.list of reserved resources (CPUs, memory, accelerators).
6950
+ Structure is documented below.
6951
+ """
6952
+ return pulumi.get(self, "reserved_resources")
6953
+
6954
+ @property
6955
+ @pulumi.getter(name="vmFamily")
6956
+ def vm_family(self) -> Optional[builtins.str]:
6957
+ """
6958
+ The VM family that all instances scheduled against this reservation must belong to.
6959
+ Possible values are: `VM_FAMILY_CLOUD_TPU_DEVICE_CT3`, `VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L`, `VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP`, `VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT6E`, `VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P`, `VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P`, `VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P`.
6960
+ """
6961
+ return pulumi.get(self, "vm_family")
6962
+
6963
+ @property
6964
+ @pulumi.getter(name="workloadType")
6965
+ def workload_type(self) -> Optional[builtins.str]:
6966
+ """
6967
+ The workload type of the instances that will target this reservation.
6968
+ Possible values are: `BATCH`, `SERVING`, `UNSPECIFIED`.
6969
+ """
6970
+ return pulumi.get(self, "workload_type")
6971
+
6972
+
6973
+ @pulumi.output_type
6974
+ class FutureReservationAggregateReservationReservedResource(dict):
6975
+ def __init__(__self__, *,
6976
+ accelerator: Optional['outputs.FutureReservationAggregateReservationReservedResourceAccelerator'] = None):
6977
+ """
6978
+ :param 'FutureReservationAggregateReservationReservedResourceAcceleratorArgs' accelerator: Properties of accelerator resources in this reservation.
6979
+ Structure is documented below.
6980
+ """
6981
+ if accelerator is not None:
6982
+ pulumi.set(__self__, "accelerator", accelerator)
6983
+
6984
+ @property
6985
+ @pulumi.getter
6986
+ def accelerator(self) -> Optional['outputs.FutureReservationAggregateReservationReservedResourceAccelerator']:
6987
+ """
6988
+ Properties of accelerator resources in this reservation.
6989
+ Structure is documented below.
6990
+ """
6991
+ return pulumi.get(self, "accelerator")
6992
+
6993
+
6994
+ @pulumi.output_type
6995
+ class FutureReservationAggregateReservationReservedResourceAccelerator(dict):
6996
+ @staticmethod
6997
+ def __key_warning(key: str):
6998
+ suggest = None
6999
+ if key == "acceleratorCount":
7000
+ suggest = "accelerator_count"
7001
+ elif key == "acceleratorType":
7002
+ suggest = "accelerator_type"
7003
+
7004
+ if suggest:
7005
+ pulumi.log.warn(f"Key '{key}' not found in FutureReservationAggregateReservationReservedResourceAccelerator. Access the value via the '{suggest}' property getter instead.")
7006
+
7007
+ def __getitem__(self, key: str) -> Any:
7008
+ FutureReservationAggregateReservationReservedResourceAccelerator.__key_warning(key)
7009
+ return super().__getitem__(key)
7010
+
7011
+ def get(self, key: str, default = None) -> Any:
7012
+ FutureReservationAggregateReservationReservedResourceAccelerator.__key_warning(key)
7013
+ return super().get(key, default)
7014
+
7015
+ def __init__(__self__, *,
7016
+ accelerator_count: Optional[builtins.int] = None,
7017
+ accelerator_type: Optional[builtins.str] = None):
7018
+ """
7019
+ :param builtins.int accelerator_count: Number of accelerators of specified type.
7020
+ :param builtins.str accelerator_type: Full or partial URL to accelerator type. e.g. "projects/{PROJECT}/zones/{ZONE}/acceleratorTypes/ct4l"
7021
+ """
7022
+ if accelerator_count is not None:
7023
+ pulumi.set(__self__, "accelerator_count", accelerator_count)
7024
+ if accelerator_type is not None:
7025
+ pulumi.set(__self__, "accelerator_type", accelerator_type)
7026
+
7027
+ @property
7028
+ @pulumi.getter(name="acceleratorCount")
7029
+ def accelerator_count(self) -> Optional[builtins.int]:
7030
+ """
7031
+ Number of accelerators of specified type.
7032
+ """
7033
+ return pulumi.get(self, "accelerator_count")
7034
+
7035
+ @property
7036
+ @pulumi.getter(name="acceleratorType")
7037
+ def accelerator_type(self) -> Optional[builtins.str]:
7038
+ """
7039
+ Full or partial URL to accelerator type. e.g. "projects/{PROJECT}/zones/{ZONE}/acceleratorTypes/ct4l"
7040
+ """
7041
+ return pulumi.get(self, "accelerator_type")
7042
+
7043
+
6844
7044
  @pulumi.output_type
6845
7045
  class FutureReservationAutoCreatedReservationsDuration(dict):
6846
7046
  def __init__(__self__, *,
@@ -20644,6 +20844,242 @@ class InstantSnapshotIamMemberCondition(dict):
20644
20844
  return pulumi.get(self, "description")
20645
20845
 
20646
20846
 
20847
+ @pulumi.output_type
20848
+ class InterconnectApplicationAwareInterconnect(dict):
20849
+ @staticmethod
20850
+ def __key_warning(key: str):
20851
+ suggest = None
20852
+ if key == "bandwidthPercentagePolicy":
20853
+ suggest = "bandwidth_percentage_policy"
20854
+ elif key == "profileDescription":
20855
+ suggest = "profile_description"
20856
+ elif key == "shapeAveragePercentages":
20857
+ suggest = "shape_average_percentages"
20858
+ elif key == "strictPriorityPolicy":
20859
+ suggest = "strict_priority_policy"
20860
+
20861
+ if suggest:
20862
+ pulumi.log.warn(f"Key '{key}' not found in InterconnectApplicationAwareInterconnect. Access the value via the '{suggest}' property getter instead.")
20863
+
20864
+ def __getitem__(self, key: str) -> Any:
20865
+ InterconnectApplicationAwareInterconnect.__key_warning(key)
20866
+ return super().__getitem__(key)
20867
+
20868
+ def get(self, key: str, default = None) -> Any:
20869
+ InterconnectApplicationAwareInterconnect.__key_warning(key)
20870
+ return super().get(key, default)
20871
+
20872
+ def __init__(__self__, *,
20873
+ bandwidth_percentage_policy: Optional['outputs.InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy'] = None,
20874
+ profile_description: Optional[builtins.str] = None,
20875
+ shape_average_percentages: Optional[Sequence['outputs.InterconnectApplicationAwareInterconnectShapeAveragePercentage']] = None,
20876
+ strict_priority_policy: Optional['outputs.InterconnectApplicationAwareInterconnectStrictPriorityPolicy'] = None):
20877
+ """
20878
+ :param 'InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyArgs' bandwidth_percentage_policy: Bandwidth Percentage policy allows you to have granular control over how your Interconnect
20879
+ bandwidth is utilized among your workloads mapping to different traffic classes.
20880
+ Structure is documented below.
20881
+ :param builtins.str profile_description: A description for the AAI profile on this interconnect.
20882
+ :param Sequence['InterconnectApplicationAwareInterconnectShapeAveragePercentageArgs'] shape_average_percentages: Optional field to specify a list of shape average percentages to be
20883
+ applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy
20884
+ Structure is documented below.
20885
+ :param 'InterconnectApplicationAwareInterconnectStrictPriorityPolicyArgs' strict_priority_policy: Specify configuration for StrictPriorityPolicy.
20886
+ """
20887
+ if bandwidth_percentage_policy is not None:
20888
+ pulumi.set(__self__, "bandwidth_percentage_policy", bandwidth_percentage_policy)
20889
+ if profile_description is not None:
20890
+ pulumi.set(__self__, "profile_description", profile_description)
20891
+ if shape_average_percentages is not None:
20892
+ pulumi.set(__self__, "shape_average_percentages", shape_average_percentages)
20893
+ if strict_priority_policy is not None:
20894
+ pulumi.set(__self__, "strict_priority_policy", strict_priority_policy)
20895
+
20896
+ @property
20897
+ @pulumi.getter(name="bandwidthPercentagePolicy")
20898
+ def bandwidth_percentage_policy(self) -> Optional['outputs.InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy']:
20899
+ """
20900
+ Bandwidth Percentage policy allows you to have granular control over how your Interconnect
20901
+ bandwidth is utilized among your workloads mapping to different traffic classes.
20902
+ Structure is documented below.
20903
+ """
20904
+ return pulumi.get(self, "bandwidth_percentage_policy")
20905
+
20906
+ @property
20907
+ @pulumi.getter(name="profileDescription")
20908
+ def profile_description(self) -> Optional[builtins.str]:
20909
+ """
20910
+ A description for the AAI profile on this interconnect.
20911
+ """
20912
+ return pulumi.get(self, "profile_description")
20913
+
20914
+ @property
20915
+ @pulumi.getter(name="shapeAveragePercentages")
20916
+ def shape_average_percentages(self) -> Optional[Sequence['outputs.InterconnectApplicationAwareInterconnectShapeAveragePercentage']]:
20917
+ """
20918
+ Optional field to specify a list of shape average percentages to be
20919
+ applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy
20920
+ Structure is documented below.
20921
+ """
20922
+ return pulumi.get(self, "shape_average_percentages")
20923
+
20924
+ @property
20925
+ @pulumi.getter(name="strictPriorityPolicy")
20926
+ def strict_priority_policy(self) -> Optional['outputs.InterconnectApplicationAwareInterconnectStrictPriorityPolicy']:
20927
+ """
20928
+ Specify configuration for StrictPriorityPolicy.
20929
+ """
20930
+ return pulumi.get(self, "strict_priority_policy")
20931
+
20932
+
20933
+ @pulumi.output_type
20934
+ class InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy(dict):
20935
+ @staticmethod
20936
+ def __key_warning(key: str):
20937
+ suggest = None
20938
+ if key == "bandwidthPercentages":
20939
+ suggest = "bandwidth_percentages"
20940
+
20941
+ if suggest:
20942
+ pulumi.log.warn(f"Key '{key}' not found in InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy. Access the value via the '{suggest}' property getter instead.")
20943
+
20944
+ def __getitem__(self, key: str) -> Any:
20945
+ InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy.__key_warning(key)
20946
+ return super().__getitem__(key)
20947
+
20948
+ def get(self, key: str, default = None) -> Any:
20949
+ InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy.__key_warning(key)
20950
+ return super().get(key, default)
20951
+
20952
+ def __init__(__self__, *,
20953
+ bandwidth_percentages: Optional[Sequence['outputs.InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentage']] = None):
20954
+ """
20955
+ :param Sequence['InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentageArgs'] bandwidth_percentages: Specify bandwidth percentages for various traffic classes for queuing
20956
+ type Bandwidth Percent.
20957
+ Structure is documented below.
20958
+ """
20959
+ if bandwidth_percentages is not None:
20960
+ pulumi.set(__self__, "bandwidth_percentages", bandwidth_percentages)
20961
+
20962
+ @property
20963
+ @pulumi.getter(name="bandwidthPercentages")
20964
+ def bandwidth_percentages(self) -> Optional[Sequence['outputs.InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentage']]:
20965
+ """
20966
+ Specify bandwidth percentages for various traffic classes for queuing
20967
+ type Bandwidth Percent.
20968
+ Structure is documented below.
20969
+ """
20970
+ return pulumi.get(self, "bandwidth_percentages")
20971
+
20972
+
20973
+ @pulumi.output_type
20974
+ class InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentage(dict):
20975
+ @staticmethod
20976
+ def __key_warning(key: str):
20977
+ suggest = None
20978
+ if key == "trafficClass":
20979
+ suggest = "traffic_class"
20980
+
20981
+ if suggest:
20982
+ pulumi.log.warn(f"Key '{key}' not found in InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentage. Access the value via the '{suggest}' property getter instead.")
20983
+
20984
+ def __getitem__(self, key: str) -> Any:
20985
+ InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentage.__key_warning(key)
20986
+ return super().__getitem__(key)
20987
+
20988
+ def get(self, key: str, default = None) -> Any:
20989
+ InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentage.__key_warning(key)
20990
+ return super().get(key, default)
20991
+
20992
+ def __init__(__self__, *,
20993
+ percentage: Optional[builtins.int] = None,
20994
+ traffic_class: Optional[builtins.str] = None):
20995
+ """
20996
+ :param builtins.int percentage: Bandwidth percentage for a specific traffic class.
20997
+ :param builtins.str traffic_class: Enum representing the various traffic classes offered by AAI.
20998
+ Default value is `TC_UNSPECIFIED`.
20999
+ Possible values are: `TC_UNSPECIFIED`, `TC1`, `TC2`, `TC3`, `TC4`, `TC5`, `TC6`.
21000
+ """
21001
+ if percentage is not None:
21002
+ pulumi.set(__self__, "percentage", percentage)
21003
+ if traffic_class is not None:
21004
+ pulumi.set(__self__, "traffic_class", traffic_class)
21005
+
21006
+ @property
21007
+ @pulumi.getter
21008
+ def percentage(self) -> Optional[builtins.int]:
21009
+ """
21010
+ Bandwidth percentage for a specific traffic class.
21011
+ """
21012
+ return pulumi.get(self, "percentage")
21013
+
21014
+ @property
21015
+ @pulumi.getter(name="trafficClass")
21016
+ def traffic_class(self) -> Optional[builtins.str]:
21017
+ """
21018
+ Enum representing the various traffic classes offered by AAI.
21019
+ Default value is `TC_UNSPECIFIED`.
21020
+ Possible values are: `TC_UNSPECIFIED`, `TC1`, `TC2`, `TC3`, `TC4`, `TC5`, `TC6`.
21021
+ """
21022
+ return pulumi.get(self, "traffic_class")
21023
+
21024
+
21025
+ @pulumi.output_type
21026
+ class InterconnectApplicationAwareInterconnectShapeAveragePercentage(dict):
21027
+ @staticmethod
21028
+ def __key_warning(key: str):
21029
+ suggest = None
21030
+ if key == "trafficClass":
21031
+ suggest = "traffic_class"
21032
+
21033
+ if suggest:
21034
+ pulumi.log.warn(f"Key '{key}' not found in InterconnectApplicationAwareInterconnectShapeAveragePercentage. Access the value via the '{suggest}' property getter instead.")
21035
+
21036
+ def __getitem__(self, key: str) -> Any:
21037
+ InterconnectApplicationAwareInterconnectShapeAveragePercentage.__key_warning(key)
21038
+ return super().__getitem__(key)
21039
+
21040
+ def get(self, key: str, default = None) -> Any:
21041
+ InterconnectApplicationAwareInterconnectShapeAveragePercentage.__key_warning(key)
21042
+ return super().get(key, default)
21043
+
21044
+ def __init__(__self__, *,
21045
+ percentage: Optional[builtins.int] = None,
21046
+ traffic_class: Optional[builtins.str] = None):
21047
+ """
21048
+ :param builtins.int percentage: Bandwidth percentage for a specific traffic class.
21049
+ :param builtins.str traffic_class: Enum representing the various traffic classes offered by AAI.
21050
+ Default value is `TC_UNSPECIFIED`.
21051
+ Possible values are: `TC_UNSPECIFIED`, `TC1`, `TC2`, `TC3`, `TC4`, `TC5`, `TC6`.
21052
+ """
21053
+ if percentage is not None:
21054
+ pulumi.set(__self__, "percentage", percentage)
21055
+ if traffic_class is not None:
21056
+ pulumi.set(__self__, "traffic_class", traffic_class)
21057
+
21058
+ @property
21059
+ @pulumi.getter
21060
+ def percentage(self) -> Optional[builtins.int]:
21061
+ """
21062
+ Bandwidth percentage for a specific traffic class.
21063
+ """
21064
+ return pulumi.get(self, "percentage")
21065
+
21066
+ @property
21067
+ @pulumi.getter(name="trafficClass")
21068
+ def traffic_class(self) -> Optional[builtins.str]:
21069
+ """
21070
+ Enum representing the various traffic classes offered by AAI.
21071
+ Default value is `TC_UNSPECIFIED`.
21072
+ Possible values are: `TC_UNSPECIFIED`, `TC1`, `TC2`, `TC3`, `TC4`, `TC5`, `TC6`.
21073
+ """
21074
+ return pulumi.get(self, "traffic_class")
21075
+
21076
+
21077
+ @pulumi.output_type
21078
+ class InterconnectApplicationAwareInterconnectStrictPriorityPolicy(dict):
21079
+ def __init__(__self__):
21080
+ pass
21081
+
21082
+
20647
21083
  @pulumi.output_type
20648
21084
  class InterconnectAttachmentGroupAttachment(dict):
20649
21085
  def __init__(__self__, *,
@@ -43490,6 +43926,75 @@ class RegionUrlMapTest(dict):
43490
43926
  return pulumi.get(self, "description")
43491
43927
 
43492
43928
 
43929
+ @pulumi.output_type
43930
+ class ReservationDeleteAfterDuration(dict):
43931
+ def __init__(__self__, *,
43932
+ nanos: Optional[builtins.int] = None,
43933
+ seconds: Optional[builtins.str] = None):
43934
+ """
43935
+ :param builtins.int nanos: Number of nanoseconds for the auto-delete duration.
43936
+ :param builtins.str seconds: Number of seconds for the auto-delete duration.
43937
+ """
43938
+ if nanos is not None:
43939
+ pulumi.set(__self__, "nanos", nanos)
43940
+ if seconds is not None:
43941
+ pulumi.set(__self__, "seconds", seconds)
43942
+
43943
+ @property
43944
+ @pulumi.getter
43945
+ def nanos(self) -> Optional[builtins.int]:
43946
+ """
43947
+ Number of nanoseconds for the auto-delete duration.
43948
+ """
43949
+ return pulumi.get(self, "nanos")
43950
+
43951
+ @property
43952
+ @pulumi.getter
43953
+ def seconds(self) -> Optional[builtins.str]:
43954
+ """
43955
+ Number of seconds for the auto-delete duration.
43956
+ """
43957
+ return pulumi.get(self, "seconds")
43958
+
43959
+
43960
+ @pulumi.output_type
43961
+ class ReservationReservationSharingPolicy(dict):
43962
+ @staticmethod
43963
+ def __key_warning(key: str):
43964
+ suggest = None
43965
+ if key == "serviceShareType":
43966
+ suggest = "service_share_type"
43967
+
43968
+ if suggest:
43969
+ pulumi.log.warn(f"Key '{key}' not found in ReservationReservationSharingPolicy. Access the value via the '{suggest}' property getter instead.")
43970
+
43971
+ def __getitem__(self, key: str) -> Any:
43972
+ ReservationReservationSharingPolicy.__key_warning(key)
43973
+ return super().__getitem__(key)
43974
+
43975
+ def get(self, key: str, default = None) -> Any:
43976
+ ReservationReservationSharingPolicy.__key_warning(key)
43977
+ return super().get(key, default)
43978
+
43979
+ def __init__(__self__, *,
43980
+ service_share_type: Optional[builtins.str] = None):
43981
+ """
43982
+ :param builtins.str service_share_type: Sharing config for all Google Cloud services.
43983
+ Possible values are: `ALLOW_ALL`, `DISALLOW_ALL`.
43984
+ """
43985
+ if service_share_type is not None:
43986
+ pulumi.set(__self__, "service_share_type", service_share_type)
43987
+
43988
+ @property
43989
+ @pulumi.getter(name="serviceShareType")
43990
+ def service_share_type(self) -> Optional[builtins.str]:
43991
+ """
43992
+ Sharing config for all Google Cloud services.
43993
+ Possible values are: `ALLOW_ALL`, `DISALLOW_ALL`.
43994
+ """
43995
+ return pulumi.get(self, "service_share_type")
43996
+
43997
+
43493
43998
  @pulumi.output_type
43494
43999
  class ReservationShareSettings(dict):
43495
44000
  @staticmethod
@@ -43513,15 +44018,19 @@ class ReservationShareSettings(dict):
43513
44018
 
43514
44019
  def __init__(__self__, *,
43515
44020
  project_maps: Optional[Sequence['outputs.ReservationShareSettingsProjectMap']] = None,
44021
+ projects: Optional[Sequence[builtins.str]] = None,
43516
44022
  share_type: Optional[builtins.str] = None):
43517
44023
  """
43518
44024
  :param Sequence['ReservationShareSettingsProjectMapArgs'] project_maps: A map of project number and project config. This is only valid when shareType's value is SPECIFIC_PROJECTS.
43519
44025
  Structure is documented below.
44026
+ :param Sequence[builtins.str] projects: List of project IDs with which the reservation is shared.
43520
44027
  :param builtins.str share_type: Type of sharing for this shared-reservation
43521
44028
  Possible values are: `LOCAL`, `SPECIFIC_PROJECTS`.
43522
44029
  """
43523
44030
  if project_maps is not None:
43524
44031
  pulumi.set(__self__, "project_maps", project_maps)
44032
+ if projects is not None:
44033
+ pulumi.set(__self__, "projects", projects)
43525
44034
  if share_type is not None:
43526
44035
  pulumi.set(__self__, "share_type", share_type)
43527
44036
 
@@ -43534,6 +44043,14 @@ class ReservationShareSettings(dict):
43534
44043
  """
43535
44044
  return pulumi.get(self, "project_maps")
43536
44045
 
44046
+ @property
44047
+ @pulumi.getter
44048
+ def projects(self) -> Optional[Sequence[builtins.str]]:
44049
+ """
44050
+ List of project IDs with which the reservation is shared.
44051
+ """
44052
+ return pulumi.get(self, "projects")
44053
+
43537
44054
  @property
43538
44055
  @pulumi.getter(name="shareType")
43539
44056
  def share_type(self) -> Optional[builtins.str]:
@@ -43596,10 +44113,12 @@ class ReservationSpecificReservation(dict):
43596
44113
  @staticmethod
43597
44114
  def __key_warning(key: str):
43598
44115
  suggest = None
43599
- if key == "instanceProperties":
43600
- suggest = "instance_properties"
43601
- elif key == "inUseCount":
44116
+ if key == "inUseCount":
43602
44117
  suggest = "in_use_count"
44118
+ elif key == "instanceProperties":
44119
+ suggest = "instance_properties"
44120
+ elif key == "sourceInstanceTemplate":
44121
+ suggest = "source_instance_template"
43603
44122
 
43604
44123
  if suggest:
43605
44124
  pulumi.log.warn(f"Key '{key}' not found in ReservationSpecificReservation. Access the value via the '{suggest}' property getter instead.")
@@ -43614,19 +44133,25 @@ class ReservationSpecificReservation(dict):
43614
44133
 
43615
44134
  def __init__(__self__, *,
43616
44135
  count: builtins.int,
43617
- instance_properties: 'outputs.ReservationSpecificReservationInstanceProperties',
43618
- in_use_count: Optional[builtins.int] = None):
44136
+ in_use_count: Optional[builtins.int] = None,
44137
+ instance_properties: Optional['outputs.ReservationSpecificReservationInstanceProperties'] = None,
44138
+ source_instance_template: Optional[builtins.str] = None):
43619
44139
  """
43620
44140
  :param builtins.int count: The number of resources that are allocated.
43621
- :param 'ReservationSpecificReservationInstancePropertiesArgs' instance_properties: The instance properties for the reservation.
43622
- Structure is documented below.
43623
44141
  :param builtins.int in_use_count: (Output)
43624
44142
  How many instances are in use.
44143
+ :param 'ReservationSpecificReservationInstancePropertiesArgs' instance_properties: The instance properties for the reservation.
44144
+ Structure is documented below.
44145
+ :param builtins.str source_instance_template: Specifies the instance template to create the reservation. If you use this field, you must exclude the
44146
+ instanceProperties field.
43625
44147
  """
43626
44148
  pulumi.set(__self__, "count", count)
43627
- pulumi.set(__self__, "instance_properties", instance_properties)
43628
44149
  if in_use_count is not None:
43629
44150
  pulumi.set(__self__, "in_use_count", in_use_count)
44151
+ if instance_properties is not None:
44152
+ pulumi.set(__self__, "instance_properties", instance_properties)
44153
+ if source_instance_template is not None:
44154
+ pulumi.set(__self__, "source_instance_template", source_instance_template)
43630
44155
 
43631
44156
  @property
43632
44157
  @pulumi.getter
@@ -43636,9 +44161,18 @@ class ReservationSpecificReservation(dict):
43636
44161
  """
43637
44162
  return pulumi.get(self, "count")
43638
44163
 
44164
+ @property
44165
+ @pulumi.getter(name="inUseCount")
44166
+ def in_use_count(self) -> Optional[builtins.int]:
44167
+ """
44168
+ (Output)
44169
+ How many instances are in use.
44170
+ """
44171
+ return pulumi.get(self, "in_use_count")
44172
+
43639
44173
  @property
43640
44174
  @pulumi.getter(name="instanceProperties")
43641
- def instance_properties(self) -> 'outputs.ReservationSpecificReservationInstanceProperties':
44175
+ def instance_properties(self) -> Optional['outputs.ReservationSpecificReservationInstanceProperties']:
43642
44176
  """
43643
44177
  The instance properties for the reservation.
43644
44178
  Structure is documented below.
@@ -43646,13 +44180,13 @@ class ReservationSpecificReservation(dict):
43646
44180
  return pulumi.get(self, "instance_properties")
43647
44181
 
43648
44182
  @property
43649
- @pulumi.getter(name="inUseCount")
43650
- def in_use_count(self) -> Optional[builtins.int]:
44183
+ @pulumi.getter(name="sourceInstanceTemplate")
44184
+ def source_instance_template(self) -> Optional[builtins.str]:
43651
44185
  """
43652
- (Output)
43653
- How many instances are in use.
44186
+ Specifies the instance template to create the reservation. If you use this field, you must exclude the
44187
+ instanceProperties field.
43654
44188
  """
43655
- return pulumi.get(self, "in_use_count")
44189
+ return pulumi.get(self, "source_instance_template")
43656
44190
 
43657
44191
 
43658
44192
  @pulumi.output_type
@@ -43666,6 +44200,8 @@ class ReservationSpecificReservationInstanceProperties(dict):
43666
44200
  suggest = "guest_accelerators"
43667
44201
  elif key == "localSsds":
43668
44202
  suggest = "local_ssds"
44203
+ elif key == "maintenanceInterval":
44204
+ suggest = "maintenance_interval"
43669
44205
  elif key == "minCpuPlatform":
43670
44206
  suggest = "min_cpu_platform"
43671
44207
 
@@ -43684,6 +44220,7 @@ class ReservationSpecificReservationInstanceProperties(dict):
43684
44220
  machine_type: builtins.str,
43685
44221
  guest_accelerators: Optional[Sequence['outputs.ReservationSpecificReservationInstancePropertiesGuestAccelerator']] = None,
43686
44222
  local_ssds: Optional[Sequence['outputs.ReservationSpecificReservationInstancePropertiesLocalSsd']] = None,
44223
+ maintenance_interval: Optional[builtins.str] = None,
43687
44224
  min_cpu_platform: Optional[builtins.str] = None):
43688
44225
  """
43689
44226
  :param builtins.str machine_type: The name of the machine type to reserve.
@@ -43692,6 +44229,8 @@ class ReservationSpecificReservationInstanceProperties(dict):
43692
44229
  :param Sequence['ReservationSpecificReservationInstancePropertiesLocalSsdArgs'] local_ssds: The amount of local ssd to reserve with each instance. This
43693
44230
  reserves disks of type `local-ssd`.
43694
44231
  Structure is documented below.
44232
+ :param builtins.str maintenance_interval: Specifies the frequency of planned maintenance events.
44233
+ Possible values are: `AS_NEEDED`, `PERIODIC`, `RECURRENT`.
43695
44234
  :param builtins.str min_cpu_platform: The minimum CPU platform for the reservation. For example,
43696
44235
  `"Intel Skylake"`. See
43697
44236
  the CPU platform availability reference](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones)
@@ -43702,6 +44241,8 @@ class ReservationSpecificReservationInstanceProperties(dict):
43702
44241
  pulumi.set(__self__, "guest_accelerators", guest_accelerators)
43703
44242
  if local_ssds is not None:
43704
44243
  pulumi.set(__self__, "local_ssds", local_ssds)
44244
+ if maintenance_interval is not None:
44245
+ pulumi.set(__self__, "maintenance_interval", maintenance_interval)
43705
44246
  if min_cpu_platform is not None:
43706
44247
  pulumi.set(__self__, "min_cpu_platform", min_cpu_platform)
43707
44248
 
@@ -43732,6 +44273,15 @@ class ReservationSpecificReservationInstanceProperties(dict):
43732
44273
  """
43733
44274
  return pulumi.get(self, "local_ssds")
43734
44275
 
44276
+ @property
44277
+ @pulumi.getter(name="maintenanceInterval")
44278
+ def maintenance_interval(self) -> Optional[builtins.str]:
44279
+ """
44280
+ Specifies the frequency of planned maintenance events.
44281
+ Possible values are: `AS_NEEDED`, `PERIODIC`, `RECURRENT`.
44282
+ """
44283
+ return pulumi.get(self, "maintenance_interval")
44284
+
43735
44285
  @property
43736
44286
  @pulumi.getter(name="minCpuPlatform")
43737
44287
  def min_cpu_platform(self) -> Optional[builtins.str]:
@@ -48190,6 +48740,8 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
48190
48740
  suggest = "json_parsing"
48191
48741
  elif key == "logLevel":
48192
48742
  suggest = "log_level"
48743
+ elif key == "requestBodyInspectionSize":
48744
+ suggest = "request_body_inspection_size"
48193
48745
  elif key == "userIpRequestHeaders":
48194
48746
  suggest = "user_ip_request_headers"
48195
48747
 
@@ -48208,6 +48760,7 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
48208
48760
  json_custom_config: Optional['outputs.SecurityPolicyAdvancedOptionsConfigJsonCustomConfig'] = None,
48209
48761
  json_parsing: Optional[builtins.str] = None,
48210
48762
  log_level: Optional[builtins.str] = None,
48763
+ request_body_inspection_size: Optional[builtins.str] = None,
48211
48764
  user_ip_request_headers: Optional[Sequence[builtins.str]] = None):
48212
48765
  """
48213
48766
  :param 'SecurityPolicyAdvancedOptionsConfigJsonCustomConfigArgs' json_custom_config: Custom configuration to apply the JSON parsing. Only applicable when
@@ -48219,6 +48772,7 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
48219
48772
  :param builtins.str log_level: Log level to use. Defaults to `NORMAL`.
48220
48773
  * `NORMAL` - Normal log level.
48221
48774
  * `VERBOSE` - Verbose log level.
48775
+ :param builtins.str request_body_inspection_size: The maximum request size chosen by the customer with Waf enabled. Values supported are "8KB", "16KB, "32KB", "48KB" and "64KB". Values are case insensitive.
48222
48776
  :param Sequence[builtins.str] user_ip_request_headers: An optional list of case-insensitive request header names to use for resolving the callers client IP address.
48223
48777
  """
48224
48778
  if json_custom_config is not None:
@@ -48227,6 +48781,8 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
48227
48781
  pulumi.set(__self__, "json_parsing", json_parsing)
48228
48782
  if log_level is not None:
48229
48783
  pulumi.set(__self__, "log_level", log_level)
48784
+ if request_body_inspection_size is not None:
48785
+ pulumi.set(__self__, "request_body_inspection_size", request_body_inspection_size)
48230
48786
  if user_ip_request_headers is not None:
48231
48787
  pulumi.set(__self__, "user_ip_request_headers", user_ip_request_headers)
48232
48788
 
@@ -48260,6 +48816,14 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
48260
48816
  """
48261
48817
  return pulumi.get(self, "log_level")
48262
48818
 
48819
+ @property
48820
+ @pulumi.getter(name="requestBodyInspectionSize")
48821
+ def request_body_inspection_size(self) -> Optional[builtins.str]:
48822
+ """
48823
+ The maximum request size chosen by the customer with Waf enabled. Values supported are "8KB", "16KB, "32KB", "48KB" and "64KB". Values are case insensitive.
48824
+ """
48825
+ return pulumi.get(self, "request_body_inspection_size")
48826
+
48263
48827
  @property
48264
48828
  @pulumi.getter(name="userIpRequestHeaders")
48265
48829
  def user_ip_request_headers(self) -> Optional[Sequence[builtins.str]]:
@@ -67704,6 +68268,68 @@ class GetMachineTypesMachineTypeDeprecatedResult(dict):
67704
68268
  return pulumi.get(self, "state")
67705
68269
 
67706
68270
 
68271
+ @pulumi.output_type
68272
+ class GetNetworkAttachmentConnectionEndpointResult(dict):
68273
+ def __init__(__self__, *,
68274
+ ip_address: builtins.str,
68275
+ project_id_or_num: builtins.str,
68276
+ secondary_ip_cidr_ranges: builtins.str,
68277
+ status: builtins.str,
68278
+ subnetwork: builtins.str):
68279
+ """
68280
+ :param builtins.str ip_address: The IPv4 address assigned to the producer instance network interface. This value will be a range in case of Serverless.
68281
+ :param builtins.str project_id_or_num: The project id or number of the interface to which the IP was assigned.
68282
+ :param builtins.str secondary_ip_cidr_ranges: Alias IP ranges from the same subnetwork.
68283
+ :param builtins.str status: The status of a connected endpoint to this network attachment.
68284
+ :param builtins.str subnetwork: The subnetwork used to assign the IP to the producer instance network interface.
68285
+ """
68286
+ pulumi.set(__self__, "ip_address", ip_address)
68287
+ pulumi.set(__self__, "project_id_or_num", project_id_or_num)
68288
+ pulumi.set(__self__, "secondary_ip_cidr_ranges", secondary_ip_cidr_ranges)
68289
+ pulumi.set(__self__, "status", status)
68290
+ pulumi.set(__self__, "subnetwork", subnetwork)
68291
+
68292
+ @property
68293
+ @pulumi.getter(name="ipAddress")
68294
+ def ip_address(self) -> builtins.str:
68295
+ """
68296
+ The IPv4 address assigned to the producer instance network interface. This value will be a range in case of Serverless.
68297
+ """
68298
+ return pulumi.get(self, "ip_address")
68299
+
68300
+ @property
68301
+ @pulumi.getter(name="projectIdOrNum")
68302
+ def project_id_or_num(self) -> builtins.str:
68303
+ """
68304
+ The project id or number of the interface to which the IP was assigned.
68305
+ """
68306
+ return pulumi.get(self, "project_id_or_num")
68307
+
68308
+ @property
68309
+ @pulumi.getter(name="secondaryIpCidrRanges")
68310
+ def secondary_ip_cidr_ranges(self) -> builtins.str:
68311
+ """
68312
+ Alias IP ranges from the same subnetwork.
68313
+ """
68314
+ return pulumi.get(self, "secondary_ip_cidr_ranges")
68315
+
68316
+ @property
68317
+ @pulumi.getter
68318
+ def status(self) -> builtins.str:
68319
+ """
68320
+ The status of a connected endpoint to this network attachment.
68321
+ """
68322
+ return pulumi.get(self, "status")
68323
+
68324
+ @property
68325
+ @pulumi.getter
68326
+ def subnetwork(self) -> builtins.str:
68327
+ """
68328
+ The subnetwork used to assign the IP to the producer instance network interface.
68329
+ """
68330
+ return pulumi.get(self, "subnetwork")
68331
+
68332
+
67707
68333
  @pulumi.output_type
67708
68334
  class GetRegionBackendServiceBackendResult(dict):
67709
68335
  def __init__(__self__, *,
@@ -71869,16 +72495,66 @@ class GetRegionNetworkEndpointGroupServerlessDeploymentResult(dict):
71869
72495
  return pulumi.get(self, "version")
71870
72496
 
71871
72497
 
72498
+ @pulumi.output_type
72499
+ class GetReservationDeleteAfterDurationResult(dict):
72500
+ def __init__(__self__, *,
72501
+ nanos: builtins.int,
72502
+ seconds: builtins.str):
72503
+ """
72504
+ :param builtins.int nanos: Number of nanoseconds for the auto-delete duration.
72505
+ :param builtins.str seconds: Number of seconds for the auto-delete duration.
72506
+ """
72507
+ pulumi.set(__self__, "nanos", nanos)
72508
+ pulumi.set(__self__, "seconds", seconds)
72509
+
72510
+ @property
72511
+ @pulumi.getter
72512
+ def nanos(self) -> builtins.int:
72513
+ """
72514
+ Number of nanoseconds for the auto-delete duration.
72515
+ """
72516
+ return pulumi.get(self, "nanos")
72517
+
72518
+ @property
72519
+ @pulumi.getter
72520
+ def seconds(self) -> builtins.str:
72521
+ """
72522
+ Number of seconds for the auto-delete duration.
72523
+ """
72524
+ return pulumi.get(self, "seconds")
72525
+
72526
+
72527
+ @pulumi.output_type
72528
+ class GetReservationReservationSharingPolicyResult(dict):
72529
+ def __init__(__self__, *,
72530
+ service_share_type: builtins.str):
72531
+ """
72532
+ :param builtins.str service_share_type: Sharing config for all Google Cloud services. Possible values: ["ALLOW_ALL", "DISALLOW_ALL"]
72533
+ """
72534
+ pulumi.set(__self__, "service_share_type", service_share_type)
72535
+
72536
+ @property
72537
+ @pulumi.getter(name="serviceShareType")
72538
+ def service_share_type(self) -> builtins.str:
72539
+ """
72540
+ Sharing config for all Google Cloud services. Possible values: ["ALLOW_ALL", "DISALLOW_ALL"]
72541
+ """
72542
+ return pulumi.get(self, "service_share_type")
72543
+
72544
+
71872
72545
  @pulumi.output_type
71873
72546
  class GetReservationShareSettingResult(dict):
71874
72547
  def __init__(__self__, *,
71875
72548
  project_maps: Sequence['outputs.GetReservationShareSettingProjectMapResult'],
72549
+ projects: Sequence[builtins.str],
71876
72550
  share_type: builtins.str):
71877
72551
  """
71878
72552
  :param Sequence['GetReservationShareSettingProjectMapArgs'] project_maps: A map of project number and project config. This is only valid when shareType's value is SPECIFIC_PROJECTS.
72553
+ :param Sequence[builtins.str] projects: List of project IDs with which the reservation is shared.
71879
72554
  :param builtins.str share_type: Type of sharing for this shared-reservation Possible values: ["LOCAL", "SPECIFIC_PROJECTS"]
71880
72555
  """
71881
72556
  pulumi.set(__self__, "project_maps", project_maps)
72557
+ pulumi.set(__self__, "projects", projects)
71882
72558
  pulumi.set(__self__, "share_type", share_type)
71883
72559
 
71884
72560
  @property
@@ -71889,6 +72565,14 @@ class GetReservationShareSettingResult(dict):
71889
72565
  """
71890
72566
  return pulumi.get(self, "project_maps")
71891
72567
 
72568
+ @property
72569
+ @pulumi.getter
72570
+ def projects(self) -> Sequence[builtins.str]:
72571
+ """
72572
+ List of project IDs with which the reservation is shared.
72573
+ """
72574
+ return pulumi.get(self, "projects")
72575
+
71892
72576
  @property
71893
72577
  @pulumi.getter(name="shareType")
71894
72578
  def share_type(self) -> builtins.str:
@@ -71928,15 +72612,19 @@ class GetReservationSpecificReservationResult(dict):
71928
72612
  def __init__(__self__, *,
71929
72613
  count: builtins.int,
71930
72614
  in_use_count: builtins.int,
71931
- instance_properties: Sequence['outputs.GetReservationSpecificReservationInstancePropertyResult']):
72615
+ instance_properties: Sequence['outputs.GetReservationSpecificReservationInstancePropertyResult'],
72616
+ source_instance_template: builtins.str):
71932
72617
  """
71933
72618
  :param builtins.int count: The number of resources that are allocated.
71934
72619
  :param builtins.int in_use_count: How many instances are in use.
71935
72620
  :param Sequence['GetReservationSpecificReservationInstancePropertyArgs'] instance_properties: The instance properties for the reservation.
72621
+ :param builtins.str source_instance_template: Specifies the instance template to create the reservation. If you use this field, you must exclude the
72622
+ instanceProperties field.
71936
72623
  """
71937
72624
  pulumi.set(__self__, "count", count)
71938
72625
  pulumi.set(__self__, "in_use_count", in_use_count)
71939
72626
  pulumi.set(__self__, "instance_properties", instance_properties)
72627
+ pulumi.set(__self__, "source_instance_template", source_instance_template)
71940
72628
 
71941
72629
  @property
71942
72630
  @pulumi.getter
@@ -71962,6 +72650,15 @@ class GetReservationSpecificReservationResult(dict):
71962
72650
  """
71963
72651
  return pulumi.get(self, "instance_properties")
71964
72652
 
72653
+ @property
72654
+ @pulumi.getter(name="sourceInstanceTemplate")
72655
+ def source_instance_template(self) -> builtins.str:
72656
+ """
72657
+ Specifies the instance template to create the reservation. If you use this field, you must exclude the
72658
+ instanceProperties field.
72659
+ """
72660
+ return pulumi.get(self, "source_instance_template")
72661
+
71965
72662
 
71966
72663
  @pulumi.output_type
71967
72664
  class GetReservationSpecificReservationInstancePropertyResult(dict):
@@ -71969,12 +72666,14 @@ class GetReservationSpecificReservationInstancePropertyResult(dict):
71969
72666
  guest_accelerators: Sequence['outputs.GetReservationSpecificReservationInstancePropertyGuestAcceleratorResult'],
71970
72667
  local_ssds: Sequence['outputs.GetReservationSpecificReservationInstancePropertyLocalSsdResult'],
71971
72668
  machine_type: builtins.str,
72669
+ maintenance_interval: builtins.str,
71972
72670
  min_cpu_platform: builtins.str):
71973
72671
  """
71974
72672
  :param Sequence['GetReservationSpecificReservationInstancePropertyGuestAcceleratorArgs'] guest_accelerators: Guest accelerator type and count.
71975
72673
  :param Sequence['GetReservationSpecificReservationInstancePropertyLocalSsdArgs'] local_ssds: The amount of local ssd to reserve with each instance. This
71976
72674
  reserves disks of type 'local-ssd'.
71977
72675
  :param builtins.str machine_type: The name of the machine type to reserve.
72676
+ :param builtins.str maintenance_interval: Specifies the frequency of planned maintenance events. Possible values: ["AS_NEEDED", "PERIODIC", "RECURRENT"]
71978
72677
  :param builtins.str min_cpu_platform: The minimum CPU platform for the reservation. For example,
71979
72678
  '"Intel Skylake"'. See
71980
72679
  the CPU platform availability reference](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones)
@@ -71983,6 +72682,7 @@ class GetReservationSpecificReservationInstancePropertyResult(dict):
71983
72682
  pulumi.set(__self__, "guest_accelerators", guest_accelerators)
71984
72683
  pulumi.set(__self__, "local_ssds", local_ssds)
71985
72684
  pulumi.set(__self__, "machine_type", machine_type)
72685
+ pulumi.set(__self__, "maintenance_interval", maintenance_interval)
71986
72686
  pulumi.set(__self__, "min_cpu_platform", min_cpu_platform)
71987
72687
 
71988
72688
  @property
@@ -72010,6 +72710,14 @@ class GetReservationSpecificReservationInstancePropertyResult(dict):
72010
72710
  """
72011
72711
  return pulumi.get(self, "machine_type")
72012
72712
 
72713
+ @property
72714
+ @pulumi.getter(name="maintenanceInterval")
72715
+ def maintenance_interval(self) -> builtins.str:
72716
+ """
72717
+ Specifies the frequency of planned maintenance events. Possible values: ["AS_NEEDED", "PERIODIC", "RECURRENT"]
72718
+ """
72719
+ return pulumi.get(self, "maintenance_interval")
72720
+
72013
72721
  @property
72014
72722
  @pulumi.getter(name="minCpuPlatform")
72015
72723
  def min_cpu_platform(self) -> builtins.str:
@@ -74306,16 +75014,19 @@ class GetSecurityPolicyAdvancedOptionsConfigResult(dict):
74306
75014
  json_custom_configs: Sequence['outputs.GetSecurityPolicyAdvancedOptionsConfigJsonCustomConfigResult'],
74307
75015
  json_parsing: builtins.str,
74308
75016
  log_level: builtins.str,
75017
+ request_body_inspection_size: builtins.str,
74309
75018
  user_ip_request_headers: Sequence[builtins.str]):
74310
75019
  """
74311
75020
  :param Sequence['GetSecurityPolicyAdvancedOptionsConfigJsonCustomConfigArgs'] json_custom_configs: Custom configuration to apply the JSON parsing. Only applicable when JSON parsing is set to STANDARD.
74312
75021
  :param builtins.str json_parsing: JSON body parsing. Supported values include: "DISABLED", "STANDARD".
74313
75022
  :param builtins.str log_level: Logging level. Supported values include: "NORMAL", "VERBOSE".
75023
+ :param builtins.str request_body_inspection_size: The maximum request size chosen by the customer with Waf enabled. Values supported are "8KB", "16KB, "32KB", "48KB" and "64KB". Values are case insensitive.
74314
75024
  :param Sequence[builtins.str] user_ip_request_headers: An optional list of case-insensitive request header names to use for resolving the callers client IP address.
74315
75025
  """
74316
75026
  pulumi.set(__self__, "json_custom_configs", json_custom_configs)
74317
75027
  pulumi.set(__self__, "json_parsing", json_parsing)
74318
75028
  pulumi.set(__self__, "log_level", log_level)
75029
+ pulumi.set(__self__, "request_body_inspection_size", request_body_inspection_size)
74319
75030
  pulumi.set(__self__, "user_ip_request_headers", user_ip_request_headers)
74320
75031
 
74321
75032
  @property
@@ -74342,6 +75053,14 @@ class GetSecurityPolicyAdvancedOptionsConfigResult(dict):
74342
75053
  """
74343
75054
  return pulumi.get(self, "log_level")
74344
75055
 
75056
+ @property
75057
+ @pulumi.getter(name="requestBodyInspectionSize")
75058
+ def request_body_inspection_size(self) -> builtins.str:
75059
+ """
75060
+ The maximum request size chosen by the customer with Waf enabled. Values supported are "8KB", "16KB, "32KB", "48KB" and "64KB". Values are case insensitive.
75061
+ """
75062
+ return pulumi.get(self, "request_body_inspection_size")
75063
+
74345
75064
  @property
74346
75065
  @pulumi.getter(name="userIpRequestHeaders")
74347
75066
  def user_ip_request_headers(self) -> Sequence[builtins.str]: