pulumi-gcp 8.22.0a1741790977__py3-none-any.whl → 8.23.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 (124) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/alloydb/_inputs.py +93 -1
  3. pulumi_gcp/alloydb/outputs.py +128 -2
  4. pulumi_gcp/applicationintegration/client.py +18 -24
  5. pulumi_gcp/backupdisasterrecovery/_inputs.py +3 -3
  6. pulumi_gcp/backupdisasterrecovery/outputs.py +4 -4
  7. pulumi_gcp/bigquery/_inputs.py +20 -0
  8. pulumi_gcp/bigquery/outputs.py +12 -0
  9. pulumi_gcp/bigquery/table.py +61 -0
  10. pulumi_gcp/bigtable/table.py +7 -7
  11. pulumi_gcp/certificatemanager/certificate.py +53 -7
  12. pulumi_gcp/certificatemanager/outputs.py +8 -2
  13. pulumi_gcp/clouddeploy/_inputs.py +20 -0
  14. pulumi_gcp/clouddeploy/outputs.py +15 -1
  15. pulumi_gcp/cloudfunctions/function.py +11 -11
  16. pulumi_gcp/cloudfunctionsv2/function.py +24 -24
  17. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +41 -2
  18. pulumi_gcp/cloudidentity/outputs.py +18 -38
  19. pulumi_gcp/compute/__init__.py +1 -0
  20. pulumi_gcp/compute/_inputs.py +600 -17
  21. pulumi_gcp/compute/backend_service.py +195 -7
  22. pulumi_gcp/compute/disk.py +108 -0
  23. pulumi_gcp/compute/firewall_policy.py +20 -0
  24. pulumi_gcp/compute/firewall_policy_association.py +28 -2
  25. pulumi_gcp/compute/get_backend_service.py +12 -1
  26. pulumi_gcp/compute/get_disk.py +23 -1
  27. pulumi_gcp/compute/get_region_disk.py +23 -1
  28. pulumi_gcp/compute/get_region_ssl_policy.py +203 -0
  29. pulumi_gcp/compute/outputs.py +623 -23
  30. pulumi_gcp/compute/region_backend_service.py +193 -7
  31. pulumi_gcp/compute/region_disk.py +114 -0
  32. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  33. pulumi_gcp/compute/shared_vpc_service_project.py +0 -4
  34. pulumi_gcp/compute/subnetwork.py +256 -1
  35. pulumi_gcp/compute/target_https_proxy.py +7 -7
  36. pulumi_gcp/config/__init__.pyi +2 -0
  37. pulumi_gcp/config/vars.py +4 -0
  38. pulumi_gcp/container/_inputs.py +6 -6
  39. pulumi_gcp/container/get_attached_versions.py +2 -2
  40. pulumi_gcp/container/outputs.py +8 -8
  41. pulumi_gcp/dataform/repository.py +49 -0
  42. pulumi_gcp/dataproc/get_metastore_service.py +26 -4
  43. pulumi_gcp/dataproc/metastore_federation.py +56 -0
  44. pulumi_gcp/dataproc/metastore_service.py +58 -2
  45. pulumi_gcp/datastream/_inputs.py +273 -0
  46. pulumi_gcp/datastream/connection_profile.py +54 -2
  47. pulumi_gcp/datastream/outputs.py +224 -0
  48. pulumi_gcp/eventarc/__init__.py +2 -0
  49. pulumi_gcp/eventarc/_inputs.py +1798 -0
  50. pulumi_gcp/eventarc/channel.py +85 -93
  51. pulumi_gcp/eventarc/google_api_source.py +997 -0
  52. pulumi_gcp/eventarc/outputs.py +1378 -0
  53. pulumi_gcp/eventarc/pipeline.py +1596 -0
  54. pulumi_gcp/firebase/__init__.py +1 -0
  55. pulumi_gcp/firebase/_inputs.py +154 -0
  56. pulumi_gcp/firebase/app_hosting_backend.py +1303 -0
  57. pulumi_gcp/firebase/data_connect_service.py +40 -2
  58. pulumi_gcp/firebase/hosting_version.py +2 -2
  59. pulumi_gcp/firebase/outputs.py +127 -0
  60. pulumi_gcp/iam/__init__.py +2 -0
  61. pulumi_gcp/iam/_inputs.py +51 -18
  62. pulumi_gcp/iam/folders_policy_binding.py +10 -26
  63. pulumi_gcp/iam/oauth_client.py +979 -0
  64. pulumi_gcp/iam/oauth_client_credential.py +641 -0
  65. pulumi_gcp/iam/organizations_policy_binding.py +8 -24
  66. pulumi_gcp/iam/outputs.py +34 -12
  67. pulumi_gcp/iam/principal_access_boundary_policy.py +58 -22
  68. pulumi_gcp/iam/projects_policy_binding.py +8 -24
  69. pulumi_gcp/kms/crypto_key_version.py +14 -7
  70. pulumi_gcp/kms/get_key_rings.py +39 -2
  71. pulumi_gcp/managedkafka/__init__.py +2 -0
  72. pulumi_gcp/managedkafka/_inputs.py +263 -0
  73. pulumi_gcp/managedkafka/connect_cluster.py +795 -0
  74. pulumi_gcp/managedkafka/connector.py +695 -0
  75. pulumi_gcp/managedkafka/outputs.py +248 -0
  76. pulumi_gcp/memorystore/instance.py +7 -7
  77. pulumi_gcp/monitoring/_inputs.py +15 -18
  78. pulumi_gcp/monitoring/alert_policy.py +46 -0
  79. pulumi_gcp/monitoring/outputs.py +10 -12
  80. pulumi_gcp/monitoring/uptime_check_config.py +2 -2
  81. pulumi_gcp/networksecurity/__init__.py +1 -0
  82. pulumi_gcp/networksecurity/_inputs.py +673 -18
  83. pulumi_gcp/networksecurity/backend_authentication_config.py +847 -0
  84. pulumi_gcp/networksecurity/gateway_security_policy.py +0 -7
  85. pulumi_gcp/networksecurity/intercept_deployment.py +178 -94
  86. pulumi_gcp/networksecurity/intercept_deployment_group.py +161 -77
  87. pulumi_gcp/networksecurity/intercept_endpoint_group.py +161 -66
  88. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +137 -80
  89. pulumi_gcp/networksecurity/mirroring_deployment.py +200 -94
  90. pulumi_gcp/networksecurity/mirroring_deployment_group.py +181 -77
  91. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +185 -80
  92. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +165 -105
  93. pulumi_gcp/networksecurity/outputs.py +495 -12
  94. pulumi_gcp/networksecurity/tls_inspection_policy.py +14 -0
  95. pulumi_gcp/networkservices/endpoint_policy.py +12 -0
  96. pulumi_gcp/networkservices/gateway.py +242 -120
  97. pulumi_gcp/networkservices/grpc_route.py +12 -0
  98. pulumi_gcp/networkservices/http_route.py +16 -0
  99. pulumi_gcp/networkservices/mesh.py +16 -0
  100. pulumi_gcp/networkservices/service_binding.py +14 -0
  101. pulumi_gcp/networkservices/tcp_route.py +16 -0
  102. pulumi_gcp/networkservices/tls_route.py +12 -0
  103. pulumi_gcp/projects/__init__.py +2 -0
  104. pulumi_gcp/projects/get_iam_custom_role.py +198 -0
  105. pulumi_gcp/projects/get_iam_custom_roles.py +164 -0
  106. pulumi_gcp/projects/outputs.py +96 -0
  107. pulumi_gcp/provider.py +20 -0
  108. pulumi_gcp/pulumi-plugin.json +1 -1
  109. pulumi_gcp/servicenetworking/peered_dns_domain.py +4 -0
  110. pulumi_gcp/sql/outputs.py +8 -8
  111. pulumi_gcp/storage/_inputs.py +14 -6
  112. pulumi_gcp/storage/insights_report_config.py +121 -20
  113. pulumi_gcp/storage/outputs.py +7 -4
  114. pulumi_gcp/tpu/_inputs.py +21 -1
  115. pulumi_gcp/tpu/outputs.py +13 -1
  116. pulumi_gcp/tpu/v2_vm.py +2 -0
  117. pulumi_gcp/vmwareengine/_inputs.py +6 -0
  118. pulumi_gcp/vmwareengine/outputs.py +8 -0
  119. pulumi_gcp/workflows/workflow.py +75 -7
  120. pulumi_gcp/workstations/workstation_cluster.py +137 -1
  121. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/METADATA +2 -2
  122. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/RECORD +124 -113
  123. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/WHEEL +1 -1
  124. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,997 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['GoogleApiSourceArgs', 'GoogleApiSource']
20
+
21
+ @pulumi.input_type
22
+ class GoogleApiSourceArgs:
23
+ def __init__(__self__, *,
24
+ destination: pulumi.Input[str],
25
+ google_api_source_id: pulumi.Input[str],
26
+ location: pulumi.Input[str],
27
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
28
+ crypto_key_name: Optional[pulumi.Input[str]] = None,
29
+ display_name: Optional[pulumi.Input[str]] = None,
30
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
31
+ logging_config: Optional[pulumi.Input['GoogleApiSourceLoggingConfigArgs']] = None,
32
+ project: Optional[pulumi.Input[str]] = None):
33
+ """
34
+ The set of arguments for constructing a GoogleApiSource resource.
35
+ :param pulumi.Input[str] destination: Destination is the message bus that the GoogleApiSource is delivering to.
36
+ It must be point to the full resource name of a MessageBus. Format:
37
+ "projects/{PROJECT_ID}/locations/{region}/messagesBuses/{MESSAGE_BUS_ID)
38
+ :param pulumi.Input[str] google_api_source_id: The user-provided ID to be assigned to the GoogleApiSource. It should match
39
+ the format `^a-z?$`.
40
+
41
+
42
+ - - -
43
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
44
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Resource annotations.
45
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
46
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
47
+ :param pulumi.Input[str] crypto_key_name: Resource name of a KMS crypto key (managed by the user) used to
48
+ encrypt/decrypt their event data.
49
+ It must match the pattern
50
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
51
+ :param pulumi.Input[str] display_name: Resource display name.
52
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels.
53
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
54
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
55
+ :param pulumi.Input['GoogleApiSourceLoggingConfigArgs'] logging_config: The configuration for Platform Telemetry logging for Eventarc Advanced
56
+ resources.
57
+ Structure is documented below.
58
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
59
+ If it is not provided, the provider project is used.
60
+ """
61
+ pulumi.set(__self__, "destination", destination)
62
+ pulumi.set(__self__, "google_api_source_id", google_api_source_id)
63
+ pulumi.set(__self__, "location", location)
64
+ if annotations is not None:
65
+ pulumi.set(__self__, "annotations", annotations)
66
+ if crypto_key_name is not None:
67
+ pulumi.set(__self__, "crypto_key_name", crypto_key_name)
68
+ if display_name is not None:
69
+ pulumi.set(__self__, "display_name", display_name)
70
+ if labels is not None:
71
+ pulumi.set(__self__, "labels", labels)
72
+ if logging_config is not None:
73
+ pulumi.set(__self__, "logging_config", logging_config)
74
+ if project is not None:
75
+ pulumi.set(__self__, "project", project)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def destination(self) -> pulumi.Input[str]:
80
+ """
81
+ Destination is the message bus that the GoogleApiSource is delivering to.
82
+ It must be point to the full resource name of a MessageBus. Format:
83
+ "projects/{PROJECT_ID}/locations/{region}/messagesBuses/{MESSAGE_BUS_ID)
84
+ """
85
+ return pulumi.get(self, "destination")
86
+
87
+ @destination.setter
88
+ def destination(self, value: pulumi.Input[str]):
89
+ pulumi.set(self, "destination", value)
90
+
91
+ @property
92
+ @pulumi.getter(name="googleApiSourceId")
93
+ def google_api_source_id(self) -> pulumi.Input[str]:
94
+ """
95
+ The user-provided ID to be assigned to the GoogleApiSource. It should match
96
+ the format `^a-z?$`.
97
+
98
+
99
+ - - -
100
+ """
101
+ return pulumi.get(self, "google_api_source_id")
102
+
103
+ @google_api_source_id.setter
104
+ def google_api_source_id(self, value: pulumi.Input[str]):
105
+ pulumi.set(self, "google_api_source_id", value)
106
+
107
+ @property
108
+ @pulumi.getter
109
+ def location(self) -> pulumi.Input[str]:
110
+ """
111
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
112
+ """
113
+ return pulumi.get(self, "location")
114
+
115
+ @location.setter
116
+ def location(self, value: pulumi.Input[str]):
117
+ pulumi.set(self, "location", value)
118
+
119
+ @property
120
+ @pulumi.getter
121
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
122
+ """
123
+ Resource annotations.
124
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
125
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
126
+ """
127
+ return pulumi.get(self, "annotations")
128
+
129
+ @annotations.setter
130
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
131
+ pulumi.set(self, "annotations", value)
132
+
133
+ @property
134
+ @pulumi.getter(name="cryptoKeyName")
135
+ def crypto_key_name(self) -> Optional[pulumi.Input[str]]:
136
+ """
137
+ Resource name of a KMS crypto key (managed by the user) used to
138
+ encrypt/decrypt their event data.
139
+ It must match the pattern
140
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
141
+ """
142
+ return pulumi.get(self, "crypto_key_name")
143
+
144
+ @crypto_key_name.setter
145
+ def crypto_key_name(self, value: Optional[pulumi.Input[str]]):
146
+ pulumi.set(self, "crypto_key_name", value)
147
+
148
+ @property
149
+ @pulumi.getter(name="displayName")
150
+ def display_name(self) -> Optional[pulumi.Input[str]]:
151
+ """
152
+ Resource display name.
153
+ """
154
+ return pulumi.get(self, "display_name")
155
+
156
+ @display_name.setter
157
+ def display_name(self, value: Optional[pulumi.Input[str]]):
158
+ pulumi.set(self, "display_name", value)
159
+
160
+ @property
161
+ @pulumi.getter
162
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
163
+ """
164
+ Resource labels.
165
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
166
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
167
+ """
168
+ return pulumi.get(self, "labels")
169
+
170
+ @labels.setter
171
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
172
+ pulumi.set(self, "labels", value)
173
+
174
+ @property
175
+ @pulumi.getter(name="loggingConfig")
176
+ def logging_config(self) -> Optional[pulumi.Input['GoogleApiSourceLoggingConfigArgs']]:
177
+ """
178
+ The configuration for Platform Telemetry logging for Eventarc Advanced
179
+ resources.
180
+ Structure is documented below.
181
+ """
182
+ return pulumi.get(self, "logging_config")
183
+
184
+ @logging_config.setter
185
+ def logging_config(self, value: Optional[pulumi.Input['GoogleApiSourceLoggingConfigArgs']]):
186
+ pulumi.set(self, "logging_config", value)
187
+
188
+ @property
189
+ @pulumi.getter
190
+ def project(self) -> Optional[pulumi.Input[str]]:
191
+ """
192
+ The ID of the project in which the resource belongs.
193
+ If it is not provided, the provider project is used.
194
+ """
195
+ return pulumi.get(self, "project")
196
+
197
+ @project.setter
198
+ def project(self, value: Optional[pulumi.Input[str]]):
199
+ pulumi.set(self, "project", value)
200
+
201
+
202
+ @pulumi.input_type
203
+ class _GoogleApiSourceState:
204
+ def __init__(__self__, *,
205
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
206
+ create_time: Optional[pulumi.Input[str]] = None,
207
+ crypto_key_name: Optional[pulumi.Input[str]] = None,
208
+ destination: Optional[pulumi.Input[str]] = None,
209
+ display_name: Optional[pulumi.Input[str]] = None,
210
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
211
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
212
+ etag: Optional[pulumi.Input[str]] = None,
213
+ google_api_source_id: Optional[pulumi.Input[str]] = None,
214
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
215
+ location: Optional[pulumi.Input[str]] = None,
216
+ logging_config: Optional[pulumi.Input['GoogleApiSourceLoggingConfigArgs']] = None,
217
+ name: Optional[pulumi.Input[str]] = None,
218
+ project: Optional[pulumi.Input[str]] = None,
219
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
220
+ uid: Optional[pulumi.Input[str]] = None,
221
+ update_time: Optional[pulumi.Input[str]] = None):
222
+ """
223
+ Input properties used for looking up and filtering GoogleApiSource resources.
224
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Resource annotations.
225
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
226
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
227
+ :param pulumi.Input[str] create_time: The creation time.
228
+ :param pulumi.Input[str] crypto_key_name: Resource name of a KMS crypto key (managed by the user) used to
229
+ encrypt/decrypt their event data.
230
+ It must match the pattern
231
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
232
+ :param pulumi.Input[str] destination: Destination is the message bus that the GoogleApiSource is delivering to.
233
+ It must be point to the full resource name of a MessageBus. Format:
234
+ "projects/{PROJECT_ID}/locations/{region}/messagesBuses/{MESSAGE_BUS_ID)
235
+ :param pulumi.Input[str] display_name: Resource display name.
236
+ :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.
237
+ :param pulumi.Input[str] etag: This checksum is computed by the server based on the value of other
238
+ fields, and might be sent only on update and delete requests to ensure that
239
+ the client has an up-to-date value before proceeding.
240
+ :param pulumi.Input[str] google_api_source_id: The user-provided ID to be assigned to the GoogleApiSource. It should match
241
+ the format `^a-z?$`.
242
+
243
+
244
+ - - -
245
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels.
246
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
247
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
248
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
249
+ :param pulumi.Input['GoogleApiSourceLoggingConfigArgs'] logging_config: The configuration for Platform Telemetry logging for Eventarc Advanced
250
+ resources.
251
+ Structure is documented below.
252
+ :param pulumi.Input[str] name: Resource name of the form
253
+ projects/{project}/locations/{location}/googleApiSources/{google_api_source}
254
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
255
+ If it is not provided, the provider project is used.
256
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
257
+ and default labels configured on the provider.
258
+ :param pulumi.Input[str] uid: Server assigned unique identifier for the channel. The value is a UUID4
259
+ string and guaranteed to remain unchanged until the resource is deleted.
260
+ :param pulumi.Input[str] update_time: The last-modified time.
261
+ """
262
+ if annotations is not None:
263
+ pulumi.set(__self__, "annotations", annotations)
264
+ if create_time is not None:
265
+ pulumi.set(__self__, "create_time", create_time)
266
+ if crypto_key_name is not None:
267
+ pulumi.set(__self__, "crypto_key_name", crypto_key_name)
268
+ if destination is not None:
269
+ pulumi.set(__self__, "destination", destination)
270
+ if display_name is not None:
271
+ pulumi.set(__self__, "display_name", display_name)
272
+ if effective_annotations is not None:
273
+ pulumi.set(__self__, "effective_annotations", effective_annotations)
274
+ if effective_labels is not None:
275
+ pulumi.set(__self__, "effective_labels", effective_labels)
276
+ if etag is not None:
277
+ pulumi.set(__self__, "etag", etag)
278
+ if google_api_source_id is not None:
279
+ pulumi.set(__self__, "google_api_source_id", google_api_source_id)
280
+ if labels is not None:
281
+ pulumi.set(__self__, "labels", labels)
282
+ if location is not None:
283
+ pulumi.set(__self__, "location", location)
284
+ if logging_config is not None:
285
+ pulumi.set(__self__, "logging_config", logging_config)
286
+ if name is not None:
287
+ pulumi.set(__self__, "name", name)
288
+ if project is not None:
289
+ pulumi.set(__self__, "project", project)
290
+ if pulumi_labels is not None:
291
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
292
+ if uid is not None:
293
+ pulumi.set(__self__, "uid", uid)
294
+ if update_time is not None:
295
+ pulumi.set(__self__, "update_time", update_time)
296
+
297
+ @property
298
+ @pulumi.getter
299
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
300
+ """
301
+ Resource annotations.
302
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
303
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
304
+ """
305
+ return pulumi.get(self, "annotations")
306
+
307
+ @annotations.setter
308
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
309
+ pulumi.set(self, "annotations", value)
310
+
311
+ @property
312
+ @pulumi.getter(name="createTime")
313
+ def create_time(self) -> Optional[pulumi.Input[str]]:
314
+ """
315
+ The creation time.
316
+ """
317
+ return pulumi.get(self, "create_time")
318
+
319
+ @create_time.setter
320
+ def create_time(self, value: Optional[pulumi.Input[str]]):
321
+ pulumi.set(self, "create_time", value)
322
+
323
+ @property
324
+ @pulumi.getter(name="cryptoKeyName")
325
+ def crypto_key_name(self) -> Optional[pulumi.Input[str]]:
326
+ """
327
+ Resource name of a KMS crypto key (managed by the user) used to
328
+ encrypt/decrypt their event data.
329
+ It must match the pattern
330
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
331
+ """
332
+ return pulumi.get(self, "crypto_key_name")
333
+
334
+ @crypto_key_name.setter
335
+ def crypto_key_name(self, value: Optional[pulumi.Input[str]]):
336
+ pulumi.set(self, "crypto_key_name", value)
337
+
338
+ @property
339
+ @pulumi.getter
340
+ def destination(self) -> Optional[pulumi.Input[str]]:
341
+ """
342
+ Destination is the message bus that the GoogleApiSource is delivering to.
343
+ It must be point to the full resource name of a MessageBus. Format:
344
+ "projects/{PROJECT_ID}/locations/{region}/messagesBuses/{MESSAGE_BUS_ID)
345
+ """
346
+ return pulumi.get(self, "destination")
347
+
348
+ @destination.setter
349
+ def destination(self, value: Optional[pulumi.Input[str]]):
350
+ pulumi.set(self, "destination", value)
351
+
352
+ @property
353
+ @pulumi.getter(name="displayName")
354
+ def display_name(self) -> Optional[pulumi.Input[str]]:
355
+ """
356
+ Resource display name.
357
+ """
358
+ return pulumi.get(self, "display_name")
359
+
360
+ @display_name.setter
361
+ def display_name(self, value: Optional[pulumi.Input[str]]):
362
+ pulumi.set(self, "display_name", value)
363
+
364
+ @property
365
+ @pulumi.getter(name="effectiveAnnotations")
366
+ def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
367
+ return pulumi.get(self, "effective_annotations")
368
+
369
+ @effective_annotations.setter
370
+ def effective_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
371
+ pulumi.set(self, "effective_annotations", value)
372
+
373
+ @property
374
+ @pulumi.getter(name="effectiveLabels")
375
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
376
+ """
377
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
378
+ """
379
+ return pulumi.get(self, "effective_labels")
380
+
381
+ @effective_labels.setter
382
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
383
+ pulumi.set(self, "effective_labels", value)
384
+
385
+ @property
386
+ @pulumi.getter
387
+ def etag(self) -> Optional[pulumi.Input[str]]:
388
+ """
389
+ This checksum is computed by the server based on the value of other
390
+ fields, and might be sent only on update and delete requests to ensure that
391
+ the client has an up-to-date value before proceeding.
392
+ """
393
+ return pulumi.get(self, "etag")
394
+
395
+ @etag.setter
396
+ def etag(self, value: Optional[pulumi.Input[str]]):
397
+ pulumi.set(self, "etag", value)
398
+
399
+ @property
400
+ @pulumi.getter(name="googleApiSourceId")
401
+ def google_api_source_id(self) -> Optional[pulumi.Input[str]]:
402
+ """
403
+ The user-provided ID to be assigned to the GoogleApiSource. It should match
404
+ the format `^a-z?$`.
405
+
406
+
407
+ - - -
408
+ """
409
+ return pulumi.get(self, "google_api_source_id")
410
+
411
+ @google_api_source_id.setter
412
+ def google_api_source_id(self, value: Optional[pulumi.Input[str]]):
413
+ pulumi.set(self, "google_api_source_id", value)
414
+
415
+ @property
416
+ @pulumi.getter
417
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
418
+ """
419
+ Resource labels.
420
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
421
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
422
+ """
423
+ return pulumi.get(self, "labels")
424
+
425
+ @labels.setter
426
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
427
+ pulumi.set(self, "labels", value)
428
+
429
+ @property
430
+ @pulumi.getter
431
+ def location(self) -> Optional[pulumi.Input[str]]:
432
+ """
433
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
434
+ """
435
+ return pulumi.get(self, "location")
436
+
437
+ @location.setter
438
+ def location(self, value: Optional[pulumi.Input[str]]):
439
+ pulumi.set(self, "location", value)
440
+
441
+ @property
442
+ @pulumi.getter(name="loggingConfig")
443
+ def logging_config(self) -> Optional[pulumi.Input['GoogleApiSourceLoggingConfigArgs']]:
444
+ """
445
+ The configuration for Platform Telemetry logging for Eventarc Advanced
446
+ resources.
447
+ Structure is documented below.
448
+ """
449
+ return pulumi.get(self, "logging_config")
450
+
451
+ @logging_config.setter
452
+ def logging_config(self, value: Optional[pulumi.Input['GoogleApiSourceLoggingConfigArgs']]):
453
+ pulumi.set(self, "logging_config", value)
454
+
455
+ @property
456
+ @pulumi.getter
457
+ def name(self) -> Optional[pulumi.Input[str]]:
458
+ """
459
+ Resource name of the form
460
+ projects/{project}/locations/{location}/googleApiSources/{google_api_source}
461
+ """
462
+ return pulumi.get(self, "name")
463
+
464
+ @name.setter
465
+ def name(self, value: Optional[pulumi.Input[str]]):
466
+ pulumi.set(self, "name", value)
467
+
468
+ @property
469
+ @pulumi.getter
470
+ def project(self) -> Optional[pulumi.Input[str]]:
471
+ """
472
+ The ID of the project in which the resource belongs.
473
+ If it is not provided, the provider project is used.
474
+ """
475
+ return pulumi.get(self, "project")
476
+
477
+ @project.setter
478
+ def project(self, value: Optional[pulumi.Input[str]]):
479
+ pulumi.set(self, "project", value)
480
+
481
+ @property
482
+ @pulumi.getter(name="pulumiLabels")
483
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
484
+ """
485
+ The combination of labels configured directly on the resource
486
+ and default labels configured on the provider.
487
+ """
488
+ return pulumi.get(self, "pulumi_labels")
489
+
490
+ @pulumi_labels.setter
491
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
492
+ pulumi.set(self, "pulumi_labels", value)
493
+
494
+ @property
495
+ @pulumi.getter
496
+ def uid(self) -> Optional[pulumi.Input[str]]:
497
+ """
498
+ Server assigned unique identifier for the channel. The value is a UUID4
499
+ string and guaranteed to remain unchanged until the resource is deleted.
500
+ """
501
+ return pulumi.get(self, "uid")
502
+
503
+ @uid.setter
504
+ def uid(self, value: Optional[pulumi.Input[str]]):
505
+ pulumi.set(self, "uid", value)
506
+
507
+ @property
508
+ @pulumi.getter(name="updateTime")
509
+ def update_time(self) -> Optional[pulumi.Input[str]]:
510
+ """
511
+ The last-modified time.
512
+ """
513
+ return pulumi.get(self, "update_time")
514
+
515
+ @update_time.setter
516
+ def update_time(self, value: Optional[pulumi.Input[str]]):
517
+ pulumi.set(self, "update_time", value)
518
+
519
+
520
+ class GoogleApiSource(pulumi.CustomResource):
521
+ @overload
522
+ def __init__(__self__,
523
+ resource_name: str,
524
+ opts: Optional[pulumi.ResourceOptions] = None,
525
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
526
+ crypto_key_name: Optional[pulumi.Input[str]] = None,
527
+ destination: Optional[pulumi.Input[str]] = None,
528
+ display_name: Optional[pulumi.Input[str]] = None,
529
+ google_api_source_id: Optional[pulumi.Input[str]] = None,
530
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
531
+ location: Optional[pulumi.Input[str]] = None,
532
+ logging_config: Optional[pulumi.Input[Union['GoogleApiSourceLoggingConfigArgs', 'GoogleApiSourceLoggingConfigArgsDict']]] = None,
533
+ project: Optional[pulumi.Input[str]] = None,
534
+ __props__=None):
535
+ """
536
+ The Eventarc GoogleApiSource resource
537
+
538
+ To get more information about GoogleApiSource, see:
539
+
540
+ * [API documentation](https://cloud.google.com/eventarc/docs/reference/rest/v1/projects.locations.googleApiSources)
541
+ * How-to Guides
542
+ * [Official Documentation](https://cloud.google.com/eventarc/advanced/docs/publish-events/publish-events-google-sources)
543
+
544
+ ## Example Usage
545
+
546
+ ### Eventarc Google Api Source With Cmek
547
+
548
+ ```python
549
+ import pulumi
550
+ import pulumi_gcp as gcp
551
+
552
+ test_project = gcp.organizations.get_project(project_id="my-project-name")
553
+ test_key_ring = gcp.kms.get_kms_key_ring(name="keyring",
554
+ location="us-central1")
555
+ key = gcp.kms.get_kms_crypto_key(name="key",
556
+ key_ring=test_key_ring.id)
557
+ key_member = gcp.kms.CryptoKeyIAMMember("key_member",
558
+ crypto_key_id=key.id,
559
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
560
+ member=f"serviceAccount:service-{test_project.number}@gcp-sa-eventarc.iam.gserviceaccount.com")
561
+ message_bus = gcp.eventarc.MessageBus("message_bus",
562
+ location="us-central1",
563
+ message_bus_id="some-message-bus")
564
+ primary = gcp.eventarc.GoogleApiSource("primary",
565
+ location="us-central1",
566
+ google_api_source_id="some-google-api-source",
567
+ destination=message_bus.id,
568
+ crypto_key_name=key.id,
569
+ opts = pulumi.ResourceOptions(depends_on=[key_member]))
570
+ ```
571
+
572
+ ## Import
573
+
574
+ GoogleApiSource can be imported using any of these accepted formats:
575
+
576
+ * `projects/{{project}}/locations/{{location}}/googleApiSources/{{google_api_source_id}}`
577
+
578
+ * `{{project}}/{{location}}/{{google_api_source_id}}`
579
+
580
+ * `{{location}}/{{google_api_source_id}}`
581
+
582
+ When using the `pulumi import` command, GoogleApiSource can be imported using one of the formats above. For example:
583
+
584
+ ```sh
585
+ $ pulumi import gcp:eventarc/googleApiSource:GoogleApiSource default projects/{{project}}/locations/{{location}}/googleApiSources/{{google_api_source_id}}
586
+ ```
587
+
588
+ ```sh
589
+ $ pulumi import gcp:eventarc/googleApiSource:GoogleApiSource default {{project}}/{{location}}/{{google_api_source_id}}
590
+ ```
591
+
592
+ ```sh
593
+ $ pulumi import gcp:eventarc/googleApiSource:GoogleApiSource default {{location}}/{{google_api_source_id}}
594
+ ```
595
+
596
+ :param str resource_name: The name of the resource.
597
+ :param pulumi.ResourceOptions opts: Options for the resource.
598
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Resource annotations.
599
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
600
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
601
+ :param pulumi.Input[str] crypto_key_name: Resource name of a KMS crypto key (managed by the user) used to
602
+ encrypt/decrypt their event data.
603
+ It must match the pattern
604
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
605
+ :param pulumi.Input[str] destination: Destination is the message bus that the GoogleApiSource is delivering to.
606
+ It must be point to the full resource name of a MessageBus. Format:
607
+ "projects/{PROJECT_ID}/locations/{region}/messagesBuses/{MESSAGE_BUS_ID)
608
+ :param pulumi.Input[str] display_name: Resource display name.
609
+ :param pulumi.Input[str] google_api_source_id: The user-provided ID to be assigned to the GoogleApiSource. It should match
610
+ the format `^a-z?$`.
611
+
612
+
613
+ - - -
614
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels.
615
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
616
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
617
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
618
+ :param pulumi.Input[Union['GoogleApiSourceLoggingConfigArgs', 'GoogleApiSourceLoggingConfigArgsDict']] logging_config: The configuration for Platform Telemetry logging for Eventarc Advanced
619
+ resources.
620
+ Structure is documented below.
621
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
622
+ If it is not provided, the provider project is used.
623
+ """
624
+ ...
625
+ @overload
626
+ def __init__(__self__,
627
+ resource_name: str,
628
+ args: GoogleApiSourceArgs,
629
+ opts: Optional[pulumi.ResourceOptions] = None):
630
+ """
631
+ The Eventarc GoogleApiSource resource
632
+
633
+ To get more information about GoogleApiSource, see:
634
+
635
+ * [API documentation](https://cloud.google.com/eventarc/docs/reference/rest/v1/projects.locations.googleApiSources)
636
+ * How-to Guides
637
+ * [Official Documentation](https://cloud.google.com/eventarc/advanced/docs/publish-events/publish-events-google-sources)
638
+
639
+ ## Example Usage
640
+
641
+ ### Eventarc Google Api Source With Cmek
642
+
643
+ ```python
644
+ import pulumi
645
+ import pulumi_gcp as gcp
646
+
647
+ test_project = gcp.organizations.get_project(project_id="my-project-name")
648
+ test_key_ring = gcp.kms.get_kms_key_ring(name="keyring",
649
+ location="us-central1")
650
+ key = gcp.kms.get_kms_crypto_key(name="key",
651
+ key_ring=test_key_ring.id)
652
+ key_member = gcp.kms.CryptoKeyIAMMember("key_member",
653
+ crypto_key_id=key.id,
654
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
655
+ member=f"serviceAccount:service-{test_project.number}@gcp-sa-eventarc.iam.gserviceaccount.com")
656
+ message_bus = gcp.eventarc.MessageBus("message_bus",
657
+ location="us-central1",
658
+ message_bus_id="some-message-bus")
659
+ primary = gcp.eventarc.GoogleApiSource("primary",
660
+ location="us-central1",
661
+ google_api_source_id="some-google-api-source",
662
+ destination=message_bus.id,
663
+ crypto_key_name=key.id,
664
+ opts = pulumi.ResourceOptions(depends_on=[key_member]))
665
+ ```
666
+
667
+ ## Import
668
+
669
+ GoogleApiSource can be imported using any of these accepted formats:
670
+
671
+ * `projects/{{project}}/locations/{{location}}/googleApiSources/{{google_api_source_id}}`
672
+
673
+ * `{{project}}/{{location}}/{{google_api_source_id}}`
674
+
675
+ * `{{location}}/{{google_api_source_id}}`
676
+
677
+ When using the `pulumi import` command, GoogleApiSource can be imported using one of the formats above. For example:
678
+
679
+ ```sh
680
+ $ pulumi import gcp:eventarc/googleApiSource:GoogleApiSource default projects/{{project}}/locations/{{location}}/googleApiSources/{{google_api_source_id}}
681
+ ```
682
+
683
+ ```sh
684
+ $ pulumi import gcp:eventarc/googleApiSource:GoogleApiSource default {{project}}/{{location}}/{{google_api_source_id}}
685
+ ```
686
+
687
+ ```sh
688
+ $ pulumi import gcp:eventarc/googleApiSource:GoogleApiSource default {{location}}/{{google_api_source_id}}
689
+ ```
690
+
691
+ :param str resource_name: The name of the resource.
692
+ :param GoogleApiSourceArgs args: The arguments to use to populate this resource's properties.
693
+ :param pulumi.ResourceOptions opts: Options for the resource.
694
+ """
695
+ ...
696
+ def __init__(__self__, resource_name: str, *args, **kwargs):
697
+ resource_args, opts = _utilities.get_resource_args_opts(GoogleApiSourceArgs, pulumi.ResourceOptions, *args, **kwargs)
698
+ if resource_args is not None:
699
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
700
+ else:
701
+ __self__._internal_init(resource_name, *args, **kwargs)
702
+
703
+ def _internal_init(__self__,
704
+ resource_name: str,
705
+ opts: Optional[pulumi.ResourceOptions] = None,
706
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
707
+ crypto_key_name: Optional[pulumi.Input[str]] = None,
708
+ destination: Optional[pulumi.Input[str]] = None,
709
+ display_name: Optional[pulumi.Input[str]] = None,
710
+ google_api_source_id: Optional[pulumi.Input[str]] = None,
711
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
712
+ location: Optional[pulumi.Input[str]] = None,
713
+ logging_config: Optional[pulumi.Input[Union['GoogleApiSourceLoggingConfigArgs', 'GoogleApiSourceLoggingConfigArgsDict']]] = None,
714
+ project: Optional[pulumi.Input[str]] = None,
715
+ __props__=None):
716
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
717
+ if not isinstance(opts, pulumi.ResourceOptions):
718
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
719
+ if opts.id is None:
720
+ if __props__ is not None:
721
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
722
+ __props__ = GoogleApiSourceArgs.__new__(GoogleApiSourceArgs)
723
+
724
+ __props__.__dict__["annotations"] = annotations
725
+ __props__.__dict__["crypto_key_name"] = crypto_key_name
726
+ if destination is None and not opts.urn:
727
+ raise TypeError("Missing required property 'destination'")
728
+ __props__.__dict__["destination"] = destination
729
+ __props__.__dict__["display_name"] = display_name
730
+ if google_api_source_id is None and not opts.urn:
731
+ raise TypeError("Missing required property 'google_api_source_id'")
732
+ __props__.__dict__["google_api_source_id"] = google_api_source_id
733
+ __props__.__dict__["labels"] = labels
734
+ if location is None and not opts.urn:
735
+ raise TypeError("Missing required property 'location'")
736
+ __props__.__dict__["location"] = location
737
+ __props__.__dict__["logging_config"] = logging_config
738
+ __props__.__dict__["project"] = project
739
+ __props__.__dict__["create_time"] = None
740
+ __props__.__dict__["effective_annotations"] = None
741
+ __props__.__dict__["effective_labels"] = None
742
+ __props__.__dict__["etag"] = None
743
+ __props__.__dict__["name"] = None
744
+ __props__.__dict__["pulumi_labels"] = None
745
+ __props__.__dict__["uid"] = None
746
+ __props__.__dict__["update_time"] = None
747
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
748
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
749
+ super(GoogleApiSource, __self__).__init__(
750
+ 'gcp:eventarc/googleApiSource:GoogleApiSource',
751
+ resource_name,
752
+ __props__,
753
+ opts)
754
+
755
+ @staticmethod
756
+ def get(resource_name: str,
757
+ id: pulumi.Input[str],
758
+ opts: Optional[pulumi.ResourceOptions] = None,
759
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
760
+ create_time: Optional[pulumi.Input[str]] = None,
761
+ crypto_key_name: Optional[pulumi.Input[str]] = None,
762
+ destination: Optional[pulumi.Input[str]] = None,
763
+ display_name: Optional[pulumi.Input[str]] = None,
764
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
765
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
766
+ etag: Optional[pulumi.Input[str]] = None,
767
+ google_api_source_id: Optional[pulumi.Input[str]] = None,
768
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
769
+ location: Optional[pulumi.Input[str]] = None,
770
+ logging_config: Optional[pulumi.Input[Union['GoogleApiSourceLoggingConfigArgs', 'GoogleApiSourceLoggingConfigArgsDict']]] = None,
771
+ name: Optional[pulumi.Input[str]] = None,
772
+ project: Optional[pulumi.Input[str]] = None,
773
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
774
+ uid: Optional[pulumi.Input[str]] = None,
775
+ update_time: Optional[pulumi.Input[str]] = None) -> 'GoogleApiSource':
776
+ """
777
+ Get an existing GoogleApiSource resource's state with the given name, id, and optional extra
778
+ properties used to qualify the lookup.
779
+
780
+ :param str resource_name: The unique name of the resulting resource.
781
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
782
+ :param pulumi.ResourceOptions opts: Options for the resource.
783
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Resource annotations.
784
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
785
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
786
+ :param pulumi.Input[str] create_time: The creation time.
787
+ :param pulumi.Input[str] crypto_key_name: Resource name of a KMS crypto key (managed by the user) used to
788
+ encrypt/decrypt their event data.
789
+ It must match the pattern
790
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
791
+ :param pulumi.Input[str] destination: Destination is the message bus that the GoogleApiSource is delivering to.
792
+ It must be point to the full resource name of a MessageBus. Format:
793
+ "projects/{PROJECT_ID}/locations/{region}/messagesBuses/{MESSAGE_BUS_ID)
794
+ :param pulumi.Input[str] display_name: Resource display name.
795
+ :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.
796
+ :param pulumi.Input[str] etag: This checksum is computed by the server based on the value of other
797
+ fields, and might be sent only on update and delete requests to ensure that
798
+ the client has an up-to-date value before proceeding.
799
+ :param pulumi.Input[str] google_api_source_id: The user-provided ID to be assigned to the GoogleApiSource. It should match
800
+ the format `^a-z?$`.
801
+
802
+
803
+ - - -
804
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels.
805
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
806
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
807
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
808
+ :param pulumi.Input[Union['GoogleApiSourceLoggingConfigArgs', 'GoogleApiSourceLoggingConfigArgsDict']] logging_config: The configuration for Platform Telemetry logging for Eventarc Advanced
809
+ resources.
810
+ Structure is documented below.
811
+ :param pulumi.Input[str] name: Resource name of the form
812
+ projects/{project}/locations/{location}/googleApiSources/{google_api_source}
813
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
814
+ If it is not provided, the provider project is used.
815
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
816
+ and default labels configured on the provider.
817
+ :param pulumi.Input[str] uid: Server assigned unique identifier for the channel. The value is a UUID4
818
+ string and guaranteed to remain unchanged until the resource is deleted.
819
+ :param pulumi.Input[str] update_time: The last-modified time.
820
+ """
821
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
822
+
823
+ __props__ = _GoogleApiSourceState.__new__(_GoogleApiSourceState)
824
+
825
+ __props__.__dict__["annotations"] = annotations
826
+ __props__.__dict__["create_time"] = create_time
827
+ __props__.__dict__["crypto_key_name"] = crypto_key_name
828
+ __props__.__dict__["destination"] = destination
829
+ __props__.__dict__["display_name"] = display_name
830
+ __props__.__dict__["effective_annotations"] = effective_annotations
831
+ __props__.__dict__["effective_labels"] = effective_labels
832
+ __props__.__dict__["etag"] = etag
833
+ __props__.__dict__["google_api_source_id"] = google_api_source_id
834
+ __props__.__dict__["labels"] = labels
835
+ __props__.__dict__["location"] = location
836
+ __props__.__dict__["logging_config"] = logging_config
837
+ __props__.__dict__["name"] = name
838
+ __props__.__dict__["project"] = project
839
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
840
+ __props__.__dict__["uid"] = uid
841
+ __props__.__dict__["update_time"] = update_time
842
+ return GoogleApiSource(resource_name, opts=opts, __props__=__props__)
843
+
844
+ @property
845
+ @pulumi.getter
846
+ def annotations(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
847
+ """
848
+ Resource annotations.
849
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
850
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
851
+ """
852
+ return pulumi.get(self, "annotations")
853
+
854
+ @property
855
+ @pulumi.getter(name="createTime")
856
+ def create_time(self) -> pulumi.Output[str]:
857
+ """
858
+ The creation time.
859
+ """
860
+ return pulumi.get(self, "create_time")
861
+
862
+ @property
863
+ @pulumi.getter(name="cryptoKeyName")
864
+ def crypto_key_name(self) -> pulumi.Output[Optional[str]]:
865
+ """
866
+ Resource name of a KMS crypto key (managed by the user) used to
867
+ encrypt/decrypt their event data.
868
+ It must match the pattern
869
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
870
+ """
871
+ return pulumi.get(self, "crypto_key_name")
872
+
873
+ @property
874
+ @pulumi.getter
875
+ def destination(self) -> pulumi.Output[str]:
876
+ """
877
+ Destination is the message bus that the GoogleApiSource is delivering to.
878
+ It must be point to the full resource name of a MessageBus. Format:
879
+ "projects/{PROJECT_ID}/locations/{region}/messagesBuses/{MESSAGE_BUS_ID)
880
+ """
881
+ return pulumi.get(self, "destination")
882
+
883
+ @property
884
+ @pulumi.getter(name="displayName")
885
+ def display_name(self) -> pulumi.Output[Optional[str]]:
886
+ """
887
+ Resource display name.
888
+ """
889
+ return pulumi.get(self, "display_name")
890
+
891
+ @property
892
+ @pulumi.getter(name="effectiveAnnotations")
893
+ def effective_annotations(self) -> pulumi.Output[Mapping[str, str]]:
894
+ return pulumi.get(self, "effective_annotations")
895
+
896
+ @property
897
+ @pulumi.getter(name="effectiveLabels")
898
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
899
+ """
900
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
901
+ """
902
+ return pulumi.get(self, "effective_labels")
903
+
904
+ @property
905
+ @pulumi.getter
906
+ def etag(self) -> pulumi.Output[str]:
907
+ """
908
+ This checksum is computed by the server based on the value of other
909
+ fields, and might be sent only on update and delete requests to ensure that
910
+ the client has an up-to-date value before proceeding.
911
+ """
912
+ return pulumi.get(self, "etag")
913
+
914
+ @property
915
+ @pulumi.getter(name="googleApiSourceId")
916
+ def google_api_source_id(self) -> pulumi.Output[str]:
917
+ """
918
+ The user-provided ID to be assigned to the GoogleApiSource. It should match
919
+ the format `^a-z?$`.
920
+
921
+
922
+ - - -
923
+ """
924
+ return pulumi.get(self, "google_api_source_id")
925
+
926
+ @property
927
+ @pulumi.getter
928
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
929
+ """
930
+ Resource labels.
931
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
932
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
933
+ """
934
+ return pulumi.get(self, "labels")
935
+
936
+ @property
937
+ @pulumi.getter
938
+ def location(self) -> pulumi.Output[str]:
939
+ """
940
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
941
+ """
942
+ return pulumi.get(self, "location")
943
+
944
+ @property
945
+ @pulumi.getter(name="loggingConfig")
946
+ def logging_config(self) -> pulumi.Output['outputs.GoogleApiSourceLoggingConfig']:
947
+ """
948
+ The configuration for Platform Telemetry logging for Eventarc Advanced
949
+ resources.
950
+ Structure is documented below.
951
+ """
952
+ return pulumi.get(self, "logging_config")
953
+
954
+ @property
955
+ @pulumi.getter
956
+ def name(self) -> pulumi.Output[str]:
957
+ """
958
+ Resource name of the form
959
+ projects/{project}/locations/{location}/googleApiSources/{google_api_source}
960
+ """
961
+ return pulumi.get(self, "name")
962
+
963
+ @property
964
+ @pulumi.getter
965
+ def project(self) -> pulumi.Output[str]:
966
+ """
967
+ The ID of the project in which the resource belongs.
968
+ If it is not provided, the provider project is used.
969
+ """
970
+ return pulumi.get(self, "project")
971
+
972
+ @property
973
+ @pulumi.getter(name="pulumiLabels")
974
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
975
+ """
976
+ The combination of labels configured directly on the resource
977
+ and default labels configured on the provider.
978
+ """
979
+ return pulumi.get(self, "pulumi_labels")
980
+
981
+ @property
982
+ @pulumi.getter
983
+ def uid(self) -> pulumi.Output[str]:
984
+ """
985
+ Server assigned unique identifier for the channel. The value is a UUID4
986
+ string and guaranteed to remain unchanged until the resource is deleted.
987
+ """
988
+ return pulumi.get(self, "uid")
989
+
990
+ @property
991
+ @pulumi.getter(name="updateTime")
992
+ def update_time(self) -> pulumi.Output[str]:
993
+ """
994
+ The last-modified time.
995
+ """
996
+ return pulumi.get(self, "update_time")
997
+