pulumi-gcp 8.23.0a1742538920__py3-none-any.whl → 8.24.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. pulumi_gcp/__init__.py +59 -0
  2. pulumi_gcp/alloydb/_inputs.py +27 -1
  3. pulumi_gcp/alloydb/outputs.py +33 -2
  4. pulumi_gcp/applicationintegration/client.py +18 -24
  5. pulumi_gcp/bigquery/_inputs.py +178 -0
  6. pulumi_gcp/bigquery/outputs.py +127 -0
  7. pulumi_gcp/bigquery/reservation.py +189 -1
  8. pulumi_gcp/bigquery/table.py +61 -0
  9. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  10. pulumi_gcp/bigtable/table.py +7 -7
  11. pulumi_gcp/chronicle/data_access_label.py +16 -0
  12. pulumi_gcp/clouddeploy/_inputs.py +20 -0
  13. pulumi_gcp/clouddeploy/outputs.py +15 -1
  14. pulumi_gcp/cloudfunctions/function.py +11 -11
  15. pulumi_gcp/cloudfunctionsv2/function.py +24 -24
  16. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +41 -2
  17. pulumi_gcp/cloudidentity/outputs.py +18 -38
  18. pulumi_gcp/cloudrunv2/service.py +14 -14
  19. pulumi_gcp/compute/__init__.py +1 -0
  20. pulumi_gcp/compute/_inputs.py +616 -18
  21. pulumi_gcp/compute/firewall_policy.py +20 -0
  22. pulumi_gcp/compute/get_images.py +172 -0
  23. pulumi_gcp/compute/get_resource_policy.py +15 -4
  24. pulumi_gcp/compute/image.py +54 -0
  25. pulumi_gcp/compute/interconnect.py +14 -7
  26. pulumi_gcp/compute/outputs.py +710 -18
  27. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  28. pulumi_gcp/compute/resource_policy.py +169 -3
  29. pulumi_gcp/compute/router_route_policy.py +16 -0
  30. pulumi_gcp/compute/subnetwork.py +109 -1
  31. pulumi_gcp/compute/target_https_proxy.py +7 -7
  32. pulumi_gcp/config/__init__.pyi +8 -0
  33. pulumi_gcp/config/vars.py +16 -0
  34. pulumi_gcp/container/_inputs.py +265 -4
  35. pulumi_gcp/container/cluster.py +54 -0
  36. pulumi_gcp/container/get_attached_versions.py +2 -2
  37. pulumi_gcp/container/get_cluster.py +12 -1
  38. pulumi_gcp/container/outputs.py +301 -6
  39. pulumi_gcp/dataform/repository.py +49 -0
  40. pulumi_gcp/dataproc/_inputs.py +23 -0
  41. pulumi_gcp/dataproc/get_metastore_service.py +26 -4
  42. pulumi_gcp/dataproc/metastore_federation.py +56 -0
  43. pulumi_gcp/dataproc/metastore_service.py +58 -2
  44. pulumi_gcp/dataproc/outputs.py +27 -0
  45. pulumi_gcp/eventarc/__init__.py +1 -0
  46. pulumi_gcp/eventarc/_inputs.py +1758 -0
  47. pulumi_gcp/eventarc/outputs.py +1337 -0
  48. pulumi_gcp/eventarc/pipeline.py +1596 -0
  49. pulumi_gcp/firebase/__init__.py +1 -0
  50. pulumi_gcp/firebase/_inputs.py +154 -0
  51. pulumi_gcp/firebase/app_hosting_backend.py +1303 -0
  52. pulumi_gcp/firebase/hosting_version.py +2 -2
  53. pulumi_gcp/firebase/outputs.py +127 -0
  54. pulumi_gcp/kms/get_key_rings.py +39 -2
  55. pulumi_gcp/lustre/__init__.py +8 -0
  56. pulumi_gcp/lustre/instance.py +983 -0
  57. pulumi_gcp/managedkafka/__init__.py +2 -0
  58. pulumi_gcp/managedkafka/_inputs.py +263 -0
  59. pulumi_gcp/managedkafka/connect_cluster.py +795 -0
  60. pulumi_gcp/managedkafka/connector.py +695 -0
  61. pulumi_gcp/managedkafka/outputs.py +248 -0
  62. pulumi_gcp/memorystore/_inputs.py +419 -0
  63. pulumi_gcp/memorystore/get_instance.py +23 -1
  64. pulumi_gcp/memorystore/instance.py +144 -14
  65. pulumi_gcp/memorystore/outputs.py +544 -0
  66. pulumi_gcp/monitoring/uptime_check_config.py +2 -2
  67. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  68. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  69. pulumi_gcp/networkmanagement/outputs.py +280 -61
  70. pulumi_gcp/networksecurity/_inputs.py +1277 -242
  71. pulumi_gcp/networksecurity/gateway_security_policy.py +0 -7
  72. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  73. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  74. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  75. pulumi_gcp/networksecurity/mirroring_deployment.py +22 -0
  76. pulumi_gcp/networksecurity/mirroring_deployment_group.py +20 -0
  77. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +24 -0
  78. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +28 -0
  79. pulumi_gcp/networksecurity/outputs.py +723 -8
  80. pulumi_gcp/networksecurity/tls_inspection_policy.py +14 -0
  81. pulumi_gcp/networkservices/gateway.py +242 -120
  82. pulumi_gcp/organizations/__init__.py +1 -0
  83. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  84. pulumi_gcp/osconfig/__init__.py +1 -0
  85. pulumi_gcp/osconfig/_inputs.py +5413 -0
  86. pulumi_gcp/osconfig/outputs.py +3962 -0
  87. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  88. pulumi_gcp/projects/__init__.py +2 -0
  89. pulumi_gcp/projects/get_iam_custom_role.py +198 -0
  90. pulumi_gcp/projects/get_iam_custom_roles.py +164 -0
  91. pulumi_gcp/projects/outputs.py +96 -0
  92. pulumi_gcp/provider.py +80 -0
  93. pulumi_gcp/pulumi-plugin.json +1 -1
  94. pulumi_gcp/servicenetworking/peered_dns_domain.py +4 -0
  95. pulumi_gcp/sql/outputs.py +8 -8
  96. pulumi_gcp/storage/__init__.py +2 -0
  97. pulumi_gcp/storage/_inputs.py +740 -6
  98. pulumi_gcp/storage/control_project_intelligence_config.py +366 -0
  99. pulumi_gcp/storage/get_control_project_intelligence_config.py +130 -0
  100. pulumi_gcp/storage/insights_report_config.py +121 -20
  101. pulumi_gcp/storage/outputs.py +723 -4
  102. pulumi_gcp/workflows/workflow.py +75 -7
  103. {pulumi_gcp-8.23.0a1742538920.dist-info → pulumi_gcp-8.24.0.dist-info}/METADATA +1 -1
  104. {pulumi_gcp-8.23.0a1742538920.dist-info → pulumi_gcp-8.24.0.dist-info}/RECORD +106 -93
  105. {pulumi_gcp-8.23.0a1742538920.dist-info → pulumi_gcp-8.24.0.dist-info}/WHEEL +1 -1
  106. {pulumi_gcp-8.23.0a1742538920.dist-info → pulumi_gcp-8.24.0.dist-info}/top_level.txt +0 -0
@@ -38,6 +38,12 @@ __all__ = [
38
38
  'AuthzPolicyHttpRuleFromSourceResourceIamServiceAccount',
39
39
  'AuthzPolicyHttpRuleFromSourceResourceTagValueIdSet',
40
40
  'AuthzPolicyHttpRuleTo',
41
+ 'AuthzPolicyHttpRuleToNotOperation',
42
+ 'AuthzPolicyHttpRuleToNotOperationHeaderSet',
43
+ 'AuthzPolicyHttpRuleToNotOperationHeaderSetHeader',
44
+ 'AuthzPolicyHttpRuleToNotOperationHeaderSetHeaderValue',
45
+ 'AuthzPolicyHttpRuleToNotOperationHost',
46
+ 'AuthzPolicyHttpRuleToNotOperationPath',
41
47
  'AuthzPolicyHttpRuleToOperation',
42
48
  'AuthzPolicyHttpRuleToOperationHeaderSet',
43
49
  'AuthzPolicyHttpRuleToOperationHeaderSetHeader',
@@ -52,7 +58,12 @@ __all__ = [
52
58
  'ClientTlsPolicyServerValidationCaCertificateProviderInstance',
53
59
  'ClientTlsPolicyServerValidationCaGrpcEndpoint',
54
60
  'InterceptDeploymentGroupConnectedEndpointGroup',
61
+ 'InterceptDeploymentGroupLocation',
62
+ 'InterceptEndpointGroupAssociation',
63
+ 'InterceptEndpointGroupAssociationLocation',
55
64
  'InterceptEndpointGroupAssociationLocationsDetail',
65
+ 'InterceptEndpointGroupConnectedDeploymentGroup',
66
+ 'InterceptEndpointGroupConnectedDeploymentGroupLocation',
56
67
  'MirroringDeploymentGroupConnectedEndpointGroup',
57
68
  'MirroringEndpointGroupAssociationLocationsDetail',
58
69
  'SecurityProfileCustomInterceptProfile',
@@ -1171,23 +1182,492 @@ class AuthzPolicyHttpRuleFromSourceResourceTagValueIdSet(dict):
1171
1182
 
1172
1183
  @pulumi.output_type
1173
1184
  class AuthzPolicyHttpRuleTo(dict):
1185
+ @staticmethod
1186
+ def __key_warning(key: str):
1187
+ suggest = None
1188
+ if key == "notOperations":
1189
+ suggest = "not_operations"
1190
+
1191
+ if suggest:
1192
+ pulumi.log.warn(f"Key '{key}' not found in AuthzPolicyHttpRuleTo. Access the value via the '{suggest}' property getter instead.")
1193
+
1194
+ def __getitem__(self, key: str) -> Any:
1195
+ AuthzPolicyHttpRuleTo.__key_warning(key)
1196
+ return super().__getitem__(key)
1197
+
1198
+ def get(self, key: str, default = None) -> Any:
1199
+ AuthzPolicyHttpRuleTo.__key_warning(key)
1200
+ return super().get(key, default)
1201
+
1174
1202
  def __init__(__self__, *,
1203
+ not_operations: Optional[Sequence['outputs.AuthzPolicyHttpRuleToNotOperation']] = None,
1175
1204
  operations: Optional[Sequence['outputs.AuthzPolicyHttpRuleToOperation']] = None):
1176
1205
  """
1177
- :param Sequence['AuthzPolicyHttpRuleToOperationArgs'] operations: Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 5 operations. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches.
1178
- Structure is documented below.
1206
+ :param Sequence['AuthzPolicyHttpRuleToNotOperationArgs'] not_operations: Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified.
1207
+ Structure is documented below.
1208
+ :param Sequence['AuthzPolicyHttpRuleToOperationArgs'] operations: Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 5 operations. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches.
1209
+ Structure is documented below.
1210
+ """
1211
+ if not_operations is not None:
1212
+ pulumi.set(__self__, "not_operations", not_operations)
1213
+ if operations is not None:
1214
+ pulumi.set(__self__, "operations", operations)
1215
+
1216
+ @property
1217
+ @pulumi.getter(name="notOperations")
1218
+ def not_operations(self) -> Optional[Sequence['outputs.AuthzPolicyHttpRuleToNotOperation']]:
1219
+ """
1220
+ Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified.
1221
+ Structure is documented below.
1222
+ """
1223
+ return pulumi.get(self, "not_operations")
1224
+
1225
+ @property
1226
+ @pulumi.getter
1227
+ def operations(self) -> Optional[Sequence['outputs.AuthzPolicyHttpRuleToOperation']]:
1228
+ """
1229
+ Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 5 operations. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches.
1230
+ Structure is documented below.
1231
+ """
1232
+ return pulumi.get(self, "operations")
1233
+
1234
+
1235
+ @pulumi.output_type
1236
+ class AuthzPolicyHttpRuleToNotOperation(dict):
1237
+ @staticmethod
1238
+ def __key_warning(key: str):
1239
+ suggest = None
1240
+ if key == "headerSet":
1241
+ suggest = "header_set"
1242
+
1243
+ if suggest:
1244
+ pulumi.log.warn(f"Key '{key}' not found in AuthzPolicyHttpRuleToNotOperation. Access the value via the '{suggest}' property getter instead.")
1245
+
1246
+ def __getitem__(self, key: str) -> Any:
1247
+ AuthzPolicyHttpRuleToNotOperation.__key_warning(key)
1248
+ return super().__getitem__(key)
1249
+
1250
+ def get(self, key: str, default = None) -> Any:
1251
+ AuthzPolicyHttpRuleToNotOperation.__key_warning(key)
1252
+ return super().get(key, default)
1253
+
1254
+ def __init__(__self__, *,
1255
+ header_set: Optional['outputs.AuthzPolicyHttpRuleToNotOperationHeaderSet'] = None,
1256
+ hosts: Optional[Sequence['outputs.AuthzPolicyHttpRuleToNotOperationHost']] = None,
1257
+ methods: Optional[Sequence[str]] = None,
1258
+ paths: Optional[Sequence['outputs.AuthzPolicyHttpRuleToNotOperationPath']] = None):
1259
+ """
1260
+ :param 'AuthzPolicyHttpRuleToNotOperationHeaderSetArgs' header_set: A list of headers to match against in http header.
1261
+ Structure is documented below.
1262
+ :param Sequence['AuthzPolicyHttpRuleToNotOperationHostArgs'] hosts: A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set.
1263
+ Limited to 5 matches.
1264
+ Structure is documented below.
1265
+ :param Sequence[str] methods: A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive.
1266
+ :param Sequence['AuthzPolicyHttpRuleToNotOperationPathArgs'] paths: A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set.
1267
+ Limited to 5 matches.
1268
+ Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.
1269
+ Structure is documented below.
1270
+ """
1271
+ if header_set is not None:
1272
+ pulumi.set(__self__, "header_set", header_set)
1273
+ if hosts is not None:
1274
+ pulumi.set(__self__, "hosts", hosts)
1275
+ if methods is not None:
1276
+ pulumi.set(__self__, "methods", methods)
1277
+ if paths is not None:
1278
+ pulumi.set(__self__, "paths", paths)
1279
+
1280
+ @property
1281
+ @pulumi.getter(name="headerSet")
1282
+ def header_set(self) -> Optional['outputs.AuthzPolicyHttpRuleToNotOperationHeaderSet']:
1283
+ """
1284
+ A list of headers to match against in http header.
1285
+ Structure is documented below.
1286
+ """
1287
+ return pulumi.get(self, "header_set")
1288
+
1289
+ @property
1290
+ @pulumi.getter
1291
+ def hosts(self) -> Optional[Sequence['outputs.AuthzPolicyHttpRuleToNotOperationHost']]:
1292
+ """
1293
+ A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set.
1294
+ Limited to 5 matches.
1295
+ Structure is documented below.
1296
+ """
1297
+ return pulumi.get(self, "hosts")
1298
+
1299
+ @property
1300
+ @pulumi.getter
1301
+ def methods(self) -> Optional[Sequence[str]]:
1302
+ """
1303
+ A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive.
1304
+ """
1305
+ return pulumi.get(self, "methods")
1306
+
1307
+ @property
1308
+ @pulumi.getter
1309
+ def paths(self) -> Optional[Sequence['outputs.AuthzPolicyHttpRuleToNotOperationPath']]:
1310
+ """
1311
+ A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set.
1312
+ Limited to 5 matches.
1313
+ Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.
1314
+ Structure is documented below.
1315
+ """
1316
+ return pulumi.get(self, "paths")
1317
+
1318
+
1319
+ @pulumi.output_type
1320
+ class AuthzPolicyHttpRuleToNotOperationHeaderSet(dict):
1321
+ def __init__(__self__, *,
1322
+ headers: Optional[Sequence['outputs.AuthzPolicyHttpRuleToNotOperationHeaderSetHeader']] = None):
1323
+ """
1324
+ :param Sequence['AuthzPolicyHttpRuleToNotOperationHeaderSetHeaderArgs'] headers: A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.
1325
+ Structure is documented below.
1326
+ """
1327
+ if headers is not None:
1328
+ pulumi.set(__self__, "headers", headers)
1329
+
1330
+ @property
1331
+ @pulumi.getter
1332
+ def headers(self) -> Optional[Sequence['outputs.AuthzPolicyHttpRuleToNotOperationHeaderSetHeader']]:
1333
+ """
1334
+ A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.
1335
+ Structure is documented below.
1336
+ """
1337
+ return pulumi.get(self, "headers")
1338
+
1339
+
1340
+ @pulumi.output_type
1341
+ class AuthzPolicyHttpRuleToNotOperationHeaderSetHeader(dict):
1342
+ def __init__(__self__, *,
1343
+ name: Optional[str] = None,
1344
+ value: Optional['outputs.AuthzPolicyHttpRuleToNotOperationHeaderSetHeaderValue'] = None):
1345
+ """
1346
+ :param str name: Specifies the name of the header in the request.
1347
+ :param 'AuthzPolicyHttpRuleToNotOperationHeaderSetHeaderValueArgs' value: Specifies how the header match will be performed.
1348
+ Structure is documented below.
1349
+ """
1350
+ if name is not None:
1351
+ pulumi.set(__self__, "name", name)
1352
+ if value is not None:
1353
+ pulumi.set(__self__, "value", value)
1354
+
1355
+ @property
1356
+ @pulumi.getter
1357
+ def name(self) -> Optional[str]:
1358
+ """
1359
+ Specifies the name of the header in the request.
1360
+ """
1361
+ return pulumi.get(self, "name")
1362
+
1363
+ @property
1364
+ @pulumi.getter
1365
+ def value(self) -> Optional['outputs.AuthzPolicyHttpRuleToNotOperationHeaderSetHeaderValue']:
1366
+ """
1367
+ Specifies how the header match will be performed.
1368
+ Structure is documented below.
1369
+ """
1370
+ return pulumi.get(self, "value")
1371
+
1372
+
1373
+ @pulumi.output_type
1374
+ class AuthzPolicyHttpRuleToNotOperationHeaderSetHeaderValue(dict):
1375
+ @staticmethod
1376
+ def __key_warning(key: str):
1377
+ suggest = None
1378
+ if key == "ignoreCase":
1379
+ suggest = "ignore_case"
1380
+
1381
+ if suggest:
1382
+ pulumi.log.warn(f"Key '{key}' not found in AuthzPolicyHttpRuleToNotOperationHeaderSetHeaderValue. Access the value via the '{suggest}' property getter instead.")
1383
+
1384
+ def __getitem__(self, key: str) -> Any:
1385
+ AuthzPolicyHttpRuleToNotOperationHeaderSetHeaderValue.__key_warning(key)
1386
+ return super().__getitem__(key)
1387
+
1388
+ def get(self, key: str, default = None) -> Any:
1389
+ AuthzPolicyHttpRuleToNotOperationHeaderSetHeaderValue.__key_warning(key)
1390
+ return super().get(key, default)
1391
+
1392
+ def __init__(__self__, *,
1393
+ contains: Optional[str] = None,
1394
+ exact: Optional[str] = None,
1395
+ ignore_case: Optional[bool] = None,
1396
+ prefix: Optional[str] = None,
1397
+ suffix: Optional[str] = None):
1398
+ """
1399
+ :param str contains: The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead.
1400
+ Examples:
1401
+ * abc matches the value xyz.abc.def
1402
+ :param str exact: The input string must match exactly the string specified here.
1403
+ Examples:
1404
+ * abc only matches the value abc.
1405
+ :param bool ignore_case: If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher data will match both input string Data and data if set to true.
1406
+ :param str prefix: The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead.
1407
+ Examples:
1408
+ * abc matches the value abc.xyz
1409
+ :param str suffix: The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead.
1410
+ Examples:
1411
+ * abc matches the value xyz.abc
1412
+ """
1413
+ if contains is not None:
1414
+ pulumi.set(__self__, "contains", contains)
1415
+ if exact is not None:
1416
+ pulumi.set(__self__, "exact", exact)
1417
+ if ignore_case is not None:
1418
+ pulumi.set(__self__, "ignore_case", ignore_case)
1419
+ if prefix is not None:
1420
+ pulumi.set(__self__, "prefix", prefix)
1421
+ if suffix is not None:
1422
+ pulumi.set(__self__, "suffix", suffix)
1423
+
1424
+ @property
1425
+ @pulumi.getter
1426
+ def contains(self) -> Optional[str]:
1427
+ """
1428
+ The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead.
1429
+ Examples:
1430
+ * abc matches the value xyz.abc.def
1431
+ """
1432
+ return pulumi.get(self, "contains")
1433
+
1434
+ @property
1435
+ @pulumi.getter
1436
+ def exact(self) -> Optional[str]:
1437
+ """
1438
+ The input string must match exactly the string specified here.
1439
+ Examples:
1440
+ * abc only matches the value abc.
1441
+ """
1442
+ return pulumi.get(self, "exact")
1443
+
1444
+ @property
1445
+ @pulumi.getter(name="ignoreCase")
1446
+ def ignore_case(self) -> Optional[bool]:
1447
+ """
1448
+ If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher data will match both input string Data and data if set to true.
1449
+ """
1450
+ return pulumi.get(self, "ignore_case")
1451
+
1452
+ @property
1453
+ @pulumi.getter
1454
+ def prefix(self) -> Optional[str]:
1455
+ """
1456
+ The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead.
1457
+ Examples:
1458
+ * abc matches the value abc.xyz
1459
+ """
1460
+ return pulumi.get(self, "prefix")
1461
+
1462
+ @property
1463
+ @pulumi.getter
1464
+ def suffix(self) -> Optional[str]:
1465
+ """
1466
+ The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead.
1467
+ Examples:
1468
+ * abc matches the value xyz.abc
1469
+ """
1470
+ return pulumi.get(self, "suffix")
1471
+
1472
+
1473
+ @pulumi.output_type
1474
+ class AuthzPolicyHttpRuleToNotOperationHost(dict):
1475
+ @staticmethod
1476
+ def __key_warning(key: str):
1477
+ suggest = None
1478
+ if key == "ignoreCase":
1479
+ suggest = "ignore_case"
1480
+
1481
+ if suggest:
1482
+ pulumi.log.warn(f"Key '{key}' not found in AuthzPolicyHttpRuleToNotOperationHost. Access the value via the '{suggest}' property getter instead.")
1483
+
1484
+ def __getitem__(self, key: str) -> Any:
1485
+ AuthzPolicyHttpRuleToNotOperationHost.__key_warning(key)
1486
+ return super().__getitem__(key)
1487
+
1488
+ def get(self, key: str, default = None) -> Any:
1489
+ AuthzPolicyHttpRuleToNotOperationHost.__key_warning(key)
1490
+ return super().get(key, default)
1491
+
1492
+ def __init__(__self__, *,
1493
+ contains: Optional[str] = None,
1494
+ exact: Optional[str] = None,
1495
+ ignore_case: Optional[bool] = None,
1496
+ prefix: Optional[str] = None,
1497
+ suffix: Optional[str] = None):
1498
+ """
1499
+ :param str contains: The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead.
1500
+ Examples:
1501
+ * abc matches the value xyz.abc.def
1502
+ :param str exact: The input string must match exactly the string specified here.
1503
+ Examples:
1504
+ * abc only matches the value abc.
1505
+ :param bool ignore_case: If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher data will match both input string Data and data if set to true.
1506
+ :param str prefix: The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead.
1507
+ Examples:
1508
+ * abc matches the value abc.xyz
1509
+ :param str suffix: The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead.
1510
+ Examples:
1511
+ * abc matches the value xyz.abc
1512
+ """
1513
+ if contains is not None:
1514
+ pulumi.set(__self__, "contains", contains)
1515
+ if exact is not None:
1516
+ pulumi.set(__self__, "exact", exact)
1517
+ if ignore_case is not None:
1518
+ pulumi.set(__self__, "ignore_case", ignore_case)
1519
+ if prefix is not None:
1520
+ pulumi.set(__self__, "prefix", prefix)
1521
+ if suffix is not None:
1522
+ pulumi.set(__self__, "suffix", suffix)
1523
+
1524
+ @property
1525
+ @pulumi.getter
1526
+ def contains(self) -> Optional[str]:
1527
+ """
1528
+ The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead.
1529
+ Examples:
1530
+ * abc matches the value xyz.abc.def
1531
+ """
1532
+ return pulumi.get(self, "contains")
1533
+
1534
+ @property
1535
+ @pulumi.getter
1536
+ def exact(self) -> Optional[str]:
1537
+ """
1538
+ The input string must match exactly the string specified here.
1539
+ Examples:
1540
+ * abc only matches the value abc.
1541
+ """
1542
+ return pulumi.get(self, "exact")
1543
+
1544
+ @property
1545
+ @pulumi.getter(name="ignoreCase")
1546
+ def ignore_case(self) -> Optional[bool]:
1547
+ """
1548
+ If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher data will match both input string Data and data if set to true.
1549
+ """
1550
+ return pulumi.get(self, "ignore_case")
1551
+
1552
+ @property
1553
+ @pulumi.getter
1554
+ def prefix(self) -> Optional[str]:
1555
+ """
1556
+ The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead.
1557
+ Examples:
1558
+ * abc matches the value abc.xyz
1559
+ """
1560
+ return pulumi.get(self, "prefix")
1561
+
1562
+ @property
1563
+ @pulumi.getter
1564
+ def suffix(self) -> Optional[str]:
1565
+ """
1566
+ The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead.
1567
+ Examples:
1568
+ * abc matches the value xyz.abc
1569
+ """
1570
+ return pulumi.get(self, "suffix")
1571
+
1572
+
1573
+ @pulumi.output_type
1574
+ class AuthzPolicyHttpRuleToNotOperationPath(dict):
1575
+ @staticmethod
1576
+ def __key_warning(key: str):
1577
+ suggest = None
1578
+ if key == "ignoreCase":
1579
+ suggest = "ignore_case"
1580
+
1581
+ if suggest:
1582
+ pulumi.log.warn(f"Key '{key}' not found in AuthzPolicyHttpRuleToNotOperationPath. Access the value via the '{suggest}' property getter instead.")
1583
+
1584
+ def __getitem__(self, key: str) -> Any:
1585
+ AuthzPolicyHttpRuleToNotOperationPath.__key_warning(key)
1586
+ return super().__getitem__(key)
1587
+
1588
+ def get(self, key: str, default = None) -> Any:
1589
+ AuthzPolicyHttpRuleToNotOperationPath.__key_warning(key)
1590
+ return super().get(key, default)
1591
+
1592
+ def __init__(__self__, *,
1593
+ contains: Optional[str] = None,
1594
+ exact: Optional[str] = None,
1595
+ ignore_case: Optional[bool] = None,
1596
+ prefix: Optional[str] = None,
1597
+ suffix: Optional[str] = None):
1598
+ """
1599
+ :param str contains: The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead.
1600
+ Examples:
1601
+ * abc matches the value xyz.abc.def
1602
+ :param str exact: The input string must match exactly the string specified here.
1603
+ Examples:
1604
+ * abc only matches the value abc.
1605
+ :param bool ignore_case: If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher data will match both input string Data and data if set to true.
1606
+ :param str prefix: The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead.
1607
+ Examples:
1608
+ * abc matches the value abc.xyz
1609
+ :param str suffix: The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead.
1610
+ Examples:
1611
+ * abc matches the value xyz.abc
1612
+ """
1613
+ if contains is not None:
1614
+ pulumi.set(__self__, "contains", contains)
1615
+ if exact is not None:
1616
+ pulumi.set(__self__, "exact", exact)
1617
+ if ignore_case is not None:
1618
+ pulumi.set(__self__, "ignore_case", ignore_case)
1619
+ if prefix is not None:
1620
+ pulumi.set(__self__, "prefix", prefix)
1621
+ if suffix is not None:
1622
+ pulumi.set(__self__, "suffix", suffix)
1623
+
1624
+ @property
1625
+ @pulumi.getter
1626
+ def contains(self) -> Optional[str]:
1627
+ """
1628
+ The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead.
1629
+ Examples:
1630
+ * abc matches the value xyz.abc.def
1179
1631
  """
1180
- if operations is not None:
1181
- pulumi.set(__self__, "operations", operations)
1632
+ return pulumi.get(self, "contains")
1182
1633
 
1183
1634
  @property
1184
1635
  @pulumi.getter
1185
- def operations(self) -> Optional[Sequence['outputs.AuthzPolicyHttpRuleToOperation']]:
1636
+ def exact(self) -> Optional[str]:
1186
1637
  """
1187
- Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 5 operations. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches.
1188
- Structure is documented below.
1638
+ The input string must match exactly the string specified here.
1639
+ Examples:
1640
+ * abc only matches the value abc.
1189
1641
  """
1190
- return pulumi.get(self, "operations")
1642
+ return pulumi.get(self, "exact")
1643
+
1644
+ @property
1645
+ @pulumi.getter(name="ignoreCase")
1646
+ def ignore_case(self) -> Optional[bool]:
1647
+ """
1648
+ If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher data will match both input string Data and data if set to true.
1649
+ """
1650
+ return pulumi.get(self, "ignore_case")
1651
+
1652
+ @property
1653
+ @pulumi.getter
1654
+ def prefix(self) -> Optional[str]:
1655
+ """
1656
+ The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead.
1657
+ Examples:
1658
+ * abc matches the value abc.xyz
1659
+ """
1660
+ return pulumi.get(self, "prefix")
1661
+
1662
+ @property
1663
+ @pulumi.getter
1664
+ def suffix(self) -> Optional[str]:
1665
+ """
1666
+ The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead.
1667
+ Examples:
1668
+ * abc matches the value xyz.abc
1669
+ """
1670
+ return pulumi.get(self, "suffix")
1191
1671
 
1192
1672
 
1193
1673
  @pulumi.output_type
@@ -1956,6 +2436,159 @@ class InterceptDeploymentGroupConnectedEndpointGroup(dict):
1956
2436
  return pulumi.get(self, "name")
1957
2437
 
1958
2438
 
2439
+ @pulumi.output_type
2440
+ class InterceptDeploymentGroupLocation(dict):
2441
+ def __init__(__self__, *,
2442
+ location: Optional[str] = None,
2443
+ state: Optional[str] = None):
2444
+ """
2445
+ :param str location: The cloud location of the deployment group, currently restricted to `global`.
2446
+ :param str state: (Output)
2447
+ The current state of the association in this location.
2448
+ Possible values:
2449
+ STATE_UNSPECIFIED
2450
+ ACTIVE
2451
+ OUT_OF_SYNC
2452
+ """
2453
+ if location is not None:
2454
+ pulumi.set(__self__, "location", location)
2455
+ if state is not None:
2456
+ pulumi.set(__self__, "state", state)
2457
+
2458
+ @property
2459
+ @pulumi.getter
2460
+ def location(self) -> Optional[str]:
2461
+ """
2462
+ The cloud location of the deployment group, currently restricted to `global`.
2463
+ """
2464
+ return pulumi.get(self, "location")
2465
+
2466
+ @property
2467
+ @pulumi.getter
2468
+ def state(self) -> Optional[str]:
2469
+ """
2470
+ (Output)
2471
+ The current state of the association in this location.
2472
+ Possible values:
2473
+ STATE_UNSPECIFIED
2474
+ ACTIVE
2475
+ OUT_OF_SYNC
2476
+ """
2477
+ return pulumi.get(self, "state")
2478
+
2479
+
2480
+ @pulumi.output_type
2481
+ class InterceptEndpointGroupAssociation(dict):
2482
+ def __init__(__self__, *,
2483
+ name: Optional[str] = None,
2484
+ network: Optional[str] = None,
2485
+ state: Optional[str] = None):
2486
+ """
2487
+ :param str name: (Output)
2488
+ The connected deployment group's resource name, for example:
2489
+ `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
2490
+ See https://google.aip.dev/124.
2491
+ :param str network: (Output)
2492
+ The associated network, for example:
2493
+ projects/123456789/global/networks/my-network.
2494
+ See https://google.aip.dev/124.
2495
+ :param str state: (Output)
2496
+ The current state of the association in this location.
2497
+ Possible values:
2498
+ STATE_UNSPECIFIED
2499
+ ACTIVE
2500
+ OUT_OF_SYNC
2501
+ """
2502
+ if name is not None:
2503
+ pulumi.set(__self__, "name", name)
2504
+ if network is not None:
2505
+ pulumi.set(__self__, "network", network)
2506
+ if state is not None:
2507
+ pulumi.set(__self__, "state", state)
2508
+
2509
+ @property
2510
+ @pulumi.getter
2511
+ def name(self) -> Optional[str]:
2512
+ """
2513
+ (Output)
2514
+ The connected deployment group's resource name, for example:
2515
+ `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
2516
+ See https://google.aip.dev/124.
2517
+ """
2518
+ return pulumi.get(self, "name")
2519
+
2520
+ @property
2521
+ @pulumi.getter
2522
+ def network(self) -> Optional[str]:
2523
+ """
2524
+ (Output)
2525
+ The associated network, for example:
2526
+ projects/123456789/global/networks/my-network.
2527
+ See https://google.aip.dev/124.
2528
+ """
2529
+ return pulumi.get(self, "network")
2530
+
2531
+ @property
2532
+ @pulumi.getter
2533
+ def state(self) -> Optional[str]:
2534
+ """
2535
+ (Output)
2536
+ The current state of the association in this location.
2537
+ Possible values:
2538
+ STATE_UNSPECIFIED
2539
+ ACTIVE
2540
+ OUT_OF_SYNC
2541
+ """
2542
+ return pulumi.get(self, "state")
2543
+
2544
+
2545
+ @pulumi.output_type
2546
+ class InterceptEndpointGroupAssociationLocation(dict):
2547
+ def __init__(__self__, *,
2548
+ location: Optional[str] = None,
2549
+ state: Optional[str] = None):
2550
+ """
2551
+ :param str location: The cloud location of the association, currently restricted to `global`.
2552
+
2553
+
2554
+ - - -
2555
+ :param str state: (Output)
2556
+ The current state of the association in this location.
2557
+ Possible values:
2558
+ STATE_UNSPECIFIED
2559
+ ACTIVE
2560
+ OUT_OF_SYNC
2561
+ """
2562
+ if location is not None:
2563
+ pulumi.set(__self__, "location", location)
2564
+ if state is not None:
2565
+ pulumi.set(__self__, "state", state)
2566
+
2567
+ @property
2568
+ @pulumi.getter
2569
+ def location(self) -> Optional[str]:
2570
+ """
2571
+ The cloud location of the association, currently restricted to `global`.
2572
+
2573
+
2574
+ - - -
2575
+ """
2576
+ return pulumi.get(self, "location")
2577
+
2578
+ @property
2579
+ @pulumi.getter
2580
+ def state(self) -> Optional[str]:
2581
+ """
2582
+ (Output)
2583
+ The current state of the association in this location.
2584
+ Possible values:
2585
+ STATE_UNSPECIFIED
2586
+ ACTIVE
2587
+ OUT_OF_SYNC
2588
+ """
2589
+ return pulumi.get(self, "state")
2590
+
2591
+
1959
2592
  @pulumi.output_type
1960
2593
  class InterceptEndpointGroupAssociationLocationsDetail(dict):
1961
2594
  def __init__(__self__, *,
@@ -2003,6 +2636,88 @@ class InterceptEndpointGroupAssociationLocationsDetail(dict):
2003
2636
  return pulumi.get(self, "state")
2004
2637
 
2005
2638
 
2639
+ @pulumi.output_type
2640
+ class InterceptEndpointGroupConnectedDeploymentGroup(dict):
2641
+ def __init__(__self__, *,
2642
+ locations: Optional[Sequence['outputs.InterceptEndpointGroupConnectedDeploymentGroupLocation']] = None,
2643
+ name: Optional[str] = None):
2644
+ """
2645
+ :param Sequence['InterceptEndpointGroupConnectedDeploymentGroupLocationArgs'] locations: (Output)
2646
+ The list of locations where the deployment group is present.
2647
+ Structure is documented below.
2648
+ :param str name: (Output)
2649
+ The connected deployment group's resource name, for example:
2650
+ `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
2651
+ See https://google.aip.dev/124.
2652
+ """
2653
+ if locations is not None:
2654
+ pulumi.set(__self__, "locations", locations)
2655
+ if name is not None:
2656
+ pulumi.set(__self__, "name", name)
2657
+
2658
+ @property
2659
+ @pulumi.getter
2660
+ def locations(self) -> Optional[Sequence['outputs.InterceptEndpointGroupConnectedDeploymentGroupLocation']]:
2661
+ """
2662
+ (Output)
2663
+ The list of locations where the deployment group is present.
2664
+ Structure is documented below.
2665
+ """
2666
+ return pulumi.get(self, "locations")
2667
+
2668
+ @property
2669
+ @pulumi.getter
2670
+ def name(self) -> Optional[str]:
2671
+ """
2672
+ (Output)
2673
+ The connected deployment group's resource name, for example:
2674
+ `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
2675
+ See https://google.aip.dev/124.
2676
+ """
2677
+ return pulumi.get(self, "name")
2678
+
2679
+
2680
+ @pulumi.output_type
2681
+ class InterceptEndpointGroupConnectedDeploymentGroupLocation(dict):
2682
+ def __init__(__self__, *,
2683
+ location: Optional[str] = None,
2684
+ state: Optional[str] = None):
2685
+ """
2686
+ :param str location: The cloud location of the endpoint group, currently restricted to `global`.
2687
+ :param str state: (Output)
2688
+ The current state of the association in this location.
2689
+ Possible values:
2690
+ STATE_UNSPECIFIED
2691
+ ACTIVE
2692
+ OUT_OF_SYNC
2693
+ """
2694
+ if location is not None:
2695
+ pulumi.set(__self__, "location", location)
2696
+ if state is not None:
2697
+ pulumi.set(__self__, "state", state)
2698
+
2699
+ @property
2700
+ @pulumi.getter
2701
+ def location(self) -> Optional[str]:
2702
+ """
2703
+ The cloud location of the endpoint group, currently restricted to `global`.
2704
+ """
2705
+ return pulumi.get(self, "location")
2706
+
2707
+ @property
2708
+ @pulumi.getter
2709
+ def state(self) -> Optional[str]:
2710
+ """
2711
+ (Output)
2712
+ The current state of the association in this location.
2713
+ Possible values:
2714
+ STATE_UNSPECIFIED
2715
+ ACTIVE
2716
+ OUT_OF_SYNC
2717
+ """
2718
+ return pulumi.get(self, "state")
2719
+
2720
+
2006
2721
  @pulumi.output_type
2007
2722
  class MirroringDeploymentGroupConnectedEndpointGroup(dict):
2008
2723
  def __init__(__self__, *,