pulumi-gcp 7.33.0a1721974181__py3-none-any.whl → 7.34.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.

Potentially problematic release.


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

Files changed (78) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/alloydb/_inputs.py +174 -0
  3. pulumi_gcp/alloydb/instance.py +54 -0
  4. pulumi_gcp/alloydb/outputs.py +133 -0
  5. pulumi_gcp/apigee/__init__.py +2 -0
  6. pulumi_gcp/apigee/environment_keyvaluemaps.py +370 -0
  7. pulumi_gcp/apigee/environment_keyvaluemaps_entries.py +440 -0
  8. pulumi_gcp/apigee/instance.py +2 -2
  9. pulumi_gcp/apigee/nat_address.py +2 -2
  10. pulumi_gcp/apigee/organization.py +4 -4
  11. pulumi_gcp/apphub/service_project_attachment.py +11 -11
  12. pulumi_gcp/bigquery/_inputs.py +36 -0
  13. pulumi_gcp/bigquery/app_profile.py +54 -0
  14. pulumi_gcp/bigquery/outputs.py +38 -0
  15. pulumi_gcp/bigquery/reservation.py +34 -4
  16. pulumi_gcp/bigquery/table.py +65 -21
  17. pulumi_gcp/bigtable/table.py +27 -26
  18. pulumi_gcp/certificateauthority/authority.py +4 -4
  19. pulumi_gcp/cloudfunctions/function.py +47 -0
  20. pulumi_gcp/cloudfunctions/get_function.py +11 -1
  21. pulumi_gcp/cloudfunctionsv2/function.py +2 -2
  22. pulumi_gcp/cloudrun/_inputs.py +24 -21
  23. pulumi_gcp/cloudrun/outputs.py +20 -24
  24. pulumi_gcp/cloudrunv2/_inputs.py +3 -0
  25. pulumi_gcp/cloudrunv2/outputs.py +4 -0
  26. pulumi_gcp/compute/__init__.py +2 -0
  27. pulumi_gcp/compute/_inputs.py +2334 -329
  28. pulumi_gcp/compute/backend_service.py +6 -0
  29. pulumi_gcp/compute/outputs.py +1466 -7
  30. pulumi_gcp/compute/public_advertised_prefix.py +30 -2
  31. pulumi_gcp/compute/resize_request.py +782 -0
  32. pulumi_gcp/compute/router_peer.py +437 -0
  33. pulumi_gcp/compute/router_route_policy.py +616 -0
  34. pulumi_gcp/compute/service_attachment.py +7 -14
  35. pulumi_gcp/container/_inputs.py +215 -18
  36. pulumi_gcp/container/node_pool.py +0 -14
  37. pulumi_gcp/container/outputs.py +226 -12
  38. pulumi_gcp/databasemigrationservice/private_connection.py +10 -6
  39. pulumi_gcp/dataloss/_inputs.py +707 -21
  40. pulumi_gcp/dataloss/outputs.py +588 -14
  41. pulumi_gcp/datastore/data_store_index.py +24 -12
  42. pulumi_gcp/datastream/_inputs.py +83 -3
  43. pulumi_gcp/datastream/outputs.py +51 -3
  44. pulumi_gcp/datastream/stream.py +170 -0
  45. pulumi_gcp/firebase/database_instance.py +8 -8
  46. pulumi_gcp/firebase/hosting_site.py +8 -8
  47. pulumi_gcp/firestore/index.py +10 -10
  48. pulumi_gcp/gkeonprem/_inputs.py +78 -78
  49. pulumi_gcp/gkeonprem/outputs.py +52 -52
  50. pulumi_gcp/iap/client.py +4 -4
  51. pulumi_gcp/integrationconnectors/_inputs.py +30 -30
  52. pulumi_gcp/integrationconnectors/outputs.py +20 -20
  53. pulumi_gcp/netapp/volume.py +1 -1
  54. pulumi_gcp/networkconnectivity/_inputs.py +3 -6
  55. pulumi_gcp/networkconnectivity/hub.py +60 -49
  56. pulumi_gcp/networkconnectivity/outputs.py +2 -4
  57. pulumi_gcp/networkconnectivity/spoke.py +159 -104
  58. pulumi_gcp/networksecurity/tls_inspection_policy.py +2 -2
  59. pulumi_gcp/orgpolicy/policy.py +4 -4
  60. pulumi_gcp/projects/get_project_service.py +11 -1
  61. pulumi_gcp/projects/service.py +68 -0
  62. pulumi_gcp/projects/service_identity.py +30 -2
  63. pulumi_gcp/pubsub/subscription.py +6 -6
  64. pulumi_gcp/pulumi-plugin.json +1 -1
  65. pulumi_gcp/securesourcemanager/instance.py +528 -4
  66. pulumi_gcp/securitycenter/__init__.py +1 -0
  67. pulumi_gcp/securitycenter/v2_organization_mute_config.py +673 -0
  68. pulumi_gcp/sql/database_instance.py +2 -2
  69. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  70. pulumi_gcp/vmwareengine/get_private_cloud.py +21 -1
  71. pulumi_gcp/vmwareengine/private_cloud.py +121 -2
  72. pulumi_gcp/workbench/_inputs.py +77 -0
  73. pulumi_gcp/workbench/instance.py +18 -4
  74. pulumi_gcp/workbench/outputs.py +67 -1
  75. {pulumi_gcp-7.33.0a1721974181.dist-info → pulumi_gcp-7.34.0.dist-info}/METADATA +1 -1
  76. {pulumi_gcp-7.33.0a1721974181.dist-info → pulumi_gcp-7.34.0.dist-info}/RECORD +78 -73
  77. {pulumi_gcp-7.33.0a1721974181.dist-info → pulumi_gcp-7.34.0.dist-info}/WHEEL +1 -1
  78. {pulumi_gcp-7.33.0a1721974181.dist-info → pulumi_gcp-7.34.0.dist-info}/top_level.txt +0 -0
@@ -87,6 +87,8 @@ __all__ = [
87
87
  'BackendServiceOutlierDetectionIntervalArgsDict',
88
88
  'BackendServiceSecuritySettingsArgs',
89
89
  'BackendServiceSecuritySettingsArgsDict',
90
+ 'BackendServiceSecuritySettingsAwsV4AuthenticationArgs',
91
+ 'BackendServiceSecuritySettingsAwsV4AuthenticationArgsDict',
90
92
  'DiskAsyncPrimaryDiskArgs',
91
93
  'DiskAsyncPrimaryDiskArgsDict',
92
94
  'DiskAsyncReplicationSecondaryDiskArgs',
@@ -801,6 +803,44 @@ __all__ = [
801
803
  'ReservationSpecificReservationInstancePropertiesGuestAcceleratorArgsDict',
802
804
  'ReservationSpecificReservationInstancePropertiesLocalSsdArgs',
803
805
  'ReservationSpecificReservationInstancePropertiesLocalSsdArgsDict',
806
+ 'ResizeRequestRequestedRunDurationArgs',
807
+ 'ResizeRequestRequestedRunDurationArgsDict',
808
+ 'ResizeRequestStatusArgs',
809
+ 'ResizeRequestStatusArgsDict',
810
+ 'ResizeRequestStatusErrorArgs',
811
+ 'ResizeRequestStatusErrorArgsDict',
812
+ 'ResizeRequestStatusErrorErrorArgs',
813
+ 'ResizeRequestStatusErrorErrorArgsDict',
814
+ 'ResizeRequestStatusErrorErrorErrorDetailArgs',
815
+ 'ResizeRequestStatusErrorErrorErrorDetailArgsDict',
816
+ 'ResizeRequestStatusErrorErrorErrorDetailErrorInfoArgs',
817
+ 'ResizeRequestStatusErrorErrorErrorDetailErrorInfoArgsDict',
818
+ 'ResizeRequestStatusErrorErrorErrorDetailHelpArgs',
819
+ 'ResizeRequestStatusErrorErrorErrorDetailHelpArgsDict',
820
+ 'ResizeRequestStatusErrorErrorErrorDetailHelpLinkArgs',
821
+ 'ResizeRequestStatusErrorErrorErrorDetailHelpLinkArgsDict',
822
+ 'ResizeRequestStatusErrorErrorErrorDetailLocalizedMessageArgs',
823
+ 'ResizeRequestStatusErrorErrorErrorDetailLocalizedMessageArgsDict',
824
+ 'ResizeRequestStatusErrorErrorErrorDetailQuotaInfoArgs',
825
+ 'ResizeRequestStatusErrorErrorErrorDetailQuotaInfoArgsDict',
826
+ 'ResizeRequestStatusLastAttemptArgs',
827
+ 'ResizeRequestStatusLastAttemptArgsDict',
828
+ 'ResizeRequestStatusLastAttemptErrorArgs',
829
+ 'ResizeRequestStatusLastAttemptErrorArgsDict',
830
+ 'ResizeRequestStatusLastAttemptErrorErrorArgs',
831
+ 'ResizeRequestStatusLastAttemptErrorErrorArgsDict',
832
+ 'ResizeRequestStatusLastAttemptErrorErrorErrorDetailArgs',
833
+ 'ResizeRequestStatusLastAttemptErrorErrorErrorDetailArgsDict',
834
+ 'ResizeRequestStatusLastAttemptErrorErrorErrorDetailErrorInfoArgs',
835
+ 'ResizeRequestStatusLastAttemptErrorErrorErrorDetailErrorInfoArgsDict',
836
+ 'ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpArgs',
837
+ 'ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpArgsDict',
838
+ 'ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpLinkArgs',
839
+ 'ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpLinkArgsDict',
840
+ 'ResizeRequestStatusLastAttemptErrorErrorErrorDetailLocalizedMessageArgs',
841
+ 'ResizeRequestStatusLastAttemptErrorErrorErrorDetailLocalizedMessageArgsDict',
842
+ 'ResizeRequestStatusLastAttemptErrorErrorErrorDetailQuotaInfoArgs',
843
+ 'ResizeRequestStatusLastAttemptErrorErrorErrorDetailQuotaInfoArgsDict',
804
844
  'ResourcePolicyDiskConsistencyGroupPolicyArgs',
805
845
  'ResourcePolicyDiskConsistencyGroupPolicyArgsDict',
806
846
  'ResourcePolicyGroupPlacementPolicyArgs',
@@ -843,8 +883,16 @@ __all__ = [
843
883
  'RouterPeerAdvertisedIpRangeArgsDict',
844
884
  'RouterPeerBfdArgs',
845
885
  'RouterPeerBfdArgsDict',
886
+ 'RouterPeerCustomLearnedIpRangeArgs',
887
+ 'RouterPeerCustomLearnedIpRangeArgsDict',
846
888
  'RouterPeerMd5AuthenticationKeyArgs',
847
889
  'RouterPeerMd5AuthenticationKeyArgsDict',
890
+ 'RouterRoutePolicyTermArgs',
891
+ 'RouterRoutePolicyTermArgsDict',
892
+ 'RouterRoutePolicyTermActionArgs',
893
+ 'RouterRoutePolicyTermActionArgsDict',
894
+ 'RouterRoutePolicyTermMatchArgs',
895
+ 'RouterRoutePolicyTermMatchArgsDict',
848
896
  'SecurityPolicyAdaptiveProtectionConfigArgs',
849
897
  'SecurityPolicyAdaptiveProtectionConfigArgsDict',
850
898
  'SecurityPolicyAdaptiveProtectionConfigAutoDeployConfigArgs',
@@ -5010,13 +5058,22 @@ class BackendServiceOutlierDetectionIntervalArgs:
5010
5058
 
5011
5059
  if not MYPY:
5012
5060
  class BackendServiceSecuritySettingsArgsDict(TypedDict):
5013
- client_tls_policy: pulumi.Input[str]
5061
+ aws_v4_authentication: NotRequired[pulumi.Input['BackendServiceSecuritySettingsAwsV4AuthenticationArgsDict']]
5062
+ """
5063
+ The configuration needed to generate a signature for access to private storage buckets that support AWS's Signature Version 4 for authentication.
5064
+ Allowed only for INTERNET_IP_PORT and INTERNET_FQDN_PORT NEG backends.
5065
+ Structure is documented below.
5066
+
5067
+
5068
+ <a name="nested_aws_v4_authentication"></a>The `aws_v4_authentication` block supports:
5069
+ """
5070
+ client_tls_policy: NotRequired[pulumi.Input[str]]
5014
5071
  """
5015
5072
  ClientTlsPolicy is a resource that specifies how a client should authenticate
5016
5073
  connections to backends of a service. This resource itself does not affect
5017
5074
  configuration unless it is attached to a backend service resource.
5018
5075
  """
5019
- subject_alt_names: pulumi.Input[Sequence[pulumi.Input[str]]]
5076
+ subject_alt_names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
5020
5077
  """
5021
5078
  A list of alternate names to verify the subject identity in the certificate.
5022
5079
  If specified, the client will verify that the server certificate's subject
@@ -5028,9 +5085,16 @@ elif False:
5028
5085
  @pulumi.input_type
5029
5086
  class BackendServiceSecuritySettingsArgs:
5030
5087
  def __init__(__self__, *,
5031
- client_tls_policy: pulumi.Input[str],
5032
- subject_alt_names: pulumi.Input[Sequence[pulumi.Input[str]]]):
5088
+ aws_v4_authentication: Optional[pulumi.Input['BackendServiceSecuritySettingsAwsV4AuthenticationArgs']] = None,
5089
+ client_tls_policy: Optional[pulumi.Input[str]] = None,
5090
+ subject_alt_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
5033
5091
  """
5092
+ :param pulumi.Input['BackendServiceSecuritySettingsAwsV4AuthenticationArgs'] aws_v4_authentication: The configuration needed to generate a signature for access to private storage buckets that support AWS's Signature Version 4 for authentication.
5093
+ Allowed only for INTERNET_IP_PORT and INTERNET_FQDN_PORT NEG backends.
5094
+ Structure is documented below.
5095
+
5096
+
5097
+ <a name="nested_aws_v4_authentication"></a>The `aws_v4_authentication` block supports:
5034
5098
  :param pulumi.Input[str] client_tls_policy: ClientTlsPolicy is a resource that specifies how a client should authenticate
5035
5099
  connections to backends of a service. This resource itself does not affect
5036
5100
  configuration unless it is attached to a backend service resource.
@@ -5038,12 +5102,33 @@ class BackendServiceSecuritySettingsArgs:
5038
5102
  If specified, the client will verify that the server certificate's subject
5039
5103
  alt name matches one of the specified values.
5040
5104
  """
5041
- pulumi.set(__self__, "client_tls_policy", client_tls_policy)
5042
- pulumi.set(__self__, "subject_alt_names", subject_alt_names)
5105
+ if aws_v4_authentication is not None:
5106
+ pulumi.set(__self__, "aws_v4_authentication", aws_v4_authentication)
5107
+ if client_tls_policy is not None:
5108
+ pulumi.set(__self__, "client_tls_policy", client_tls_policy)
5109
+ if subject_alt_names is not None:
5110
+ pulumi.set(__self__, "subject_alt_names", subject_alt_names)
5111
+
5112
+ @property
5113
+ @pulumi.getter(name="awsV4Authentication")
5114
+ def aws_v4_authentication(self) -> Optional[pulumi.Input['BackendServiceSecuritySettingsAwsV4AuthenticationArgs']]:
5115
+ """
5116
+ The configuration needed to generate a signature for access to private storage buckets that support AWS's Signature Version 4 for authentication.
5117
+ Allowed only for INTERNET_IP_PORT and INTERNET_FQDN_PORT NEG backends.
5118
+ Structure is documented below.
5119
+
5120
+
5121
+ <a name="nested_aws_v4_authentication"></a>The `aws_v4_authentication` block supports:
5122
+ """
5123
+ return pulumi.get(self, "aws_v4_authentication")
5124
+
5125
+ @aws_v4_authentication.setter
5126
+ def aws_v4_authentication(self, value: Optional[pulumi.Input['BackendServiceSecuritySettingsAwsV4AuthenticationArgs']]):
5127
+ pulumi.set(self, "aws_v4_authentication", value)
5043
5128
 
5044
5129
  @property
5045
5130
  @pulumi.getter(name="clientTlsPolicy")
5046
- def client_tls_policy(self) -> pulumi.Input[str]:
5131
+ def client_tls_policy(self) -> Optional[pulumi.Input[str]]:
5047
5132
  """
5048
5133
  ClientTlsPolicy is a resource that specifies how a client should authenticate
5049
5134
  connections to backends of a service. This resource itself does not affect
@@ -5052,12 +5137,12 @@ class BackendServiceSecuritySettingsArgs:
5052
5137
  return pulumi.get(self, "client_tls_policy")
5053
5138
 
5054
5139
  @client_tls_policy.setter
5055
- def client_tls_policy(self, value: pulumi.Input[str]):
5140
+ def client_tls_policy(self, value: Optional[pulumi.Input[str]]):
5056
5141
  pulumi.set(self, "client_tls_policy", value)
5057
5142
 
5058
5143
  @property
5059
5144
  @pulumi.getter(name="subjectAltNames")
5060
- def subject_alt_names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
5145
+ def subject_alt_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
5061
5146
  """
5062
5147
  A list of alternate names to verify the subject identity in the certificate.
5063
5148
  If specified, the client will verify that the server certificate's subject
@@ -5066,10 +5151,108 @@ class BackendServiceSecuritySettingsArgs:
5066
5151
  return pulumi.get(self, "subject_alt_names")
5067
5152
 
5068
5153
  @subject_alt_names.setter
5069
- def subject_alt_names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
5154
+ def subject_alt_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
5070
5155
  pulumi.set(self, "subject_alt_names", value)
5071
5156
 
5072
5157
 
5158
+ if not MYPY:
5159
+ class BackendServiceSecuritySettingsAwsV4AuthenticationArgsDict(TypedDict):
5160
+ access_key: NotRequired[pulumi.Input[str]]
5161
+ """
5162
+ The access key used for s3 bucket authentication.
5163
+ Required for updating or creating a backend that uses AWS v4 signature authentication, but will not be returned as part of the configuration when queried with a REST API GET request.
5164
+ """
5165
+ access_key_id: NotRequired[pulumi.Input[str]]
5166
+ """
5167
+ The identifier of an access key used for s3 bucket authentication.
5168
+ """
5169
+ access_key_version: NotRequired[pulumi.Input[str]]
5170
+ """
5171
+ The optional version identifier for the access key. You can use this to keep track of different iterations of your access key.
5172
+ """
5173
+ origin_region: NotRequired[pulumi.Input[str]]
5174
+ """
5175
+ The name of the cloud region of your origin. This is a free-form field with the name of the region your cloud uses to host your origin.
5176
+ For example, "us-east-1" for AWS or "us-ashburn-1" for OCI.
5177
+ """
5178
+ elif False:
5179
+ BackendServiceSecuritySettingsAwsV4AuthenticationArgsDict: TypeAlias = Mapping[str, Any]
5180
+
5181
+ @pulumi.input_type
5182
+ class BackendServiceSecuritySettingsAwsV4AuthenticationArgs:
5183
+ def __init__(__self__, *,
5184
+ access_key: Optional[pulumi.Input[str]] = None,
5185
+ access_key_id: Optional[pulumi.Input[str]] = None,
5186
+ access_key_version: Optional[pulumi.Input[str]] = None,
5187
+ origin_region: Optional[pulumi.Input[str]] = None):
5188
+ """
5189
+ :param pulumi.Input[str] access_key: The access key used for s3 bucket authentication.
5190
+ Required for updating or creating a backend that uses AWS v4 signature authentication, but will not be returned as part of the configuration when queried with a REST API GET request.
5191
+ :param pulumi.Input[str] access_key_id: The identifier of an access key used for s3 bucket authentication.
5192
+ :param pulumi.Input[str] access_key_version: The optional version identifier for the access key. You can use this to keep track of different iterations of your access key.
5193
+ :param pulumi.Input[str] origin_region: The name of the cloud region of your origin. This is a free-form field with the name of the region your cloud uses to host your origin.
5194
+ For example, "us-east-1" for AWS or "us-ashburn-1" for OCI.
5195
+ """
5196
+ if access_key is not None:
5197
+ pulumi.set(__self__, "access_key", access_key)
5198
+ if access_key_id is not None:
5199
+ pulumi.set(__self__, "access_key_id", access_key_id)
5200
+ if access_key_version is not None:
5201
+ pulumi.set(__self__, "access_key_version", access_key_version)
5202
+ if origin_region is not None:
5203
+ pulumi.set(__self__, "origin_region", origin_region)
5204
+
5205
+ @property
5206
+ @pulumi.getter(name="accessKey")
5207
+ def access_key(self) -> Optional[pulumi.Input[str]]:
5208
+ """
5209
+ The access key used for s3 bucket authentication.
5210
+ Required for updating or creating a backend that uses AWS v4 signature authentication, but will not be returned as part of the configuration when queried with a REST API GET request.
5211
+ """
5212
+ return pulumi.get(self, "access_key")
5213
+
5214
+ @access_key.setter
5215
+ def access_key(self, value: Optional[pulumi.Input[str]]):
5216
+ pulumi.set(self, "access_key", value)
5217
+
5218
+ @property
5219
+ @pulumi.getter(name="accessKeyId")
5220
+ def access_key_id(self) -> Optional[pulumi.Input[str]]:
5221
+ """
5222
+ The identifier of an access key used for s3 bucket authentication.
5223
+ """
5224
+ return pulumi.get(self, "access_key_id")
5225
+
5226
+ @access_key_id.setter
5227
+ def access_key_id(self, value: Optional[pulumi.Input[str]]):
5228
+ pulumi.set(self, "access_key_id", value)
5229
+
5230
+ @property
5231
+ @pulumi.getter(name="accessKeyVersion")
5232
+ def access_key_version(self) -> Optional[pulumi.Input[str]]:
5233
+ """
5234
+ The optional version identifier for the access key. You can use this to keep track of different iterations of your access key.
5235
+ """
5236
+ return pulumi.get(self, "access_key_version")
5237
+
5238
+ @access_key_version.setter
5239
+ def access_key_version(self, value: Optional[pulumi.Input[str]]):
5240
+ pulumi.set(self, "access_key_version", value)
5241
+
5242
+ @property
5243
+ @pulumi.getter(name="originRegion")
5244
+ def origin_region(self) -> Optional[pulumi.Input[str]]:
5245
+ """
5246
+ The name of the cloud region of your origin. This is a free-form field with the name of the region your cloud uses to host your origin.
5247
+ For example, "us-east-1" for AWS or "us-ashburn-1" for OCI.
5248
+ """
5249
+ return pulumi.get(self, "origin_region")
5250
+
5251
+ @origin_region.setter
5252
+ def origin_region(self, value: Optional[pulumi.Input[str]]):
5253
+ pulumi.set(self, "origin_region", value)
5254
+
5255
+
5073
5256
  if not MYPY:
5074
5257
  class DiskAsyncPrimaryDiskArgsDict(TypedDict):
5075
5258
  disk: pulumi.Input[str]
@@ -8605,6 +8788,13 @@ if not MYPY:
8605
8788
  The size of the image in gigabytes. If not specified, it
8606
8789
  will inherit the size of its base image.
8607
8790
  """
8791
+ storage_pool: NotRequired[pulumi.Input[str]]
8792
+ """
8793
+ The URL of the storage pool in which the new disk is created.
8794
+ For example:
8795
+ * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
8796
+ * /projects/{project}/zones/{zone}/storagePools/{storagePool}
8797
+ """
8608
8798
  type: NotRequired[pulumi.Input[str]]
8609
8799
  """
8610
8800
  The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
@@ -8622,6 +8812,7 @@ class InstanceBootDiskInitializeParamsArgs:
8622
8812
  provisioned_throughput: Optional[pulumi.Input[int]] = None,
8623
8813
  resource_manager_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
8624
8814
  size: Optional[pulumi.Input[int]] = None,
8815
+ storage_pool: Optional[pulumi.Input[str]] = None,
8625
8816
  type: Optional[pulumi.Input[str]] = None):
8626
8817
  """
8627
8818
  :param pulumi.Input[bool] enable_confidential_compute: Whether this disk is using confidential compute mode.
@@ -8654,6 +8845,10 @@ class InstanceBootDiskInitializeParamsArgs:
8654
8845
  :param pulumi.Input[Mapping[str, Any]] resource_manager_tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
8655
8846
  :param pulumi.Input[int] size: The size of the image in gigabytes. If not specified, it
8656
8847
  will inherit the size of its base image.
8848
+ :param pulumi.Input[str] storage_pool: The URL of the storage pool in which the new disk is created.
8849
+ For example:
8850
+ * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
8851
+ * /projects/{project}/zones/{zone}/storagePools/{storagePool}
8657
8852
  :param pulumi.Input[str] type: The GCE disk type. Such as pd-standard, pd-balanced or pd-ssd.
8658
8853
  """
8659
8854
  if enable_confidential_compute is not None:
@@ -8670,6 +8865,8 @@ class InstanceBootDiskInitializeParamsArgs:
8670
8865
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
8671
8866
  if size is not None:
8672
8867
  pulumi.set(__self__, "size", size)
8868
+ if storage_pool is not None:
8869
+ pulumi.set(__self__, "storage_pool", storage_pool)
8673
8870
  if type is not None:
8674
8871
  pulumi.set(__self__, "type", type)
8675
8872
 
@@ -8780,6 +8977,21 @@ class InstanceBootDiskInitializeParamsArgs:
8780
8977
  def size(self, value: Optional[pulumi.Input[int]]):
8781
8978
  pulumi.set(self, "size", value)
8782
8979
 
8980
+ @property
8981
+ @pulumi.getter(name="storagePool")
8982
+ def storage_pool(self) -> Optional[pulumi.Input[str]]:
8983
+ """
8984
+ The URL of the storage pool in which the new disk is created.
8985
+ For example:
8986
+ * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
8987
+ * /projects/{project}/zones/{zone}/storagePools/{storagePool}
8988
+ """
8989
+ return pulumi.get(self, "storage_pool")
8990
+
8991
+ @storage_pool.setter
8992
+ def storage_pool(self, value: Optional[pulumi.Input[str]]):
8993
+ pulumi.set(self, "storage_pool", value)
8994
+
8783
8995
  @property
8784
8996
  @pulumi.getter
8785
8997
  def type(self) -> Optional[pulumi.Input[str]]:
@@ -9250,6 +9462,10 @@ if not MYPY:
9250
9462
  """
9251
9463
  The size of the image in gigabytes.
9252
9464
  """
9465
+ storage_pool: NotRequired[pulumi.Input[str]]
9466
+ """
9467
+ The URL of the storage pool in which the new disk is created
9468
+ """
9253
9469
  type: NotRequired[pulumi.Input[str]]
9254
9470
  """
9255
9471
  The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
@@ -9267,6 +9483,7 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
9267
9483
  provisioned_throughput: Optional[pulumi.Input[int]] = None,
9268
9484
  resource_manager_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
9269
9485
  size: Optional[pulumi.Input[int]] = None,
9486
+ storage_pool: Optional[pulumi.Input[str]] = None,
9270
9487
  type: Optional[pulumi.Input[str]] = None):
9271
9488
  """
9272
9489
  :param pulumi.Input[bool] enable_confidential_compute: A flag to enable confidential compute mode on boot disk
@@ -9276,6 +9493,7 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
9276
9493
  :param pulumi.Input[int] provisioned_throughput: Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle.
9277
9494
  :param pulumi.Input[Mapping[str, Any]] resource_manager_tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
9278
9495
  :param pulumi.Input[int] size: The size of the image in gigabytes.
9496
+ :param pulumi.Input[str] storage_pool: The URL of the storage pool in which the new disk is created
9279
9497
  :param pulumi.Input[str] type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
9280
9498
  """
9281
9499
  if enable_confidential_compute is not None:
@@ -9292,6 +9510,8 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
9292
9510
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
9293
9511
  if size is not None:
9294
9512
  pulumi.set(__self__, "size", size)
9513
+ if storage_pool is not None:
9514
+ pulumi.set(__self__, "storage_pool", storage_pool)
9295
9515
  if type is not None:
9296
9516
  pulumi.set(__self__, "type", type)
9297
9517
 
@@ -9379,6 +9599,18 @@ class InstanceFromMachineImageBootDiskInitializeParamsArgs:
9379
9599
  def size(self, value: Optional[pulumi.Input[int]]):
9380
9600
  pulumi.set(self, "size", value)
9381
9601
 
9602
+ @property
9603
+ @pulumi.getter(name="storagePool")
9604
+ def storage_pool(self) -> Optional[pulumi.Input[str]]:
9605
+ """
9606
+ The URL of the storage pool in which the new disk is created
9607
+ """
9608
+ return pulumi.get(self, "storage_pool")
9609
+
9610
+ @storage_pool.setter
9611
+ def storage_pool(self, value: Optional[pulumi.Input[str]]):
9612
+ pulumi.set(self, "storage_pool", value)
9613
+
9382
9614
  @property
9383
9615
  @pulumi.getter
9384
9616
  def type(self) -> Optional[pulumi.Input[str]]:
@@ -11313,6 +11545,10 @@ if not MYPY:
11313
11545
  """
11314
11546
  The size of the image in gigabytes.
11315
11547
  """
11548
+ storage_pool: NotRequired[pulumi.Input[str]]
11549
+ """
11550
+ The URL of the storage pool in which the new disk is created
11551
+ """
11316
11552
  type: NotRequired[pulumi.Input[str]]
11317
11553
  """
11318
11554
  The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
@@ -11330,6 +11566,7 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
11330
11566
  provisioned_throughput: Optional[pulumi.Input[int]] = None,
11331
11567
  resource_manager_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
11332
11568
  size: Optional[pulumi.Input[int]] = None,
11569
+ storage_pool: Optional[pulumi.Input[str]] = None,
11333
11570
  type: Optional[pulumi.Input[str]] = None):
11334
11571
  """
11335
11572
  :param pulumi.Input[bool] enable_confidential_compute: A flag to enable confidential compute mode on boot disk
@@ -11339,6 +11576,7 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
11339
11576
  :param pulumi.Input[int] provisioned_throughput: Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle.
11340
11577
  :param pulumi.Input[Mapping[str, Any]] resource_manager_tags: A map of resource manager tags. Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty.
11341
11578
  :param pulumi.Input[int] size: The size of the image in gigabytes.
11579
+ :param pulumi.Input[str] storage_pool: The URL of the storage pool in which the new disk is created
11342
11580
  :param pulumi.Input[str] type: The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced.
11343
11581
  """
11344
11582
  if enable_confidential_compute is not None:
@@ -11355,6 +11593,8 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
11355
11593
  pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
11356
11594
  if size is not None:
11357
11595
  pulumi.set(__self__, "size", size)
11596
+ if storage_pool is not None:
11597
+ pulumi.set(__self__, "storage_pool", storage_pool)
11358
11598
  if type is not None:
11359
11599
  pulumi.set(__self__, "type", type)
11360
11600
 
@@ -11442,6 +11682,18 @@ class InstanceFromTemplateBootDiskInitializeParamsArgs:
11442
11682
  def size(self, value: Optional[pulumi.Input[int]]):
11443
11683
  pulumi.set(self, "size", value)
11444
11684
 
11685
+ @property
11686
+ @pulumi.getter(name="storagePool")
11687
+ def storage_pool(self) -> Optional[pulumi.Input[str]]:
11688
+ """
11689
+ The URL of the storage pool in which the new disk is created
11690
+ """
11691
+ return pulumi.get(self, "storage_pool")
11692
+
11693
+ @storage_pool.setter
11694
+ def storage_pool(self, value: Optional[pulumi.Input[str]]):
11695
+ pulumi.set(self, "storage_pool", value)
11696
+
11445
11697
  @property
11446
11698
  @pulumi.getter
11447
11699
  def type(self) -> Optional[pulumi.Input[str]]:
@@ -39056,495 +39308,1940 @@ class ReservationSpecificReservationInstancePropertiesLocalSsdArgs:
39056
39308
 
39057
39309
 
39058
39310
  if not MYPY:
39059
- class ResourcePolicyDiskConsistencyGroupPolicyArgsDict(TypedDict):
39060
- enabled: pulumi.Input[bool]
39311
+ class ResizeRequestRequestedRunDurationArgsDict(TypedDict):
39312
+ seconds: pulumi.Input[str]
39061
39313
  """
39062
- Enable disk consistency on the resource policy.
39314
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
39315
+ """
39316
+ nanos: NotRequired[pulumi.Input[int]]
39317
+ """
39318
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
39063
39319
  """
39064
39320
  elif False:
39065
- ResourcePolicyDiskConsistencyGroupPolicyArgsDict: TypeAlias = Mapping[str, Any]
39321
+ ResizeRequestRequestedRunDurationArgsDict: TypeAlias = Mapping[str, Any]
39066
39322
 
39067
39323
  @pulumi.input_type
39068
- class ResourcePolicyDiskConsistencyGroupPolicyArgs:
39324
+ class ResizeRequestRequestedRunDurationArgs:
39069
39325
  def __init__(__self__, *,
39070
- enabled: pulumi.Input[bool]):
39326
+ seconds: pulumi.Input[str],
39327
+ nanos: Optional[pulumi.Input[int]] = None):
39071
39328
  """
39072
- :param pulumi.Input[bool] enabled: Enable disk consistency on the resource policy.
39329
+ :param pulumi.Input[str] seconds: Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
39330
+ :param pulumi.Input[int] nanos: Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
39073
39331
  """
39074
- pulumi.set(__self__, "enabled", enabled)
39332
+ pulumi.set(__self__, "seconds", seconds)
39333
+ if nanos is not None:
39334
+ pulumi.set(__self__, "nanos", nanos)
39075
39335
 
39076
39336
  @property
39077
39337
  @pulumi.getter
39078
- def enabled(self) -> pulumi.Input[bool]:
39338
+ def seconds(self) -> pulumi.Input[str]:
39079
39339
  """
39080
- Enable disk consistency on the resource policy.
39340
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
39081
39341
  """
39082
- return pulumi.get(self, "enabled")
39083
-
39084
- @enabled.setter
39085
- def enabled(self, value: pulumi.Input[bool]):
39086
- pulumi.set(self, "enabled", value)
39342
+ return pulumi.get(self, "seconds")
39087
39343
 
39344
+ @seconds.setter
39345
+ def seconds(self, value: pulumi.Input[str]):
39346
+ pulumi.set(self, "seconds", value)
39088
39347
 
39089
- if not MYPY:
39090
- class ResourcePolicyGroupPlacementPolicyArgsDict(TypedDict):
39091
- availability_domain_count: NotRequired[pulumi.Input[int]]
39092
- """
39093
- The number of availability domains instances will be spread across. If two instances are in different
39094
- availability domain, they will not be put in the same low latency network
39095
- """
39096
- collocation: NotRequired[pulumi.Input[str]]
39348
+ @property
39349
+ @pulumi.getter
39350
+ def nanos(self) -> Optional[pulumi.Input[int]]:
39097
39351
  """
39098
- Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network.
39099
- Specify `COLLOCATED` to enable collocation. Can only be specified with `vm_count`. If compute instances are created
39100
- with a COLLOCATED policy, then exactly `vm_count` instances must be created at the same time with the resource policy
39101
- attached.
39102
- Possible values are: `COLLOCATED`.
39352
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
39103
39353
  """
39104
- max_distance: NotRequired[pulumi.Input[int]]
39354
+ return pulumi.get(self, "nanos")
39355
+
39356
+ @nanos.setter
39357
+ def nanos(self, value: Optional[pulumi.Input[int]]):
39358
+ pulumi.set(self, "nanos", value)
39359
+
39360
+
39361
+ if not MYPY:
39362
+ class ResizeRequestStatusArgsDict(TypedDict):
39363
+ errors: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorArgsDict']]]]
39105
39364
  """
39106
- Specifies the number of max logical switches.
39365
+ (Output)
39366
+ [Output only] Fatal errors encountered during the queueing or provisioning phases of the ResizeRequest that caused the transition to the FAILED state. Contrary to the lastAttempt errors, this field is final and errors are never removed from here, as the ResizeRequest is not going to retry.
39367
+ Structure is documented below.
39107
39368
  """
39108
- vm_count: NotRequired[pulumi.Input[int]]
39369
+ last_attempts: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptArgsDict']]]]
39109
39370
  """
39110
- Number of VMs in this placement group. Google does not recommend that you use this field
39111
- unless you use a compact policy and you want your policy to work only if it contains this
39112
- exact number of VMs.
39371
+ (Output)
39372
+ [Output only] Information about the last attempt to fulfill the request. The value is temporary since the ResizeRequest can retry, as long as it's still active and the last attempt value can either be cleared or replaced with a different error. Since ResizeRequest retries infrequently, the value may be stale and no longer show an active problem. The value is cleared when ResizeRequest transitions to the final state (becomes inactive). If the final state is FAILED the error describing it will be storred in the "error" field only.
39373
+ Structure is documented below.
39113
39374
  """
39114
39375
  elif False:
39115
- ResourcePolicyGroupPlacementPolicyArgsDict: TypeAlias = Mapping[str, Any]
39376
+ ResizeRequestStatusArgsDict: TypeAlias = Mapping[str, Any]
39116
39377
 
39117
39378
  @pulumi.input_type
39118
- class ResourcePolicyGroupPlacementPolicyArgs:
39379
+ class ResizeRequestStatusArgs:
39119
39380
  def __init__(__self__, *,
39120
- availability_domain_count: Optional[pulumi.Input[int]] = None,
39121
- collocation: Optional[pulumi.Input[str]] = None,
39122
- max_distance: Optional[pulumi.Input[int]] = None,
39123
- vm_count: Optional[pulumi.Input[int]] = None):
39381
+ errors: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorArgs']]]] = None,
39382
+ last_attempts: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptArgs']]]] = None):
39124
39383
  """
39125
- :param pulumi.Input[int] availability_domain_count: The number of availability domains instances will be spread across. If two instances are in different
39126
- availability domain, they will not be put in the same low latency network
39127
- :param pulumi.Input[str] collocation: Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network.
39128
- Specify `COLLOCATED` to enable collocation. Can only be specified with `vm_count`. If compute instances are created
39129
- with a COLLOCATED policy, then exactly `vm_count` instances must be created at the same time with the resource policy
39130
- attached.
39131
- Possible values are: `COLLOCATED`.
39132
- :param pulumi.Input[int] max_distance: Specifies the number of max logical switches.
39133
- :param pulumi.Input[int] vm_count: Number of VMs in this placement group. Google does not recommend that you use this field
39134
- unless you use a compact policy and you want your policy to work only if it contains this
39135
- exact number of VMs.
39384
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorArgs']]] errors: (Output)
39385
+ [Output only] Fatal errors encountered during the queueing or provisioning phases of the ResizeRequest that caused the transition to the FAILED state. Contrary to the lastAttempt errors, this field is final and errors are never removed from here, as the ResizeRequest is not going to retry.
39386
+ Structure is documented below.
39387
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptArgs']]] last_attempts: (Output)
39388
+ [Output only] Information about the last attempt to fulfill the request. The value is temporary since the ResizeRequest can retry, as long as it's still active and the last attempt value can either be cleared or replaced with a different error. Since ResizeRequest retries infrequently, the value may be stale and no longer show an active problem. The value is cleared when ResizeRequest transitions to the final state (becomes inactive). If the final state is FAILED the error describing it will be storred in the "error" field only.
39389
+ Structure is documented below.
39136
39390
  """
39137
- if availability_domain_count is not None:
39138
- pulumi.set(__self__, "availability_domain_count", availability_domain_count)
39139
- if collocation is not None:
39140
- pulumi.set(__self__, "collocation", collocation)
39141
- if max_distance is not None:
39142
- pulumi.set(__self__, "max_distance", max_distance)
39143
- if vm_count is not None:
39144
- pulumi.set(__self__, "vm_count", vm_count)
39391
+ if errors is not None:
39392
+ pulumi.set(__self__, "errors", errors)
39393
+ if last_attempts is not None:
39394
+ pulumi.set(__self__, "last_attempts", last_attempts)
39145
39395
 
39146
39396
  @property
39147
- @pulumi.getter(name="availabilityDomainCount")
39148
- def availability_domain_count(self) -> Optional[pulumi.Input[int]]:
39397
+ @pulumi.getter
39398
+ def errors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorArgs']]]]:
39149
39399
  """
39150
- The number of availability domains instances will be spread across. If two instances are in different
39151
- availability domain, they will not be put in the same low latency network
39400
+ (Output)
39401
+ [Output only] Fatal errors encountered during the queueing or provisioning phases of the ResizeRequest that caused the transition to the FAILED state. Contrary to the lastAttempt errors, this field is final and errors are never removed from here, as the ResizeRequest is not going to retry.
39402
+ Structure is documented below.
39152
39403
  """
39153
- return pulumi.get(self, "availability_domain_count")
39404
+ return pulumi.get(self, "errors")
39154
39405
 
39155
- @availability_domain_count.setter
39156
- def availability_domain_count(self, value: Optional[pulumi.Input[int]]):
39157
- pulumi.set(self, "availability_domain_count", value)
39406
+ @errors.setter
39407
+ def errors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorArgs']]]]):
39408
+ pulumi.set(self, "errors", value)
39158
39409
 
39159
39410
  @property
39160
- @pulumi.getter
39161
- def collocation(self) -> Optional[pulumi.Input[str]]:
39411
+ @pulumi.getter(name="lastAttempts")
39412
+ def last_attempts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptArgs']]]]:
39162
39413
  """
39163
- Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network.
39164
- Specify `COLLOCATED` to enable collocation. Can only be specified with `vm_count`. If compute instances are created
39165
- with a COLLOCATED policy, then exactly `vm_count` instances must be created at the same time with the resource policy
39166
- attached.
39167
- Possible values are: `COLLOCATED`.
39414
+ (Output)
39415
+ [Output only] Information about the last attempt to fulfill the request. The value is temporary since the ResizeRequest can retry, as long as it's still active and the last attempt value can either be cleared or replaced with a different error. Since ResizeRequest retries infrequently, the value may be stale and no longer show an active problem. The value is cleared when ResizeRequest transitions to the final state (becomes inactive). If the final state is FAILED the error describing it will be storred in the "error" field only.
39416
+ Structure is documented below.
39168
39417
  """
39169
- return pulumi.get(self, "collocation")
39418
+ return pulumi.get(self, "last_attempts")
39170
39419
 
39171
- @collocation.setter
39172
- def collocation(self, value: Optional[pulumi.Input[str]]):
39173
- pulumi.set(self, "collocation", value)
39420
+ @last_attempts.setter
39421
+ def last_attempts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptArgs']]]]):
39422
+ pulumi.set(self, "last_attempts", value)
39174
39423
 
39175
- @property
39176
- @pulumi.getter(name="maxDistance")
39177
- def max_distance(self) -> Optional[pulumi.Input[int]]:
39424
+
39425
+ if not MYPY:
39426
+ class ResizeRequestStatusErrorArgsDict(TypedDict):
39427
+ errors: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorArgsDict']]]]
39178
39428
  """
39179
- Specifies the number of max logical switches.
39429
+ (Output)
39430
+ [Output Only] The array of errors encountered while processing this operation.
39431
+ Structure is documented below.
39180
39432
  """
39181
- return pulumi.get(self, "max_distance")
39433
+ elif False:
39434
+ ResizeRequestStatusErrorArgsDict: TypeAlias = Mapping[str, Any]
39182
39435
 
39183
- @max_distance.setter
39184
- def max_distance(self, value: Optional[pulumi.Input[int]]):
39185
- pulumi.set(self, "max_distance", value)
39436
+ @pulumi.input_type
39437
+ class ResizeRequestStatusErrorArgs:
39438
+ def __init__(__self__, *,
39439
+ errors: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorArgs']]]] = None):
39440
+ """
39441
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorArgs']]] errors: (Output)
39442
+ [Output Only] The array of errors encountered while processing this operation.
39443
+ Structure is documented below.
39444
+ """
39445
+ if errors is not None:
39446
+ pulumi.set(__self__, "errors", errors)
39186
39447
 
39187
39448
  @property
39188
- @pulumi.getter(name="vmCount")
39189
- def vm_count(self) -> Optional[pulumi.Input[int]]:
39449
+ @pulumi.getter
39450
+ def errors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorArgs']]]]:
39190
39451
  """
39191
- Number of VMs in this placement group. Google does not recommend that you use this field
39192
- unless you use a compact policy and you want your policy to work only if it contains this
39193
- exact number of VMs.
39452
+ (Output)
39453
+ [Output Only] The array of errors encountered while processing this operation.
39454
+ Structure is documented below.
39194
39455
  """
39195
- return pulumi.get(self, "vm_count")
39456
+ return pulumi.get(self, "errors")
39196
39457
 
39197
- @vm_count.setter
39198
- def vm_count(self, value: Optional[pulumi.Input[int]]):
39199
- pulumi.set(self, "vm_count", value)
39458
+ @errors.setter
39459
+ def errors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorArgs']]]]):
39460
+ pulumi.set(self, "errors", value)
39200
39461
 
39201
39462
 
39202
39463
  if not MYPY:
39203
- class ResourcePolicyInstanceSchedulePolicyArgsDict(TypedDict):
39204
- time_zone: pulumi.Input[str]
39205
- """
39206
- Specifies the time zone to be used in interpreting the schedule. The value of this field must be a time zone name
39207
- from the tz database: http://en.wikipedia.org/wiki/Tz_database.
39208
- """
39209
- expiration_time: NotRequired[pulumi.Input[str]]
39464
+ class ResizeRequestStatusErrorErrorArgsDict(TypedDict):
39465
+ code: NotRequired[pulumi.Input[str]]
39210
39466
  """
39211
- The expiration time of the schedule. The timestamp is an RFC3339 string.
39467
+ (Output)
39468
+ [Output Only] The error type identifier for this error.
39212
39469
  """
39213
- start_time: NotRequired[pulumi.Input[str]]
39470
+ error_details: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailArgsDict']]]]
39214
39471
  """
39215
- The start time of the schedule. The timestamp is an RFC3339 string.
39472
+ (Output)
39473
+ [Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.
39474
+ Structure is documented below.
39216
39475
  """
39217
- vm_start_schedule: NotRequired[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgsDict']]
39476
+ location: NotRequired[pulumi.Input[str]]
39218
39477
  """
39219
- Specifies the schedule for starting instances.
39220
- Structure is documented below.
39478
+ (Output)
39479
+ Output Only] Indicates the field in the request that caused the error. This property is optional.
39221
39480
  """
39222
- vm_stop_schedule: NotRequired[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgsDict']]
39481
+ message: NotRequired[pulumi.Input[str]]
39223
39482
  """
39224
- Specifies the schedule for stopping instances.
39225
- Structure is documented below.
39483
+ (Output)
39484
+ The localized error message in the above locale.
39226
39485
  """
39227
39486
  elif False:
39228
- ResourcePolicyInstanceSchedulePolicyArgsDict: TypeAlias = Mapping[str, Any]
39487
+ ResizeRequestStatusErrorErrorArgsDict: TypeAlias = Mapping[str, Any]
39229
39488
 
39230
39489
  @pulumi.input_type
39231
- class ResourcePolicyInstanceSchedulePolicyArgs:
39490
+ class ResizeRequestStatusErrorErrorArgs:
39232
39491
  def __init__(__self__, *,
39233
- time_zone: pulumi.Input[str],
39234
- expiration_time: Optional[pulumi.Input[str]] = None,
39235
- start_time: Optional[pulumi.Input[str]] = None,
39236
- vm_start_schedule: Optional[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgs']] = None,
39237
- vm_stop_schedule: Optional[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgs']] = None):
39492
+ code: Optional[pulumi.Input[str]] = None,
39493
+ error_details: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailArgs']]]] = None,
39494
+ location: Optional[pulumi.Input[str]] = None,
39495
+ message: Optional[pulumi.Input[str]] = None):
39238
39496
  """
39239
- :param pulumi.Input[str] time_zone: Specifies the time zone to be used in interpreting the schedule. The value of this field must be a time zone name
39240
- from the tz database: http://en.wikipedia.org/wiki/Tz_database.
39241
- :param pulumi.Input[str] expiration_time: The expiration time of the schedule. The timestamp is an RFC3339 string.
39242
- :param pulumi.Input[str] start_time: The start time of the schedule. The timestamp is an RFC3339 string.
39243
- :param pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgs'] vm_start_schedule: Specifies the schedule for starting instances.
39244
- Structure is documented below.
39245
- :param pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgs'] vm_stop_schedule: Specifies the schedule for stopping instances.
39497
+ :param pulumi.Input[str] code: (Output)
39498
+ [Output Only] The error type identifier for this error.
39499
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailArgs']]] error_details: (Output)
39500
+ [Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.
39246
39501
  Structure is documented below.
39502
+ :param pulumi.Input[str] location: (Output)
39503
+ Output Only] Indicates the field in the request that caused the error. This property is optional.
39504
+ :param pulumi.Input[str] message: (Output)
39505
+ The localized error message in the above locale.
39247
39506
  """
39248
- pulumi.set(__self__, "time_zone", time_zone)
39249
- if expiration_time is not None:
39250
- pulumi.set(__self__, "expiration_time", expiration_time)
39251
- if start_time is not None:
39252
- pulumi.set(__self__, "start_time", start_time)
39253
- if vm_start_schedule is not None:
39254
- pulumi.set(__self__, "vm_start_schedule", vm_start_schedule)
39255
- if vm_stop_schedule is not None:
39256
- pulumi.set(__self__, "vm_stop_schedule", vm_stop_schedule)
39507
+ if code is not None:
39508
+ pulumi.set(__self__, "code", code)
39509
+ if error_details is not None:
39510
+ pulumi.set(__self__, "error_details", error_details)
39511
+ if location is not None:
39512
+ pulumi.set(__self__, "location", location)
39513
+ if message is not None:
39514
+ pulumi.set(__self__, "message", message)
39257
39515
 
39258
39516
  @property
39259
- @pulumi.getter(name="timeZone")
39260
- def time_zone(self) -> pulumi.Input[str]:
39517
+ @pulumi.getter
39518
+ def code(self) -> Optional[pulumi.Input[str]]:
39261
39519
  """
39262
- Specifies the time zone to be used in interpreting the schedule. The value of this field must be a time zone name
39263
- from the tz database: http://en.wikipedia.org/wiki/Tz_database.
39520
+ (Output)
39521
+ [Output Only] The error type identifier for this error.
39264
39522
  """
39265
- return pulumi.get(self, "time_zone")
39523
+ return pulumi.get(self, "code")
39266
39524
 
39267
- @time_zone.setter
39268
- def time_zone(self, value: pulumi.Input[str]):
39269
- pulumi.set(self, "time_zone", value)
39525
+ @code.setter
39526
+ def code(self, value: Optional[pulumi.Input[str]]):
39527
+ pulumi.set(self, "code", value)
39270
39528
 
39271
39529
  @property
39272
- @pulumi.getter(name="expirationTime")
39273
- def expiration_time(self) -> Optional[pulumi.Input[str]]:
39530
+ @pulumi.getter(name="errorDetails")
39531
+ def error_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailArgs']]]]:
39274
39532
  """
39275
- The expiration time of the schedule. The timestamp is an RFC3339 string.
39533
+ (Output)
39534
+ [Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.
39535
+ Structure is documented below.
39276
39536
  """
39277
- return pulumi.get(self, "expiration_time")
39537
+ return pulumi.get(self, "error_details")
39278
39538
 
39279
- @expiration_time.setter
39280
- def expiration_time(self, value: Optional[pulumi.Input[str]]):
39281
- pulumi.set(self, "expiration_time", value)
39539
+ @error_details.setter
39540
+ def error_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailArgs']]]]):
39541
+ pulumi.set(self, "error_details", value)
39282
39542
 
39283
39543
  @property
39284
- @pulumi.getter(name="startTime")
39285
- def start_time(self) -> Optional[pulumi.Input[str]]:
39544
+ @pulumi.getter
39545
+ def location(self) -> Optional[pulumi.Input[str]]:
39286
39546
  """
39287
- The start time of the schedule. The timestamp is an RFC3339 string.
39547
+ (Output)
39548
+ Output Only] Indicates the field in the request that caused the error. This property is optional.
39288
39549
  """
39289
- return pulumi.get(self, "start_time")
39550
+ return pulumi.get(self, "location")
39290
39551
 
39291
- @start_time.setter
39292
- def start_time(self, value: Optional[pulumi.Input[str]]):
39293
- pulumi.set(self, "start_time", value)
39552
+ @location.setter
39553
+ def location(self, value: Optional[pulumi.Input[str]]):
39554
+ pulumi.set(self, "location", value)
39294
39555
 
39295
39556
  @property
39296
- @pulumi.getter(name="vmStartSchedule")
39297
- def vm_start_schedule(self) -> Optional[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgs']]:
39557
+ @pulumi.getter
39558
+ def message(self) -> Optional[pulumi.Input[str]]:
39298
39559
  """
39299
- Specifies the schedule for starting instances.
39300
- Structure is documented below.
39560
+ (Output)
39561
+ The localized error message in the above locale.
39301
39562
  """
39302
- return pulumi.get(self, "vm_start_schedule")
39563
+ return pulumi.get(self, "message")
39303
39564
 
39304
- @vm_start_schedule.setter
39305
- def vm_start_schedule(self, value: Optional[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgs']]):
39306
- pulumi.set(self, "vm_start_schedule", value)
39565
+ @message.setter
39566
+ def message(self, value: Optional[pulumi.Input[str]]):
39567
+ pulumi.set(self, "message", value)
39307
39568
 
39308
- @property
39309
- @pulumi.getter(name="vmStopSchedule")
39310
- def vm_stop_schedule(self) -> Optional[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgs']]:
39569
+
39570
+ if not MYPY:
39571
+ class ResizeRequestStatusErrorErrorErrorDetailArgsDict(TypedDict):
39572
+ error_infos: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailErrorInfoArgsDict']]]]
39311
39573
  """
39312
- Specifies the schedule for stopping instances.
39574
+ (Output)
39575
+ [Output Only]
39313
39576
  Structure is documented below.
39314
39577
  """
39315
- return pulumi.get(self, "vm_stop_schedule")
39316
-
39317
- @vm_stop_schedule.setter
39318
- def vm_stop_schedule(self, value: Optional[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgs']]):
39319
- pulumi.set(self, "vm_stop_schedule", value)
39320
-
39321
-
39322
- if not MYPY:
39323
- class ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgsDict(TypedDict):
39324
- schedule: pulumi.Input[str]
39578
+ helps: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailHelpArgsDict']]]]
39325
39579
  """
39326
- Specifies the frequency for the operation, using the unix-cron format.
39580
+ (Output)
39581
+ [Output Only]
39582
+ Structure is documented below.
39583
+ """
39584
+ localized_messages: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailLocalizedMessageArgsDict']]]]
39585
+ """
39586
+ (Output)
39587
+ [Output Only]
39588
+ Structure is documented below.
39589
+ """
39590
+ quota_infos: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailQuotaInfoArgsDict']]]]
39591
+ """
39592
+ (Output)
39593
+ [Output Only]
39594
+ Structure is documented below.
39327
39595
  """
39328
39596
  elif False:
39329
- ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgsDict: TypeAlias = Mapping[str, Any]
39597
+ ResizeRequestStatusErrorErrorErrorDetailArgsDict: TypeAlias = Mapping[str, Any]
39330
39598
 
39331
39599
  @pulumi.input_type
39332
- class ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgs:
39600
+ class ResizeRequestStatusErrorErrorErrorDetailArgs:
39333
39601
  def __init__(__self__, *,
39334
- schedule: pulumi.Input[str]):
39602
+ error_infos: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailErrorInfoArgs']]]] = None,
39603
+ helps: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailHelpArgs']]]] = None,
39604
+ localized_messages: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailLocalizedMessageArgs']]]] = None,
39605
+ quota_infos: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailQuotaInfoArgs']]]] = None):
39335
39606
  """
39336
- :param pulumi.Input[str] schedule: Specifies the frequency for the operation, using the unix-cron format.
39607
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailErrorInfoArgs']]] error_infos: (Output)
39608
+ [Output Only]
39609
+ Structure is documented below.
39610
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailHelpArgs']]] helps: (Output)
39611
+ [Output Only]
39612
+ Structure is documented below.
39613
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailLocalizedMessageArgs']]] localized_messages: (Output)
39614
+ [Output Only]
39615
+ Structure is documented below.
39616
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailQuotaInfoArgs']]] quota_infos: (Output)
39617
+ [Output Only]
39618
+ Structure is documented below.
39337
39619
  """
39338
- pulumi.set(__self__, "schedule", schedule)
39620
+ if error_infos is not None:
39621
+ pulumi.set(__self__, "error_infos", error_infos)
39622
+ if helps is not None:
39623
+ pulumi.set(__self__, "helps", helps)
39624
+ if localized_messages is not None:
39625
+ pulumi.set(__self__, "localized_messages", localized_messages)
39626
+ if quota_infos is not None:
39627
+ pulumi.set(__self__, "quota_infos", quota_infos)
39339
39628
 
39340
39629
  @property
39341
- @pulumi.getter
39342
- def schedule(self) -> pulumi.Input[str]:
39630
+ @pulumi.getter(name="errorInfos")
39631
+ def error_infos(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailErrorInfoArgs']]]]:
39343
39632
  """
39344
- Specifies the frequency for the operation, using the unix-cron format.
39633
+ (Output)
39634
+ [Output Only]
39635
+ Structure is documented below.
39345
39636
  """
39346
- return pulumi.get(self, "schedule")
39347
-
39348
- @schedule.setter
39349
- def schedule(self, value: pulumi.Input[str]):
39350
- pulumi.set(self, "schedule", value)
39637
+ return pulumi.get(self, "error_infos")
39351
39638
 
39639
+ @error_infos.setter
39640
+ def error_infos(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailErrorInfoArgs']]]]):
39641
+ pulumi.set(self, "error_infos", value)
39352
39642
 
39353
- if not MYPY:
39354
- class ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgsDict(TypedDict):
39355
- schedule: pulumi.Input[str]
39643
+ @property
39644
+ @pulumi.getter
39645
+ def helps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailHelpArgs']]]]:
39356
39646
  """
39357
- Specifies the frequency for the operation, using the unix-cron format.
39647
+ (Output)
39648
+ [Output Only]
39649
+ Structure is documented below.
39358
39650
  """
39359
- elif False:
39360
- ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgsDict: TypeAlias = Mapping[str, Any]
39651
+ return pulumi.get(self, "helps")
39361
39652
 
39362
- @pulumi.input_type
39363
- class ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgs:
39364
- def __init__(__self__, *,
39365
- schedule: pulumi.Input[str]):
39653
+ @helps.setter
39654
+ def helps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailHelpArgs']]]]):
39655
+ pulumi.set(self, "helps", value)
39656
+
39657
+ @property
39658
+ @pulumi.getter(name="localizedMessages")
39659
+ def localized_messages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailLocalizedMessageArgs']]]]:
39366
39660
  """
39367
- :param pulumi.Input[str] schedule: Specifies the frequency for the operation, using the unix-cron format.
39661
+ (Output)
39662
+ [Output Only]
39663
+ Structure is documented below.
39368
39664
  """
39369
- pulumi.set(__self__, "schedule", schedule)
39665
+ return pulumi.get(self, "localized_messages")
39666
+
39667
+ @localized_messages.setter
39668
+ def localized_messages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailLocalizedMessageArgs']]]]):
39669
+ pulumi.set(self, "localized_messages", value)
39370
39670
 
39371
39671
  @property
39372
- @pulumi.getter
39373
- def schedule(self) -> pulumi.Input[str]:
39672
+ @pulumi.getter(name="quotaInfos")
39673
+ def quota_infos(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailQuotaInfoArgs']]]]:
39374
39674
  """
39375
- Specifies the frequency for the operation, using the unix-cron format.
39675
+ (Output)
39676
+ [Output Only]
39677
+ Structure is documented below.
39376
39678
  """
39377
- return pulumi.get(self, "schedule")
39679
+ return pulumi.get(self, "quota_infos")
39378
39680
 
39379
- @schedule.setter
39380
- def schedule(self, value: pulumi.Input[str]):
39381
- pulumi.set(self, "schedule", value)
39681
+ @quota_infos.setter
39682
+ def quota_infos(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailQuotaInfoArgs']]]]):
39683
+ pulumi.set(self, "quota_infos", value)
39382
39684
 
39383
39685
 
39384
39686
  if not MYPY:
39385
- class ResourcePolicySnapshotSchedulePolicyArgsDict(TypedDict):
39386
- schedule: pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleArgsDict']
39687
+ class ResizeRequestStatusErrorErrorErrorDetailErrorInfoArgsDict(TypedDict):
39688
+ domain: NotRequired[pulumi.Input[str]]
39387
39689
  """
39388
- Contains one of an `hourlySchedule`, `dailySchedule`, or `weeklySchedule`.
39389
- Structure is documented below.
39690
+ (Output)
39691
+ The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com".
39390
39692
  """
39391
- retention_policy: NotRequired[pulumi.Input['ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgsDict']]
39693
+ metadatas: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
39392
39694
  """
39393
- Retention policy applied to snapshots created by this resource policy.
39394
- Structure is documented below.
39695
+ (Output)
39696
+ Additional structured details about this error.
39697
+ Keys must match /[a-z][a-zA-Z0-9-_]+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"}, should be returned as, {"instanceLimitPerRequest": "100"}, if the client exceeds the number of instances that can be created in a single (batch) request.
39395
39698
  """
39396
- snapshot_properties: NotRequired[pulumi.Input['ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgsDict']]
39699
+ reason: NotRequired[pulumi.Input[str]]
39397
39700
  """
39398
- Properties with which the snapshots are created, such as labels.
39399
- Structure is documented below.
39701
+ (Output)
39702
+ The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of [A-Z][A-Z0-9_]+[A-Z0-9], which represents UPPER_SNAKE_CASE.
39400
39703
  """
39401
39704
  elif False:
39402
- ResourcePolicySnapshotSchedulePolicyArgsDict: TypeAlias = Mapping[str, Any]
39705
+ ResizeRequestStatusErrorErrorErrorDetailErrorInfoArgsDict: TypeAlias = Mapping[str, Any]
39403
39706
 
39404
39707
  @pulumi.input_type
39405
- class ResourcePolicySnapshotSchedulePolicyArgs:
39708
+ class ResizeRequestStatusErrorErrorErrorDetailErrorInfoArgs:
39406
39709
  def __init__(__self__, *,
39407
- schedule: pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleArgs'],
39408
- retention_policy: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgs']] = None,
39409
- snapshot_properties: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs']] = None):
39710
+ domain: Optional[pulumi.Input[str]] = None,
39711
+ metadatas: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
39712
+ reason: Optional[pulumi.Input[str]] = None):
39410
39713
  """
39411
- :param pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleArgs'] schedule: Contains one of an `hourlySchedule`, `dailySchedule`, or `weeklySchedule`.
39412
- Structure is documented below.
39413
- :param pulumi.Input['ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgs'] retention_policy: Retention policy applied to snapshots created by this resource policy.
39414
- Structure is documented below.
39415
- :param pulumi.Input['ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs'] snapshot_properties: Properties with which the snapshots are created, such as labels.
39416
- Structure is documented below.
39714
+ :param pulumi.Input[str] domain: (Output)
39715
+ The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com".
39716
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadatas: (Output)
39717
+ Additional structured details about this error.
39718
+ Keys must match /[a-z][a-zA-Z0-9-_]+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"}, should be returned as, {"instanceLimitPerRequest": "100"}, if the client exceeds the number of instances that can be created in a single (batch) request.
39719
+ :param pulumi.Input[str] reason: (Output)
39720
+ The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of [A-Z][A-Z0-9_]+[A-Z0-9], which represents UPPER_SNAKE_CASE.
39417
39721
  """
39418
- pulumi.set(__self__, "schedule", schedule)
39419
- if retention_policy is not None:
39420
- pulumi.set(__self__, "retention_policy", retention_policy)
39421
- if snapshot_properties is not None:
39422
- pulumi.set(__self__, "snapshot_properties", snapshot_properties)
39722
+ if domain is not None:
39723
+ pulumi.set(__self__, "domain", domain)
39724
+ if metadatas is not None:
39725
+ pulumi.set(__self__, "metadatas", metadatas)
39726
+ if reason is not None:
39727
+ pulumi.set(__self__, "reason", reason)
39423
39728
 
39424
39729
  @property
39425
39730
  @pulumi.getter
39426
- def schedule(self) -> pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleArgs']:
39731
+ def domain(self) -> Optional[pulumi.Input[str]]:
39427
39732
  """
39428
- Contains one of an `hourlySchedule`, `dailySchedule`, or `weeklySchedule`.
39429
- Structure is documented below.
39733
+ (Output)
39734
+ The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com".
39430
39735
  """
39431
- return pulumi.get(self, "schedule")
39736
+ return pulumi.get(self, "domain")
39432
39737
 
39433
- @schedule.setter
39434
- def schedule(self, value: pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleArgs']):
39435
- pulumi.set(self, "schedule", value)
39738
+ @domain.setter
39739
+ def domain(self, value: Optional[pulumi.Input[str]]):
39740
+ pulumi.set(self, "domain", value)
39436
39741
 
39437
39742
  @property
39438
- @pulumi.getter(name="retentionPolicy")
39439
- def retention_policy(self) -> Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgs']]:
39743
+ @pulumi.getter
39744
+ def metadatas(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
39440
39745
  """
39441
- Retention policy applied to snapshots created by this resource policy.
39442
- Structure is documented below.
39746
+ (Output)
39747
+ Additional structured details about this error.
39748
+ Keys must match /[a-z][a-zA-Z0-9-_]+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"}, should be returned as, {"instanceLimitPerRequest": "100"}, if the client exceeds the number of instances that can be created in a single (batch) request.
39443
39749
  """
39444
- return pulumi.get(self, "retention_policy")
39750
+ return pulumi.get(self, "metadatas")
39445
39751
 
39446
- @retention_policy.setter
39447
- def retention_policy(self, value: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgs']]):
39448
- pulumi.set(self, "retention_policy", value)
39752
+ @metadatas.setter
39753
+ def metadatas(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
39754
+ pulumi.set(self, "metadatas", value)
39449
39755
 
39450
39756
  @property
39451
- @pulumi.getter(name="snapshotProperties")
39452
- def snapshot_properties(self) -> Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs']]:
39757
+ @pulumi.getter
39758
+ def reason(self) -> Optional[pulumi.Input[str]]:
39453
39759
  """
39454
- Properties with which the snapshots are created, such as labels.
39455
- Structure is documented below.
39760
+ (Output)
39761
+ The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of [A-Z][A-Z0-9_]+[A-Z0-9], which represents UPPER_SNAKE_CASE.
39456
39762
  """
39457
- return pulumi.get(self, "snapshot_properties")
39763
+ return pulumi.get(self, "reason")
39458
39764
 
39459
- @snapshot_properties.setter
39460
- def snapshot_properties(self, value: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs']]):
39461
- pulumi.set(self, "snapshot_properties", value)
39765
+ @reason.setter
39766
+ def reason(self, value: Optional[pulumi.Input[str]]):
39767
+ pulumi.set(self, "reason", value)
39462
39768
 
39463
39769
 
39464
39770
  if not MYPY:
39465
- class ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgsDict(TypedDict):
39466
- max_retention_days: pulumi.Input[int]
39467
- """
39468
- Maximum age of the snapshot that is allowed to be kept.
39469
- """
39470
- on_source_disk_delete: NotRequired[pulumi.Input[str]]
39771
+ class ResizeRequestStatusErrorErrorErrorDetailHelpArgsDict(TypedDict):
39772
+ links: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailHelpLinkArgsDict']]]]
39471
39773
  """
39472
- Specifies the behavior to apply to scheduled snapshots when
39473
- the source disk is deleted.
39474
- Default value is `KEEP_AUTO_SNAPSHOTS`.
39475
- Possible values are: `KEEP_AUTO_SNAPSHOTS`, `APPLY_RETENTION_POLICY`.
39774
+ (Output)
39775
+ [Output Only]
39776
+ Structure is documented below.
39476
39777
  """
39477
39778
  elif False:
39478
- ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgsDict: TypeAlias = Mapping[str, Any]
39779
+ ResizeRequestStatusErrorErrorErrorDetailHelpArgsDict: TypeAlias = Mapping[str, Any]
39479
39780
 
39480
39781
  @pulumi.input_type
39481
- class ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgs:
39782
+ class ResizeRequestStatusErrorErrorErrorDetailHelpArgs:
39482
39783
  def __init__(__self__, *,
39483
- max_retention_days: pulumi.Input[int],
39484
- on_source_disk_delete: Optional[pulumi.Input[str]] = None):
39485
- """
39486
- :param pulumi.Input[int] max_retention_days: Maximum age of the snapshot that is allowed to be kept.
39487
- :param pulumi.Input[str] on_source_disk_delete: Specifies the behavior to apply to scheduled snapshots when
39488
- the source disk is deleted.
39489
- Default value is `KEEP_AUTO_SNAPSHOTS`.
39490
- Possible values are: `KEEP_AUTO_SNAPSHOTS`, `APPLY_RETENTION_POLICY`.
39491
- """
39492
- pulumi.set(__self__, "max_retention_days", max_retention_days)
39493
- if on_source_disk_delete is not None:
39494
- pulumi.set(__self__, "on_source_disk_delete", on_source_disk_delete)
39495
-
39496
- @property
39497
- @pulumi.getter(name="maxRetentionDays")
39498
- def max_retention_days(self) -> pulumi.Input[int]:
39784
+ links: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailHelpLinkArgs']]]] = None):
39499
39785
  """
39500
- Maximum age of the snapshot that is allowed to be kept.
39786
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailHelpLinkArgs']]] links: (Output)
39787
+ [Output Only]
39788
+ Structure is documented below.
39501
39789
  """
39502
- return pulumi.get(self, "max_retention_days")
39503
-
39504
- @max_retention_days.setter
39505
- def max_retention_days(self, value: pulumi.Input[int]):
39506
- pulumi.set(self, "max_retention_days", value)
39790
+ if links is not None:
39791
+ pulumi.set(__self__, "links", links)
39507
39792
 
39508
39793
  @property
39509
- @pulumi.getter(name="onSourceDiskDelete")
39510
- def on_source_disk_delete(self) -> Optional[pulumi.Input[str]]:
39794
+ @pulumi.getter
39795
+ def links(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailHelpLinkArgs']]]]:
39511
39796
  """
39512
- Specifies the behavior to apply to scheduled snapshots when
39513
- the source disk is deleted.
39514
- Default value is `KEEP_AUTO_SNAPSHOTS`.
39515
- Possible values are: `KEEP_AUTO_SNAPSHOTS`, `APPLY_RETENTION_POLICY`.
39797
+ (Output)
39798
+ [Output Only]
39799
+ Structure is documented below.
39516
39800
  """
39517
- return pulumi.get(self, "on_source_disk_delete")
39801
+ return pulumi.get(self, "links")
39518
39802
 
39519
- @on_source_disk_delete.setter
39520
- def on_source_disk_delete(self, value: Optional[pulumi.Input[str]]):
39521
- pulumi.set(self, "on_source_disk_delete", value)
39803
+ @links.setter
39804
+ def links(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusErrorErrorErrorDetailHelpLinkArgs']]]]):
39805
+ pulumi.set(self, "links", value)
39522
39806
 
39523
39807
 
39524
39808
  if not MYPY:
39525
- class ResourcePolicySnapshotSchedulePolicyScheduleArgsDict(TypedDict):
39526
- daily_schedule: NotRequired[pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleDailyScheduleArgsDict']]
39527
- """
39528
- The policy will execute every nth day at the specified time.
39529
- Structure is documented below.
39530
- """
39531
- hourly_schedule: NotRequired[pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleHourlyScheduleArgsDict']]
39809
+ class ResizeRequestStatusErrorErrorErrorDetailHelpLinkArgsDict(TypedDict):
39810
+ description: NotRequired[pulumi.Input[str]]
39532
39811
  """
39533
- The policy will execute every nth hour starting at the specified time.
39534
- Structure is documented below.
39812
+ An optional description of this resize-request.
39535
39813
  """
39536
- weekly_schedule: NotRequired[pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleArgsDict']]
39814
+ url: NotRequired[pulumi.Input[str]]
39537
39815
  """
39538
- Allows specifying a snapshot time for each day of the week.
39539
- Structure is documented below.
39816
+ (Output)
39817
+ The URL of the link.
39540
39818
  """
39541
39819
  elif False:
39542
- ResourcePolicySnapshotSchedulePolicyScheduleArgsDict: TypeAlias = Mapping[str, Any]
39820
+ ResizeRequestStatusErrorErrorErrorDetailHelpLinkArgsDict: TypeAlias = Mapping[str, Any]
39543
39821
 
39544
39822
  @pulumi.input_type
39545
- class ResourcePolicySnapshotSchedulePolicyScheduleArgs:
39823
+ class ResizeRequestStatusErrorErrorErrorDetailHelpLinkArgs:
39546
39824
  def __init__(__self__, *,
39547
- daily_schedule: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleDailyScheduleArgs']] = None,
39825
+ description: Optional[pulumi.Input[str]] = None,
39826
+ url: Optional[pulumi.Input[str]] = None):
39827
+ """
39828
+ :param pulumi.Input[str] description: An optional description of this resize-request.
39829
+ :param pulumi.Input[str] url: (Output)
39830
+ The URL of the link.
39831
+ """
39832
+ if description is not None:
39833
+ pulumi.set(__self__, "description", description)
39834
+ if url is not None:
39835
+ pulumi.set(__self__, "url", url)
39836
+
39837
+ @property
39838
+ @pulumi.getter
39839
+ def description(self) -> Optional[pulumi.Input[str]]:
39840
+ """
39841
+ An optional description of this resize-request.
39842
+ """
39843
+ return pulumi.get(self, "description")
39844
+
39845
+ @description.setter
39846
+ def description(self, value: Optional[pulumi.Input[str]]):
39847
+ pulumi.set(self, "description", value)
39848
+
39849
+ @property
39850
+ @pulumi.getter
39851
+ def url(self) -> Optional[pulumi.Input[str]]:
39852
+ """
39853
+ (Output)
39854
+ The URL of the link.
39855
+ """
39856
+ return pulumi.get(self, "url")
39857
+
39858
+ @url.setter
39859
+ def url(self, value: Optional[pulumi.Input[str]]):
39860
+ pulumi.set(self, "url", value)
39861
+
39862
+
39863
+ if not MYPY:
39864
+ class ResizeRequestStatusErrorErrorErrorDetailLocalizedMessageArgsDict(TypedDict):
39865
+ locale: NotRequired[pulumi.Input[str]]
39866
+ """
39867
+ (Output)
39868
+ The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
39869
+ """
39870
+ message: NotRequired[pulumi.Input[str]]
39871
+ """
39872
+ (Output)
39873
+ The localized error message in the above locale.
39874
+ """
39875
+ elif False:
39876
+ ResizeRequestStatusErrorErrorErrorDetailLocalizedMessageArgsDict: TypeAlias = Mapping[str, Any]
39877
+
39878
+ @pulumi.input_type
39879
+ class ResizeRequestStatusErrorErrorErrorDetailLocalizedMessageArgs:
39880
+ def __init__(__self__, *,
39881
+ locale: Optional[pulumi.Input[str]] = None,
39882
+ message: Optional[pulumi.Input[str]] = None):
39883
+ """
39884
+ :param pulumi.Input[str] locale: (Output)
39885
+ The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
39886
+ :param pulumi.Input[str] message: (Output)
39887
+ The localized error message in the above locale.
39888
+ """
39889
+ if locale is not None:
39890
+ pulumi.set(__self__, "locale", locale)
39891
+ if message is not None:
39892
+ pulumi.set(__self__, "message", message)
39893
+
39894
+ @property
39895
+ @pulumi.getter
39896
+ def locale(self) -> Optional[pulumi.Input[str]]:
39897
+ """
39898
+ (Output)
39899
+ The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
39900
+ """
39901
+ return pulumi.get(self, "locale")
39902
+
39903
+ @locale.setter
39904
+ def locale(self, value: Optional[pulumi.Input[str]]):
39905
+ pulumi.set(self, "locale", value)
39906
+
39907
+ @property
39908
+ @pulumi.getter
39909
+ def message(self) -> Optional[pulumi.Input[str]]:
39910
+ """
39911
+ (Output)
39912
+ The localized error message in the above locale.
39913
+ """
39914
+ return pulumi.get(self, "message")
39915
+
39916
+ @message.setter
39917
+ def message(self, value: Optional[pulumi.Input[str]]):
39918
+ pulumi.set(self, "message", value)
39919
+
39920
+
39921
+ if not MYPY:
39922
+ class ResizeRequestStatusErrorErrorErrorDetailQuotaInfoArgsDict(TypedDict):
39923
+ dimensions: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
39924
+ """
39925
+ (Output)
39926
+ The map holding related quota dimensions
39927
+ """
39928
+ future_limit: NotRequired[pulumi.Input[int]]
39929
+ """
39930
+ (Output)
39931
+ Future quota limit being rolled out. The limit's unit depends on the quota type or metric.
39932
+ """
39933
+ limit: NotRequired[pulumi.Input[int]]
39934
+ """
39935
+ (Output)
39936
+ Current effective quota limit. The limit's unit depends on the quota type or metric.
39937
+ """
39938
+ limit_name: NotRequired[pulumi.Input[str]]
39939
+ """
39940
+ (Output)
39941
+ The name of the quota limit.
39942
+ """
39943
+ metric_name: NotRequired[pulumi.Input[str]]
39944
+ """
39945
+ (Output)
39946
+ The Compute Engine quota metric name.
39947
+ """
39948
+ rollout_status: NotRequired[pulumi.Input[str]]
39949
+ """
39950
+ (Output)
39951
+ Rollout status of the future quota limit.
39952
+ """
39953
+ elif False:
39954
+ ResizeRequestStatusErrorErrorErrorDetailQuotaInfoArgsDict: TypeAlias = Mapping[str, Any]
39955
+
39956
+ @pulumi.input_type
39957
+ class ResizeRequestStatusErrorErrorErrorDetailQuotaInfoArgs:
39958
+ def __init__(__self__, *,
39959
+ dimensions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
39960
+ future_limit: Optional[pulumi.Input[int]] = None,
39961
+ limit: Optional[pulumi.Input[int]] = None,
39962
+ limit_name: Optional[pulumi.Input[str]] = None,
39963
+ metric_name: Optional[pulumi.Input[str]] = None,
39964
+ rollout_status: Optional[pulumi.Input[str]] = None):
39965
+ """
39966
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] dimensions: (Output)
39967
+ The map holding related quota dimensions
39968
+ :param pulumi.Input[int] future_limit: (Output)
39969
+ Future quota limit being rolled out. The limit's unit depends on the quota type or metric.
39970
+ :param pulumi.Input[int] limit: (Output)
39971
+ Current effective quota limit. The limit's unit depends on the quota type or metric.
39972
+ :param pulumi.Input[str] limit_name: (Output)
39973
+ The name of the quota limit.
39974
+ :param pulumi.Input[str] metric_name: (Output)
39975
+ The Compute Engine quota metric name.
39976
+ :param pulumi.Input[str] rollout_status: (Output)
39977
+ Rollout status of the future quota limit.
39978
+ """
39979
+ if dimensions is not None:
39980
+ pulumi.set(__self__, "dimensions", dimensions)
39981
+ if future_limit is not None:
39982
+ pulumi.set(__self__, "future_limit", future_limit)
39983
+ if limit is not None:
39984
+ pulumi.set(__self__, "limit", limit)
39985
+ if limit_name is not None:
39986
+ pulumi.set(__self__, "limit_name", limit_name)
39987
+ if metric_name is not None:
39988
+ pulumi.set(__self__, "metric_name", metric_name)
39989
+ if rollout_status is not None:
39990
+ pulumi.set(__self__, "rollout_status", rollout_status)
39991
+
39992
+ @property
39993
+ @pulumi.getter
39994
+ def dimensions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
39995
+ """
39996
+ (Output)
39997
+ The map holding related quota dimensions
39998
+ """
39999
+ return pulumi.get(self, "dimensions")
40000
+
40001
+ @dimensions.setter
40002
+ def dimensions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
40003
+ pulumi.set(self, "dimensions", value)
40004
+
40005
+ @property
40006
+ @pulumi.getter(name="futureLimit")
40007
+ def future_limit(self) -> Optional[pulumi.Input[int]]:
40008
+ """
40009
+ (Output)
40010
+ Future quota limit being rolled out. The limit's unit depends on the quota type or metric.
40011
+ """
40012
+ return pulumi.get(self, "future_limit")
40013
+
40014
+ @future_limit.setter
40015
+ def future_limit(self, value: Optional[pulumi.Input[int]]):
40016
+ pulumi.set(self, "future_limit", value)
40017
+
40018
+ @property
40019
+ @pulumi.getter
40020
+ def limit(self) -> Optional[pulumi.Input[int]]:
40021
+ """
40022
+ (Output)
40023
+ Current effective quota limit. The limit's unit depends on the quota type or metric.
40024
+ """
40025
+ return pulumi.get(self, "limit")
40026
+
40027
+ @limit.setter
40028
+ def limit(self, value: Optional[pulumi.Input[int]]):
40029
+ pulumi.set(self, "limit", value)
40030
+
40031
+ @property
40032
+ @pulumi.getter(name="limitName")
40033
+ def limit_name(self) -> Optional[pulumi.Input[str]]:
40034
+ """
40035
+ (Output)
40036
+ The name of the quota limit.
40037
+ """
40038
+ return pulumi.get(self, "limit_name")
40039
+
40040
+ @limit_name.setter
40041
+ def limit_name(self, value: Optional[pulumi.Input[str]]):
40042
+ pulumi.set(self, "limit_name", value)
40043
+
40044
+ @property
40045
+ @pulumi.getter(name="metricName")
40046
+ def metric_name(self) -> Optional[pulumi.Input[str]]:
40047
+ """
40048
+ (Output)
40049
+ The Compute Engine quota metric name.
40050
+ """
40051
+ return pulumi.get(self, "metric_name")
40052
+
40053
+ @metric_name.setter
40054
+ def metric_name(self, value: Optional[pulumi.Input[str]]):
40055
+ pulumi.set(self, "metric_name", value)
40056
+
40057
+ @property
40058
+ @pulumi.getter(name="rolloutStatus")
40059
+ def rollout_status(self) -> Optional[pulumi.Input[str]]:
40060
+ """
40061
+ (Output)
40062
+ Rollout status of the future quota limit.
40063
+ """
40064
+ return pulumi.get(self, "rollout_status")
40065
+
40066
+ @rollout_status.setter
40067
+ def rollout_status(self, value: Optional[pulumi.Input[str]]):
40068
+ pulumi.set(self, "rollout_status", value)
40069
+
40070
+
40071
+ if not MYPY:
40072
+ class ResizeRequestStatusLastAttemptArgsDict(TypedDict):
40073
+ errors: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorArgsDict']]]]
40074
+ """
40075
+ (Output)
40076
+ [Output only] Fatal errors encountered during the queueing or provisioning phases of the ResizeRequest that caused the transition to the FAILED state. Contrary to the lastAttempt errors, this field is final and errors are never removed from here, as the ResizeRequest is not going to retry.
40077
+ Structure is documented below.
40078
+ """
40079
+ elif False:
40080
+ ResizeRequestStatusLastAttemptArgsDict: TypeAlias = Mapping[str, Any]
40081
+
40082
+ @pulumi.input_type
40083
+ class ResizeRequestStatusLastAttemptArgs:
40084
+ def __init__(__self__, *,
40085
+ errors: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorArgs']]]] = None):
40086
+ """
40087
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorArgs']]] errors: (Output)
40088
+ [Output only] Fatal errors encountered during the queueing or provisioning phases of the ResizeRequest that caused the transition to the FAILED state. Contrary to the lastAttempt errors, this field is final and errors are never removed from here, as the ResizeRequest is not going to retry.
40089
+ Structure is documented below.
40090
+ """
40091
+ if errors is not None:
40092
+ pulumi.set(__self__, "errors", errors)
40093
+
40094
+ @property
40095
+ @pulumi.getter
40096
+ def errors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorArgs']]]]:
40097
+ """
40098
+ (Output)
40099
+ [Output only] Fatal errors encountered during the queueing or provisioning phases of the ResizeRequest that caused the transition to the FAILED state. Contrary to the lastAttempt errors, this field is final and errors are never removed from here, as the ResizeRequest is not going to retry.
40100
+ Structure is documented below.
40101
+ """
40102
+ return pulumi.get(self, "errors")
40103
+
40104
+ @errors.setter
40105
+ def errors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorArgs']]]]):
40106
+ pulumi.set(self, "errors", value)
40107
+
40108
+
40109
+ if not MYPY:
40110
+ class ResizeRequestStatusLastAttemptErrorArgsDict(TypedDict):
40111
+ errors: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorArgsDict']]]]
40112
+ """
40113
+ (Output)
40114
+ [Output Only] The array of errors encountered while processing this operation.
40115
+ Structure is documented below.
40116
+ """
40117
+ elif False:
40118
+ ResizeRequestStatusLastAttemptErrorArgsDict: TypeAlias = Mapping[str, Any]
40119
+
40120
+ @pulumi.input_type
40121
+ class ResizeRequestStatusLastAttemptErrorArgs:
40122
+ def __init__(__self__, *,
40123
+ errors: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorArgs']]]] = None):
40124
+ """
40125
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorArgs']]] errors: (Output)
40126
+ [Output Only] The array of errors encountered while processing this operation.
40127
+ Structure is documented below.
40128
+ """
40129
+ if errors is not None:
40130
+ pulumi.set(__self__, "errors", errors)
40131
+
40132
+ @property
40133
+ @pulumi.getter
40134
+ def errors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorArgs']]]]:
40135
+ """
40136
+ (Output)
40137
+ [Output Only] The array of errors encountered while processing this operation.
40138
+ Structure is documented below.
40139
+ """
40140
+ return pulumi.get(self, "errors")
40141
+
40142
+ @errors.setter
40143
+ def errors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorArgs']]]]):
40144
+ pulumi.set(self, "errors", value)
40145
+
40146
+
40147
+ if not MYPY:
40148
+ class ResizeRequestStatusLastAttemptErrorErrorArgsDict(TypedDict):
40149
+ code: NotRequired[pulumi.Input[str]]
40150
+ """
40151
+ (Output)
40152
+ [Output Only] The error type identifier for this error.
40153
+ """
40154
+ error_details: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailArgsDict']]]]
40155
+ """
40156
+ (Output)
40157
+ [Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.
40158
+ Structure is documented below.
40159
+ """
40160
+ location: NotRequired[pulumi.Input[str]]
40161
+ """
40162
+ (Output)
40163
+ Output Only] Indicates the field in the request that caused the error. This property is optional.
40164
+ """
40165
+ message: NotRequired[pulumi.Input[str]]
40166
+ """
40167
+ (Output)
40168
+ The localized error message in the above locale.
40169
+ """
40170
+ elif False:
40171
+ ResizeRequestStatusLastAttemptErrorErrorArgsDict: TypeAlias = Mapping[str, Any]
40172
+
40173
+ @pulumi.input_type
40174
+ class ResizeRequestStatusLastAttemptErrorErrorArgs:
40175
+ def __init__(__self__, *,
40176
+ code: Optional[pulumi.Input[str]] = None,
40177
+ error_details: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailArgs']]]] = None,
40178
+ location: Optional[pulumi.Input[str]] = None,
40179
+ message: Optional[pulumi.Input[str]] = None):
40180
+ """
40181
+ :param pulumi.Input[str] code: (Output)
40182
+ [Output Only] The error type identifier for this error.
40183
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailArgs']]] error_details: (Output)
40184
+ [Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.
40185
+ Structure is documented below.
40186
+ :param pulumi.Input[str] location: (Output)
40187
+ Output Only] Indicates the field in the request that caused the error. This property is optional.
40188
+ :param pulumi.Input[str] message: (Output)
40189
+ The localized error message in the above locale.
40190
+ """
40191
+ if code is not None:
40192
+ pulumi.set(__self__, "code", code)
40193
+ if error_details is not None:
40194
+ pulumi.set(__self__, "error_details", error_details)
40195
+ if location is not None:
40196
+ pulumi.set(__self__, "location", location)
40197
+ if message is not None:
40198
+ pulumi.set(__self__, "message", message)
40199
+
40200
+ @property
40201
+ @pulumi.getter
40202
+ def code(self) -> Optional[pulumi.Input[str]]:
40203
+ """
40204
+ (Output)
40205
+ [Output Only] The error type identifier for this error.
40206
+ """
40207
+ return pulumi.get(self, "code")
40208
+
40209
+ @code.setter
40210
+ def code(self, value: Optional[pulumi.Input[str]]):
40211
+ pulumi.set(self, "code", value)
40212
+
40213
+ @property
40214
+ @pulumi.getter(name="errorDetails")
40215
+ def error_details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailArgs']]]]:
40216
+ """
40217
+ (Output)
40218
+ [Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.
40219
+ Structure is documented below.
40220
+ """
40221
+ return pulumi.get(self, "error_details")
40222
+
40223
+ @error_details.setter
40224
+ def error_details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailArgs']]]]):
40225
+ pulumi.set(self, "error_details", value)
40226
+
40227
+ @property
40228
+ @pulumi.getter
40229
+ def location(self) -> Optional[pulumi.Input[str]]:
40230
+ """
40231
+ (Output)
40232
+ Output Only] Indicates the field in the request that caused the error. This property is optional.
40233
+ """
40234
+ return pulumi.get(self, "location")
40235
+
40236
+ @location.setter
40237
+ def location(self, value: Optional[pulumi.Input[str]]):
40238
+ pulumi.set(self, "location", value)
40239
+
40240
+ @property
40241
+ @pulumi.getter
40242
+ def message(self) -> Optional[pulumi.Input[str]]:
40243
+ """
40244
+ (Output)
40245
+ The localized error message in the above locale.
40246
+ """
40247
+ return pulumi.get(self, "message")
40248
+
40249
+ @message.setter
40250
+ def message(self, value: Optional[pulumi.Input[str]]):
40251
+ pulumi.set(self, "message", value)
40252
+
40253
+
40254
+ if not MYPY:
40255
+ class ResizeRequestStatusLastAttemptErrorErrorErrorDetailArgsDict(TypedDict):
40256
+ error_infos: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailErrorInfoArgsDict']]]]
40257
+ """
40258
+ (Output)
40259
+ [Output Only]
40260
+ Structure is documented below.
40261
+ """
40262
+ helps: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpArgsDict']]]]
40263
+ """
40264
+ (Output)
40265
+ [Output Only]
40266
+ Structure is documented below.
40267
+ """
40268
+ localized_messages: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailLocalizedMessageArgsDict']]]]
40269
+ """
40270
+ (Output)
40271
+ [Output Only]
40272
+ Structure is documented below.
40273
+ """
40274
+ quota_infos: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailQuotaInfoArgsDict']]]]
40275
+ """
40276
+ (Output)
40277
+ [Output Only]
40278
+ Structure is documented below.
40279
+ """
40280
+ elif False:
40281
+ ResizeRequestStatusLastAttemptErrorErrorErrorDetailArgsDict: TypeAlias = Mapping[str, Any]
40282
+
40283
+ @pulumi.input_type
40284
+ class ResizeRequestStatusLastAttemptErrorErrorErrorDetailArgs:
40285
+ def __init__(__self__, *,
40286
+ error_infos: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailErrorInfoArgs']]]] = None,
40287
+ helps: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpArgs']]]] = None,
40288
+ localized_messages: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailLocalizedMessageArgs']]]] = None,
40289
+ quota_infos: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailQuotaInfoArgs']]]] = None):
40290
+ """
40291
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailErrorInfoArgs']]] error_infos: (Output)
40292
+ [Output Only]
40293
+ Structure is documented below.
40294
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpArgs']]] helps: (Output)
40295
+ [Output Only]
40296
+ Structure is documented below.
40297
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailLocalizedMessageArgs']]] localized_messages: (Output)
40298
+ [Output Only]
40299
+ Structure is documented below.
40300
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailQuotaInfoArgs']]] quota_infos: (Output)
40301
+ [Output Only]
40302
+ Structure is documented below.
40303
+ """
40304
+ if error_infos is not None:
40305
+ pulumi.set(__self__, "error_infos", error_infos)
40306
+ if helps is not None:
40307
+ pulumi.set(__self__, "helps", helps)
40308
+ if localized_messages is not None:
40309
+ pulumi.set(__self__, "localized_messages", localized_messages)
40310
+ if quota_infos is not None:
40311
+ pulumi.set(__self__, "quota_infos", quota_infos)
40312
+
40313
+ @property
40314
+ @pulumi.getter(name="errorInfos")
40315
+ def error_infos(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailErrorInfoArgs']]]]:
40316
+ """
40317
+ (Output)
40318
+ [Output Only]
40319
+ Structure is documented below.
40320
+ """
40321
+ return pulumi.get(self, "error_infos")
40322
+
40323
+ @error_infos.setter
40324
+ def error_infos(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailErrorInfoArgs']]]]):
40325
+ pulumi.set(self, "error_infos", value)
40326
+
40327
+ @property
40328
+ @pulumi.getter
40329
+ def helps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpArgs']]]]:
40330
+ """
40331
+ (Output)
40332
+ [Output Only]
40333
+ Structure is documented below.
40334
+ """
40335
+ return pulumi.get(self, "helps")
40336
+
40337
+ @helps.setter
40338
+ def helps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpArgs']]]]):
40339
+ pulumi.set(self, "helps", value)
40340
+
40341
+ @property
40342
+ @pulumi.getter(name="localizedMessages")
40343
+ def localized_messages(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailLocalizedMessageArgs']]]]:
40344
+ """
40345
+ (Output)
40346
+ [Output Only]
40347
+ Structure is documented below.
40348
+ """
40349
+ return pulumi.get(self, "localized_messages")
40350
+
40351
+ @localized_messages.setter
40352
+ def localized_messages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailLocalizedMessageArgs']]]]):
40353
+ pulumi.set(self, "localized_messages", value)
40354
+
40355
+ @property
40356
+ @pulumi.getter(name="quotaInfos")
40357
+ def quota_infos(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailQuotaInfoArgs']]]]:
40358
+ """
40359
+ (Output)
40360
+ [Output Only]
40361
+ Structure is documented below.
40362
+ """
40363
+ return pulumi.get(self, "quota_infos")
40364
+
40365
+ @quota_infos.setter
40366
+ def quota_infos(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailQuotaInfoArgs']]]]):
40367
+ pulumi.set(self, "quota_infos", value)
40368
+
40369
+
40370
+ if not MYPY:
40371
+ class ResizeRequestStatusLastAttemptErrorErrorErrorDetailErrorInfoArgsDict(TypedDict):
40372
+ domain: NotRequired[pulumi.Input[str]]
40373
+ """
40374
+ (Output)
40375
+ The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com".
40376
+ """
40377
+ metadatas: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
40378
+ """
40379
+ (Output)
40380
+ Additional structured details about this error.
40381
+ Keys must match /[a-z][a-zA-Z0-9-_]+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"}, should be returned as, {"instanceLimitPerRequest": "100"}, if the client exceeds the number of instances that can be created in a single (batch) request.
40382
+ """
40383
+ reason: NotRequired[pulumi.Input[str]]
40384
+ """
40385
+ (Output)
40386
+ The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of [A-Z][A-Z0-9_]+[A-Z0-9], which represents UPPER_SNAKE_CASE.
40387
+ """
40388
+ elif False:
40389
+ ResizeRequestStatusLastAttemptErrorErrorErrorDetailErrorInfoArgsDict: TypeAlias = Mapping[str, Any]
40390
+
40391
+ @pulumi.input_type
40392
+ class ResizeRequestStatusLastAttemptErrorErrorErrorDetailErrorInfoArgs:
40393
+ def __init__(__self__, *,
40394
+ domain: Optional[pulumi.Input[str]] = None,
40395
+ metadatas: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
40396
+ reason: Optional[pulumi.Input[str]] = None):
40397
+ """
40398
+ :param pulumi.Input[str] domain: (Output)
40399
+ The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com".
40400
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadatas: (Output)
40401
+ Additional structured details about this error.
40402
+ Keys must match /[a-z][a-zA-Z0-9-_]+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"}, should be returned as, {"instanceLimitPerRequest": "100"}, if the client exceeds the number of instances that can be created in a single (batch) request.
40403
+ :param pulumi.Input[str] reason: (Output)
40404
+ The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of [A-Z][A-Z0-9_]+[A-Z0-9], which represents UPPER_SNAKE_CASE.
40405
+ """
40406
+ if domain is not None:
40407
+ pulumi.set(__self__, "domain", domain)
40408
+ if metadatas is not None:
40409
+ pulumi.set(__self__, "metadatas", metadatas)
40410
+ if reason is not None:
40411
+ pulumi.set(__self__, "reason", reason)
40412
+
40413
+ @property
40414
+ @pulumi.getter
40415
+ def domain(self) -> Optional[pulumi.Input[str]]:
40416
+ """
40417
+ (Output)
40418
+ The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com".
40419
+ """
40420
+ return pulumi.get(self, "domain")
40421
+
40422
+ @domain.setter
40423
+ def domain(self, value: Optional[pulumi.Input[str]]):
40424
+ pulumi.set(self, "domain", value)
40425
+
40426
+ @property
40427
+ @pulumi.getter
40428
+ def metadatas(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
40429
+ """
40430
+ (Output)
40431
+ Additional structured details about this error.
40432
+ Keys must match /[a-z][a-zA-Z0-9-_]+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"}, should be returned as, {"instanceLimitPerRequest": "100"}, if the client exceeds the number of instances that can be created in a single (batch) request.
40433
+ """
40434
+ return pulumi.get(self, "metadatas")
40435
+
40436
+ @metadatas.setter
40437
+ def metadatas(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
40438
+ pulumi.set(self, "metadatas", value)
40439
+
40440
+ @property
40441
+ @pulumi.getter
40442
+ def reason(self) -> Optional[pulumi.Input[str]]:
40443
+ """
40444
+ (Output)
40445
+ The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of [A-Z][A-Z0-9_]+[A-Z0-9], which represents UPPER_SNAKE_CASE.
40446
+ """
40447
+ return pulumi.get(self, "reason")
40448
+
40449
+ @reason.setter
40450
+ def reason(self, value: Optional[pulumi.Input[str]]):
40451
+ pulumi.set(self, "reason", value)
40452
+
40453
+
40454
+ if not MYPY:
40455
+ class ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpArgsDict(TypedDict):
40456
+ links: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpLinkArgsDict']]]]
40457
+ """
40458
+ (Output)
40459
+ [Output Only]
40460
+ Structure is documented below.
40461
+ """
40462
+ elif False:
40463
+ ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpArgsDict: TypeAlias = Mapping[str, Any]
40464
+
40465
+ @pulumi.input_type
40466
+ class ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpArgs:
40467
+ def __init__(__self__, *,
40468
+ links: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpLinkArgs']]]] = None):
40469
+ """
40470
+ :param pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpLinkArgs']]] links: (Output)
40471
+ [Output Only]
40472
+ Structure is documented below.
40473
+ """
40474
+ if links is not None:
40475
+ pulumi.set(__self__, "links", links)
40476
+
40477
+ @property
40478
+ @pulumi.getter
40479
+ def links(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpLinkArgs']]]]:
40480
+ """
40481
+ (Output)
40482
+ [Output Only]
40483
+ Structure is documented below.
40484
+ """
40485
+ return pulumi.get(self, "links")
40486
+
40487
+ @links.setter
40488
+ def links(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpLinkArgs']]]]):
40489
+ pulumi.set(self, "links", value)
40490
+
40491
+
40492
+ if not MYPY:
40493
+ class ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpLinkArgsDict(TypedDict):
40494
+ description: NotRequired[pulumi.Input[str]]
40495
+ """
40496
+ An optional description of this resize-request.
40497
+ """
40498
+ url: NotRequired[pulumi.Input[str]]
40499
+ """
40500
+ (Output)
40501
+ The URL of the link.
40502
+ """
40503
+ elif False:
40504
+ ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpLinkArgsDict: TypeAlias = Mapping[str, Any]
40505
+
40506
+ @pulumi.input_type
40507
+ class ResizeRequestStatusLastAttemptErrorErrorErrorDetailHelpLinkArgs:
40508
+ def __init__(__self__, *,
40509
+ description: Optional[pulumi.Input[str]] = None,
40510
+ url: Optional[pulumi.Input[str]] = None):
40511
+ """
40512
+ :param pulumi.Input[str] description: An optional description of this resize-request.
40513
+ :param pulumi.Input[str] url: (Output)
40514
+ The URL of the link.
40515
+ """
40516
+ if description is not None:
40517
+ pulumi.set(__self__, "description", description)
40518
+ if url is not None:
40519
+ pulumi.set(__self__, "url", url)
40520
+
40521
+ @property
40522
+ @pulumi.getter
40523
+ def description(self) -> Optional[pulumi.Input[str]]:
40524
+ """
40525
+ An optional description of this resize-request.
40526
+ """
40527
+ return pulumi.get(self, "description")
40528
+
40529
+ @description.setter
40530
+ def description(self, value: Optional[pulumi.Input[str]]):
40531
+ pulumi.set(self, "description", value)
40532
+
40533
+ @property
40534
+ @pulumi.getter
40535
+ def url(self) -> Optional[pulumi.Input[str]]:
40536
+ """
40537
+ (Output)
40538
+ The URL of the link.
40539
+ """
40540
+ return pulumi.get(self, "url")
40541
+
40542
+ @url.setter
40543
+ def url(self, value: Optional[pulumi.Input[str]]):
40544
+ pulumi.set(self, "url", value)
40545
+
40546
+
40547
+ if not MYPY:
40548
+ class ResizeRequestStatusLastAttemptErrorErrorErrorDetailLocalizedMessageArgsDict(TypedDict):
40549
+ locale: NotRequired[pulumi.Input[str]]
40550
+ """
40551
+ (Output)
40552
+ The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
40553
+ """
40554
+ message: NotRequired[pulumi.Input[str]]
40555
+ """
40556
+ (Output)
40557
+ The localized error message in the above locale.
40558
+ """
40559
+ elif False:
40560
+ ResizeRequestStatusLastAttemptErrorErrorErrorDetailLocalizedMessageArgsDict: TypeAlias = Mapping[str, Any]
40561
+
40562
+ @pulumi.input_type
40563
+ class ResizeRequestStatusLastAttemptErrorErrorErrorDetailLocalizedMessageArgs:
40564
+ def __init__(__self__, *,
40565
+ locale: Optional[pulumi.Input[str]] = None,
40566
+ message: Optional[pulumi.Input[str]] = None):
40567
+ """
40568
+ :param pulumi.Input[str] locale: (Output)
40569
+ The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
40570
+ :param pulumi.Input[str] message: (Output)
40571
+ The localized error message in the above locale.
40572
+ """
40573
+ if locale is not None:
40574
+ pulumi.set(__self__, "locale", locale)
40575
+ if message is not None:
40576
+ pulumi.set(__self__, "message", message)
40577
+
40578
+ @property
40579
+ @pulumi.getter
40580
+ def locale(self) -> Optional[pulumi.Input[str]]:
40581
+ """
40582
+ (Output)
40583
+ The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
40584
+ """
40585
+ return pulumi.get(self, "locale")
40586
+
40587
+ @locale.setter
40588
+ def locale(self, value: Optional[pulumi.Input[str]]):
40589
+ pulumi.set(self, "locale", value)
40590
+
40591
+ @property
40592
+ @pulumi.getter
40593
+ def message(self) -> Optional[pulumi.Input[str]]:
40594
+ """
40595
+ (Output)
40596
+ The localized error message in the above locale.
40597
+ """
40598
+ return pulumi.get(self, "message")
40599
+
40600
+ @message.setter
40601
+ def message(self, value: Optional[pulumi.Input[str]]):
40602
+ pulumi.set(self, "message", value)
40603
+
40604
+
40605
+ if not MYPY:
40606
+ class ResizeRequestStatusLastAttemptErrorErrorErrorDetailQuotaInfoArgsDict(TypedDict):
40607
+ dimensions: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
40608
+ """
40609
+ (Output)
40610
+ The map holding related quota dimensions
40611
+ """
40612
+ future_limit: NotRequired[pulumi.Input[int]]
40613
+ """
40614
+ (Output)
40615
+ Future quota limit being rolled out. The limit's unit depends on the quota type or metric.
40616
+ """
40617
+ limit: NotRequired[pulumi.Input[int]]
40618
+ """
40619
+ (Output)
40620
+ Current effective quota limit. The limit's unit depends on the quota type or metric.
40621
+ """
40622
+ limit_name: NotRequired[pulumi.Input[str]]
40623
+ """
40624
+ (Output)
40625
+ The name of the quota limit.
40626
+ """
40627
+ metric_name: NotRequired[pulumi.Input[str]]
40628
+ """
40629
+ (Output)
40630
+ The Compute Engine quota metric name.
40631
+ """
40632
+ rollout_status: NotRequired[pulumi.Input[str]]
40633
+ """
40634
+ (Output)
40635
+ Rollout status of the future quota limit.
40636
+ """
40637
+ elif False:
40638
+ ResizeRequestStatusLastAttemptErrorErrorErrorDetailQuotaInfoArgsDict: TypeAlias = Mapping[str, Any]
40639
+
40640
+ @pulumi.input_type
40641
+ class ResizeRequestStatusLastAttemptErrorErrorErrorDetailQuotaInfoArgs:
40642
+ def __init__(__self__, *,
40643
+ dimensions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
40644
+ future_limit: Optional[pulumi.Input[int]] = None,
40645
+ limit: Optional[pulumi.Input[int]] = None,
40646
+ limit_name: Optional[pulumi.Input[str]] = None,
40647
+ metric_name: Optional[pulumi.Input[str]] = None,
40648
+ rollout_status: Optional[pulumi.Input[str]] = None):
40649
+ """
40650
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] dimensions: (Output)
40651
+ The map holding related quota dimensions
40652
+ :param pulumi.Input[int] future_limit: (Output)
40653
+ Future quota limit being rolled out. The limit's unit depends on the quota type or metric.
40654
+ :param pulumi.Input[int] limit: (Output)
40655
+ Current effective quota limit. The limit's unit depends on the quota type or metric.
40656
+ :param pulumi.Input[str] limit_name: (Output)
40657
+ The name of the quota limit.
40658
+ :param pulumi.Input[str] metric_name: (Output)
40659
+ The Compute Engine quota metric name.
40660
+ :param pulumi.Input[str] rollout_status: (Output)
40661
+ Rollout status of the future quota limit.
40662
+ """
40663
+ if dimensions is not None:
40664
+ pulumi.set(__self__, "dimensions", dimensions)
40665
+ if future_limit is not None:
40666
+ pulumi.set(__self__, "future_limit", future_limit)
40667
+ if limit is not None:
40668
+ pulumi.set(__self__, "limit", limit)
40669
+ if limit_name is not None:
40670
+ pulumi.set(__self__, "limit_name", limit_name)
40671
+ if metric_name is not None:
40672
+ pulumi.set(__self__, "metric_name", metric_name)
40673
+ if rollout_status is not None:
40674
+ pulumi.set(__self__, "rollout_status", rollout_status)
40675
+
40676
+ @property
40677
+ @pulumi.getter
40678
+ def dimensions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
40679
+ """
40680
+ (Output)
40681
+ The map holding related quota dimensions
40682
+ """
40683
+ return pulumi.get(self, "dimensions")
40684
+
40685
+ @dimensions.setter
40686
+ def dimensions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
40687
+ pulumi.set(self, "dimensions", value)
40688
+
40689
+ @property
40690
+ @pulumi.getter(name="futureLimit")
40691
+ def future_limit(self) -> Optional[pulumi.Input[int]]:
40692
+ """
40693
+ (Output)
40694
+ Future quota limit being rolled out. The limit's unit depends on the quota type or metric.
40695
+ """
40696
+ return pulumi.get(self, "future_limit")
40697
+
40698
+ @future_limit.setter
40699
+ def future_limit(self, value: Optional[pulumi.Input[int]]):
40700
+ pulumi.set(self, "future_limit", value)
40701
+
40702
+ @property
40703
+ @pulumi.getter
40704
+ def limit(self) -> Optional[pulumi.Input[int]]:
40705
+ """
40706
+ (Output)
40707
+ Current effective quota limit. The limit's unit depends on the quota type or metric.
40708
+ """
40709
+ return pulumi.get(self, "limit")
40710
+
40711
+ @limit.setter
40712
+ def limit(self, value: Optional[pulumi.Input[int]]):
40713
+ pulumi.set(self, "limit", value)
40714
+
40715
+ @property
40716
+ @pulumi.getter(name="limitName")
40717
+ def limit_name(self) -> Optional[pulumi.Input[str]]:
40718
+ """
40719
+ (Output)
40720
+ The name of the quota limit.
40721
+ """
40722
+ return pulumi.get(self, "limit_name")
40723
+
40724
+ @limit_name.setter
40725
+ def limit_name(self, value: Optional[pulumi.Input[str]]):
40726
+ pulumi.set(self, "limit_name", value)
40727
+
40728
+ @property
40729
+ @pulumi.getter(name="metricName")
40730
+ def metric_name(self) -> Optional[pulumi.Input[str]]:
40731
+ """
40732
+ (Output)
40733
+ The Compute Engine quota metric name.
40734
+ """
40735
+ return pulumi.get(self, "metric_name")
40736
+
40737
+ @metric_name.setter
40738
+ def metric_name(self, value: Optional[pulumi.Input[str]]):
40739
+ pulumi.set(self, "metric_name", value)
40740
+
40741
+ @property
40742
+ @pulumi.getter(name="rolloutStatus")
40743
+ def rollout_status(self) -> Optional[pulumi.Input[str]]:
40744
+ """
40745
+ (Output)
40746
+ Rollout status of the future quota limit.
40747
+ """
40748
+ return pulumi.get(self, "rollout_status")
40749
+
40750
+ @rollout_status.setter
40751
+ def rollout_status(self, value: Optional[pulumi.Input[str]]):
40752
+ pulumi.set(self, "rollout_status", value)
40753
+
40754
+
40755
+ if not MYPY:
40756
+ class ResourcePolicyDiskConsistencyGroupPolicyArgsDict(TypedDict):
40757
+ enabled: pulumi.Input[bool]
40758
+ """
40759
+ Enable disk consistency on the resource policy.
40760
+ """
40761
+ elif False:
40762
+ ResourcePolicyDiskConsistencyGroupPolicyArgsDict: TypeAlias = Mapping[str, Any]
40763
+
40764
+ @pulumi.input_type
40765
+ class ResourcePolicyDiskConsistencyGroupPolicyArgs:
40766
+ def __init__(__self__, *,
40767
+ enabled: pulumi.Input[bool]):
40768
+ """
40769
+ :param pulumi.Input[bool] enabled: Enable disk consistency on the resource policy.
40770
+ """
40771
+ pulumi.set(__self__, "enabled", enabled)
40772
+
40773
+ @property
40774
+ @pulumi.getter
40775
+ def enabled(self) -> pulumi.Input[bool]:
40776
+ """
40777
+ Enable disk consistency on the resource policy.
40778
+ """
40779
+ return pulumi.get(self, "enabled")
40780
+
40781
+ @enabled.setter
40782
+ def enabled(self, value: pulumi.Input[bool]):
40783
+ pulumi.set(self, "enabled", value)
40784
+
40785
+
40786
+ if not MYPY:
40787
+ class ResourcePolicyGroupPlacementPolicyArgsDict(TypedDict):
40788
+ availability_domain_count: NotRequired[pulumi.Input[int]]
40789
+ """
40790
+ The number of availability domains instances will be spread across. If two instances are in different
40791
+ availability domain, they will not be put in the same low latency network
40792
+ """
40793
+ collocation: NotRequired[pulumi.Input[str]]
40794
+ """
40795
+ Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network.
40796
+ Specify `COLLOCATED` to enable collocation. Can only be specified with `vm_count`. If compute instances are created
40797
+ with a COLLOCATED policy, then exactly `vm_count` instances must be created at the same time with the resource policy
40798
+ attached.
40799
+ Possible values are: `COLLOCATED`.
40800
+ """
40801
+ max_distance: NotRequired[pulumi.Input[int]]
40802
+ """
40803
+ Specifies the number of max logical switches.
40804
+ """
40805
+ vm_count: NotRequired[pulumi.Input[int]]
40806
+ """
40807
+ Number of VMs in this placement group. Google does not recommend that you use this field
40808
+ unless you use a compact policy and you want your policy to work only if it contains this
40809
+ exact number of VMs.
40810
+ """
40811
+ elif False:
40812
+ ResourcePolicyGroupPlacementPolicyArgsDict: TypeAlias = Mapping[str, Any]
40813
+
40814
+ @pulumi.input_type
40815
+ class ResourcePolicyGroupPlacementPolicyArgs:
40816
+ def __init__(__self__, *,
40817
+ availability_domain_count: Optional[pulumi.Input[int]] = None,
40818
+ collocation: Optional[pulumi.Input[str]] = None,
40819
+ max_distance: Optional[pulumi.Input[int]] = None,
40820
+ vm_count: Optional[pulumi.Input[int]] = None):
40821
+ """
40822
+ :param pulumi.Input[int] availability_domain_count: The number of availability domains instances will be spread across. If two instances are in different
40823
+ availability domain, they will not be put in the same low latency network
40824
+ :param pulumi.Input[str] collocation: Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network.
40825
+ Specify `COLLOCATED` to enable collocation. Can only be specified with `vm_count`. If compute instances are created
40826
+ with a COLLOCATED policy, then exactly `vm_count` instances must be created at the same time with the resource policy
40827
+ attached.
40828
+ Possible values are: `COLLOCATED`.
40829
+ :param pulumi.Input[int] max_distance: Specifies the number of max logical switches.
40830
+ :param pulumi.Input[int] vm_count: Number of VMs in this placement group. Google does not recommend that you use this field
40831
+ unless you use a compact policy and you want your policy to work only if it contains this
40832
+ exact number of VMs.
40833
+ """
40834
+ if availability_domain_count is not None:
40835
+ pulumi.set(__self__, "availability_domain_count", availability_domain_count)
40836
+ if collocation is not None:
40837
+ pulumi.set(__self__, "collocation", collocation)
40838
+ if max_distance is not None:
40839
+ pulumi.set(__self__, "max_distance", max_distance)
40840
+ if vm_count is not None:
40841
+ pulumi.set(__self__, "vm_count", vm_count)
40842
+
40843
+ @property
40844
+ @pulumi.getter(name="availabilityDomainCount")
40845
+ def availability_domain_count(self) -> Optional[pulumi.Input[int]]:
40846
+ """
40847
+ The number of availability domains instances will be spread across. If two instances are in different
40848
+ availability domain, they will not be put in the same low latency network
40849
+ """
40850
+ return pulumi.get(self, "availability_domain_count")
40851
+
40852
+ @availability_domain_count.setter
40853
+ def availability_domain_count(self, value: Optional[pulumi.Input[int]]):
40854
+ pulumi.set(self, "availability_domain_count", value)
40855
+
40856
+ @property
40857
+ @pulumi.getter
40858
+ def collocation(self) -> Optional[pulumi.Input[str]]:
40859
+ """
40860
+ Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network.
40861
+ Specify `COLLOCATED` to enable collocation. Can only be specified with `vm_count`. If compute instances are created
40862
+ with a COLLOCATED policy, then exactly `vm_count` instances must be created at the same time with the resource policy
40863
+ attached.
40864
+ Possible values are: `COLLOCATED`.
40865
+ """
40866
+ return pulumi.get(self, "collocation")
40867
+
40868
+ @collocation.setter
40869
+ def collocation(self, value: Optional[pulumi.Input[str]]):
40870
+ pulumi.set(self, "collocation", value)
40871
+
40872
+ @property
40873
+ @pulumi.getter(name="maxDistance")
40874
+ def max_distance(self) -> Optional[pulumi.Input[int]]:
40875
+ """
40876
+ Specifies the number of max logical switches.
40877
+ """
40878
+ return pulumi.get(self, "max_distance")
40879
+
40880
+ @max_distance.setter
40881
+ def max_distance(self, value: Optional[pulumi.Input[int]]):
40882
+ pulumi.set(self, "max_distance", value)
40883
+
40884
+ @property
40885
+ @pulumi.getter(name="vmCount")
40886
+ def vm_count(self) -> Optional[pulumi.Input[int]]:
40887
+ """
40888
+ Number of VMs in this placement group. Google does not recommend that you use this field
40889
+ unless you use a compact policy and you want your policy to work only if it contains this
40890
+ exact number of VMs.
40891
+ """
40892
+ return pulumi.get(self, "vm_count")
40893
+
40894
+ @vm_count.setter
40895
+ def vm_count(self, value: Optional[pulumi.Input[int]]):
40896
+ pulumi.set(self, "vm_count", value)
40897
+
40898
+
40899
+ if not MYPY:
40900
+ class ResourcePolicyInstanceSchedulePolicyArgsDict(TypedDict):
40901
+ time_zone: pulumi.Input[str]
40902
+ """
40903
+ Specifies the time zone to be used in interpreting the schedule. The value of this field must be a time zone name
40904
+ from the tz database: http://en.wikipedia.org/wiki/Tz_database.
40905
+ """
40906
+ expiration_time: NotRequired[pulumi.Input[str]]
40907
+ """
40908
+ The expiration time of the schedule. The timestamp is an RFC3339 string.
40909
+ """
40910
+ start_time: NotRequired[pulumi.Input[str]]
40911
+ """
40912
+ The start time of the schedule. The timestamp is an RFC3339 string.
40913
+ """
40914
+ vm_start_schedule: NotRequired[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgsDict']]
40915
+ """
40916
+ Specifies the schedule for starting instances.
40917
+ Structure is documented below.
40918
+ """
40919
+ vm_stop_schedule: NotRequired[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgsDict']]
40920
+ """
40921
+ Specifies the schedule for stopping instances.
40922
+ Structure is documented below.
40923
+ """
40924
+ elif False:
40925
+ ResourcePolicyInstanceSchedulePolicyArgsDict: TypeAlias = Mapping[str, Any]
40926
+
40927
+ @pulumi.input_type
40928
+ class ResourcePolicyInstanceSchedulePolicyArgs:
40929
+ def __init__(__self__, *,
40930
+ time_zone: pulumi.Input[str],
40931
+ expiration_time: Optional[pulumi.Input[str]] = None,
40932
+ start_time: Optional[pulumi.Input[str]] = None,
40933
+ vm_start_schedule: Optional[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgs']] = None,
40934
+ vm_stop_schedule: Optional[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgs']] = None):
40935
+ """
40936
+ :param pulumi.Input[str] time_zone: Specifies the time zone to be used in interpreting the schedule. The value of this field must be a time zone name
40937
+ from the tz database: http://en.wikipedia.org/wiki/Tz_database.
40938
+ :param pulumi.Input[str] expiration_time: The expiration time of the schedule. The timestamp is an RFC3339 string.
40939
+ :param pulumi.Input[str] start_time: The start time of the schedule. The timestamp is an RFC3339 string.
40940
+ :param pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgs'] vm_start_schedule: Specifies the schedule for starting instances.
40941
+ Structure is documented below.
40942
+ :param pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgs'] vm_stop_schedule: Specifies the schedule for stopping instances.
40943
+ Structure is documented below.
40944
+ """
40945
+ pulumi.set(__self__, "time_zone", time_zone)
40946
+ if expiration_time is not None:
40947
+ pulumi.set(__self__, "expiration_time", expiration_time)
40948
+ if start_time is not None:
40949
+ pulumi.set(__self__, "start_time", start_time)
40950
+ if vm_start_schedule is not None:
40951
+ pulumi.set(__self__, "vm_start_schedule", vm_start_schedule)
40952
+ if vm_stop_schedule is not None:
40953
+ pulumi.set(__self__, "vm_stop_schedule", vm_stop_schedule)
40954
+
40955
+ @property
40956
+ @pulumi.getter(name="timeZone")
40957
+ def time_zone(self) -> pulumi.Input[str]:
40958
+ """
40959
+ Specifies the time zone to be used in interpreting the schedule. The value of this field must be a time zone name
40960
+ from the tz database: http://en.wikipedia.org/wiki/Tz_database.
40961
+ """
40962
+ return pulumi.get(self, "time_zone")
40963
+
40964
+ @time_zone.setter
40965
+ def time_zone(self, value: pulumi.Input[str]):
40966
+ pulumi.set(self, "time_zone", value)
40967
+
40968
+ @property
40969
+ @pulumi.getter(name="expirationTime")
40970
+ def expiration_time(self) -> Optional[pulumi.Input[str]]:
40971
+ """
40972
+ The expiration time of the schedule. The timestamp is an RFC3339 string.
40973
+ """
40974
+ return pulumi.get(self, "expiration_time")
40975
+
40976
+ @expiration_time.setter
40977
+ def expiration_time(self, value: Optional[pulumi.Input[str]]):
40978
+ pulumi.set(self, "expiration_time", value)
40979
+
40980
+ @property
40981
+ @pulumi.getter(name="startTime")
40982
+ def start_time(self) -> Optional[pulumi.Input[str]]:
40983
+ """
40984
+ The start time of the schedule. The timestamp is an RFC3339 string.
40985
+ """
40986
+ return pulumi.get(self, "start_time")
40987
+
40988
+ @start_time.setter
40989
+ def start_time(self, value: Optional[pulumi.Input[str]]):
40990
+ pulumi.set(self, "start_time", value)
40991
+
40992
+ @property
40993
+ @pulumi.getter(name="vmStartSchedule")
40994
+ def vm_start_schedule(self) -> Optional[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgs']]:
40995
+ """
40996
+ Specifies the schedule for starting instances.
40997
+ Structure is documented below.
40998
+ """
40999
+ return pulumi.get(self, "vm_start_schedule")
41000
+
41001
+ @vm_start_schedule.setter
41002
+ def vm_start_schedule(self, value: Optional[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgs']]):
41003
+ pulumi.set(self, "vm_start_schedule", value)
41004
+
41005
+ @property
41006
+ @pulumi.getter(name="vmStopSchedule")
41007
+ def vm_stop_schedule(self) -> Optional[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgs']]:
41008
+ """
41009
+ Specifies the schedule for stopping instances.
41010
+ Structure is documented below.
41011
+ """
41012
+ return pulumi.get(self, "vm_stop_schedule")
41013
+
41014
+ @vm_stop_schedule.setter
41015
+ def vm_stop_schedule(self, value: Optional[pulumi.Input['ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgs']]):
41016
+ pulumi.set(self, "vm_stop_schedule", value)
41017
+
41018
+
41019
+ if not MYPY:
41020
+ class ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgsDict(TypedDict):
41021
+ schedule: pulumi.Input[str]
41022
+ """
41023
+ Specifies the frequency for the operation, using the unix-cron format.
41024
+ """
41025
+ elif False:
41026
+ ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgsDict: TypeAlias = Mapping[str, Any]
41027
+
41028
+ @pulumi.input_type
41029
+ class ResourcePolicyInstanceSchedulePolicyVmStartScheduleArgs:
41030
+ def __init__(__self__, *,
41031
+ schedule: pulumi.Input[str]):
41032
+ """
41033
+ :param pulumi.Input[str] schedule: Specifies the frequency for the operation, using the unix-cron format.
41034
+ """
41035
+ pulumi.set(__self__, "schedule", schedule)
41036
+
41037
+ @property
41038
+ @pulumi.getter
41039
+ def schedule(self) -> pulumi.Input[str]:
41040
+ """
41041
+ Specifies the frequency for the operation, using the unix-cron format.
41042
+ """
41043
+ return pulumi.get(self, "schedule")
41044
+
41045
+ @schedule.setter
41046
+ def schedule(self, value: pulumi.Input[str]):
41047
+ pulumi.set(self, "schedule", value)
41048
+
41049
+
41050
+ if not MYPY:
41051
+ class ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgsDict(TypedDict):
41052
+ schedule: pulumi.Input[str]
41053
+ """
41054
+ Specifies the frequency for the operation, using the unix-cron format.
41055
+ """
41056
+ elif False:
41057
+ ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgsDict: TypeAlias = Mapping[str, Any]
41058
+
41059
+ @pulumi.input_type
41060
+ class ResourcePolicyInstanceSchedulePolicyVmStopScheduleArgs:
41061
+ def __init__(__self__, *,
41062
+ schedule: pulumi.Input[str]):
41063
+ """
41064
+ :param pulumi.Input[str] schedule: Specifies the frequency for the operation, using the unix-cron format.
41065
+ """
41066
+ pulumi.set(__self__, "schedule", schedule)
41067
+
41068
+ @property
41069
+ @pulumi.getter
41070
+ def schedule(self) -> pulumi.Input[str]:
41071
+ """
41072
+ Specifies the frequency for the operation, using the unix-cron format.
41073
+ """
41074
+ return pulumi.get(self, "schedule")
41075
+
41076
+ @schedule.setter
41077
+ def schedule(self, value: pulumi.Input[str]):
41078
+ pulumi.set(self, "schedule", value)
41079
+
41080
+
41081
+ if not MYPY:
41082
+ class ResourcePolicySnapshotSchedulePolicyArgsDict(TypedDict):
41083
+ schedule: pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleArgsDict']
41084
+ """
41085
+ Contains one of an `hourlySchedule`, `dailySchedule`, or `weeklySchedule`.
41086
+ Structure is documented below.
41087
+ """
41088
+ retention_policy: NotRequired[pulumi.Input['ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgsDict']]
41089
+ """
41090
+ Retention policy applied to snapshots created by this resource policy.
41091
+ Structure is documented below.
41092
+ """
41093
+ snapshot_properties: NotRequired[pulumi.Input['ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgsDict']]
41094
+ """
41095
+ Properties with which the snapshots are created, such as labels.
41096
+ Structure is documented below.
41097
+ """
41098
+ elif False:
41099
+ ResourcePolicySnapshotSchedulePolicyArgsDict: TypeAlias = Mapping[str, Any]
41100
+
41101
+ @pulumi.input_type
41102
+ class ResourcePolicySnapshotSchedulePolicyArgs:
41103
+ def __init__(__self__, *,
41104
+ schedule: pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleArgs'],
41105
+ retention_policy: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgs']] = None,
41106
+ snapshot_properties: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs']] = None):
41107
+ """
41108
+ :param pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleArgs'] schedule: Contains one of an `hourlySchedule`, `dailySchedule`, or `weeklySchedule`.
41109
+ Structure is documented below.
41110
+ :param pulumi.Input['ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgs'] retention_policy: Retention policy applied to snapshots created by this resource policy.
41111
+ Structure is documented below.
41112
+ :param pulumi.Input['ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs'] snapshot_properties: Properties with which the snapshots are created, such as labels.
41113
+ Structure is documented below.
41114
+ """
41115
+ pulumi.set(__self__, "schedule", schedule)
41116
+ if retention_policy is not None:
41117
+ pulumi.set(__self__, "retention_policy", retention_policy)
41118
+ if snapshot_properties is not None:
41119
+ pulumi.set(__self__, "snapshot_properties", snapshot_properties)
41120
+
41121
+ @property
41122
+ @pulumi.getter
41123
+ def schedule(self) -> pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleArgs']:
41124
+ """
41125
+ Contains one of an `hourlySchedule`, `dailySchedule`, or `weeklySchedule`.
41126
+ Structure is documented below.
41127
+ """
41128
+ return pulumi.get(self, "schedule")
41129
+
41130
+ @schedule.setter
41131
+ def schedule(self, value: pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleArgs']):
41132
+ pulumi.set(self, "schedule", value)
41133
+
41134
+ @property
41135
+ @pulumi.getter(name="retentionPolicy")
41136
+ def retention_policy(self) -> Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgs']]:
41137
+ """
41138
+ Retention policy applied to snapshots created by this resource policy.
41139
+ Structure is documented below.
41140
+ """
41141
+ return pulumi.get(self, "retention_policy")
41142
+
41143
+ @retention_policy.setter
41144
+ def retention_policy(self, value: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgs']]):
41145
+ pulumi.set(self, "retention_policy", value)
41146
+
41147
+ @property
41148
+ @pulumi.getter(name="snapshotProperties")
41149
+ def snapshot_properties(self) -> Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs']]:
41150
+ """
41151
+ Properties with which the snapshots are created, such as labels.
41152
+ Structure is documented below.
41153
+ """
41154
+ return pulumi.get(self, "snapshot_properties")
41155
+
41156
+ @snapshot_properties.setter
41157
+ def snapshot_properties(self, value: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs']]):
41158
+ pulumi.set(self, "snapshot_properties", value)
41159
+
41160
+
41161
+ if not MYPY:
41162
+ class ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgsDict(TypedDict):
41163
+ max_retention_days: pulumi.Input[int]
41164
+ """
41165
+ Maximum age of the snapshot that is allowed to be kept.
41166
+ """
41167
+ on_source_disk_delete: NotRequired[pulumi.Input[str]]
41168
+ """
41169
+ Specifies the behavior to apply to scheduled snapshots when
41170
+ the source disk is deleted.
41171
+ Default value is `KEEP_AUTO_SNAPSHOTS`.
41172
+ Possible values are: `KEEP_AUTO_SNAPSHOTS`, `APPLY_RETENTION_POLICY`.
41173
+ """
41174
+ elif False:
41175
+ ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgsDict: TypeAlias = Mapping[str, Any]
41176
+
41177
+ @pulumi.input_type
41178
+ class ResourcePolicySnapshotSchedulePolicyRetentionPolicyArgs:
41179
+ def __init__(__self__, *,
41180
+ max_retention_days: pulumi.Input[int],
41181
+ on_source_disk_delete: Optional[pulumi.Input[str]] = None):
41182
+ """
41183
+ :param pulumi.Input[int] max_retention_days: Maximum age of the snapshot that is allowed to be kept.
41184
+ :param pulumi.Input[str] on_source_disk_delete: Specifies the behavior to apply to scheduled snapshots when
41185
+ the source disk is deleted.
41186
+ Default value is `KEEP_AUTO_SNAPSHOTS`.
41187
+ Possible values are: `KEEP_AUTO_SNAPSHOTS`, `APPLY_RETENTION_POLICY`.
41188
+ """
41189
+ pulumi.set(__self__, "max_retention_days", max_retention_days)
41190
+ if on_source_disk_delete is not None:
41191
+ pulumi.set(__self__, "on_source_disk_delete", on_source_disk_delete)
41192
+
41193
+ @property
41194
+ @pulumi.getter(name="maxRetentionDays")
41195
+ def max_retention_days(self) -> pulumi.Input[int]:
41196
+ """
41197
+ Maximum age of the snapshot that is allowed to be kept.
41198
+ """
41199
+ return pulumi.get(self, "max_retention_days")
41200
+
41201
+ @max_retention_days.setter
41202
+ def max_retention_days(self, value: pulumi.Input[int]):
41203
+ pulumi.set(self, "max_retention_days", value)
41204
+
41205
+ @property
41206
+ @pulumi.getter(name="onSourceDiskDelete")
41207
+ def on_source_disk_delete(self) -> Optional[pulumi.Input[str]]:
41208
+ """
41209
+ Specifies the behavior to apply to scheduled snapshots when
41210
+ the source disk is deleted.
41211
+ Default value is `KEEP_AUTO_SNAPSHOTS`.
41212
+ Possible values are: `KEEP_AUTO_SNAPSHOTS`, `APPLY_RETENTION_POLICY`.
41213
+ """
41214
+ return pulumi.get(self, "on_source_disk_delete")
41215
+
41216
+ @on_source_disk_delete.setter
41217
+ def on_source_disk_delete(self, value: Optional[pulumi.Input[str]]):
41218
+ pulumi.set(self, "on_source_disk_delete", value)
41219
+
41220
+
41221
+ if not MYPY:
41222
+ class ResourcePolicySnapshotSchedulePolicyScheduleArgsDict(TypedDict):
41223
+ daily_schedule: NotRequired[pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleDailyScheduleArgsDict']]
41224
+ """
41225
+ The policy will execute every nth day at the specified time.
41226
+ Structure is documented below.
41227
+ """
41228
+ hourly_schedule: NotRequired[pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleHourlyScheduleArgsDict']]
41229
+ """
41230
+ The policy will execute every nth hour starting at the specified time.
41231
+ Structure is documented below.
41232
+ """
41233
+ weekly_schedule: NotRequired[pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleArgsDict']]
41234
+ """
41235
+ Allows specifying a snapshot time for each day of the week.
41236
+ Structure is documented below.
41237
+ """
41238
+ elif False:
41239
+ ResourcePolicySnapshotSchedulePolicyScheduleArgsDict: TypeAlias = Mapping[str, Any]
41240
+
41241
+ @pulumi.input_type
41242
+ class ResourcePolicySnapshotSchedulePolicyScheduleArgs:
41243
+ def __init__(__self__, *,
41244
+ daily_schedule: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleDailyScheduleArgs']] = None,
39548
41245
  hourly_schedule: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleHourlyScheduleArgs']] = None,
39549
41246
  weekly_schedule: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleArgs']] = None):
39550
41247
  """
@@ -40741,6 +42438,40 @@ class RouterPeerBfdArgs:
40741
42438
  pulumi.set(self, "multiplier", value)
40742
42439
 
40743
42440
 
42441
+ if not MYPY:
42442
+ class RouterPeerCustomLearnedIpRangeArgsDict(TypedDict):
42443
+ range: pulumi.Input[str]
42444
+ """
42445
+ The IP range to advertise. The value must be a
42446
+ CIDR-formatted string.
42447
+ """
42448
+ elif False:
42449
+ RouterPeerCustomLearnedIpRangeArgsDict: TypeAlias = Mapping[str, Any]
42450
+
42451
+ @pulumi.input_type
42452
+ class RouterPeerCustomLearnedIpRangeArgs:
42453
+ def __init__(__self__, *,
42454
+ range: pulumi.Input[str]):
42455
+ """
42456
+ :param pulumi.Input[str] range: The IP range to advertise. The value must be a
42457
+ CIDR-formatted string.
42458
+ """
42459
+ pulumi.set(__self__, "range", range)
42460
+
42461
+ @property
42462
+ @pulumi.getter
42463
+ def range(self) -> pulumi.Input[str]:
42464
+ """
42465
+ The IP range to advertise. The value must be a
42466
+ CIDR-formatted string.
42467
+ """
42468
+ return pulumi.get(self, "range")
42469
+
42470
+ @range.setter
42471
+ def range(self, value: pulumi.Input[str]):
42472
+ pulumi.set(self, "range", value)
42473
+
42474
+
40744
42475
  if not MYPY:
40745
42476
  class RouterPeerMd5AuthenticationKeyArgsDict(TypedDict):
40746
42477
  key: pulumi.Input[str]
@@ -40806,6 +42537,280 @@ class RouterPeerMd5AuthenticationKeyArgs:
40806
42537
  pulumi.set(self, "name", value)
40807
42538
 
40808
42539
 
42540
+ if not MYPY:
42541
+ class RouterRoutePolicyTermArgsDict(TypedDict):
42542
+ priority: pulumi.Input[int]
42543
+ """
42544
+ The evaluation priority for this term, which must be between 0 (inclusive) and 231 (exclusive), and unique within the list.
42545
+ """
42546
+ actions: NotRequired[pulumi.Input[Sequence[pulumi.Input['RouterRoutePolicyTermActionArgsDict']]]]
42547
+ """
42548
+ 'CEL expressions to evaluate to modify a route when this term matches.'\\
42549
+ Structure is documented below.
42550
+ """
42551
+ match: NotRequired[pulumi.Input['RouterRoutePolicyTermMatchArgsDict']]
42552
+ """
42553
+ CEL expression evaluated against a route to determine if this term applies (see Policy Language). When not set, the term applies to all routes.
42554
+ Structure is documented below.
42555
+ """
42556
+ elif False:
42557
+ RouterRoutePolicyTermArgsDict: TypeAlias = Mapping[str, Any]
42558
+
42559
+ @pulumi.input_type
42560
+ class RouterRoutePolicyTermArgs:
42561
+ def __init__(__self__, *,
42562
+ priority: pulumi.Input[int],
42563
+ actions: Optional[pulumi.Input[Sequence[pulumi.Input['RouterRoutePolicyTermActionArgs']]]] = None,
42564
+ match: Optional[pulumi.Input['RouterRoutePolicyTermMatchArgs']] = None):
42565
+ """
42566
+ :param pulumi.Input[int] priority: The evaluation priority for this term, which must be between 0 (inclusive) and 231 (exclusive), and unique within the list.
42567
+ :param pulumi.Input[Sequence[pulumi.Input['RouterRoutePolicyTermActionArgs']]] actions: 'CEL expressions to evaluate to modify a route when this term matches.'\\
42568
+ Structure is documented below.
42569
+ :param pulumi.Input['RouterRoutePolicyTermMatchArgs'] match: CEL expression evaluated against a route to determine if this term applies (see Policy Language). When not set, the term applies to all routes.
42570
+ Structure is documented below.
42571
+ """
42572
+ pulumi.set(__self__, "priority", priority)
42573
+ if actions is not None:
42574
+ pulumi.set(__self__, "actions", actions)
42575
+ if match is not None:
42576
+ pulumi.set(__self__, "match", match)
42577
+
42578
+ @property
42579
+ @pulumi.getter
42580
+ def priority(self) -> pulumi.Input[int]:
42581
+ """
42582
+ The evaluation priority for this term, which must be between 0 (inclusive) and 231 (exclusive), and unique within the list.
42583
+ """
42584
+ return pulumi.get(self, "priority")
42585
+
42586
+ @priority.setter
42587
+ def priority(self, value: pulumi.Input[int]):
42588
+ pulumi.set(self, "priority", value)
42589
+
42590
+ @property
42591
+ @pulumi.getter
42592
+ def actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RouterRoutePolicyTermActionArgs']]]]:
42593
+ """
42594
+ 'CEL expressions to evaluate to modify a route when this term matches.'\\
42595
+ Structure is documented below.
42596
+ """
42597
+ return pulumi.get(self, "actions")
42598
+
42599
+ @actions.setter
42600
+ def actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RouterRoutePolicyTermActionArgs']]]]):
42601
+ pulumi.set(self, "actions", value)
42602
+
42603
+ @property
42604
+ @pulumi.getter
42605
+ def match(self) -> Optional[pulumi.Input['RouterRoutePolicyTermMatchArgs']]:
42606
+ """
42607
+ CEL expression evaluated against a route to determine if this term applies (see Policy Language). When not set, the term applies to all routes.
42608
+ Structure is documented below.
42609
+ """
42610
+ return pulumi.get(self, "match")
42611
+
42612
+ @match.setter
42613
+ def match(self, value: Optional[pulumi.Input['RouterRoutePolicyTermMatchArgs']]):
42614
+ pulumi.set(self, "match", value)
42615
+
42616
+
42617
+ if not MYPY:
42618
+ class RouterRoutePolicyTermActionArgsDict(TypedDict):
42619
+ expression: pulumi.Input[str]
42620
+ """
42621
+ Textual representation of an expression in Common Expression
42622
+ Language syntax.
42623
+ """
42624
+ description: NotRequired[pulumi.Input[str]]
42625
+ """
42626
+ Description of the expression
42627
+ """
42628
+ location: NotRequired[pulumi.Input[str]]
42629
+ """
42630
+ String indicating the location of the expression for error
42631
+ reporting, e.g. a file name and a position in the file
42632
+
42633
+ - - -
42634
+ """
42635
+ title: NotRequired[pulumi.Input[str]]
42636
+ """
42637
+ Title for the expression, i.e. a short string describing its
42638
+ purpose.
42639
+ """
42640
+ elif False:
42641
+ RouterRoutePolicyTermActionArgsDict: TypeAlias = Mapping[str, Any]
42642
+
42643
+ @pulumi.input_type
42644
+ class RouterRoutePolicyTermActionArgs:
42645
+ def __init__(__self__, *,
42646
+ expression: pulumi.Input[str],
42647
+ description: Optional[pulumi.Input[str]] = None,
42648
+ location: Optional[pulumi.Input[str]] = None,
42649
+ title: Optional[pulumi.Input[str]] = None):
42650
+ """
42651
+ :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression
42652
+ Language syntax.
42653
+ :param pulumi.Input[str] description: Description of the expression
42654
+ :param pulumi.Input[str] location: String indicating the location of the expression for error
42655
+ reporting, e.g. a file name and a position in the file
42656
+
42657
+ - - -
42658
+ :param pulumi.Input[str] title: Title for the expression, i.e. a short string describing its
42659
+ purpose.
42660
+ """
42661
+ pulumi.set(__self__, "expression", expression)
42662
+ if description is not None:
42663
+ pulumi.set(__self__, "description", description)
42664
+ if location is not None:
42665
+ pulumi.set(__self__, "location", location)
42666
+ if title is not None:
42667
+ pulumi.set(__self__, "title", title)
42668
+
42669
+ @property
42670
+ @pulumi.getter
42671
+ def expression(self) -> pulumi.Input[str]:
42672
+ """
42673
+ Textual representation of an expression in Common Expression
42674
+ Language syntax.
42675
+ """
42676
+ return pulumi.get(self, "expression")
42677
+
42678
+ @expression.setter
42679
+ def expression(self, value: pulumi.Input[str]):
42680
+ pulumi.set(self, "expression", value)
42681
+
42682
+ @property
42683
+ @pulumi.getter
42684
+ def description(self) -> Optional[pulumi.Input[str]]:
42685
+ """
42686
+ Description of the expression
42687
+ """
42688
+ return pulumi.get(self, "description")
42689
+
42690
+ @description.setter
42691
+ def description(self, value: Optional[pulumi.Input[str]]):
42692
+ pulumi.set(self, "description", value)
42693
+
42694
+ @property
42695
+ @pulumi.getter
42696
+ def location(self) -> Optional[pulumi.Input[str]]:
42697
+ """
42698
+ String indicating the location of the expression for error
42699
+ reporting, e.g. a file name and a position in the file
42700
+
42701
+ - - -
42702
+ """
42703
+ return pulumi.get(self, "location")
42704
+
42705
+ @location.setter
42706
+ def location(self, value: Optional[pulumi.Input[str]]):
42707
+ pulumi.set(self, "location", value)
42708
+
42709
+ @property
42710
+ @pulumi.getter
42711
+ def title(self) -> Optional[pulumi.Input[str]]:
42712
+ """
42713
+ Title for the expression, i.e. a short string describing its
42714
+ purpose.
42715
+ """
42716
+ return pulumi.get(self, "title")
42717
+
42718
+ @title.setter
42719
+ def title(self, value: Optional[pulumi.Input[str]]):
42720
+ pulumi.set(self, "title", value)
42721
+
42722
+
42723
+ if not MYPY:
42724
+ class RouterRoutePolicyTermMatchArgsDict(TypedDict):
42725
+ expression: pulumi.Input[str]
42726
+ """
42727
+ Textual representation of an expression in Common Expression Language syntax.
42728
+ """
42729
+ description: NotRequired[pulumi.Input[str]]
42730
+ """
42731
+ Description of the expression
42732
+ """
42733
+ location: NotRequired[pulumi.Input[str]]
42734
+ """
42735
+ String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
42736
+ """
42737
+ title: NotRequired[pulumi.Input[str]]
42738
+ """
42739
+ Title for the expression, i.e. a short string describing its purpose.
42740
+ """
42741
+ elif False:
42742
+ RouterRoutePolicyTermMatchArgsDict: TypeAlias = Mapping[str, Any]
42743
+
42744
+ @pulumi.input_type
42745
+ class RouterRoutePolicyTermMatchArgs:
42746
+ def __init__(__self__, *,
42747
+ expression: pulumi.Input[str],
42748
+ description: Optional[pulumi.Input[str]] = None,
42749
+ location: Optional[pulumi.Input[str]] = None,
42750
+ title: Optional[pulumi.Input[str]] = None):
42751
+ """
42752
+ :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
42753
+ :param pulumi.Input[str] description: Description of the expression
42754
+ :param pulumi.Input[str] location: String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
42755
+ :param pulumi.Input[str] title: Title for the expression, i.e. a short string describing its purpose.
42756
+ """
42757
+ pulumi.set(__self__, "expression", expression)
42758
+ if description is not None:
42759
+ pulumi.set(__self__, "description", description)
42760
+ if location is not None:
42761
+ pulumi.set(__self__, "location", location)
42762
+ if title is not None:
42763
+ pulumi.set(__self__, "title", title)
42764
+
42765
+ @property
42766
+ @pulumi.getter
42767
+ def expression(self) -> pulumi.Input[str]:
42768
+ """
42769
+ Textual representation of an expression in Common Expression Language syntax.
42770
+ """
42771
+ return pulumi.get(self, "expression")
42772
+
42773
+ @expression.setter
42774
+ def expression(self, value: pulumi.Input[str]):
42775
+ pulumi.set(self, "expression", value)
42776
+
42777
+ @property
42778
+ @pulumi.getter
42779
+ def description(self) -> Optional[pulumi.Input[str]]:
42780
+ """
42781
+ Description of the expression
42782
+ """
42783
+ return pulumi.get(self, "description")
42784
+
42785
+ @description.setter
42786
+ def description(self, value: Optional[pulumi.Input[str]]):
42787
+ pulumi.set(self, "description", value)
42788
+
42789
+ @property
42790
+ @pulumi.getter
42791
+ def location(self) -> Optional[pulumi.Input[str]]:
42792
+ """
42793
+ String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
42794
+ """
42795
+ return pulumi.get(self, "location")
42796
+
42797
+ @location.setter
42798
+ def location(self, value: Optional[pulumi.Input[str]]):
42799
+ pulumi.set(self, "location", value)
42800
+
42801
+ @property
42802
+ @pulumi.getter
42803
+ def title(self) -> Optional[pulumi.Input[str]]:
42804
+ """
42805
+ Title for the expression, i.e. a short string describing its purpose.
42806
+ """
42807
+ return pulumi.get(self, "title")
42808
+
42809
+ @title.setter
42810
+ def title(self, value: Optional[pulumi.Input[str]]):
42811
+ pulumi.set(self, "title", value)
42812
+
42813
+
40809
42814
  if not MYPY:
40810
42815
  class SecurityPolicyAdaptiveProtectionConfigArgsDict(TypedDict):
40811
42816
  auto_deploy_config: NotRequired[pulumi.Input['SecurityPolicyAdaptiveProtectionConfigAutoDeployConfigArgsDict']]