pulumi-gcp 7.15.0a1711038061__py3-none-any.whl → 7.16.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 (83) hide show
  1. pulumi_gcp/__init__.py +102 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +74 -58
  4. pulumi_gcp/accesscontextmanager/outputs.py +74 -58
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
  9. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
  10. pulumi_gcp/apphub/__init__.py +15 -0
  11. pulumi_gcp/apphub/_inputs.py +1016 -0
  12. pulumi_gcp/apphub/application.py +775 -0
  13. pulumi_gcp/apphub/get_discovered_service.py +180 -0
  14. pulumi_gcp/apphub/get_discovered_workload.py +180 -0
  15. pulumi_gcp/apphub/outputs.py +1206 -0
  16. pulumi_gcp/apphub/service.py +1121 -0
  17. pulumi_gcp/apphub/service_project_attachment.py +516 -0
  18. pulumi_gcp/apphub/workload.py +1197 -0
  19. pulumi_gcp/cloudquota/__init__.py +10 -0
  20. pulumi_gcp/cloudquota/get_s_quota_info.py +322 -0
  21. pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
  22. pulumi_gcp/cloudquota/outputs.py +375 -0
  23. pulumi_gcp/cloudrunv2/_inputs.py +85 -4
  24. pulumi_gcp/cloudrunv2/get_service.py +11 -1
  25. pulumi_gcp/cloudrunv2/outputs.py +165 -6
  26. pulumi_gcp/cloudrunv2/service.py +60 -6
  27. pulumi_gcp/composer/_inputs.py +16 -0
  28. pulumi_gcp/composer/outputs.py +23 -0
  29. pulumi_gcp/compute/_inputs.py +109 -11
  30. pulumi_gcp/compute/outputs.py +144 -13
  31. pulumi_gcp/compute/region_network_endpoint_group.py +30 -0
  32. pulumi_gcp/compute/region_url_map.py +152 -0
  33. pulumi_gcp/config/__init__.pyi +4 -0
  34. pulumi_gcp/config/vars.py +8 -0
  35. pulumi_gcp/dataform/repository.py +4 -74
  36. pulumi_gcp/firebase/__init__.py +1 -0
  37. pulumi_gcp/firebase/android_app.py +41 -40
  38. pulumi_gcp/firebase/app_check_device_check_config.py +572 -0
  39. pulumi_gcp/firestore/_inputs.py +69 -0
  40. pulumi_gcp/firestore/database.py +206 -0
  41. pulumi_gcp/firestore/index.py +34 -48
  42. pulumi_gcp/firestore/outputs.py +80 -0
  43. pulumi_gcp/gkeonprem/_inputs.py +1 -3
  44. pulumi_gcp/gkeonprem/outputs.py +1 -3
  45. pulumi_gcp/gkeonprem/v_mware_cluster.py +2 -0
  46. pulumi_gcp/iap/__init__.py +5 -0
  47. pulumi_gcp/iap/_inputs.py +100 -0
  48. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +172 -0
  49. pulumi_gcp/iap/outputs.py +76 -0
  50. pulumi_gcp/iap/tunnel_dest_group.py +524 -0
  51. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +858 -0
  52. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +858 -0
  53. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +760 -0
  54. pulumi_gcp/kms/__init__.py +1 -0
  55. pulumi_gcp/kms/_inputs.py +246 -0
  56. pulumi_gcp/kms/ekm_connection.py +610 -0
  57. pulumi_gcp/kms/outputs.py +242 -0
  58. pulumi_gcp/monitoring/_inputs.py +2 -0
  59. pulumi_gcp/monitoring/outputs.py +2 -0
  60. pulumi_gcp/networksecurity/__init__.py +1 -0
  61. pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
  62. pulumi_gcp/networksecurity/firewall_endpoint_association.py +753 -0
  63. pulumi_gcp/notebooks/instance.py +8 -0
  64. pulumi_gcp/orgpolicy/policy.py +2 -2
  65. pulumi_gcp/provider.py +40 -0
  66. pulumi_gcp/pubsub/_inputs.py +108 -0
  67. pulumi_gcp/pubsub/get_topic.py +11 -1
  68. pulumi_gcp/pubsub/outputs.py +213 -0
  69. pulumi_gcp/pubsub/subscription.py +4 -4
  70. pulumi_gcp/pubsub/topic.py +92 -0
  71. pulumi_gcp/securityposture/posture.py +2 -2
  72. pulumi_gcp/securityposture/posture_deployment.py +2 -2
  73. pulumi_gcp/storage/_inputs.py +72 -15
  74. pulumi_gcp/storage/bucket.py +54 -0
  75. pulumi_gcp/storage/get_bucket.py +11 -1
  76. pulumi_gcp/storage/outputs.py +110 -14
  77. pulumi_gcp/workstations/_inputs.py +247 -4
  78. pulumi_gcp/workstations/outputs.py +261 -5
  79. pulumi_gcp/workstations/workstation_config.py +160 -0
  80. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/METADATA +1 -1
  81. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/RECORD +83 -61
  82. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/WHEEL +0 -0
  83. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/top_level.txt +0 -0
@@ -1507,6 +1507,10 @@ class Instance(pulumi.CustomResource):
1507
1507
  "https://www.googleapis.com/auth/cloud-platform",
1508
1508
  "https://www.googleapis.com/auth/userinfo.email",
1509
1509
  ],
1510
+ tags=[
1511
+ "foo",
1512
+ "bar",
1513
+ ],
1510
1514
  disk_encryption="CMEK",
1511
1515
  kms_key="my-crypto-key",
1512
1516
  desired_state="ACTIVE")
@@ -1757,6 +1761,10 @@ class Instance(pulumi.CustomResource):
1757
1761
  "https://www.googleapis.com/auth/cloud-platform",
1758
1762
  "https://www.googleapis.com/auth/userinfo.email",
1759
1763
  ],
1764
+ tags=[
1765
+ "foo",
1766
+ "bar",
1767
+ ],
1760
1768
  disk_encryption="CMEK",
1761
1769
  kms_key="my-crypto-key",
1762
1770
  desired_state="ACTIVE")
@@ -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_75223",
309
+ name="custom.disableGkeAutoUpgrade_41819",
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_75223",
471
+ name="custom.disableGkeAutoUpgrade_41819",
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
@@ -25,6 +25,7 @@ class ProviderArgs:
25
25
  apigee_custom_endpoint: Optional[pulumi.Input[str]] = None,
26
26
  apikeys_custom_endpoint: Optional[pulumi.Input[str]] = None,
27
27
  app_engine_custom_endpoint: Optional[pulumi.Input[str]] = None,
28
+ apphub_custom_endpoint: Optional[pulumi.Input[str]] = None,
28
29
  artifact_registry_custom_endpoint: Optional[pulumi.Input[str]] = None,
29
30
  assured_workloads_custom_endpoint: Optional[pulumi.Input[str]] = None,
30
31
  backup_dr_custom_endpoint: Optional[pulumi.Input[str]] = None,
@@ -50,6 +51,7 @@ class ProviderArgs:
50
51
  cloud_functions_custom_endpoint: Optional[pulumi.Input[str]] = None,
51
52
  cloud_identity_custom_endpoint: Optional[pulumi.Input[str]] = None,
52
53
  cloud_ids_custom_endpoint: Optional[pulumi.Input[str]] = None,
54
+ cloud_quotas_custom_endpoint: Optional[pulumi.Input[str]] = None,
53
55
  cloud_resource_manager_custom_endpoint: Optional[pulumi.Input[str]] = None,
54
56
  cloud_run_custom_endpoint: Optional[pulumi.Input[str]] = None,
55
57
  cloud_run_v2_custom_endpoint: Optional[pulumi.Input[str]] = None,
@@ -202,6 +204,8 @@ class ProviderArgs:
202
204
  pulumi.set(__self__, "apikeys_custom_endpoint", apikeys_custom_endpoint)
203
205
  if app_engine_custom_endpoint is not None:
204
206
  pulumi.set(__self__, "app_engine_custom_endpoint", app_engine_custom_endpoint)
207
+ if apphub_custom_endpoint is not None:
208
+ pulumi.set(__self__, "apphub_custom_endpoint", apphub_custom_endpoint)
205
209
  if artifact_registry_custom_endpoint is not None:
206
210
  pulumi.set(__self__, "artifact_registry_custom_endpoint", artifact_registry_custom_endpoint)
207
211
  if assured_workloads_custom_endpoint is not None:
@@ -252,6 +256,8 @@ class ProviderArgs:
252
256
  pulumi.set(__self__, "cloud_identity_custom_endpoint", cloud_identity_custom_endpoint)
253
257
  if cloud_ids_custom_endpoint is not None:
254
258
  pulumi.set(__self__, "cloud_ids_custom_endpoint", cloud_ids_custom_endpoint)
259
+ if cloud_quotas_custom_endpoint is not None:
260
+ pulumi.set(__self__, "cloud_quotas_custom_endpoint", cloud_quotas_custom_endpoint)
255
261
  if cloud_resource_manager_custom_endpoint is not None:
256
262
  pulumi.set(__self__, "cloud_resource_manager_custom_endpoint", cloud_resource_manager_custom_endpoint)
257
263
  if cloud_run_custom_endpoint is not None:
@@ -607,6 +613,15 @@ class ProviderArgs:
607
613
  def app_engine_custom_endpoint(self, value: Optional[pulumi.Input[str]]):
608
614
  pulumi.set(self, "app_engine_custom_endpoint", value)
609
615
 
616
+ @property
617
+ @pulumi.getter(name="apphubCustomEndpoint")
618
+ def apphub_custom_endpoint(self) -> Optional[pulumi.Input[str]]:
619
+ return pulumi.get(self, "apphub_custom_endpoint")
620
+
621
+ @apphub_custom_endpoint.setter
622
+ def apphub_custom_endpoint(self, value: Optional[pulumi.Input[str]]):
623
+ pulumi.set(self, "apphub_custom_endpoint", value)
624
+
610
625
  @property
611
626
  @pulumi.getter(name="artifactRegistryCustomEndpoint")
612
627
  def artifact_registry_custom_endpoint(self) -> Optional[pulumi.Input[str]]:
@@ -832,6 +847,15 @@ class ProviderArgs:
832
847
  def cloud_ids_custom_endpoint(self, value: Optional[pulumi.Input[str]]):
833
848
  pulumi.set(self, "cloud_ids_custom_endpoint", value)
834
849
 
850
+ @property
851
+ @pulumi.getter(name="cloudQuotasCustomEndpoint")
852
+ def cloud_quotas_custom_endpoint(self) -> Optional[pulumi.Input[str]]:
853
+ return pulumi.get(self, "cloud_quotas_custom_endpoint")
854
+
855
+ @cloud_quotas_custom_endpoint.setter
856
+ def cloud_quotas_custom_endpoint(self, value: Optional[pulumi.Input[str]]):
857
+ pulumi.set(self, "cloud_quotas_custom_endpoint", value)
858
+
835
859
  @property
836
860
  @pulumi.getter(name="cloudResourceManagerCustomEndpoint")
837
861
  def cloud_resource_manager_custom_endpoint(self) -> Optional[pulumi.Input[str]]:
@@ -2009,6 +2033,7 @@ class Provider(pulumi.ProviderResource):
2009
2033
  apigee_custom_endpoint: Optional[pulumi.Input[str]] = None,
2010
2034
  apikeys_custom_endpoint: Optional[pulumi.Input[str]] = None,
2011
2035
  app_engine_custom_endpoint: Optional[pulumi.Input[str]] = None,
2036
+ apphub_custom_endpoint: Optional[pulumi.Input[str]] = None,
2012
2037
  artifact_registry_custom_endpoint: Optional[pulumi.Input[str]] = None,
2013
2038
  assured_workloads_custom_endpoint: Optional[pulumi.Input[str]] = None,
2014
2039
  backup_dr_custom_endpoint: Optional[pulumi.Input[str]] = None,
@@ -2034,6 +2059,7 @@ class Provider(pulumi.ProviderResource):
2034
2059
  cloud_functions_custom_endpoint: Optional[pulumi.Input[str]] = None,
2035
2060
  cloud_identity_custom_endpoint: Optional[pulumi.Input[str]] = None,
2036
2061
  cloud_ids_custom_endpoint: Optional[pulumi.Input[str]] = None,
2062
+ cloud_quotas_custom_endpoint: Optional[pulumi.Input[str]] = None,
2037
2063
  cloud_resource_manager_custom_endpoint: Optional[pulumi.Input[str]] = None,
2038
2064
  cloud_run_custom_endpoint: Optional[pulumi.Input[str]] = None,
2039
2065
  cloud_run_v2_custom_endpoint: Optional[pulumi.Input[str]] = None,
@@ -2210,6 +2236,7 @@ class Provider(pulumi.ProviderResource):
2210
2236
  apigee_custom_endpoint: Optional[pulumi.Input[str]] = None,
2211
2237
  apikeys_custom_endpoint: Optional[pulumi.Input[str]] = None,
2212
2238
  app_engine_custom_endpoint: Optional[pulumi.Input[str]] = None,
2239
+ apphub_custom_endpoint: Optional[pulumi.Input[str]] = None,
2213
2240
  artifact_registry_custom_endpoint: Optional[pulumi.Input[str]] = None,
2214
2241
  assured_workloads_custom_endpoint: Optional[pulumi.Input[str]] = None,
2215
2242
  backup_dr_custom_endpoint: Optional[pulumi.Input[str]] = None,
@@ -2235,6 +2262,7 @@ class Provider(pulumi.ProviderResource):
2235
2262
  cloud_functions_custom_endpoint: Optional[pulumi.Input[str]] = None,
2236
2263
  cloud_identity_custom_endpoint: Optional[pulumi.Input[str]] = None,
2237
2264
  cloud_ids_custom_endpoint: Optional[pulumi.Input[str]] = None,
2265
+ cloud_quotas_custom_endpoint: Optional[pulumi.Input[str]] = None,
2238
2266
  cloud_resource_manager_custom_endpoint: Optional[pulumi.Input[str]] = None,
2239
2267
  cloud_run_custom_endpoint: Optional[pulumi.Input[str]] = None,
2240
2268
  cloud_run_v2_custom_endpoint: Optional[pulumi.Input[str]] = None,
@@ -2383,6 +2411,7 @@ class Provider(pulumi.ProviderResource):
2383
2411
  __props__.__dict__["apigee_custom_endpoint"] = apigee_custom_endpoint
2384
2412
  __props__.__dict__["apikeys_custom_endpoint"] = apikeys_custom_endpoint
2385
2413
  __props__.__dict__["app_engine_custom_endpoint"] = app_engine_custom_endpoint
2414
+ __props__.__dict__["apphub_custom_endpoint"] = apphub_custom_endpoint
2386
2415
  __props__.__dict__["artifact_registry_custom_endpoint"] = artifact_registry_custom_endpoint
2387
2416
  __props__.__dict__["assured_workloads_custom_endpoint"] = assured_workloads_custom_endpoint
2388
2417
  __props__.__dict__["backup_dr_custom_endpoint"] = backup_dr_custom_endpoint
@@ -2408,6 +2437,7 @@ class Provider(pulumi.ProviderResource):
2408
2437
  __props__.__dict__["cloud_functions_custom_endpoint"] = cloud_functions_custom_endpoint
2409
2438
  __props__.__dict__["cloud_identity_custom_endpoint"] = cloud_identity_custom_endpoint
2410
2439
  __props__.__dict__["cloud_ids_custom_endpoint"] = cloud_ids_custom_endpoint
2440
+ __props__.__dict__["cloud_quotas_custom_endpoint"] = cloud_quotas_custom_endpoint
2411
2441
  __props__.__dict__["cloud_resource_manager_custom_endpoint"] = cloud_resource_manager_custom_endpoint
2412
2442
  __props__.__dict__["cloud_run_custom_endpoint"] = cloud_run_custom_endpoint
2413
2443
  __props__.__dict__["cloud_run_v2_custom_endpoint"] = cloud_run_v2_custom_endpoint
@@ -2594,6 +2624,11 @@ class Provider(pulumi.ProviderResource):
2594
2624
  def app_engine_custom_endpoint(self) -> pulumi.Output[Optional[str]]:
2595
2625
  return pulumi.get(self, "app_engine_custom_endpoint")
2596
2626
 
2627
+ @property
2628
+ @pulumi.getter(name="apphubCustomEndpoint")
2629
+ def apphub_custom_endpoint(self) -> pulumi.Output[Optional[str]]:
2630
+ return pulumi.get(self, "apphub_custom_endpoint")
2631
+
2597
2632
  @property
2598
2633
  @pulumi.getter(name="artifactRegistryCustomEndpoint")
2599
2634
  def artifact_registry_custom_endpoint(self) -> pulumi.Output[Optional[str]]:
@@ -2714,6 +2749,11 @@ class Provider(pulumi.ProviderResource):
2714
2749
  def cloud_ids_custom_endpoint(self) -> pulumi.Output[Optional[str]]:
2715
2750
  return pulumi.get(self, "cloud_ids_custom_endpoint")
2716
2751
 
2752
+ @property
2753
+ @pulumi.getter(name="cloudQuotasCustomEndpoint")
2754
+ def cloud_quotas_custom_endpoint(self) -> pulumi.Output[Optional[str]]:
2755
+ return pulumi.get(self, "cloud_quotas_custom_endpoint")
2756
+
2717
2757
  @property
2718
2758
  @pulumi.getter(name="cloudResourceManagerCustomEndpoint")
2719
2759
  def cloud_resource_manager_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'),
@@ -31,6 +31,8 @@ __all__ = [
31
31
  'SubscriptionRetryPolicy',
32
32
  'TopicIAMBindingCondition',
33
33
  'TopicIAMMemberCondition',
34
+ 'TopicIngestionDataSourceSettings',
35
+ 'TopicIngestionDataSourceSettingsAwsKinesis',
34
36
  'TopicMessageStoragePolicy',
35
37
  'TopicSchemaSettings',
36
38
  'GetSubscriptionBigqueryConfigResult',
@@ -42,6 +44,8 @@ __all__ = [
42
44
  'GetSubscriptionPushConfigNoWrapperResult',
43
45
  'GetSubscriptionPushConfigOidcTokenResult',
44
46
  'GetSubscriptionRetryPolicyResult',
47
+ 'GetTopicIngestionDataSourceSettingResult',
48
+ 'GetTopicIngestionDataSourceSettingAwsKineseResult',
45
49
  'GetTopicMessageStoragePolicyResult',
46
50
  'GetTopicSchemaSettingResult',
47
51
  ]
@@ -1061,6 +1065,132 @@ class TopicIAMMemberCondition(dict):
1061
1065
  return pulumi.get(self, "description")
1062
1066
 
1063
1067
 
1068
+ @pulumi.output_type
1069
+ class TopicIngestionDataSourceSettings(dict):
1070
+ @staticmethod
1071
+ def __key_warning(key: str):
1072
+ suggest = None
1073
+ if key == "awsKinesis":
1074
+ suggest = "aws_kinesis"
1075
+
1076
+ if suggest:
1077
+ pulumi.log.warn(f"Key '{key}' not found in TopicIngestionDataSourceSettings. Access the value via the '{suggest}' property getter instead.")
1078
+
1079
+ def __getitem__(self, key: str) -> Any:
1080
+ TopicIngestionDataSourceSettings.__key_warning(key)
1081
+ return super().__getitem__(key)
1082
+
1083
+ def get(self, key: str, default = None) -> Any:
1084
+ TopicIngestionDataSourceSettings.__key_warning(key)
1085
+ return super().get(key, default)
1086
+
1087
+ def __init__(__self__, *,
1088
+ aws_kinesis: Optional['outputs.TopicIngestionDataSourceSettingsAwsKinesis'] = None):
1089
+ """
1090
+ :param 'TopicIngestionDataSourceSettingsAwsKinesisArgs' aws_kinesis: Settings for ingestion from Amazon Kinesis Data Streams.
1091
+ Structure is documented below.
1092
+ """
1093
+ if aws_kinesis is not None:
1094
+ pulumi.set(__self__, "aws_kinesis", aws_kinesis)
1095
+
1096
+ @property
1097
+ @pulumi.getter(name="awsKinesis")
1098
+ def aws_kinesis(self) -> Optional['outputs.TopicIngestionDataSourceSettingsAwsKinesis']:
1099
+ """
1100
+ Settings for ingestion from Amazon Kinesis Data Streams.
1101
+ Structure is documented below.
1102
+ """
1103
+ return pulumi.get(self, "aws_kinesis")
1104
+
1105
+
1106
+ @pulumi.output_type
1107
+ class TopicIngestionDataSourceSettingsAwsKinesis(dict):
1108
+ @staticmethod
1109
+ def __key_warning(key: str):
1110
+ suggest = None
1111
+ if key == "awsRoleArn":
1112
+ suggest = "aws_role_arn"
1113
+ elif key == "consumerArn":
1114
+ suggest = "consumer_arn"
1115
+ elif key == "gcpServiceAccount":
1116
+ suggest = "gcp_service_account"
1117
+ elif key == "streamArn":
1118
+ suggest = "stream_arn"
1119
+
1120
+ if suggest:
1121
+ pulumi.log.warn(f"Key '{key}' not found in TopicIngestionDataSourceSettingsAwsKinesis. Access the value via the '{suggest}' property getter instead.")
1122
+
1123
+ def __getitem__(self, key: str) -> Any:
1124
+ TopicIngestionDataSourceSettingsAwsKinesis.__key_warning(key)
1125
+ return super().__getitem__(key)
1126
+
1127
+ def get(self, key: str, default = None) -> Any:
1128
+ TopicIngestionDataSourceSettingsAwsKinesis.__key_warning(key)
1129
+ return super().get(key, default)
1130
+
1131
+ def __init__(__self__, *,
1132
+ aws_role_arn: str,
1133
+ consumer_arn: str,
1134
+ gcp_service_account: str,
1135
+ stream_arn: str):
1136
+ """
1137
+ :param str aws_role_arn: AWS role ARN to be used for Federated Identity authentication with
1138
+ Kinesis. Check the Pub/Sub docs for how to set up this role and the
1139
+ required permissions that need to be attached to it.
1140
+ :param str consumer_arn: The Kinesis consumer ARN to used for ingestion in
1141
+ Enhanced Fan-Out mode. The consumer must be already
1142
+ created and ready to be used.
1143
+ :param str gcp_service_account: The GCP service account to be used for Federated Identity authentication
1144
+ with Kinesis (via a `AssumeRoleWithWebIdentity` call for the provided
1145
+ role). The `awsRoleArn` must be set up with `accounts.google.com:sub`
1146
+ equals to this service account number.
1147
+ :param str stream_arn: The Kinesis stream ARN to ingest data from.
1148
+ """
1149
+ pulumi.set(__self__, "aws_role_arn", aws_role_arn)
1150
+ pulumi.set(__self__, "consumer_arn", consumer_arn)
1151
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
1152
+ pulumi.set(__self__, "stream_arn", stream_arn)
1153
+
1154
+ @property
1155
+ @pulumi.getter(name="awsRoleArn")
1156
+ def aws_role_arn(self) -> str:
1157
+ """
1158
+ AWS role ARN to be used for Federated Identity authentication with
1159
+ Kinesis. Check the Pub/Sub docs for how to set up this role and the
1160
+ required permissions that need to be attached to it.
1161
+ """
1162
+ return pulumi.get(self, "aws_role_arn")
1163
+
1164
+ @property
1165
+ @pulumi.getter(name="consumerArn")
1166
+ def consumer_arn(self) -> str:
1167
+ """
1168
+ The Kinesis consumer ARN to used for ingestion in
1169
+ Enhanced Fan-Out mode. The consumer must be already
1170
+ created and ready to be used.
1171
+ """
1172
+ return pulumi.get(self, "consumer_arn")
1173
+
1174
+ @property
1175
+ @pulumi.getter(name="gcpServiceAccount")
1176
+ def gcp_service_account(self) -> str:
1177
+ """
1178
+ The GCP service account to be used for Federated Identity authentication
1179
+ with Kinesis (via a `AssumeRoleWithWebIdentity` call for the provided
1180
+ role). The `awsRoleArn` must be set up with `accounts.google.com:sub`
1181
+ equals to this service account number.
1182
+ """
1183
+ return pulumi.get(self, "gcp_service_account")
1184
+
1185
+ @property
1186
+ @pulumi.getter(name="streamArn")
1187
+ def stream_arn(self) -> str:
1188
+ """
1189
+ The Kinesis stream ARN to ingest data from.
1190
+ """
1191
+ return pulumi.get(self, "stream_arn")
1192
+
1193
+
1064
1194
  @pulumi.output_type
1065
1195
  class TopicMessageStoragePolicy(dict):
1066
1196
  @staticmethod
@@ -1626,6 +1756,89 @@ class GetSubscriptionRetryPolicyResult(dict):
1626
1756
  return pulumi.get(self, "minimum_backoff")
1627
1757
 
1628
1758
 
1759
+ @pulumi.output_type
1760
+ class GetTopicIngestionDataSourceSettingResult(dict):
1761
+ def __init__(__self__, *,
1762
+ aws_kineses: Sequence['outputs.GetTopicIngestionDataSourceSettingAwsKineseResult']):
1763
+ """
1764
+ :param Sequence['GetTopicIngestionDataSourceSettingAwsKineseArgs'] aws_kineses: Settings for ingestion from Amazon Kinesis Data Streams.
1765
+ """
1766
+ pulumi.set(__self__, "aws_kineses", aws_kineses)
1767
+
1768
+ @property
1769
+ @pulumi.getter(name="awsKineses")
1770
+ def aws_kineses(self) -> Sequence['outputs.GetTopicIngestionDataSourceSettingAwsKineseResult']:
1771
+ """
1772
+ Settings for ingestion from Amazon Kinesis Data Streams.
1773
+ """
1774
+ return pulumi.get(self, "aws_kineses")
1775
+
1776
+
1777
+ @pulumi.output_type
1778
+ class GetTopicIngestionDataSourceSettingAwsKineseResult(dict):
1779
+ def __init__(__self__, *,
1780
+ aws_role_arn: str,
1781
+ consumer_arn: str,
1782
+ gcp_service_account: str,
1783
+ stream_arn: str):
1784
+ """
1785
+ :param str aws_role_arn: AWS role ARN to be used for Federated Identity authentication with
1786
+ Kinesis. Check the Pub/Sub docs for how to set up this role and the
1787
+ required permissions that need to be attached to it.
1788
+ :param str consumer_arn: The Kinesis consumer ARN to used for ingestion in
1789
+ Enhanced Fan-Out mode. The consumer must be already
1790
+ created and ready to be used.
1791
+ :param str gcp_service_account: The GCP service account to be used for Federated Identity authentication
1792
+ with Kinesis (via a 'AssumeRoleWithWebIdentity' call for the provided
1793
+ role). The 'awsRoleArn' must be set up with 'accounts.google.com:sub'
1794
+ equals to this service account number.
1795
+ :param str stream_arn: The Kinesis stream ARN to ingest data from.
1796
+ """
1797
+ pulumi.set(__self__, "aws_role_arn", aws_role_arn)
1798
+ pulumi.set(__self__, "consumer_arn", consumer_arn)
1799
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
1800
+ pulumi.set(__self__, "stream_arn", stream_arn)
1801
+
1802
+ @property
1803
+ @pulumi.getter(name="awsRoleArn")
1804
+ def aws_role_arn(self) -> str:
1805
+ """
1806
+ AWS role ARN to be used for Federated Identity authentication with
1807
+ Kinesis. Check the Pub/Sub docs for how to set up this role and the
1808
+ required permissions that need to be attached to it.
1809
+ """
1810
+ return pulumi.get(self, "aws_role_arn")
1811
+
1812
+ @property
1813
+ @pulumi.getter(name="consumerArn")
1814
+ def consumer_arn(self) -> str:
1815
+ """
1816
+ The Kinesis consumer ARN to used for ingestion in
1817
+ Enhanced Fan-Out mode. The consumer must be already
1818
+ created and ready to be used.
1819
+ """
1820
+ return pulumi.get(self, "consumer_arn")
1821
+
1822
+ @property
1823
+ @pulumi.getter(name="gcpServiceAccount")
1824
+ def gcp_service_account(self) -> str:
1825
+ """
1826
+ The GCP service account to be used for Federated Identity authentication
1827
+ with Kinesis (via a 'AssumeRoleWithWebIdentity' call for the provided
1828
+ role). The 'awsRoleArn' must be set up with 'accounts.google.com:sub'
1829
+ equals to this service account number.
1830
+ """
1831
+ return pulumi.get(self, "gcp_service_account")
1832
+
1833
+ @property
1834
+ @pulumi.getter(name="streamArn")
1835
+ def stream_arn(self) -> str:
1836
+ """
1837
+ The Kinesis stream ARN to ingest data from.
1838
+ """
1839
+ return pulumi.get(self, "stream_arn")
1840
+
1841
+
1629
1842
  @pulumi.output_type
1630
1843
  class GetTopicMessageStoragePolicyResult(dict):
1631
1844
  def __init__(__self__, *,
@@ -1051,7 +1051,7 @@ class Subscription(pulumi.CustomResource):
1051
1051
  cloud_storage_config=gcp.pubsub.SubscriptionCloudStorageConfigArgs(
1052
1052
  bucket=example.name,
1053
1053
  filename_prefix="pre-",
1054
- filename_suffix="-_41819",
1054
+ filename_suffix="-_75092",
1055
1055
  max_bytes=1000,
1056
1056
  max_duration="300s",
1057
1057
  ))
@@ -1080,7 +1080,7 @@ class Subscription(pulumi.CustomResource):
1080
1080
  cloud_storage_config=gcp.pubsub.SubscriptionCloudStorageConfigArgs(
1081
1081
  bucket=example.name,
1082
1082
  filename_prefix="pre-",
1083
- filename_suffix="-_75092",
1083
+ filename_suffix="-_2605",
1084
1084
  max_bytes=1000,
1085
1085
  max_duration="300s",
1086
1086
  avro_config=gcp.pubsub.SubscriptionCloudStorageConfigAvroConfigArgs(
@@ -1392,7 +1392,7 @@ class Subscription(pulumi.CustomResource):
1392
1392
  cloud_storage_config=gcp.pubsub.SubscriptionCloudStorageConfigArgs(
1393
1393
  bucket=example.name,
1394
1394
  filename_prefix="pre-",
1395
- filename_suffix="-_41819",
1395
+ filename_suffix="-_75092",
1396
1396
  max_bytes=1000,
1397
1397
  max_duration="300s",
1398
1398
  ))
@@ -1421,7 +1421,7 @@ class Subscription(pulumi.CustomResource):
1421
1421
  cloud_storage_config=gcp.pubsub.SubscriptionCloudStorageConfigArgs(
1422
1422
  bucket=example.name,
1423
1423
  filename_prefix="pre-",
1424
- filename_suffix="-_75092",
1424
+ filename_suffix="-_2605",
1425
1425
  max_bytes=1000,
1426
1426
  max_duration="300s",
1427
1427
  avro_config=gcp.pubsub.SubscriptionCloudStorageConfigAvroConfigArgs(