pulumi-gcp 8.38.0__py3-none-any.whl → 8.39.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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.38.0.dist-info → pulumi_gcp-8.39.0.dist-info}/METADATA +1 -1
  34. {pulumi_gcp-8.38.0.dist-info → pulumi_gcp-8.39.0.dist-info}/RECORD +36 -32
  35. {pulumi_gcp-8.38.0.dist-info → pulumi_gcp-8.39.0.dist-info}/WHEEL +0 -0
  36. {pulumi_gcp-8.38.0.dist-info → pulumi_gcp-8.39.0.dist-info}/top_level.txt +0 -0
@@ -138,6 +138,8 @@ __all__ = [
138
138
  'FirewallDenyArgsDict',
139
139
  'FirewallLogConfigArgs',
140
140
  'FirewallLogConfigArgsDict',
141
+ 'FirewallParamsArgs',
142
+ 'FirewallParamsArgsDict',
141
143
  'FirewallPolicyRuleMatchArgs',
142
144
  'FirewallPolicyRuleMatchArgsDict',
143
145
  'FirewallPolicyRuleMatchLayer4ConfigArgs',
@@ -160,6 +162,12 @@ __all__ = [
160
162
  'FirewallPolicyWithRulesRuleMatchLayer4ConfigArgsDict',
161
163
  'ForwardingRuleServiceDirectoryRegistrationsArgs',
162
164
  'ForwardingRuleServiceDirectoryRegistrationsArgsDict',
165
+ 'FutureReservationAggregateReservationArgs',
166
+ 'FutureReservationAggregateReservationArgsDict',
167
+ 'FutureReservationAggregateReservationReservedResourceArgs',
168
+ 'FutureReservationAggregateReservationReservedResourceArgsDict',
169
+ 'FutureReservationAggregateReservationReservedResourceAcceleratorArgs',
170
+ 'FutureReservationAggregateReservationReservedResourceAcceleratorArgsDict',
163
171
  'FutureReservationAutoCreatedReservationsDurationArgs',
164
172
  'FutureReservationAutoCreatedReservationsDurationArgsDict',
165
173
  'FutureReservationCommitmentInfoArgs',
@@ -518,6 +526,16 @@ __all__ = [
518
526
  'InstantSnapshotIamBindingConditionArgsDict',
519
527
  'InstantSnapshotIamMemberConditionArgs',
520
528
  'InstantSnapshotIamMemberConditionArgsDict',
529
+ 'InterconnectApplicationAwareInterconnectArgs',
530
+ 'InterconnectApplicationAwareInterconnectArgsDict',
531
+ 'InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyArgs',
532
+ 'InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyArgsDict',
533
+ 'InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentageArgs',
534
+ 'InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentageArgsDict',
535
+ 'InterconnectApplicationAwareInterconnectShapeAveragePercentageArgs',
536
+ 'InterconnectApplicationAwareInterconnectShapeAveragePercentageArgsDict',
537
+ 'InterconnectApplicationAwareInterconnectStrictPriorityPolicyArgs',
538
+ 'InterconnectApplicationAwareInterconnectStrictPriorityPolicyArgsDict',
521
539
  'InterconnectAttachmentGroupAttachmentArgs',
522
540
  'InterconnectAttachmentGroupAttachmentArgsDict',
523
541
  'InterconnectAttachmentGroupConfiguredArgs',
@@ -1128,6 +1146,10 @@ __all__ = [
1128
1146
  'RegionUrlMapPathMatcherRouteRuleUrlRedirectArgsDict',
1129
1147
  'RegionUrlMapTestArgs',
1130
1148
  'RegionUrlMapTestArgsDict',
1149
+ 'ReservationDeleteAfterDurationArgs',
1150
+ 'ReservationDeleteAfterDurationArgsDict',
1151
+ 'ReservationReservationSharingPolicyArgs',
1152
+ 'ReservationReservationSharingPolicyArgsDict',
1131
1153
  'ReservationShareSettingsArgs',
1132
1154
  'ReservationShareSettingsArgsDict',
1133
1155
  'ReservationShareSettingsProjectMapArgs',
@@ -7443,6 +7465,53 @@ class FirewallLogConfigArgs:
7443
7465
  pulumi.set(self, "metadata", value)
7444
7466
 
7445
7467
 
7468
+ if not MYPY:
7469
+ class FirewallParamsArgsDict(TypedDict):
7470
+ resource_manager_tags: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]
7471
+ """
7472
+ Resource manager tags to be bound to the firewall. Tag keys and values have the
7473
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
7474
+ and values are in the format tagValues/456. The field is ignored when empty.
7475
+ The field is immutable and causes resource replacement when mutated. This field is only
7476
+ set at create time and modifying this field after creation will trigger recreation.
7477
+ To apply tags to an existing resource, see the tags.TagBinding resource.
7478
+ """
7479
+ elif False:
7480
+ FirewallParamsArgsDict: TypeAlias = Mapping[str, Any]
7481
+
7482
+ @pulumi.input_type
7483
+ class FirewallParamsArgs:
7484
+ def __init__(__self__, *,
7485
+ resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None):
7486
+ """
7487
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] resource_manager_tags: Resource manager tags to be bound to the firewall. Tag keys and values have the
7488
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
7489
+ and values are in the format tagValues/456. The field is ignored when empty.
7490
+ The field is immutable and causes resource replacement when mutated. This field is only
7491
+ set at create time and modifying this field after creation will trigger recreation.
7492
+ To apply tags to an existing resource, see the tags.TagBinding resource.
7493
+ """
7494
+ if resource_manager_tags is not None:
7495
+ pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
7496
+
7497
+ @property
7498
+ @pulumi.getter(name="resourceManagerTags")
7499
+ def resource_manager_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
7500
+ """
7501
+ Resource manager tags to be bound to the firewall. Tag keys and values have the
7502
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
7503
+ and values are in the format tagValues/456. The field is ignored when empty.
7504
+ The field is immutable and causes resource replacement when mutated. This field is only
7505
+ set at create time and modifying this field after creation will trigger recreation.
7506
+ To apply tags to an existing resource, see the tags.TagBinding resource.
7507
+ """
7508
+ return pulumi.get(self, "resource_manager_tags")
7509
+
7510
+ @resource_manager_tags.setter
7511
+ def resource_manager_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
7512
+ pulumi.set(self, "resource_manager_tags", value)
7513
+
7514
+
7446
7515
  if not MYPY:
7447
7516
  class FirewallPolicyRuleMatchArgsDict(TypedDict):
7448
7517
  layer4_configs: pulumi.Input[Sequence[pulumi.Input['FirewallPolicyRuleMatchLayer4ConfigArgsDict']]]
@@ -9445,6 +9514,173 @@ class ForwardingRuleServiceDirectoryRegistrationsArgs:
9445
9514
  pulumi.set(self, "service", value)
9446
9515
 
9447
9516
 
9517
+ if not MYPY:
9518
+ class FutureReservationAggregateReservationArgsDict(TypedDict):
9519
+ reserved_resources: pulumi.Input[Sequence[pulumi.Input['FutureReservationAggregateReservationReservedResourceArgsDict']]]
9520
+ """
9521
+ futureReservations.list of reserved resources (CPUs, memory, accelerators).
9522
+ Structure is documented below.
9523
+ """
9524
+ vm_family: NotRequired[pulumi.Input[builtins.str]]
9525
+ """
9526
+ The VM family that all instances scheduled against this reservation must belong to.
9527
+ 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`.
9528
+ """
9529
+ workload_type: NotRequired[pulumi.Input[builtins.str]]
9530
+ """
9531
+ The workload type of the instances that will target this reservation.
9532
+ Possible values are: `BATCH`, `SERVING`, `UNSPECIFIED`.
9533
+ """
9534
+ elif False:
9535
+ FutureReservationAggregateReservationArgsDict: TypeAlias = Mapping[str, Any]
9536
+
9537
+ @pulumi.input_type
9538
+ class FutureReservationAggregateReservationArgs:
9539
+ def __init__(__self__, *,
9540
+ reserved_resources: pulumi.Input[Sequence[pulumi.Input['FutureReservationAggregateReservationReservedResourceArgs']]],
9541
+ vm_family: Optional[pulumi.Input[builtins.str]] = None,
9542
+ workload_type: Optional[pulumi.Input[builtins.str]] = None):
9543
+ """
9544
+ :param pulumi.Input[Sequence[pulumi.Input['FutureReservationAggregateReservationReservedResourceArgs']]] reserved_resources: futureReservations.list of reserved resources (CPUs, memory, accelerators).
9545
+ Structure is documented below.
9546
+ :param pulumi.Input[builtins.str] vm_family: The VM family that all instances scheduled against this reservation must belong to.
9547
+ 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`.
9548
+ :param pulumi.Input[builtins.str] workload_type: The workload type of the instances that will target this reservation.
9549
+ Possible values are: `BATCH`, `SERVING`, `UNSPECIFIED`.
9550
+ """
9551
+ pulumi.set(__self__, "reserved_resources", reserved_resources)
9552
+ if vm_family is not None:
9553
+ pulumi.set(__self__, "vm_family", vm_family)
9554
+ if workload_type is not None:
9555
+ pulumi.set(__self__, "workload_type", workload_type)
9556
+
9557
+ @property
9558
+ @pulumi.getter(name="reservedResources")
9559
+ def reserved_resources(self) -> pulumi.Input[Sequence[pulumi.Input['FutureReservationAggregateReservationReservedResourceArgs']]]:
9560
+ """
9561
+ futureReservations.list of reserved resources (CPUs, memory, accelerators).
9562
+ Structure is documented below.
9563
+ """
9564
+ return pulumi.get(self, "reserved_resources")
9565
+
9566
+ @reserved_resources.setter
9567
+ def reserved_resources(self, value: pulumi.Input[Sequence[pulumi.Input['FutureReservationAggregateReservationReservedResourceArgs']]]):
9568
+ pulumi.set(self, "reserved_resources", value)
9569
+
9570
+ @property
9571
+ @pulumi.getter(name="vmFamily")
9572
+ def vm_family(self) -> Optional[pulumi.Input[builtins.str]]:
9573
+ """
9574
+ The VM family that all instances scheduled against this reservation must belong to.
9575
+ 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`.
9576
+ """
9577
+ return pulumi.get(self, "vm_family")
9578
+
9579
+ @vm_family.setter
9580
+ def vm_family(self, value: Optional[pulumi.Input[builtins.str]]):
9581
+ pulumi.set(self, "vm_family", value)
9582
+
9583
+ @property
9584
+ @pulumi.getter(name="workloadType")
9585
+ def workload_type(self) -> Optional[pulumi.Input[builtins.str]]:
9586
+ """
9587
+ The workload type of the instances that will target this reservation.
9588
+ Possible values are: `BATCH`, `SERVING`, `UNSPECIFIED`.
9589
+ """
9590
+ return pulumi.get(self, "workload_type")
9591
+
9592
+ @workload_type.setter
9593
+ def workload_type(self, value: Optional[pulumi.Input[builtins.str]]):
9594
+ pulumi.set(self, "workload_type", value)
9595
+
9596
+
9597
+ if not MYPY:
9598
+ class FutureReservationAggregateReservationReservedResourceArgsDict(TypedDict):
9599
+ accelerator: NotRequired[pulumi.Input['FutureReservationAggregateReservationReservedResourceAcceleratorArgsDict']]
9600
+ """
9601
+ Properties of accelerator resources in this reservation.
9602
+ Structure is documented below.
9603
+ """
9604
+ elif False:
9605
+ FutureReservationAggregateReservationReservedResourceArgsDict: TypeAlias = Mapping[str, Any]
9606
+
9607
+ @pulumi.input_type
9608
+ class FutureReservationAggregateReservationReservedResourceArgs:
9609
+ def __init__(__self__, *,
9610
+ accelerator: Optional[pulumi.Input['FutureReservationAggregateReservationReservedResourceAcceleratorArgs']] = None):
9611
+ """
9612
+ :param pulumi.Input['FutureReservationAggregateReservationReservedResourceAcceleratorArgs'] accelerator: Properties of accelerator resources in this reservation.
9613
+ Structure is documented below.
9614
+ """
9615
+ if accelerator is not None:
9616
+ pulumi.set(__self__, "accelerator", accelerator)
9617
+
9618
+ @property
9619
+ @pulumi.getter
9620
+ def accelerator(self) -> Optional[pulumi.Input['FutureReservationAggregateReservationReservedResourceAcceleratorArgs']]:
9621
+ """
9622
+ Properties of accelerator resources in this reservation.
9623
+ Structure is documented below.
9624
+ """
9625
+ return pulumi.get(self, "accelerator")
9626
+
9627
+ @accelerator.setter
9628
+ def accelerator(self, value: Optional[pulumi.Input['FutureReservationAggregateReservationReservedResourceAcceleratorArgs']]):
9629
+ pulumi.set(self, "accelerator", value)
9630
+
9631
+
9632
+ if not MYPY:
9633
+ class FutureReservationAggregateReservationReservedResourceAcceleratorArgsDict(TypedDict):
9634
+ accelerator_count: NotRequired[pulumi.Input[builtins.int]]
9635
+ """
9636
+ Number of accelerators of specified type.
9637
+ """
9638
+ accelerator_type: NotRequired[pulumi.Input[builtins.str]]
9639
+ """
9640
+ Full or partial URL to accelerator type. e.g. "projects/{PROJECT}/zones/{ZONE}/acceleratorTypes/ct4l"
9641
+ """
9642
+ elif False:
9643
+ FutureReservationAggregateReservationReservedResourceAcceleratorArgsDict: TypeAlias = Mapping[str, Any]
9644
+
9645
+ @pulumi.input_type
9646
+ class FutureReservationAggregateReservationReservedResourceAcceleratorArgs:
9647
+ def __init__(__self__, *,
9648
+ accelerator_count: Optional[pulumi.Input[builtins.int]] = None,
9649
+ accelerator_type: Optional[pulumi.Input[builtins.str]] = None):
9650
+ """
9651
+ :param pulumi.Input[builtins.int] accelerator_count: Number of accelerators of specified type.
9652
+ :param pulumi.Input[builtins.str] accelerator_type: Full or partial URL to accelerator type. e.g. "projects/{PROJECT}/zones/{ZONE}/acceleratorTypes/ct4l"
9653
+ """
9654
+ if accelerator_count is not None:
9655
+ pulumi.set(__self__, "accelerator_count", accelerator_count)
9656
+ if accelerator_type is not None:
9657
+ pulumi.set(__self__, "accelerator_type", accelerator_type)
9658
+
9659
+ @property
9660
+ @pulumi.getter(name="acceleratorCount")
9661
+ def accelerator_count(self) -> Optional[pulumi.Input[builtins.int]]:
9662
+ """
9663
+ Number of accelerators of specified type.
9664
+ """
9665
+ return pulumi.get(self, "accelerator_count")
9666
+
9667
+ @accelerator_count.setter
9668
+ def accelerator_count(self, value: Optional[pulumi.Input[builtins.int]]):
9669
+ pulumi.set(self, "accelerator_count", value)
9670
+
9671
+ @property
9672
+ @pulumi.getter(name="acceleratorType")
9673
+ def accelerator_type(self) -> Optional[pulumi.Input[builtins.str]]:
9674
+ """
9675
+ Full or partial URL to accelerator type. e.g. "projects/{PROJECT}/zones/{ZONE}/acceleratorTypes/ct4l"
9676
+ """
9677
+ return pulumi.get(self, "accelerator_type")
9678
+
9679
+ @accelerator_type.setter
9680
+ def accelerator_type(self, value: Optional[pulumi.Input[builtins.str]]):
9681
+ pulumi.set(self, "accelerator_type", value)
9682
+
9683
+
9448
9684
  if not MYPY:
9449
9685
  class FutureReservationAutoCreatedReservationsDurationArgsDict(TypedDict):
9450
9686
  nanos: NotRequired[pulumi.Input[builtins.int]]
@@ -27487,6 +27723,276 @@ class InstantSnapshotIamMemberConditionArgs:
27487
27723
  pulumi.set(self, "description", value)
27488
27724
 
27489
27725
 
27726
+ if not MYPY:
27727
+ class InterconnectApplicationAwareInterconnectArgsDict(TypedDict):
27728
+ bandwidth_percentage_policy: NotRequired[pulumi.Input['InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyArgsDict']]
27729
+ """
27730
+ Bandwidth Percentage policy allows you to have granular control over how your Interconnect
27731
+ bandwidth is utilized among your workloads mapping to different traffic classes.
27732
+ Structure is documented below.
27733
+ """
27734
+ profile_description: NotRequired[pulumi.Input[builtins.str]]
27735
+ """
27736
+ A description for the AAI profile on this interconnect.
27737
+ """
27738
+ shape_average_percentages: NotRequired[pulumi.Input[Sequence[pulumi.Input['InterconnectApplicationAwareInterconnectShapeAveragePercentageArgsDict']]]]
27739
+ """
27740
+ Optional field to specify a list of shape average percentages to be
27741
+ applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy
27742
+ Structure is documented below.
27743
+ """
27744
+ strict_priority_policy: NotRequired[pulumi.Input['InterconnectApplicationAwareInterconnectStrictPriorityPolicyArgsDict']]
27745
+ """
27746
+ Specify configuration for StrictPriorityPolicy.
27747
+ """
27748
+ elif False:
27749
+ InterconnectApplicationAwareInterconnectArgsDict: TypeAlias = Mapping[str, Any]
27750
+
27751
+ @pulumi.input_type
27752
+ class InterconnectApplicationAwareInterconnectArgs:
27753
+ def __init__(__self__, *,
27754
+ bandwidth_percentage_policy: Optional[pulumi.Input['InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyArgs']] = None,
27755
+ profile_description: Optional[pulumi.Input[builtins.str]] = None,
27756
+ shape_average_percentages: Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectApplicationAwareInterconnectShapeAveragePercentageArgs']]]] = None,
27757
+ strict_priority_policy: Optional[pulumi.Input['InterconnectApplicationAwareInterconnectStrictPriorityPolicyArgs']] = None):
27758
+ """
27759
+ :param pulumi.Input['InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyArgs'] bandwidth_percentage_policy: Bandwidth Percentage policy allows you to have granular control over how your Interconnect
27760
+ bandwidth is utilized among your workloads mapping to different traffic classes.
27761
+ Structure is documented below.
27762
+ :param pulumi.Input[builtins.str] profile_description: A description for the AAI profile on this interconnect.
27763
+ :param pulumi.Input[Sequence[pulumi.Input['InterconnectApplicationAwareInterconnectShapeAveragePercentageArgs']]] shape_average_percentages: Optional field to specify a list of shape average percentages to be
27764
+ applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy
27765
+ Structure is documented below.
27766
+ :param pulumi.Input['InterconnectApplicationAwareInterconnectStrictPriorityPolicyArgs'] strict_priority_policy: Specify configuration for StrictPriorityPolicy.
27767
+ """
27768
+ if bandwidth_percentage_policy is not None:
27769
+ pulumi.set(__self__, "bandwidth_percentage_policy", bandwidth_percentage_policy)
27770
+ if profile_description is not None:
27771
+ pulumi.set(__self__, "profile_description", profile_description)
27772
+ if shape_average_percentages is not None:
27773
+ pulumi.set(__self__, "shape_average_percentages", shape_average_percentages)
27774
+ if strict_priority_policy is not None:
27775
+ pulumi.set(__self__, "strict_priority_policy", strict_priority_policy)
27776
+
27777
+ @property
27778
+ @pulumi.getter(name="bandwidthPercentagePolicy")
27779
+ def bandwidth_percentage_policy(self) -> Optional[pulumi.Input['InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyArgs']]:
27780
+ """
27781
+ Bandwidth Percentage policy allows you to have granular control over how your Interconnect
27782
+ bandwidth is utilized among your workloads mapping to different traffic classes.
27783
+ Structure is documented below.
27784
+ """
27785
+ return pulumi.get(self, "bandwidth_percentage_policy")
27786
+
27787
+ @bandwidth_percentage_policy.setter
27788
+ def bandwidth_percentage_policy(self, value: Optional[pulumi.Input['InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyArgs']]):
27789
+ pulumi.set(self, "bandwidth_percentage_policy", value)
27790
+
27791
+ @property
27792
+ @pulumi.getter(name="profileDescription")
27793
+ def profile_description(self) -> Optional[pulumi.Input[builtins.str]]:
27794
+ """
27795
+ A description for the AAI profile on this interconnect.
27796
+ """
27797
+ return pulumi.get(self, "profile_description")
27798
+
27799
+ @profile_description.setter
27800
+ def profile_description(self, value: Optional[pulumi.Input[builtins.str]]):
27801
+ pulumi.set(self, "profile_description", value)
27802
+
27803
+ @property
27804
+ @pulumi.getter(name="shapeAveragePercentages")
27805
+ def shape_average_percentages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectApplicationAwareInterconnectShapeAveragePercentageArgs']]]]:
27806
+ """
27807
+ Optional field to specify a list of shape average percentages to be
27808
+ applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy
27809
+ Structure is documented below.
27810
+ """
27811
+ return pulumi.get(self, "shape_average_percentages")
27812
+
27813
+ @shape_average_percentages.setter
27814
+ def shape_average_percentages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectApplicationAwareInterconnectShapeAveragePercentageArgs']]]]):
27815
+ pulumi.set(self, "shape_average_percentages", value)
27816
+
27817
+ @property
27818
+ @pulumi.getter(name="strictPriorityPolicy")
27819
+ def strict_priority_policy(self) -> Optional[pulumi.Input['InterconnectApplicationAwareInterconnectStrictPriorityPolicyArgs']]:
27820
+ """
27821
+ Specify configuration for StrictPriorityPolicy.
27822
+ """
27823
+ return pulumi.get(self, "strict_priority_policy")
27824
+
27825
+ @strict_priority_policy.setter
27826
+ def strict_priority_policy(self, value: Optional[pulumi.Input['InterconnectApplicationAwareInterconnectStrictPriorityPolicyArgs']]):
27827
+ pulumi.set(self, "strict_priority_policy", value)
27828
+
27829
+
27830
+ if not MYPY:
27831
+ class InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyArgsDict(TypedDict):
27832
+ bandwidth_percentages: NotRequired[pulumi.Input[Sequence[pulumi.Input['InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentageArgsDict']]]]
27833
+ """
27834
+ Specify bandwidth percentages for various traffic classes for queuing
27835
+ type Bandwidth Percent.
27836
+ Structure is documented below.
27837
+ """
27838
+ elif False:
27839
+ InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyArgsDict: TypeAlias = Mapping[str, Any]
27840
+
27841
+ @pulumi.input_type
27842
+ class InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyArgs:
27843
+ def __init__(__self__, *,
27844
+ bandwidth_percentages: Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentageArgs']]]] = None):
27845
+ """
27846
+ :param pulumi.Input[Sequence[pulumi.Input['InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentageArgs']]] bandwidth_percentages: Specify bandwidth percentages for various traffic classes for queuing
27847
+ type Bandwidth Percent.
27848
+ Structure is documented below.
27849
+ """
27850
+ if bandwidth_percentages is not None:
27851
+ pulumi.set(__self__, "bandwidth_percentages", bandwidth_percentages)
27852
+
27853
+ @property
27854
+ @pulumi.getter(name="bandwidthPercentages")
27855
+ def bandwidth_percentages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentageArgs']]]]:
27856
+ """
27857
+ Specify bandwidth percentages for various traffic classes for queuing
27858
+ type Bandwidth Percent.
27859
+ Structure is documented below.
27860
+ """
27861
+ return pulumi.get(self, "bandwidth_percentages")
27862
+
27863
+ @bandwidth_percentages.setter
27864
+ def bandwidth_percentages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentageArgs']]]]):
27865
+ pulumi.set(self, "bandwidth_percentages", value)
27866
+
27867
+
27868
+ if not MYPY:
27869
+ class InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentageArgsDict(TypedDict):
27870
+ percentage: NotRequired[pulumi.Input[builtins.int]]
27871
+ """
27872
+ Bandwidth percentage for a specific traffic class.
27873
+ """
27874
+ traffic_class: NotRequired[pulumi.Input[builtins.str]]
27875
+ """
27876
+ Enum representing the various traffic classes offered by AAI.
27877
+ Default value is `TC_UNSPECIFIED`.
27878
+ Possible values are: `TC_UNSPECIFIED`, `TC1`, `TC2`, `TC3`, `TC4`, `TC5`, `TC6`.
27879
+ """
27880
+ elif False:
27881
+ InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentageArgsDict: TypeAlias = Mapping[str, Any]
27882
+
27883
+ @pulumi.input_type
27884
+ class InterconnectApplicationAwareInterconnectBandwidthPercentagePolicyBandwidthPercentageArgs:
27885
+ def __init__(__self__, *,
27886
+ percentage: Optional[pulumi.Input[builtins.int]] = None,
27887
+ traffic_class: Optional[pulumi.Input[builtins.str]] = None):
27888
+ """
27889
+ :param pulumi.Input[builtins.int] percentage: Bandwidth percentage for a specific traffic class.
27890
+ :param pulumi.Input[builtins.str] traffic_class: Enum representing the various traffic classes offered by AAI.
27891
+ Default value is `TC_UNSPECIFIED`.
27892
+ Possible values are: `TC_UNSPECIFIED`, `TC1`, `TC2`, `TC3`, `TC4`, `TC5`, `TC6`.
27893
+ """
27894
+ if percentage is not None:
27895
+ pulumi.set(__self__, "percentage", percentage)
27896
+ if traffic_class is not None:
27897
+ pulumi.set(__self__, "traffic_class", traffic_class)
27898
+
27899
+ @property
27900
+ @pulumi.getter
27901
+ def percentage(self) -> Optional[pulumi.Input[builtins.int]]:
27902
+ """
27903
+ Bandwidth percentage for a specific traffic class.
27904
+ """
27905
+ return pulumi.get(self, "percentage")
27906
+
27907
+ @percentage.setter
27908
+ def percentage(self, value: Optional[pulumi.Input[builtins.int]]):
27909
+ pulumi.set(self, "percentage", value)
27910
+
27911
+ @property
27912
+ @pulumi.getter(name="trafficClass")
27913
+ def traffic_class(self) -> Optional[pulumi.Input[builtins.str]]:
27914
+ """
27915
+ Enum representing the various traffic classes offered by AAI.
27916
+ Default value is `TC_UNSPECIFIED`.
27917
+ Possible values are: `TC_UNSPECIFIED`, `TC1`, `TC2`, `TC3`, `TC4`, `TC5`, `TC6`.
27918
+ """
27919
+ return pulumi.get(self, "traffic_class")
27920
+
27921
+ @traffic_class.setter
27922
+ def traffic_class(self, value: Optional[pulumi.Input[builtins.str]]):
27923
+ pulumi.set(self, "traffic_class", value)
27924
+
27925
+
27926
+ if not MYPY:
27927
+ class InterconnectApplicationAwareInterconnectShapeAveragePercentageArgsDict(TypedDict):
27928
+ percentage: NotRequired[pulumi.Input[builtins.int]]
27929
+ """
27930
+ Bandwidth percentage for a specific traffic class.
27931
+ """
27932
+ traffic_class: NotRequired[pulumi.Input[builtins.str]]
27933
+ """
27934
+ Enum representing the various traffic classes offered by AAI.
27935
+ Default value is `TC_UNSPECIFIED`.
27936
+ Possible values are: `TC_UNSPECIFIED`, `TC1`, `TC2`, `TC3`, `TC4`, `TC5`, `TC6`.
27937
+ """
27938
+ elif False:
27939
+ InterconnectApplicationAwareInterconnectShapeAveragePercentageArgsDict: TypeAlias = Mapping[str, Any]
27940
+
27941
+ @pulumi.input_type
27942
+ class InterconnectApplicationAwareInterconnectShapeAveragePercentageArgs:
27943
+ def __init__(__self__, *,
27944
+ percentage: Optional[pulumi.Input[builtins.int]] = None,
27945
+ traffic_class: Optional[pulumi.Input[builtins.str]] = None):
27946
+ """
27947
+ :param pulumi.Input[builtins.int] percentage: Bandwidth percentage for a specific traffic class.
27948
+ :param pulumi.Input[builtins.str] traffic_class: Enum representing the various traffic classes offered by AAI.
27949
+ Default value is `TC_UNSPECIFIED`.
27950
+ Possible values are: `TC_UNSPECIFIED`, `TC1`, `TC2`, `TC3`, `TC4`, `TC5`, `TC6`.
27951
+ """
27952
+ if percentage is not None:
27953
+ pulumi.set(__self__, "percentage", percentage)
27954
+ if traffic_class is not None:
27955
+ pulumi.set(__self__, "traffic_class", traffic_class)
27956
+
27957
+ @property
27958
+ @pulumi.getter
27959
+ def percentage(self) -> Optional[pulumi.Input[builtins.int]]:
27960
+ """
27961
+ Bandwidth percentage for a specific traffic class.
27962
+ """
27963
+ return pulumi.get(self, "percentage")
27964
+
27965
+ @percentage.setter
27966
+ def percentage(self, value: Optional[pulumi.Input[builtins.int]]):
27967
+ pulumi.set(self, "percentage", value)
27968
+
27969
+ @property
27970
+ @pulumi.getter(name="trafficClass")
27971
+ def traffic_class(self) -> Optional[pulumi.Input[builtins.str]]:
27972
+ """
27973
+ Enum representing the various traffic classes offered by AAI.
27974
+ Default value is `TC_UNSPECIFIED`.
27975
+ Possible values are: `TC_UNSPECIFIED`, `TC1`, `TC2`, `TC3`, `TC4`, `TC5`, `TC6`.
27976
+ """
27977
+ return pulumi.get(self, "traffic_class")
27978
+
27979
+ @traffic_class.setter
27980
+ def traffic_class(self, value: Optional[pulumi.Input[builtins.str]]):
27981
+ pulumi.set(self, "traffic_class", value)
27982
+
27983
+
27984
+ if not MYPY:
27985
+ class InterconnectApplicationAwareInterconnectStrictPriorityPolicyArgsDict(TypedDict):
27986
+ pass
27987
+ elif False:
27988
+ InterconnectApplicationAwareInterconnectStrictPriorityPolicyArgsDict: TypeAlias = Mapping[str, Any]
27989
+
27990
+ @pulumi.input_type
27991
+ class InterconnectApplicationAwareInterconnectStrictPriorityPolicyArgs:
27992
+ def __init__(__self__):
27993
+ pass
27994
+
27995
+
27490
27996
  if not MYPY:
27491
27997
  class InterconnectAttachmentGroupAttachmentArgsDict(TypedDict):
27492
27998
  name: pulumi.Input[builtins.str]
@@ -57998,6 +58504,93 @@ class RegionUrlMapTestArgs:
57998
58504
  pulumi.set(self, "description", value)
57999
58505
 
58000
58506
 
58507
+ if not MYPY:
58508
+ class ReservationDeleteAfterDurationArgsDict(TypedDict):
58509
+ nanos: NotRequired[pulumi.Input[builtins.int]]
58510
+ """
58511
+ Number of nanoseconds for the auto-delete duration.
58512
+ """
58513
+ seconds: NotRequired[pulumi.Input[builtins.str]]
58514
+ """
58515
+ Number of seconds for the auto-delete duration.
58516
+ """
58517
+ elif False:
58518
+ ReservationDeleteAfterDurationArgsDict: TypeAlias = Mapping[str, Any]
58519
+
58520
+ @pulumi.input_type
58521
+ class ReservationDeleteAfterDurationArgs:
58522
+ def __init__(__self__, *,
58523
+ nanos: Optional[pulumi.Input[builtins.int]] = None,
58524
+ seconds: Optional[pulumi.Input[builtins.str]] = None):
58525
+ """
58526
+ :param pulumi.Input[builtins.int] nanos: Number of nanoseconds for the auto-delete duration.
58527
+ :param pulumi.Input[builtins.str] seconds: Number of seconds for the auto-delete duration.
58528
+ """
58529
+ if nanos is not None:
58530
+ pulumi.set(__self__, "nanos", nanos)
58531
+ if seconds is not None:
58532
+ pulumi.set(__self__, "seconds", seconds)
58533
+
58534
+ @property
58535
+ @pulumi.getter
58536
+ def nanos(self) -> Optional[pulumi.Input[builtins.int]]:
58537
+ """
58538
+ Number of nanoseconds for the auto-delete duration.
58539
+ """
58540
+ return pulumi.get(self, "nanos")
58541
+
58542
+ @nanos.setter
58543
+ def nanos(self, value: Optional[pulumi.Input[builtins.int]]):
58544
+ pulumi.set(self, "nanos", value)
58545
+
58546
+ @property
58547
+ @pulumi.getter
58548
+ def seconds(self) -> Optional[pulumi.Input[builtins.str]]:
58549
+ """
58550
+ Number of seconds for the auto-delete duration.
58551
+ """
58552
+ return pulumi.get(self, "seconds")
58553
+
58554
+ @seconds.setter
58555
+ def seconds(self, value: Optional[pulumi.Input[builtins.str]]):
58556
+ pulumi.set(self, "seconds", value)
58557
+
58558
+
58559
+ if not MYPY:
58560
+ class ReservationReservationSharingPolicyArgsDict(TypedDict):
58561
+ service_share_type: NotRequired[pulumi.Input[builtins.str]]
58562
+ """
58563
+ Sharing config for all Google Cloud services.
58564
+ Possible values are: `ALLOW_ALL`, `DISALLOW_ALL`.
58565
+ """
58566
+ elif False:
58567
+ ReservationReservationSharingPolicyArgsDict: TypeAlias = Mapping[str, Any]
58568
+
58569
+ @pulumi.input_type
58570
+ class ReservationReservationSharingPolicyArgs:
58571
+ def __init__(__self__, *,
58572
+ service_share_type: Optional[pulumi.Input[builtins.str]] = None):
58573
+ """
58574
+ :param pulumi.Input[builtins.str] service_share_type: Sharing config for all Google Cloud services.
58575
+ Possible values are: `ALLOW_ALL`, `DISALLOW_ALL`.
58576
+ """
58577
+ if service_share_type is not None:
58578
+ pulumi.set(__self__, "service_share_type", service_share_type)
58579
+
58580
+ @property
58581
+ @pulumi.getter(name="serviceShareType")
58582
+ def service_share_type(self) -> Optional[pulumi.Input[builtins.str]]:
58583
+ """
58584
+ Sharing config for all Google Cloud services.
58585
+ Possible values are: `ALLOW_ALL`, `DISALLOW_ALL`.
58586
+ """
58587
+ return pulumi.get(self, "service_share_type")
58588
+
58589
+ @service_share_type.setter
58590
+ def service_share_type(self, value: Optional[pulumi.Input[builtins.str]]):
58591
+ pulumi.set(self, "service_share_type", value)
58592
+
58593
+
58001
58594
  if not MYPY:
58002
58595
  class ReservationShareSettingsArgsDict(TypedDict):
58003
58596
  project_maps: NotRequired[pulumi.Input[Sequence[pulumi.Input['ReservationShareSettingsProjectMapArgsDict']]]]
@@ -58005,6 +58598,10 @@ if not MYPY:
58005
58598
  A map of project number and project config. This is only valid when shareType's value is SPECIFIC_PROJECTS.
58006
58599
  Structure is documented below.
58007
58600
  """
58601
+ projects: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
58602
+ """
58603
+ List of project IDs with which the reservation is shared.
58604
+ """
58008
58605
  share_type: NotRequired[pulumi.Input[builtins.str]]
58009
58606
  """
58010
58607
  Type of sharing for this shared-reservation
@@ -58017,15 +58614,19 @@ elif False:
58017
58614
  class ReservationShareSettingsArgs:
58018
58615
  def __init__(__self__, *,
58019
58616
  project_maps: Optional[pulumi.Input[Sequence[pulumi.Input['ReservationShareSettingsProjectMapArgs']]]] = None,
58617
+ projects: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
58020
58618
  share_type: Optional[pulumi.Input[builtins.str]] = None):
58021
58619
  """
58022
58620
  :param pulumi.Input[Sequence[pulumi.Input['ReservationShareSettingsProjectMapArgs']]] project_maps: A map of project number and project config. This is only valid when shareType's value is SPECIFIC_PROJECTS.
58023
58621
  Structure is documented below.
58622
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] projects: List of project IDs with which the reservation is shared.
58024
58623
  :param pulumi.Input[builtins.str] share_type: Type of sharing for this shared-reservation
58025
58624
  Possible values are: `LOCAL`, `SPECIFIC_PROJECTS`.
58026
58625
  """
58027
58626
  if project_maps is not None:
58028
58627
  pulumi.set(__self__, "project_maps", project_maps)
58628
+ if projects is not None:
58629
+ pulumi.set(__self__, "projects", projects)
58029
58630
  if share_type is not None:
58030
58631
  pulumi.set(__self__, "share_type", share_type)
58031
58632
 
@@ -58042,6 +58643,18 @@ class ReservationShareSettingsArgs:
58042
58643
  def project_maps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ReservationShareSettingsProjectMapArgs']]]]):
58043
58644
  pulumi.set(self, "project_maps", value)
58044
58645
 
58646
+ @property
58647
+ @pulumi.getter
58648
+ def projects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
58649
+ """
58650
+ List of project IDs with which the reservation is shared.
58651
+ """
58652
+ return pulumi.get(self, "projects")
58653
+
58654
+ @projects.setter
58655
+ def projects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
58656
+ pulumi.set(self, "projects", value)
58657
+
58045
58658
  @property
58046
58659
  @pulumi.getter(name="shareType")
58047
58660
  def share_type(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -58113,15 +58726,20 @@ if not MYPY:
58113
58726
  """
58114
58727
  The number of resources that are allocated.
58115
58728
  """
58116
- instance_properties: pulumi.Input['ReservationSpecificReservationInstancePropertiesArgsDict']
58729
+ in_use_count: NotRequired[pulumi.Input[builtins.int]]
58730
+ """
58731
+ (Output)
58732
+ How many instances are in use.
58733
+ """
58734
+ instance_properties: NotRequired[pulumi.Input['ReservationSpecificReservationInstancePropertiesArgsDict']]
58117
58735
  """
58118
58736
  The instance properties for the reservation.
58119
58737
  Structure is documented below.
58120
58738
  """
58121
- in_use_count: NotRequired[pulumi.Input[builtins.int]]
58739
+ source_instance_template: NotRequired[pulumi.Input[builtins.str]]
58122
58740
  """
58123
- (Output)
58124
- How many instances are in use.
58741
+ Specifies the instance template to create the reservation. If you use this field, you must exclude the
58742
+ instanceProperties field.
58125
58743
  """
58126
58744
  elif False:
58127
58745
  ReservationSpecificReservationArgsDict: TypeAlias = Mapping[str, Any]
@@ -58130,19 +58748,25 @@ elif False:
58130
58748
  class ReservationSpecificReservationArgs:
58131
58749
  def __init__(__self__, *,
58132
58750
  count: pulumi.Input[builtins.int],
58133
- instance_properties: pulumi.Input['ReservationSpecificReservationInstancePropertiesArgs'],
58134
- in_use_count: Optional[pulumi.Input[builtins.int]] = None):
58751
+ in_use_count: Optional[pulumi.Input[builtins.int]] = None,
58752
+ instance_properties: Optional[pulumi.Input['ReservationSpecificReservationInstancePropertiesArgs']] = None,
58753
+ source_instance_template: Optional[pulumi.Input[builtins.str]] = None):
58135
58754
  """
58136
58755
  :param pulumi.Input[builtins.int] count: The number of resources that are allocated.
58137
- :param pulumi.Input['ReservationSpecificReservationInstancePropertiesArgs'] instance_properties: The instance properties for the reservation.
58138
- Structure is documented below.
58139
58756
  :param pulumi.Input[builtins.int] in_use_count: (Output)
58140
58757
  How many instances are in use.
58758
+ :param pulumi.Input['ReservationSpecificReservationInstancePropertiesArgs'] instance_properties: The instance properties for the reservation.
58759
+ Structure is documented below.
58760
+ :param pulumi.Input[builtins.str] source_instance_template: Specifies the instance template to create the reservation. If you use this field, you must exclude the
58761
+ instanceProperties field.
58141
58762
  """
58142
58763
  pulumi.set(__self__, "count", count)
58143
- pulumi.set(__self__, "instance_properties", instance_properties)
58144
58764
  if in_use_count is not None:
58145
58765
  pulumi.set(__self__, "in_use_count", in_use_count)
58766
+ if instance_properties is not None:
58767
+ pulumi.set(__self__, "instance_properties", instance_properties)
58768
+ if source_instance_template is not None:
58769
+ pulumi.set(__self__, "source_instance_template", source_instance_template)
58146
58770
 
58147
58771
  @property
58148
58772
  @pulumi.getter
@@ -58156,9 +58780,22 @@ class ReservationSpecificReservationArgs:
58156
58780
  def count(self, value: pulumi.Input[builtins.int]):
58157
58781
  pulumi.set(self, "count", value)
58158
58782
 
58783
+ @property
58784
+ @pulumi.getter(name="inUseCount")
58785
+ def in_use_count(self) -> Optional[pulumi.Input[builtins.int]]:
58786
+ """
58787
+ (Output)
58788
+ How many instances are in use.
58789
+ """
58790
+ return pulumi.get(self, "in_use_count")
58791
+
58792
+ @in_use_count.setter
58793
+ def in_use_count(self, value: Optional[pulumi.Input[builtins.int]]):
58794
+ pulumi.set(self, "in_use_count", value)
58795
+
58159
58796
  @property
58160
58797
  @pulumi.getter(name="instanceProperties")
58161
- def instance_properties(self) -> pulumi.Input['ReservationSpecificReservationInstancePropertiesArgs']:
58798
+ def instance_properties(self) -> Optional[pulumi.Input['ReservationSpecificReservationInstancePropertiesArgs']]:
58162
58799
  """
58163
58800
  The instance properties for the reservation.
58164
58801
  Structure is documented below.
@@ -58166,21 +58803,21 @@ class ReservationSpecificReservationArgs:
58166
58803
  return pulumi.get(self, "instance_properties")
58167
58804
 
58168
58805
  @instance_properties.setter
58169
- def instance_properties(self, value: pulumi.Input['ReservationSpecificReservationInstancePropertiesArgs']):
58806
+ def instance_properties(self, value: Optional[pulumi.Input['ReservationSpecificReservationInstancePropertiesArgs']]):
58170
58807
  pulumi.set(self, "instance_properties", value)
58171
58808
 
58172
58809
  @property
58173
- @pulumi.getter(name="inUseCount")
58174
- def in_use_count(self) -> Optional[pulumi.Input[builtins.int]]:
58810
+ @pulumi.getter(name="sourceInstanceTemplate")
58811
+ def source_instance_template(self) -> Optional[pulumi.Input[builtins.str]]:
58175
58812
  """
58176
- (Output)
58177
- How many instances are in use.
58813
+ Specifies the instance template to create the reservation. If you use this field, you must exclude the
58814
+ instanceProperties field.
58178
58815
  """
58179
- return pulumi.get(self, "in_use_count")
58816
+ return pulumi.get(self, "source_instance_template")
58180
58817
 
58181
- @in_use_count.setter
58182
- def in_use_count(self, value: Optional[pulumi.Input[builtins.int]]):
58183
- pulumi.set(self, "in_use_count", value)
58818
+ @source_instance_template.setter
58819
+ def source_instance_template(self, value: Optional[pulumi.Input[builtins.str]]):
58820
+ pulumi.set(self, "source_instance_template", value)
58184
58821
 
58185
58822
 
58186
58823
  if not MYPY:
@@ -58200,6 +58837,11 @@ if not MYPY:
58200
58837
  reserves disks of type `local-ssd`.
58201
58838
  Structure is documented below.
58202
58839
  """
58840
+ maintenance_interval: NotRequired[pulumi.Input[builtins.str]]
58841
+ """
58842
+ Specifies the frequency of planned maintenance events.
58843
+ Possible values are: `AS_NEEDED`, `PERIODIC`, `RECURRENT`.
58844
+ """
58203
58845
  min_cpu_platform: NotRequired[pulumi.Input[builtins.str]]
58204
58846
  """
58205
58847
  The minimum CPU platform for the reservation. For example,
@@ -58216,6 +58858,7 @@ class ReservationSpecificReservationInstancePropertiesArgs:
58216
58858
  machine_type: pulumi.Input[builtins.str],
58217
58859
  guest_accelerators: Optional[pulumi.Input[Sequence[pulumi.Input['ReservationSpecificReservationInstancePropertiesGuestAcceleratorArgs']]]] = None,
58218
58860
  local_ssds: Optional[pulumi.Input[Sequence[pulumi.Input['ReservationSpecificReservationInstancePropertiesLocalSsdArgs']]]] = None,
58861
+ maintenance_interval: Optional[pulumi.Input[builtins.str]] = None,
58219
58862
  min_cpu_platform: Optional[pulumi.Input[builtins.str]] = None):
58220
58863
  """
58221
58864
  :param pulumi.Input[builtins.str] machine_type: The name of the machine type to reserve.
@@ -58224,6 +58867,8 @@ class ReservationSpecificReservationInstancePropertiesArgs:
58224
58867
  :param pulumi.Input[Sequence[pulumi.Input['ReservationSpecificReservationInstancePropertiesLocalSsdArgs']]] local_ssds: The amount of local ssd to reserve with each instance. This
58225
58868
  reserves disks of type `local-ssd`.
58226
58869
  Structure is documented below.
58870
+ :param pulumi.Input[builtins.str] maintenance_interval: Specifies the frequency of planned maintenance events.
58871
+ Possible values are: `AS_NEEDED`, `PERIODIC`, `RECURRENT`.
58227
58872
  :param pulumi.Input[builtins.str] min_cpu_platform: The minimum CPU platform for the reservation. For example,
58228
58873
  `"Intel Skylake"`. See
58229
58874
  the CPU platform availability reference](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones)
@@ -58234,6 +58879,8 @@ class ReservationSpecificReservationInstancePropertiesArgs:
58234
58879
  pulumi.set(__self__, "guest_accelerators", guest_accelerators)
58235
58880
  if local_ssds is not None:
58236
58881
  pulumi.set(__self__, "local_ssds", local_ssds)
58882
+ if maintenance_interval is not None:
58883
+ pulumi.set(__self__, "maintenance_interval", maintenance_interval)
58237
58884
  if min_cpu_platform is not None:
58238
58885
  pulumi.set(__self__, "min_cpu_platform", min_cpu_platform)
58239
58886
 
@@ -58276,6 +58923,19 @@ class ReservationSpecificReservationInstancePropertiesArgs:
58276
58923
  def local_ssds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ReservationSpecificReservationInstancePropertiesLocalSsdArgs']]]]):
58277
58924
  pulumi.set(self, "local_ssds", value)
58278
58925
 
58926
+ @property
58927
+ @pulumi.getter(name="maintenanceInterval")
58928
+ def maintenance_interval(self) -> Optional[pulumi.Input[builtins.str]]:
58929
+ """
58930
+ Specifies the frequency of planned maintenance events.
58931
+ Possible values are: `AS_NEEDED`, `PERIODIC`, `RECURRENT`.
58932
+ """
58933
+ return pulumi.get(self, "maintenance_interval")
58934
+
58935
+ @maintenance_interval.setter
58936
+ def maintenance_interval(self, value: Optional[pulumi.Input[builtins.str]]):
58937
+ pulumi.set(self, "maintenance_interval", value)
58938
+
58279
58939
  @property
58280
58940
  @pulumi.getter(name="minCpuPlatform")
58281
58941
  def min_cpu_platform(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -62911,6 +63571,10 @@ if not MYPY:
62911
63571
  * `NORMAL` - Normal log level.
62912
63572
  * `VERBOSE` - Verbose log level.
62913
63573
  """
63574
+ request_body_inspection_size: NotRequired[pulumi.Input[builtins.str]]
63575
+ """
63576
+ The maximum request size chosen by the customer with Waf enabled. Values supported are "8KB", "16KB, "32KB", "48KB" and "64KB". Values are case insensitive.
63577
+ """
62914
63578
  user_ip_request_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
62915
63579
  """
62916
63580
  An optional list of case-insensitive request header names to use for resolving the callers client IP address.
@@ -62924,6 +63588,7 @@ class SecurityPolicyAdvancedOptionsConfigArgs:
62924
63588
  json_custom_config: Optional[pulumi.Input['SecurityPolicyAdvancedOptionsConfigJsonCustomConfigArgs']] = None,
62925
63589
  json_parsing: Optional[pulumi.Input[builtins.str]] = None,
62926
63590
  log_level: Optional[pulumi.Input[builtins.str]] = None,
63591
+ request_body_inspection_size: Optional[pulumi.Input[builtins.str]] = None,
62927
63592
  user_ip_request_headers: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
62928
63593
  """
62929
63594
  :param pulumi.Input['SecurityPolicyAdvancedOptionsConfigJsonCustomConfigArgs'] json_custom_config: Custom configuration to apply the JSON parsing. Only applicable when
@@ -62935,6 +63600,7 @@ class SecurityPolicyAdvancedOptionsConfigArgs:
62935
63600
  :param pulumi.Input[builtins.str] log_level: Log level to use. Defaults to `NORMAL`.
62936
63601
  * `NORMAL` - Normal log level.
62937
63602
  * `VERBOSE` - Verbose log level.
63603
+ :param pulumi.Input[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.
62938
63604
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] user_ip_request_headers: An optional list of case-insensitive request header names to use for resolving the callers client IP address.
62939
63605
  """
62940
63606
  if json_custom_config is not None:
@@ -62943,6 +63609,8 @@ class SecurityPolicyAdvancedOptionsConfigArgs:
62943
63609
  pulumi.set(__self__, "json_parsing", json_parsing)
62944
63610
  if log_level is not None:
62945
63611
  pulumi.set(__self__, "log_level", log_level)
63612
+ if request_body_inspection_size is not None:
63613
+ pulumi.set(__self__, "request_body_inspection_size", request_body_inspection_size)
62946
63614
  if user_ip_request_headers is not None:
62947
63615
  pulumi.set(__self__, "user_ip_request_headers", user_ip_request_headers)
62948
63616
 
@@ -62988,6 +63656,18 @@ class SecurityPolicyAdvancedOptionsConfigArgs:
62988
63656
  def log_level(self, value: Optional[pulumi.Input[builtins.str]]):
62989
63657
  pulumi.set(self, "log_level", value)
62990
63658
 
63659
+ @property
63660
+ @pulumi.getter(name="requestBodyInspectionSize")
63661
+ def request_body_inspection_size(self) -> Optional[pulumi.Input[builtins.str]]:
63662
+ """
63663
+ The maximum request size chosen by the customer with Waf enabled. Values supported are "8KB", "16KB, "32KB", "48KB" and "64KB". Values are case insensitive.
63664
+ """
63665
+ return pulumi.get(self, "request_body_inspection_size")
63666
+
63667
+ @request_body_inspection_size.setter
63668
+ def request_body_inspection_size(self, value: Optional[pulumi.Input[builtins.str]]):
63669
+ pulumi.set(self, "request_body_inspection_size", value)
63670
+
62991
63671
  @property
62992
63672
  @pulumi.getter(name="userIpRequestHeaders")
62993
63673
  def user_ip_request_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]: