pulumi-gcp 7.16.0a1711520590__py3-none-any.whl → 7.17.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 (113) hide show
  1. pulumi_gcp/__init__.py +35 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
  7. pulumi_gcp/apphub/__init__.py +1 -0
  8. pulumi_gcp/apphub/get_application.py +220 -0
  9. pulumi_gcp/apphub/outputs.py +214 -0
  10. pulumi_gcp/applicationintegration/__init__.py +10 -0
  11. pulumi_gcp/applicationintegration/_inputs.py +119 -0
  12. pulumi_gcp/applicationintegration/client.py +566 -0
  13. pulumi_gcp/applicationintegration/outputs.py +122 -0
  14. pulumi_gcp/bigquery/_inputs.py +16 -0
  15. pulumi_gcp/bigquery/outputs.py +14 -0
  16. pulumi_gcp/bigquery/routine.py +98 -0
  17. pulumi_gcp/bigtable/_inputs.py +4 -4
  18. pulumi_gcp/bigtable/gc_policy.py +8 -0
  19. pulumi_gcp/bigtable/outputs.py +4 -4
  20. pulumi_gcp/billing/_inputs.py +4 -4
  21. pulumi_gcp/billing/outputs.py +4 -4
  22. pulumi_gcp/billing/project_info.py +4 -4
  23. pulumi_gcp/cloudfunctionsv2/_inputs.py +2 -2
  24. pulumi_gcp/cloudfunctionsv2/outputs.py +4 -4
  25. pulumi_gcp/cloudquota/__init__.py +3 -0
  26. pulumi_gcp/cloudquota/_inputs.py +131 -0
  27. pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
  28. pulumi_gcp/cloudquota/outputs.py +388 -0
  29. pulumi_gcp/cloudquota/s_quota_preference.py +777 -0
  30. pulumi_gcp/cloudrunv2/_inputs.py +59 -2
  31. pulumi_gcp/cloudrunv2/outputs.py +107 -4
  32. pulumi_gcp/cloudrunv2/service.py +13 -13
  33. pulumi_gcp/composer/_inputs.py +30 -4
  34. pulumi_gcp/composer/outputs.py +45 -10
  35. pulumi_gcp/compute/_inputs.py +145 -51
  36. pulumi_gcp/compute/autoscaler.py +14 -14
  37. pulumi_gcp/compute/interconnect_attachment.py +64 -0
  38. pulumi_gcp/compute/network_endpoint.py +8 -0
  39. pulumi_gcp/compute/network_endpoint_list.py +8 -0
  40. pulumi_gcp/compute/outputs.py +202 -69
  41. pulumi_gcp/compute/region_autoscaler.py +14 -14
  42. pulumi_gcp/compute/region_backend_service.py +28 -0
  43. pulumi_gcp/compute/region_url_map.py +152 -0
  44. pulumi_gcp/compute/target_instance.py +4 -4
  45. pulumi_gcp/config/__init__.pyi +2 -0
  46. pulumi_gcp/config/vars.py +4 -0
  47. pulumi_gcp/container/_inputs.py +148 -16
  48. pulumi_gcp/container/outputs.py +148 -16
  49. pulumi_gcp/databasemigrationservice/connection_profile.py +6 -6
  50. pulumi_gcp/dataflow/flex_template_job.py +84 -112
  51. pulumi_gcp/dataform/repository.py +4 -74
  52. pulumi_gcp/dataloss/_inputs.py +6 -6
  53. pulumi_gcp/dataloss/outputs.py +6 -6
  54. pulumi_gcp/dataplex/task.py +16 -16
  55. pulumi_gcp/dataproc/_inputs.py +85 -10
  56. pulumi_gcp/dataproc/get_metastore_service.py +11 -1
  57. pulumi_gcp/dataproc/metastore_service.py +120 -0
  58. pulumi_gcp/dataproc/outputs.py +142 -10
  59. pulumi_gcp/firebase/android_app.py +41 -40
  60. pulumi_gcp/firebase/app_check_service_config.py +2 -2
  61. pulumi_gcp/firestore/backup_schedule.py +14 -14
  62. pulumi_gcp/firestore/field.py +4 -4
  63. pulumi_gcp/firestore/index.py +34 -48
  64. pulumi_gcp/gkehub/membership_binding.py +6 -6
  65. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  66. pulumi_gcp/gkehub/namespace.py +4 -4
  67. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  68. pulumi_gcp/iam/_inputs.py +76 -0
  69. pulumi_gcp/iam/outputs.py +76 -0
  70. pulumi_gcp/iam/workforce_pool_provider.py +35 -0
  71. pulumi_gcp/iam/workload_identity_pool_provider.py +140 -0
  72. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  73. pulumi_gcp/kms/_inputs.py +46 -0
  74. pulumi_gcp/kms/crypto_key.py +54 -0
  75. pulumi_gcp/kms/crypto_key_version.py +54 -0
  76. pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
  77. pulumi_gcp/kms/outputs.py +54 -0
  78. pulumi_gcp/logging/_inputs.py +8 -8
  79. pulumi_gcp/logging/metric.py +7 -7
  80. pulumi_gcp/logging/outputs.py +8 -8
  81. pulumi_gcp/monitoring/_inputs.py +4 -2
  82. pulumi_gcp/monitoring/outputs.py +4 -2
  83. pulumi_gcp/monitoring/slo.py +4 -4
  84. pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
  85. pulumi_gcp/networkservices/_inputs.py +6 -6
  86. pulumi_gcp/networkservices/outputs.py +6 -6
  87. pulumi_gcp/orgpolicy/policy.py +2 -2
  88. pulumi_gcp/provider.py +20 -0
  89. pulumi_gcp/pubsub/_inputs.py +108 -0
  90. pulumi_gcp/pubsub/get_topic.py +11 -1
  91. pulumi_gcp/pubsub/outputs.py +213 -0
  92. pulumi_gcp/pubsub/subscription.py +4 -4
  93. pulumi_gcp/pubsub/topic.py +92 -0
  94. pulumi_gcp/serviceusage/consumer_quota_override.py +7 -7
  95. pulumi_gcp/sql/_inputs.py +20 -2
  96. pulumi_gcp/sql/database_instance.py +2 -2
  97. pulumi_gcp/sql/outputs.py +20 -2
  98. pulumi_gcp/storage/_inputs.py +42 -2
  99. pulumi_gcp/storage/bucket.py +54 -0
  100. pulumi_gcp/storage/get_bucket.py +11 -1
  101. pulumi_gcp/storage/outputs.py +83 -2
  102. pulumi_gcp/vertex/__init__.py +1 -0
  103. pulumi_gcp/vertex/_inputs.py +175 -8
  104. pulumi_gcp/vertex/ai_deployment_resource_pool.py +477 -0
  105. pulumi_gcp/vertex/outputs.py +202 -10
  106. pulumi_gcp/vpcaccess/connector.py +77 -28
  107. pulumi_gcp/workstations/_inputs.py +113 -0
  108. pulumi_gcp/workstations/outputs.py +109 -1
  109. pulumi_gcp/workstations/workstation_config.py +106 -0
  110. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.17.0.dist-info}/METADATA +1 -1
  111. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.17.0.dist-info}/RECORD +113 -103
  112. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.17.0.dist-info}/WHEEL +0 -0
  113. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.17.0.dist-info}/top_level.txt +0 -0
@@ -14,12 +14,14 @@ __all__ = ['FirewallEndpointArgs', 'FirewallEndpoint']
14
14
  @pulumi.input_type
15
15
  class FirewallEndpointArgs:
16
16
  def __init__(__self__, *,
17
+ billing_project_id: pulumi.Input[str],
17
18
  location: pulumi.Input[str],
18
19
  parent: pulumi.Input[str],
19
20
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
20
21
  name: Optional[pulumi.Input[str]] = None):
21
22
  """
22
23
  The set of arguments for constructing a FirewallEndpoint resource.
24
+ :param pulumi.Input[str] billing_project_id: Project to bill on endpoint uptime usage.
23
25
  :param pulumi.Input[str] location: The location (zone) of the firewall endpoint.
24
26
  :param pulumi.Input[str] parent: The name of the parent this firewall endpoint belongs to.
25
27
  Format: organizations/{organization_id}.
@@ -32,6 +34,7 @@ class FirewallEndpointArgs:
32
34
  Please refer to the field `effective_labels` for all of the labels present on the resource.
33
35
  :param pulumi.Input[str] name: The name of the firewall endpoint resource.
34
36
  """
37
+ pulumi.set(__self__, "billing_project_id", billing_project_id)
35
38
  pulumi.set(__self__, "location", location)
36
39
  pulumi.set(__self__, "parent", parent)
37
40
  if labels is not None:
@@ -39,6 +42,18 @@ class FirewallEndpointArgs:
39
42
  if name is not None:
40
43
  pulumi.set(__self__, "name", name)
41
44
 
45
+ @property
46
+ @pulumi.getter(name="billingProjectId")
47
+ def billing_project_id(self) -> pulumi.Input[str]:
48
+ """
49
+ Project to bill on endpoint uptime usage.
50
+ """
51
+ return pulumi.get(self, "billing_project_id")
52
+
53
+ @billing_project_id.setter
54
+ def billing_project_id(self, value: pulumi.Input[str]):
55
+ pulumi.set(self, "billing_project_id", value)
56
+
42
57
  @property
43
58
  @pulumi.getter
44
59
  def location(self) -> pulumi.Input[str]:
@@ -99,6 +114,7 @@ class FirewallEndpointArgs:
99
114
  class _FirewallEndpointState:
100
115
  def __init__(__self__, *,
101
116
  associated_networks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
117
+ billing_project_id: Optional[pulumi.Input[str]] = None,
102
118
  create_time: Optional[pulumi.Input[str]] = None,
103
119
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
104
120
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -116,6 +132,7 @@ class _FirewallEndpointState:
116
132
  This is a projection of the FirewallEndpointAssociations pointing at this
117
133
  endpoint. A network will only appear in this list after traffic routing is
118
134
  fully configured. Format: projects/{project}/global/networks/{name}.
135
+ :param pulumi.Input[str] billing_project_id: Project to bill on endpoint uptime usage.
119
136
  :param pulumi.Input[str] create_time: Time the firewall endpoint was created in UTC.
120
137
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
121
138
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the resource.
@@ -138,6 +155,8 @@ class _FirewallEndpointState:
138
155
  """
139
156
  if associated_networks is not None:
140
157
  pulumi.set(__self__, "associated_networks", associated_networks)
158
+ if billing_project_id is not None:
159
+ pulumi.set(__self__, "billing_project_id", billing_project_id)
141
160
  if create_time is not None:
142
161
  pulumi.set(__self__, "create_time", create_time)
143
162
  if effective_labels is not None:
@@ -176,6 +195,18 @@ class _FirewallEndpointState:
176
195
  def associated_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
177
196
  pulumi.set(self, "associated_networks", value)
178
197
 
198
+ @property
199
+ @pulumi.getter(name="billingProjectId")
200
+ def billing_project_id(self) -> Optional[pulumi.Input[str]]:
201
+ """
202
+ Project to bill on endpoint uptime usage.
203
+ """
204
+ return pulumi.get(self, "billing_project_id")
205
+
206
+ @billing_project_id.setter
207
+ def billing_project_id(self, value: Optional[pulumi.Input[str]]):
208
+ pulumi.set(self, "billing_project_id", value)
209
+
179
210
  @property
180
211
  @pulumi.getter(name="createTime")
181
212
  def create_time(self) -> Optional[pulumi.Input[str]]:
@@ -322,6 +353,7 @@ class FirewallEndpoint(pulumi.CustomResource):
322
353
  def __init__(__self__,
323
354
  resource_name: str,
324
355
  opts: Optional[pulumi.ResourceOptions] = None,
356
+ billing_project_id: Optional[pulumi.Input[str]] = None,
325
357
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
326
358
  location: Optional[pulumi.Input[str]] = None,
327
359
  name: Optional[pulumi.Input[str]] = None,
@@ -361,6 +393,7 @@ class FirewallEndpoint(pulumi.CustomResource):
361
393
 
362
394
  :param str resource_name: The name of the resource.
363
395
  :param pulumi.ResourceOptions opts: Options for the resource.
396
+ :param pulumi.Input[str] billing_project_id: Project to bill on endpoint uptime usage.
364
397
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the resource.
365
398
 
366
399
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -426,6 +459,7 @@ class FirewallEndpoint(pulumi.CustomResource):
426
459
  def _internal_init(__self__,
427
460
  resource_name: str,
428
461
  opts: Optional[pulumi.ResourceOptions] = None,
462
+ billing_project_id: Optional[pulumi.Input[str]] = None,
429
463
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
430
464
  location: Optional[pulumi.Input[str]] = None,
431
465
  name: Optional[pulumi.Input[str]] = None,
@@ -439,6 +473,9 @@ class FirewallEndpoint(pulumi.CustomResource):
439
473
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
440
474
  __props__ = FirewallEndpointArgs.__new__(FirewallEndpointArgs)
441
475
 
476
+ if billing_project_id is None and not opts.urn:
477
+ raise TypeError("Missing required property 'billing_project_id'")
478
+ __props__.__dict__["billing_project_id"] = billing_project_id
442
479
  __props__.__dict__["labels"] = labels
443
480
  if location is None and not opts.urn:
444
481
  raise TypeError("Missing required property 'location'")
@@ -468,6 +505,7 @@ class FirewallEndpoint(pulumi.CustomResource):
468
505
  id: pulumi.Input[str],
469
506
  opts: Optional[pulumi.ResourceOptions] = None,
470
507
  associated_networks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
508
+ billing_project_id: Optional[pulumi.Input[str]] = None,
471
509
  create_time: Optional[pulumi.Input[str]] = None,
472
510
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
473
511
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -490,6 +528,7 @@ class FirewallEndpoint(pulumi.CustomResource):
490
528
  This is a projection of the FirewallEndpointAssociations pointing at this
491
529
  endpoint. A network will only appear in this list after traffic routing is
492
530
  fully configured. Format: projects/{project}/global/networks/{name}.
531
+ :param pulumi.Input[str] billing_project_id: Project to bill on endpoint uptime usage.
493
532
  :param pulumi.Input[str] create_time: Time the firewall endpoint was created in UTC.
494
533
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
495
534
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the resource.
@@ -515,6 +554,7 @@ class FirewallEndpoint(pulumi.CustomResource):
515
554
  __props__ = _FirewallEndpointState.__new__(_FirewallEndpointState)
516
555
 
517
556
  __props__.__dict__["associated_networks"] = associated_networks
557
+ __props__.__dict__["billing_project_id"] = billing_project_id
518
558
  __props__.__dict__["create_time"] = create_time
519
559
  __props__.__dict__["effective_labels"] = effective_labels
520
560
  __props__.__dict__["labels"] = labels
@@ -539,6 +579,14 @@ class FirewallEndpoint(pulumi.CustomResource):
539
579
  """
540
580
  return pulumi.get(self, "associated_networks")
541
581
 
582
+ @property
583
+ @pulumi.getter(name="billingProjectId")
584
+ def billing_project_id(self) -> pulumi.Output[str]:
585
+ """
586
+ Project to bill on endpoint uptime usage.
587
+ """
588
+ return pulumi.get(self, "billing_project_id")
589
+
542
590
  @property
543
591
  @pulumi.getter(name="createTime")
544
592
  def create_time(self) -> pulumi.Output[str]:
@@ -3349,7 +3349,7 @@ class HttpRouteRuleActionDestinationArgs:
3349
3349
  """
3350
3350
  :param pulumi.Input[str] service_name: The URL of a BackendService to route traffic to.
3351
3351
  :param pulumi.Input[int] weight: Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
3352
- If only one serviceName is specified and it has a weight greater than 0, 100%!o(MISSING)f the traffic is forwarded to that backend.
3352
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
3353
3353
  If weights are specified for any one service name, they need to be specified for all of them.
3354
3354
  If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
3355
3355
  """
@@ -3375,7 +3375,7 @@ class HttpRouteRuleActionDestinationArgs:
3375
3375
  def weight(self) -> Optional[pulumi.Input[int]]:
3376
3376
  """
3377
3377
  Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
3378
- If only one serviceName is specified and it has a weight greater than 0, 100%!o(MISSING)f the traffic is forwarded to that backend.
3378
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
3379
3379
  If weights are specified for any one service name, they need to be specified for all of them.
3380
3380
  If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
3381
3381
  """
@@ -3714,7 +3714,7 @@ class HttpRouteRuleActionRequestMirrorPolicyDestinationArgs:
3714
3714
  """
3715
3715
  :param pulumi.Input[str] service_name: The URL of a BackendService to route traffic to.
3716
3716
  :param pulumi.Input[int] weight: Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
3717
- If only one serviceName is specified and it has a weight greater than 0, 100%!o(MISSING)f the traffic is forwarded to that backend.
3717
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
3718
3718
  If weights are specified for any one service name, they need to be specified for all of them.
3719
3719
  If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
3720
3720
  """
@@ -3740,7 +3740,7 @@ class HttpRouteRuleActionRequestMirrorPolicyDestinationArgs:
3740
3740
  def weight(self) -> Optional[pulumi.Input[int]]:
3741
3741
  """
3742
3742
  Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
3743
- If only one serviceName is specified and it has a weight greater than 0, 100%!o(MISSING)f the traffic is forwarded to that backend.
3743
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
3744
3744
  If weights are specified for any one service name, they need to be specified for all of them.
3745
3745
  If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
3746
3746
  """
@@ -4345,7 +4345,7 @@ class TcpRouteRuleActionDestinationArgs:
4345
4345
  """
4346
4346
  :param pulumi.Input[str] service_name: The URL of a BackendService to route traffic to.
4347
4347
  :param pulumi.Input[int] weight: Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
4348
- If only one serviceName is specified and it has a weight greater than 0, 100%!o(MISSING)f the traffic is forwarded to that backend.
4348
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
4349
4349
  If weights are specified for any one service name, they need to be specified for all of them.
4350
4350
  If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
4351
4351
 
@@ -4373,7 +4373,7 @@ class TcpRouteRuleActionDestinationArgs:
4373
4373
  def weight(self) -> Optional[pulumi.Input[int]]:
4374
4374
  """
4375
4375
  Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
4376
- If only one serviceName is specified and it has a weight greater than 0, 100%!o(MISSING)f the traffic is forwarded to that backend.
4376
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
4377
4377
  If weights are specified for any one service name, they need to be specified for all of them.
4378
4378
  If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
4379
4379
 
@@ -3573,7 +3573,7 @@ class HttpRouteRuleActionDestination(dict):
3573
3573
  """
3574
3574
  :param str service_name: The URL of a BackendService to route traffic to.
3575
3575
  :param int weight: Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
3576
- If only one serviceName is specified and it has a weight greater than 0, 100%!o(MISSING)f the traffic is forwarded to that backend.
3576
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
3577
3577
  If weights are specified for any one service name, they need to be specified for all of them.
3578
3578
  If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
3579
3579
  """
@@ -3595,7 +3595,7 @@ class HttpRouteRuleActionDestination(dict):
3595
3595
  def weight(self) -> Optional[int]:
3596
3596
  """
3597
3597
  Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
3598
- If only one serviceName is specified and it has a weight greater than 0, 100%!o(MISSING)f the traffic is forwarded to that backend.
3598
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
3599
3599
  If weights are specified for any one service name, they need to be specified for all of them.
3600
3600
  If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
3601
3601
  """
@@ -3942,7 +3942,7 @@ class HttpRouteRuleActionRequestMirrorPolicyDestination(dict):
3942
3942
  """
3943
3943
  :param str service_name: The URL of a BackendService to route traffic to.
3944
3944
  :param int weight: Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
3945
- If only one serviceName is specified and it has a weight greater than 0, 100%!o(MISSING)f the traffic is forwarded to that backend.
3945
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
3946
3946
  If weights are specified for any one service name, they need to be specified for all of them.
3947
3947
  If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
3948
3948
  """
@@ -3964,7 +3964,7 @@ class HttpRouteRuleActionRequestMirrorPolicyDestination(dict):
3964
3964
  def weight(self) -> Optional[int]:
3965
3965
  """
3966
3966
  Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
3967
- If only one serviceName is specified and it has a weight greater than 0, 100%!o(MISSING)f the traffic is forwarded to that backend.
3967
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
3968
3968
  If weights are specified for any one service name, they need to be specified for all of them.
3969
3969
  If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
3970
3970
  """
@@ -4588,7 +4588,7 @@ class TcpRouteRuleActionDestination(dict):
4588
4588
  """
4589
4589
  :param str service_name: The URL of a BackendService to route traffic to.
4590
4590
  :param int weight: Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
4591
- If only one serviceName is specified and it has a weight greater than 0, 100%!o(MISSING)f the traffic is forwarded to that backend.
4591
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
4592
4592
  If weights are specified for any one service name, they need to be specified for all of them.
4593
4593
  If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
4594
4594
 
@@ -4612,7 +4612,7 @@ class TcpRouteRuleActionDestination(dict):
4612
4612
  def weight(self) -> Optional[int]:
4613
4613
  """
4614
4614
  Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
4615
- If only one serviceName is specified and it has a weight greater than 0, 100%!o(MISSING)f the traffic is forwarded to that backend.
4615
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
4616
4616
  If weights are specified for any one service name, they need to be specified for all of them.
4617
4617
  If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
4618
4618
 
@@ -306,7 +306,7 @@ class Policy(pulumi.CustomResource):
306
306
  import pulumi_gcp as gcp
307
307
 
308
308
  constraint = gcp.orgpolicy.CustomConstraint("constraint",
309
- name="custom.disableGkeAutoUpgrade_41819",
309
+ name="custom.disableGkeAutoUpgrade_75092",
310
310
  parent="organizations/123456789",
311
311
  display_name="Disable GKE auto upgrade",
312
312
  description="Only allow GKE NodePool resource to be created or updated if AutoUpgrade is not enabled where this custom constraint is enforced.",
@@ -468,7 +468,7 @@ class Policy(pulumi.CustomResource):
468
468
  import pulumi_gcp as gcp
469
469
 
470
470
  constraint = gcp.orgpolicy.CustomConstraint("constraint",
471
- name="custom.disableGkeAutoUpgrade_41819",
471
+ name="custom.disableGkeAutoUpgrade_75092",
472
472
  parent="organizations/123456789",
473
473
  display_name="Disable GKE auto upgrade",
474
474
  description="Only allow GKE NodePool resource to be created or updated if AutoUpgrade is not enabled where this custom constraint is enforced.",
pulumi_gcp/provider.py CHANGED
@@ -121,6 +121,7 @@ class ProviderArgs:
121
121
  impersonate_service_account: Optional[pulumi.Input[str]] = None,
122
122
  impersonate_service_account_delegates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
123
123
  integration_connectors_custom_endpoint: Optional[pulumi.Input[str]] = None,
124
+ integrations_custom_endpoint: Optional[pulumi.Input[str]] = None,
124
125
  kms_custom_endpoint: Optional[pulumi.Input[str]] = None,
125
126
  logging_custom_endpoint: Optional[pulumi.Input[str]] = None,
126
127
  looker_custom_endpoint: Optional[pulumi.Input[str]] = None,
@@ -396,6 +397,8 @@ class ProviderArgs:
396
397
  pulumi.set(__self__, "impersonate_service_account_delegates", impersonate_service_account_delegates)
397
398
  if integration_connectors_custom_endpoint is not None:
398
399
  pulumi.set(__self__, "integration_connectors_custom_endpoint", integration_connectors_custom_endpoint)
400
+ if integrations_custom_endpoint is not None:
401
+ pulumi.set(__self__, "integrations_custom_endpoint", integrations_custom_endpoint)
399
402
  if kms_custom_endpoint is not None:
400
403
  pulumi.set(__self__, "kms_custom_endpoint", kms_custom_endpoint)
401
404
  if logging_custom_endpoint is not None:
@@ -1477,6 +1480,15 @@ class ProviderArgs:
1477
1480
  def integration_connectors_custom_endpoint(self, value: Optional[pulumi.Input[str]]):
1478
1481
  pulumi.set(self, "integration_connectors_custom_endpoint", value)
1479
1482
 
1483
+ @property
1484
+ @pulumi.getter(name="integrationsCustomEndpoint")
1485
+ def integrations_custom_endpoint(self) -> Optional[pulumi.Input[str]]:
1486
+ return pulumi.get(self, "integrations_custom_endpoint")
1487
+
1488
+ @integrations_custom_endpoint.setter
1489
+ def integrations_custom_endpoint(self, value: Optional[pulumi.Input[str]]):
1490
+ pulumi.set(self, "integrations_custom_endpoint", value)
1491
+
1480
1492
  @property
1481
1493
  @pulumi.getter(name="kmsCustomEndpoint")
1482
1494
  def kms_custom_endpoint(self) -> Optional[pulumi.Input[str]]:
@@ -2129,6 +2141,7 @@ class Provider(pulumi.ProviderResource):
2129
2141
  impersonate_service_account: Optional[pulumi.Input[str]] = None,
2130
2142
  impersonate_service_account_delegates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2131
2143
  integration_connectors_custom_endpoint: Optional[pulumi.Input[str]] = None,
2144
+ integrations_custom_endpoint: Optional[pulumi.Input[str]] = None,
2132
2145
  kms_custom_endpoint: Optional[pulumi.Input[str]] = None,
2133
2146
  logging_custom_endpoint: Optional[pulumi.Input[str]] = None,
2134
2147
  looker_custom_endpoint: Optional[pulumi.Input[str]] = None,
@@ -2332,6 +2345,7 @@ class Provider(pulumi.ProviderResource):
2332
2345
  impersonate_service_account: Optional[pulumi.Input[str]] = None,
2333
2346
  impersonate_service_account_delegates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2334
2347
  integration_connectors_custom_endpoint: Optional[pulumi.Input[str]] = None,
2348
+ integrations_custom_endpoint: Optional[pulumi.Input[str]] = None,
2335
2349
  kms_custom_endpoint: Optional[pulumi.Input[str]] = None,
2336
2350
  logging_custom_endpoint: Optional[pulumi.Input[str]] = None,
2337
2351
  looker_custom_endpoint: Optional[pulumi.Input[str]] = None,
@@ -2507,6 +2521,7 @@ class Provider(pulumi.ProviderResource):
2507
2521
  __props__.__dict__["impersonate_service_account"] = impersonate_service_account
2508
2522
  __props__.__dict__["impersonate_service_account_delegates"] = pulumi.Output.from_input(impersonate_service_account_delegates).apply(pulumi.runtime.to_json) if impersonate_service_account_delegates is not None else None
2509
2523
  __props__.__dict__["integration_connectors_custom_endpoint"] = integration_connectors_custom_endpoint
2524
+ __props__.__dict__["integrations_custom_endpoint"] = integrations_custom_endpoint
2510
2525
  __props__.__dict__["kms_custom_endpoint"] = kms_custom_endpoint
2511
2526
  __props__.__dict__["logging_custom_endpoint"] = logging_custom_endpoint
2512
2527
  __props__.__dict__["looker_custom_endpoint"] = looker_custom_endpoint
@@ -3084,6 +3099,11 @@ class Provider(pulumi.ProviderResource):
3084
3099
  def integration_connectors_custom_endpoint(self) -> pulumi.Output[Optional[str]]:
3085
3100
  return pulumi.get(self, "integration_connectors_custom_endpoint")
3086
3101
 
3102
+ @property
3103
+ @pulumi.getter(name="integrationsCustomEndpoint")
3104
+ def integrations_custom_endpoint(self) -> pulumi.Output[Optional[str]]:
3105
+ return pulumi.get(self, "integrations_custom_endpoint")
3106
+
3087
3107
  @property
3088
3108
  @pulumi.getter(name="kmsCustomEndpoint")
3089
3109
  def kms_custom_endpoint(self) -> pulumi.Output[Optional[str]]:
@@ -30,6 +30,8 @@ __all__ = [
30
30
  'SubscriptionRetryPolicyArgs',
31
31
  'TopicIAMBindingConditionArgs',
32
32
  'TopicIAMMemberConditionArgs',
33
+ 'TopicIngestionDataSourceSettingsArgs',
34
+ 'TopicIngestionDataSourceSettingsAwsKinesisArgs',
33
35
  'TopicMessageStoragePolicyArgs',
34
36
  'TopicSchemaSettingsArgs',
35
37
  ]
@@ -1025,6 +1027,112 @@ class TopicIAMMemberConditionArgs:
1025
1027
  pulumi.set(self, "description", value)
1026
1028
 
1027
1029
 
1030
+ @pulumi.input_type
1031
+ class TopicIngestionDataSourceSettingsArgs:
1032
+ def __init__(__self__, *,
1033
+ aws_kinesis: Optional[pulumi.Input['TopicIngestionDataSourceSettingsAwsKinesisArgs']] = None):
1034
+ """
1035
+ :param pulumi.Input['TopicIngestionDataSourceSettingsAwsKinesisArgs'] aws_kinesis: Settings for ingestion from Amazon Kinesis Data Streams.
1036
+ Structure is documented below.
1037
+ """
1038
+ if aws_kinesis is not None:
1039
+ pulumi.set(__self__, "aws_kinesis", aws_kinesis)
1040
+
1041
+ @property
1042
+ @pulumi.getter(name="awsKinesis")
1043
+ def aws_kinesis(self) -> Optional[pulumi.Input['TopicIngestionDataSourceSettingsAwsKinesisArgs']]:
1044
+ """
1045
+ Settings for ingestion from Amazon Kinesis Data Streams.
1046
+ Structure is documented below.
1047
+ """
1048
+ return pulumi.get(self, "aws_kinesis")
1049
+
1050
+ @aws_kinesis.setter
1051
+ def aws_kinesis(self, value: Optional[pulumi.Input['TopicIngestionDataSourceSettingsAwsKinesisArgs']]):
1052
+ pulumi.set(self, "aws_kinesis", value)
1053
+
1054
+
1055
+ @pulumi.input_type
1056
+ class TopicIngestionDataSourceSettingsAwsKinesisArgs:
1057
+ def __init__(__self__, *,
1058
+ aws_role_arn: pulumi.Input[str],
1059
+ consumer_arn: pulumi.Input[str],
1060
+ gcp_service_account: pulumi.Input[str],
1061
+ stream_arn: pulumi.Input[str]):
1062
+ """
1063
+ :param pulumi.Input[str] aws_role_arn: AWS role ARN to be used for Federated Identity authentication with
1064
+ Kinesis. Check the Pub/Sub docs for how to set up this role and the
1065
+ required permissions that need to be attached to it.
1066
+ :param pulumi.Input[str] consumer_arn: The Kinesis consumer ARN to used for ingestion in
1067
+ Enhanced Fan-Out mode. The consumer must be already
1068
+ created and ready to be used.
1069
+ :param pulumi.Input[str] gcp_service_account: The GCP service account to be used for Federated Identity authentication
1070
+ with Kinesis (via a `AssumeRoleWithWebIdentity` call for the provided
1071
+ role). The `awsRoleArn` must be set up with `accounts.google.com:sub`
1072
+ equals to this service account number.
1073
+ :param pulumi.Input[str] stream_arn: The Kinesis stream ARN to ingest data from.
1074
+ """
1075
+ pulumi.set(__self__, "aws_role_arn", aws_role_arn)
1076
+ pulumi.set(__self__, "consumer_arn", consumer_arn)
1077
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
1078
+ pulumi.set(__self__, "stream_arn", stream_arn)
1079
+
1080
+ @property
1081
+ @pulumi.getter(name="awsRoleArn")
1082
+ def aws_role_arn(self) -> pulumi.Input[str]:
1083
+ """
1084
+ AWS role ARN to be used for Federated Identity authentication with
1085
+ Kinesis. Check the Pub/Sub docs for how to set up this role and the
1086
+ required permissions that need to be attached to it.
1087
+ """
1088
+ return pulumi.get(self, "aws_role_arn")
1089
+
1090
+ @aws_role_arn.setter
1091
+ def aws_role_arn(self, value: pulumi.Input[str]):
1092
+ pulumi.set(self, "aws_role_arn", value)
1093
+
1094
+ @property
1095
+ @pulumi.getter(name="consumerArn")
1096
+ def consumer_arn(self) -> pulumi.Input[str]:
1097
+ """
1098
+ The Kinesis consumer ARN to used for ingestion in
1099
+ Enhanced Fan-Out mode. The consumer must be already
1100
+ created and ready to be used.
1101
+ """
1102
+ return pulumi.get(self, "consumer_arn")
1103
+
1104
+ @consumer_arn.setter
1105
+ def consumer_arn(self, value: pulumi.Input[str]):
1106
+ pulumi.set(self, "consumer_arn", value)
1107
+
1108
+ @property
1109
+ @pulumi.getter(name="gcpServiceAccount")
1110
+ def gcp_service_account(self) -> pulumi.Input[str]:
1111
+ """
1112
+ The GCP service account to be used for Federated Identity authentication
1113
+ with Kinesis (via a `AssumeRoleWithWebIdentity` call for the provided
1114
+ role). The `awsRoleArn` must be set up with `accounts.google.com:sub`
1115
+ equals to this service account number.
1116
+ """
1117
+ return pulumi.get(self, "gcp_service_account")
1118
+
1119
+ @gcp_service_account.setter
1120
+ def gcp_service_account(self, value: pulumi.Input[str]):
1121
+ pulumi.set(self, "gcp_service_account", value)
1122
+
1123
+ @property
1124
+ @pulumi.getter(name="streamArn")
1125
+ def stream_arn(self) -> pulumi.Input[str]:
1126
+ """
1127
+ The Kinesis stream ARN to ingest data from.
1128
+ """
1129
+ return pulumi.get(self, "stream_arn")
1130
+
1131
+ @stream_arn.setter
1132
+ def stream_arn(self, value: pulumi.Input[str]):
1133
+ pulumi.set(self, "stream_arn", value)
1134
+
1135
+
1028
1136
  @pulumi.input_type
1029
1137
  class TopicMessageStoragePolicyArgs:
1030
1138
  def __init__(__self__, *,
@@ -22,13 +22,16 @@ class GetTopicResult:
22
22
  """
23
23
  A collection of values returned by getTopic.
24
24
  """
25
- def __init__(__self__, effective_labels=None, id=None, kms_key_name=None, labels=None, message_retention_duration=None, message_storage_policies=None, name=None, project=None, pulumi_labels=None, schema_settings=None):
25
+ def __init__(__self__, effective_labels=None, id=None, ingestion_data_source_settings=None, kms_key_name=None, labels=None, message_retention_duration=None, message_storage_policies=None, name=None, project=None, pulumi_labels=None, schema_settings=None):
26
26
  if effective_labels and not isinstance(effective_labels, dict):
27
27
  raise TypeError("Expected argument 'effective_labels' to be a dict")
28
28
  pulumi.set(__self__, "effective_labels", effective_labels)
29
29
  if id and not isinstance(id, str):
30
30
  raise TypeError("Expected argument 'id' to be a str")
31
31
  pulumi.set(__self__, "id", id)
32
+ if ingestion_data_source_settings and not isinstance(ingestion_data_source_settings, list):
33
+ raise TypeError("Expected argument 'ingestion_data_source_settings' to be a list")
34
+ pulumi.set(__self__, "ingestion_data_source_settings", ingestion_data_source_settings)
32
35
  if kms_key_name and not isinstance(kms_key_name, str):
33
36
  raise TypeError("Expected argument 'kms_key_name' to be a str")
34
37
  pulumi.set(__self__, "kms_key_name", kms_key_name)
@@ -67,6 +70,11 @@ class GetTopicResult:
67
70
  """
68
71
  return pulumi.get(self, "id")
69
72
 
73
+ @property
74
+ @pulumi.getter(name="ingestionDataSourceSettings")
75
+ def ingestion_data_source_settings(self) -> Sequence['outputs.GetTopicIngestionDataSourceSettingResult']:
76
+ return pulumi.get(self, "ingestion_data_source_settings")
77
+
70
78
  @property
71
79
  @pulumi.getter(name="kmsKeyName")
72
80
  def kms_key_name(self) -> str:
@@ -116,6 +124,7 @@ class AwaitableGetTopicResult(GetTopicResult):
116
124
  return GetTopicResult(
117
125
  effective_labels=self.effective_labels,
118
126
  id=self.id,
127
+ ingestion_data_source_settings=self.ingestion_data_source_settings,
119
128
  kms_key_name=self.kms_key_name,
120
129
  labels=self.labels,
121
130
  message_retention_duration=self.message_retention_duration,
@@ -161,6 +170,7 @@ def get_topic(name: Optional[str] = None,
161
170
  return AwaitableGetTopicResult(
162
171
  effective_labels=pulumi.get(__ret__, 'effective_labels'),
163
172
  id=pulumi.get(__ret__, 'id'),
173
+ ingestion_data_source_settings=pulumi.get(__ret__, 'ingestion_data_source_settings'),
164
174
  kms_key_name=pulumi.get(__ret__, 'kms_key_name'),
165
175
  labels=pulumi.get(__ret__, 'labels'),
166
176
  message_retention_duration=pulumi.get(__ret__, 'message_retention_duration'),