pulumi-gcp 8.34.0a1749538186__py3-none-any.whl → 8.34.0a1749648575__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 (65) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/alloydb/cluster.py +16 -64
  3. pulumi_gcp/apigee/_inputs.py +89 -0
  4. pulumi_gcp/apigee/environment.py +68 -2
  5. pulumi_gcp/apigee/outputs.py +88 -0
  6. pulumi_gcp/apihub/__init__.py +1 -0
  7. pulumi_gcp/apihub/_inputs.py +184 -0
  8. pulumi_gcp/apihub/curation.py +812 -0
  9. pulumi_gcp/apihub/outputs.py +165 -0
  10. pulumi_gcp/beyondcorp/get_security_gateway.py +12 -1
  11. pulumi_gcp/beyondcorp/security_gateway.py +28 -0
  12. pulumi_gcp/cloudrunv2/_inputs.py +463 -0
  13. pulumi_gcp/cloudrunv2/outputs.py +581 -1
  14. pulumi_gcp/cloudrunv2/worker_pool.py +0 -8
  15. pulumi_gcp/colab/runtime_template.py +4 -26
  16. pulumi_gcp/compute/__init__.py +3 -0
  17. pulumi_gcp/compute/_inputs.py +1551 -0
  18. pulumi_gcp/compute/interconnect.py +32 -0
  19. pulumi_gcp/compute/interconnect_attachment.py +28 -0
  20. pulumi_gcp/compute/interconnect_attachment_group.py +636 -0
  21. pulumi_gcp/compute/interconnect_group.py +586 -0
  22. pulumi_gcp/compute/outputs.py +1087 -0
  23. pulumi_gcp/compute/snapshot_settings.py +285 -0
  24. pulumi_gcp/container/_inputs.py +51 -18
  25. pulumi_gcp/container/cluster.py +47 -0
  26. pulumi_gcp/container/get_cluster.py +12 -1
  27. pulumi_gcp/container/outputs.py +71 -16
  28. pulumi_gcp/dataplex/_inputs.py +20 -0
  29. pulumi_gcp/dataplex/datascan.py +2 -0
  30. pulumi_gcp/dataplex/outputs.py +15 -1
  31. pulumi_gcp/eventarc/_inputs.py +12 -5
  32. pulumi_gcp/eventarc/outputs.py +8 -3
  33. pulumi_gcp/eventarc/pipeline.py +0 -12
  34. pulumi_gcp/gemini/data_sharing_with_google_setting.py +58 -9
  35. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +11 -16
  36. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +51 -2
  37. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +11 -16
  38. pulumi_gcp/gkehub/_inputs.py +84 -7
  39. pulumi_gcp/gkehub/feature.py +38 -0
  40. pulumi_gcp/gkehub/outputs.py +102 -7
  41. pulumi_gcp/gkehub/scope_rbac_role_binding.py +54 -2
  42. pulumi_gcp/gkeonprem/_inputs.py +54 -0
  43. pulumi_gcp/gkeonprem/outputs.py +49 -0
  44. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +71 -0
  45. pulumi_gcp/iam/workload_identity_pool_namespace.py +4 -4
  46. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  47. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  48. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  49. pulumi_gcp/managedkafka/connector.py +4 -4
  50. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  51. pulumi_gcp/networksecurity/backend_authentication_config.py +64 -0
  52. pulumi_gcp/orgpolicy/policy.py +2 -2
  53. pulumi_gcp/pubsub/_inputs.py +392 -0
  54. pulumi_gcp/pubsub/get_subscription.py +12 -1
  55. pulumi_gcp/pubsub/get_topic.py +12 -1
  56. pulumi_gcp/pubsub/outputs.py +548 -0
  57. pulumi_gcp/pubsub/subscription.py +67 -6
  58. pulumi_gcp/pubsub/topic.py +61 -0
  59. pulumi_gcp/pulumi-plugin.json +1 -1
  60. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  61. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  62. {pulumi_gcp-8.34.0a1749538186.dist-info → pulumi_gcp-8.34.0a1749648575.dist-info}/METADATA +1 -1
  63. {pulumi_gcp-8.34.0a1749538186.dist-info → pulumi_gcp-8.34.0a1749648575.dist-info}/RECORD +65 -61
  64. {pulumi_gcp-8.34.0a1749538186.dist-info → pulumi_gcp-8.34.0a1749648575.dist-info}/WHEEL +0 -0
  65. {pulumi_gcp-8.34.0a1749538186.dist-info → pulumi_gcp-8.34.0a1749648575.dist-info}/top_level.txt +0 -0
@@ -31,6 +31,8 @@ __all__ = [
31
31
  'SubscriptionExpirationPolicy',
32
32
  'SubscriptionIAMBindingCondition',
33
33
  'SubscriptionIAMMemberCondition',
34
+ 'SubscriptionMessageTransform',
35
+ 'SubscriptionMessageTransformJavascriptUdf',
34
36
  'SubscriptionPushConfig',
35
37
  'SubscriptionPushConfigNoWrapper',
36
38
  'SubscriptionPushConfigOidcToken',
@@ -48,12 +50,16 @@ __all__ = [
48
50
  'TopicIngestionDataSourceSettingsConfluentCloud',
49
51
  'TopicIngestionDataSourceSettingsPlatformLogsSettings',
50
52
  'TopicMessageStoragePolicy',
53
+ 'TopicMessageTransform',
54
+ 'TopicMessageTransformJavascriptUdf',
51
55
  'TopicSchemaSettings',
52
56
  'GetSubscriptionBigqueryConfigResult',
53
57
  'GetSubscriptionCloudStorageConfigResult',
54
58
  'GetSubscriptionCloudStorageConfigAvroConfigResult',
55
59
  'GetSubscriptionDeadLetterPolicyResult',
56
60
  'GetSubscriptionExpirationPolicyResult',
61
+ 'GetSubscriptionMessageTransformResult',
62
+ 'GetSubscriptionMessageTransformJavascriptUdfResult',
57
63
  'GetSubscriptionPushConfigResult',
58
64
  'GetSubscriptionPushConfigNoWrapperResult',
59
65
  'GetSubscriptionPushConfigOidcTokenResult',
@@ -69,6 +75,8 @@ __all__ = [
69
75
  'GetTopicIngestionDataSourceSettingConfluentCloudResult',
70
76
  'GetTopicIngestionDataSourceSettingPlatformLogsSettingResult',
71
77
  'GetTopicMessageStoragePolicyResult',
78
+ 'GetTopicMessageTransformResult',
79
+ 'GetTopicMessageTransformJavascriptUdfResult',
72
80
  'GetTopicSchemaSettingResult',
73
81
  ]
74
82
 
@@ -834,6 +842,160 @@ class SubscriptionIAMMemberCondition(dict):
834
842
  return pulumi.get(self, "description")
835
843
 
836
844
 
845
+ @pulumi.output_type
846
+ class SubscriptionMessageTransform(dict):
847
+ @staticmethod
848
+ def __key_warning(key: str):
849
+ suggest = None
850
+ if key == "javascriptUdf":
851
+ suggest = "javascript_udf"
852
+
853
+ if suggest:
854
+ pulumi.log.warn(f"Key '{key}' not found in SubscriptionMessageTransform. Access the value via the '{suggest}' property getter instead.")
855
+
856
+ def __getitem__(self, key: str) -> Any:
857
+ SubscriptionMessageTransform.__key_warning(key)
858
+ return super().__getitem__(key)
859
+
860
+ def get(self, key: str, default = None) -> Any:
861
+ SubscriptionMessageTransform.__key_warning(key)
862
+ return super().get(key, default)
863
+
864
+ def __init__(__self__, *,
865
+ disabled: Optional[builtins.bool] = None,
866
+ javascript_udf: Optional['outputs.SubscriptionMessageTransformJavascriptUdf'] = None):
867
+ """
868
+ :param builtins.bool disabled: Controls whether or not to use this transform. If not set or `false`,
869
+ the transform will be applied to messages. Default: `true`.
870
+ :param 'SubscriptionMessageTransformJavascriptUdfArgs' javascript_udf: Javascript User Defined Function. If multiple Javascript UDFs are specified on a resource,
871
+ each one must have a unique `function_name`.
872
+ Structure is documented below.
873
+ """
874
+ if disabled is not None:
875
+ pulumi.set(__self__, "disabled", disabled)
876
+ if javascript_udf is not None:
877
+ pulumi.set(__self__, "javascript_udf", javascript_udf)
878
+
879
+ @property
880
+ @pulumi.getter
881
+ def disabled(self) -> Optional[builtins.bool]:
882
+ """
883
+ Controls whether or not to use this transform. If not set or `false`,
884
+ the transform will be applied to messages. Default: `true`.
885
+ """
886
+ return pulumi.get(self, "disabled")
887
+
888
+ @property
889
+ @pulumi.getter(name="javascriptUdf")
890
+ def javascript_udf(self) -> Optional['outputs.SubscriptionMessageTransformJavascriptUdf']:
891
+ """
892
+ Javascript User Defined Function. If multiple Javascript UDFs are specified on a resource,
893
+ each one must have a unique `function_name`.
894
+ Structure is documented below.
895
+ """
896
+ return pulumi.get(self, "javascript_udf")
897
+
898
+
899
+ @pulumi.output_type
900
+ class SubscriptionMessageTransformJavascriptUdf(dict):
901
+ @staticmethod
902
+ def __key_warning(key: str):
903
+ suggest = None
904
+ if key == "functionName":
905
+ suggest = "function_name"
906
+
907
+ if suggest:
908
+ pulumi.log.warn(f"Key '{key}' not found in SubscriptionMessageTransformJavascriptUdf. Access the value via the '{suggest}' property getter instead.")
909
+
910
+ def __getitem__(self, key: str) -> Any:
911
+ SubscriptionMessageTransformJavascriptUdf.__key_warning(key)
912
+ return super().__getitem__(key)
913
+
914
+ def get(self, key: str, default = None) -> Any:
915
+ SubscriptionMessageTransformJavascriptUdf.__key_warning(key)
916
+ return super().get(key, default)
917
+
918
+ def __init__(__self__, *,
919
+ code: builtins.str,
920
+ function_name: builtins.str):
921
+ """
922
+ :param builtins.str code: JavaScript code that contains a function `function_name` with the
923
+ following signature:
924
+ ```
925
+ /**
926
+ * Transforms a Pub/Sub message.
927
+ *
928
+ * @return {(Object<string, (string | Object<string, string>)>|null)} - To
929
+ * filter a message, return `null`. To transform a message return a map
930
+ * with the following keys:
931
+ * - (required) 'data' : {string}
932
+ * - (optional) 'attributes' : {Object<string, string>}
933
+ * Returning empty `attributes` will remove all attributes from the
934
+ * message.
935
+ *
936
+ * @param {(Object<string, (string | Object<string, string>)>} Pub/Sub
937
+ * message. Keys:
938
+ * - (required) 'data' : {string}
939
+ * - (required) 'attributes' : {Object<string, string>}
940
+ *
941
+ * @param {Object<string, any>} metadata - Pub/Sub message metadata.
942
+ * Keys:
943
+ * - (required) 'message_id' : {string}
944
+ * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format
945
+ * - (optional) 'ordering_key': {string}
946
+ */
947
+ function <function_name>(message, metadata) {
948
+ }
949
+ ```
950
+ :param builtins.str function_name: Name of the JavaScript function that should be applied to Pub/Sub messages.
951
+ """
952
+ pulumi.set(__self__, "code", code)
953
+ pulumi.set(__self__, "function_name", function_name)
954
+
955
+ @property
956
+ @pulumi.getter
957
+ def code(self) -> builtins.str:
958
+ """
959
+ JavaScript code that contains a function `function_name` with the
960
+ following signature:
961
+ ```
962
+ /**
963
+ * Transforms a Pub/Sub message.
964
+ *
965
+ * @return {(Object<string, (string | Object<string, string>)>|null)} - To
966
+ * filter a message, return `null`. To transform a message return a map
967
+ * with the following keys:
968
+ * - (required) 'data' : {string}
969
+ * - (optional) 'attributes' : {Object<string, string>}
970
+ * Returning empty `attributes` will remove all attributes from the
971
+ * message.
972
+ *
973
+ * @param {(Object<string, (string | Object<string, string>)>} Pub/Sub
974
+ * message. Keys:
975
+ * - (required) 'data' : {string}
976
+ * - (required) 'attributes' : {Object<string, string>}
977
+ *
978
+ * @param {Object<string, any>} metadata - Pub/Sub message metadata.
979
+ * Keys:
980
+ * - (required) 'message_id' : {string}
981
+ * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format
982
+ * - (optional) 'ordering_key': {string}
983
+ */
984
+ function <function_name>(message, metadata) {
985
+ }
986
+ ```
987
+ """
988
+ return pulumi.get(self, "code")
989
+
990
+ @property
991
+ @pulumi.getter(name="functionName")
992
+ def function_name(self) -> builtins.str:
993
+ """
994
+ Name of the JavaScript function that should be applied to Pub/Sub messages.
995
+ """
996
+ return pulumi.get(self, "function_name")
997
+
998
+
837
999
  @pulumi.output_type
838
1000
  class SubscriptionPushConfig(dict):
839
1001
  @staticmethod
@@ -1919,6 +2081,160 @@ class TopicMessageStoragePolicy(dict):
1919
2081
  return pulumi.get(self, "enforce_in_transit")
1920
2082
 
1921
2083
 
2084
+ @pulumi.output_type
2085
+ class TopicMessageTransform(dict):
2086
+ @staticmethod
2087
+ def __key_warning(key: str):
2088
+ suggest = None
2089
+ if key == "javascriptUdf":
2090
+ suggest = "javascript_udf"
2091
+
2092
+ if suggest:
2093
+ pulumi.log.warn(f"Key '{key}' not found in TopicMessageTransform. Access the value via the '{suggest}' property getter instead.")
2094
+
2095
+ def __getitem__(self, key: str) -> Any:
2096
+ TopicMessageTransform.__key_warning(key)
2097
+ return super().__getitem__(key)
2098
+
2099
+ def get(self, key: str, default = None) -> Any:
2100
+ TopicMessageTransform.__key_warning(key)
2101
+ return super().get(key, default)
2102
+
2103
+ def __init__(__self__, *,
2104
+ disabled: Optional[builtins.bool] = None,
2105
+ javascript_udf: Optional['outputs.TopicMessageTransformJavascriptUdf'] = None):
2106
+ """
2107
+ :param builtins.bool disabled: Controls whether or not to use this transform. If not set or `false`,
2108
+ the transform will be applied to messages. Default: `true`.
2109
+ :param 'TopicMessageTransformJavascriptUdfArgs' javascript_udf: Javascript User Defined Function. If multiple Javascript UDFs are specified on a resource,
2110
+ each one must have a unique `function_name`.
2111
+ Structure is documented below.
2112
+ """
2113
+ if disabled is not None:
2114
+ pulumi.set(__self__, "disabled", disabled)
2115
+ if javascript_udf is not None:
2116
+ pulumi.set(__self__, "javascript_udf", javascript_udf)
2117
+
2118
+ @property
2119
+ @pulumi.getter
2120
+ def disabled(self) -> Optional[builtins.bool]:
2121
+ """
2122
+ Controls whether or not to use this transform. If not set or `false`,
2123
+ the transform will be applied to messages. Default: `true`.
2124
+ """
2125
+ return pulumi.get(self, "disabled")
2126
+
2127
+ @property
2128
+ @pulumi.getter(name="javascriptUdf")
2129
+ def javascript_udf(self) -> Optional['outputs.TopicMessageTransformJavascriptUdf']:
2130
+ """
2131
+ Javascript User Defined Function. If multiple Javascript UDFs are specified on a resource,
2132
+ each one must have a unique `function_name`.
2133
+ Structure is documented below.
2134
+ """
2135
+ return pulumi.get(self, "javascript_udf")
2136
+
2137
+
2138
+ @pulumi.output_type
2139
+ class TopicMessageTransformJavascriptUdf(dict):
2140
+ @staticmethod
2141
+ def __key_warning(key: str):
2142
+ suggest = None
2143
+ if key == "functionName":
2144
+ suggest = "function_name"
2145
+
2146
+ if suggest:
2147
+ pulumi.log.warn(f"Key '{key}' not found in TopicMessageTransformJavascriptUdf. Access the value via the '{suggest}' property getter instead.")
2148
+
2149
+ def __getitem__(self, key: str) -> Any:
2150
+ TopicMessageTransformJavascriptUdf.__key_warning(key)
2151
+ return super().__getitem__(key)
2152
+
2153
+ def get(self, key: str, default = None) -> Any:
2154
+ TopicMessageTransformJavascriptUdf.__key_warning(key)
2155
+ return super().get(key, default)
2156
+
2157
+ def __init__(__self__, *,
2158
+ code: builtins.str,
2159
+ function_name: builtins.str):
2160
+ """
2161
+ :param builtins.str code: JavaScript code that contains a function `function_name` with the
2162
+ following signature:
2163
+ ```
2164
+ /**
2165
+ * Transforms a Pub/Sub message.
2166
+ *
2167
+ * @return {(Object<string, (string | Object<string, string>)>|null)} - To
2168
+ * filter a message, return `null`. To transform a message return a map
2169
+ * with the following keys:
2170
+ * - (required) 'data' : {string}
2171
+ * - (optional) 'attributes' : {Object<string, string>}
2172
+ * Returning empty `attributes` will remove all attributes from the
2173
+ * message.
2174
+ *
2175
+ * @param {(Object<string, (string | Object<string, string>)>} Pub/Sub
2176
+ * message. Keys:
2177
+ * - (required) 'data' : {string}
2178
+ * - (required) 'attributes' : {Object<string, string>}
2179
+ *
2180
+ * @param {Object<string, any>} metadata - Pub/Sub message metadata.
2181
+ * Keys:
2182
+ * - (required) 'message_id' : {string}
2183
+ * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format
2184
+ * - (optional) 'ordering_key': {string}
2185
+ */
2186
+ function <function_name>(message, metadata) {
2187
+ }
2188
+ ```
2189
+ :param builtins.str function_name: Name of the JavaScript function that should be applied to Pub/Sub messages.
2190
+ """
2191
+ pulumi.set(__self__, "code", code)
2192
+ pulumi.set(__self__, "function_name", function_name)
2193
+
2194
+ @property
2195
+ @pulumi.getter
2196
+ def code(self) -> builtins.str:
2197
+ """
2198
+ JavaScript code that contains a function `function_name` with the
2199
+ following signature:
2200
+ ```
2201
+ /**
2202
+ * Transforms a Pub/Sub message.
2203
+ *
2204
+ * @return {(Object<string, (string | Object<string, string>)>|null)} - To
2205
+ * filter a message, return `null`. To transform a message return a map
2206
+ * with the following keys:
2207
+ * - (required) 'data' : {string}
2208
+ * - (optional) 'attributes' : {Object<string, string>}
2209
+ * Returning empty `attributes` will remove all attributes from the
2210
+ * message.
2211
+ *
2212
+ * @param {(Object<string, (string | Object<string, string>)>} Pub/Sub
2213
+ * message. Keys:
2214
+ * - (required) 'data' : {string}
2215
+ * - (required) 'attributes' : {Object<string, string>}
2216
+ *
2217
+ * @param {Object<string, any>} metadata - Pub/Sub message metadata.
2218
+ * Keys:
2219
+ * - (required) 'message_id' : {string}
2220
+ * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format
2221
+ * - (optional) 'ordering_key': {string}
2222
+ */
2223
+ function <function_name>(message, metadata) {
2224
+ }
2225
+ ```
2226
+ """
2227
+ return pulumi.get(self, "code")
2228
+
2229
+ @property
2230
+ @pulumi.getter(name="functionName")
2231
+ def function_name(self) -> builtins.str:
2232
+ """
2233
+ Name of the JavaScript function that should be applied to Pub/Sub messages.
2234
+ """
2235
+ return pulumi.get(self, "function_name")
2236
+
2237
+
1922
2238
  @pulumi.output_type
1923
2239
  class TopicSchemaSettings(dict):
1924
2240
  def __init__(__self__, *,
@@ -2299,6 +2615,122 @@ class GetSubscriptionExpirationPolicyResult(dict):
2299
2615
  return pulumi.get(self, "ttl")
2300
2616
 
2301
2617
 
2618
+ @pulumi.output_type
2619
+ class GetSubscriptionMessageTransformResult(dict):
2620
+ def __init__(__self__, *,
2621
+ disabled: builtins.bool,
2622
+ javascript_udfs: Sequence['outputs.GetSubscriptionMessageTransformJavascriptUdfResult']):
2623
+ """
2624
+ :param builtins.bool disabled: Controls whether or not to use this transform. If not set or 'false',
2625
+ the transform will be applied to messages. Default: 'true'.
2626
+ :param Sequence['GetSubscriptionMessageTransformJavascriptUdfArgs'] javascript_udfs: Javascript User Defined Function. If multiple Javascript UDFs are specified on a resource,
2627
+ each one must have a unique 'function_name'.
2628
+ """
2629
+ pulumi.set(__self__, "disabled", disabled)
2630
+ pulumi.set(__self__, "javascript_udfs", javascript_udfs)
2631
+
2632
+ @property
2633
+ @pulumi.getter
2634
+ def disabled(self) -> builtins.bool:
2635
+ """
2636
+ Controls whether or not to use this transform. If not set or 'false',
2637
+ the transform will be applied to messages. Default: 'true'.
2638
+ """
2639
+ return pulumi.get(self, "disabled")
2640
+
2641
+ @property
2642
+ @pulumi.getter(name="javascriptUdfs")
2643
+ def javascript_udfs(self) -> Sequence['outputs.GetSubscriptionMessageTransformJavascriptUdfResult']:
2644
+ """
2645
+ Javascript User Defined Function. If multiple Javascript UDFs are specified on a resource,
2646
+ each one must have a unique 'function_name'.
2647
+ """
2648
+ return pulumi.get(self, "javascript_udfs")
2649
+
2650
+
2651
+ @pulumi.output_type
2652
+ class GetSubscriptionMessageTransformJavascriptUdfResult(dict):
2653
+ def __init__(__self__, *,
2654
+ code: builtins.str,
2655
+ function_name: builtins.str):
2656
+ """
2657
+ :param builtins.str code: JavaScript code that contains a function 'function_name' with the
2658
+ following signature:
2659
+ '''
2660
+ /**
2661
+ * Transforms a Pub/Sub message.
2662
+ *
2663
+ * @return {(Object<string, (string | Object<string, string>)>|null)} - To
2664
+ * filter a message, return 'null'. To transform a message return a map
2665
+ * with the following keys:
2666
+ * - (required) 'data' : {string}
2667
+ * - (optional) 'attributes' : {Object<string, string>}
2668
+ * Returning empty 'attributes' will remove all attributes from the
2669
+ * message.
2670
+ *
2671
+ * @param {(Object<string, (string | Object<string, string>)>} Pub/Sub
2672
+ * message. Keys:
2673
+ * - (required) 'data' : {string}
2674
+ * - (required) 'attributes' : {Object<string, string>}
2675
+ *
2676
+ * @param {Object<string, any>} metadata - Pub/Sub message metadata.
2677
+ * Keys:
2678
+ * - (required) 'message_id' : {string}
2679
+ * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format
2680
+ * - (optional) 'ordering_key': {string}
2681
+ */
2682
+ function <function_name>(message, metadata) {
2683
+ }
2684
+ '''
2685
+ :param builtins.str function_name: Name of the JavaScript function that should be applied to Pub/Sub messages.
2686
+ """
2687
+ pulumi.set(__self__, "code", code)
2688
+ pulumi.set(__self__, "function_name", function_name)
2689
+
2690
+ @property
2691
+ @pulumi.getter
2692
+ def code(self) -> builtins.str:
2693
+ """
2694
+ JavaScript code that contains a function 'function_name' with the
2695
+ following signature:
2696
+ '''
2697
+ /**
2698
+ * Transforms a Pub/Sub message.
2699
+ *
2700
+ * @return {(Object<string, (string | Object<string, string>)>|null)} - To
2701
+ * filter a message, return 'null'. To transform a message return a map
2702
+ * with the following keys:
2703
+ * - (required) 'data' : {string}
2704
+ * - (optional) 'attributes' : {Object<string, string>}
2705
+ * Returning empty 'attributes' will remove all attributes from the
2706
+ * message.
2707
+ *
2708
+ * @param {(Object<string, (string | Object<string, string>)>} Pub/Sub
2709
+ * message. Keys:
2710
+ * - (required) 'data' : {string}
2711
+ * - (required) 'attributes' : {Object<string, string>}
2712
+ *
2713
+ * @param {Object<string, any>} metadata - Pub/Sub message metadata.
2714
+ * Keys:
2715
+ * - (required) 'message_id' : {string}
2716
+ * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format
2717
+ * - (optional) 'ordering_key': {string}
2718
+ */
2719
+ function <function_name>(message, metadata) {
2720
+ }
2721
+ '''
2722
+ """
2723
+ return pulumi.get(self, "code")
2724
+
2725
+ @property
2726
+ @pulumi.getter(name="functionName")
2727
+ def function_name(self) -> builtins.str:
2728
+ """
2729
+ Name of the JavaScript function that should be applied to Pub/Sub messages.
2730
+ """
2731
+ return pulumi.get(self, "function_name")
2732
+
2733
+
2302
2734
  @pulumi.output_type
2303
2735
  class GetSubscriptionPushConfigResult(dict):
2304
2736
  def __init__(__self__, *,
@@ -3051,6 +3483,122 @@ class GetTopicMessageStoragePolicyResult(dict):
3051
3483
  return pulumi.get(self, "enforce_in_transit")
3052
3484
 
3053
3485
 
3486
+ @pulumi.output_type
3487
+ class GetTopicMessageTransformResult(dict):
3488
+ def __init__(__self__, *,
3489
+ disabled: builtins.bool,
3490
+ javascript_udfs: Sequence['outputs.GetTopicMessageTransformJavascriptUdfResult']):
3491
+ """
3492
+ :param builtins.bool disabled: Controls whether or not to use this transform. If not set or 'false',
3493
+ the transform will be applied to messages. Default: 'true'.
3494
+ :param Sequence['GetTopicMessageTransformJavascriptUdfArgs'] javascript_udfs: Javascript User Defined Function. If multiple Javascript UDFs are specified on a resource,
3495
+ each one must have a unique 'function_name'.
3496
+ """
3497
+ pulumi.set(__self__, "disabled", disabled)
3498
+ pulumi.set(__self__, "javascript_udfs", javascript_udfs)
3499
+
3500
+ @property
3501
+ @pulumi.getter
3502
+ def disabled(self) -> builtins.bool:
3503
+ """
3504
+ Controls whether or not to use this transform. If not set or 'false',
3505
+ the transform will be applied to messages. Default: 'true'.
3506
+ """
3507
+ return pulumi.get(self, "disabled")
3508
+
3509
+ @property
3510
+ @pulumi.getter(name="javascriptUdfs")
3511
+ def javascript_udfs(self) -> Sequence['outputs.GetTopicMessageTransformJavascriptUdfResult']:
3512
+ """
3513
+ Javascript User Defined Function. If multiple Javascript UDFs are specified on a resource,
3514
+ each one must have a unique 'function_name'.
3515
+ """
3516
+ return pulumi.get(self, "javascript_udfs")
3517
+
3518
+
3519
+ @pulumi.output_type
3520
+ class GetTopicMessageTransformJavascriptUdfResult(dict):
3521
+ def __init__(__self__, *,
3522
+ code: builtins.str,
3523
+ function_name: builtins.str):
3524
+ """
3525
+ :param builtins.str code: JavaScript code that contains a function 'function_name' with the
3526
+ following signature:
3527
+ '''
3528
+ /**
3529
+ * Transforms a Pub/Sub message.
3530
+ *
3531
+ * @return {(Object<string, (string | Object<string, string>)>|null)} - To
3532
+ * filter a message, return 'null'. To transform a message return a map
3533
+ * with the following keys:
3534
+ * - (required) 'data' : {string}
3535
+ * - (optional) 'attributes' : {Object<string, string>}
3536
+ * Returning empty 'attributes' will remove all attributes from the
3537
+ * message.
3538
+ *
3539
+ * @param {(Object<string, (string | Object<string, string>)>} Pub/Sub
3540
+ * message. Keys:
3541
+ * - (required) 'data' : {string}
3542
+ * - (required) 'attributes' : {Object<string, string>}
3543
+ *
3544
+ * @param {Object<string, any>} metadata - Pub/Sub message metadata.
3545
+ * Keys:
3546
+ * - (required) 'message_id' : {string}
3547
+ * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format
3548
+ * - (optional) 'ordering_key': {string}
3549
+ */
3550
+ function <function_name>(message, metadata) {
3551
+ }
3552
+ '''
3553
+ :param builtins.str function_name: Name of the JavaScript function that should be applied to Pub/Sub messages.
3554
+ """
3555
+ pulumi.set(__self__, "code", code)
3556
+ pulumi.set(__self__, "function_name", function_name)
3557
+
3558
+ @property
3559
+ @pulumi.getter
3560
+ def code(self) -> builtins.str:
3561
+ """
3562
+ JavaScript code that contains a function 'function_name' with the
3563
+ following signature:
3564
+ '''
3565
+ /**
3566
+ * Transforms a Pub/Sub message.
3567
+ *
3568
+ * @return {(Object<string, (string | Object<string, string>)>|null)} - To
3569
+ * filter a message, return 'null'. To transform a message return a map
3570
+ * with the following keys:
3571
+ * - (required) 'data' : {string}
3572
+ * - (optional) 'attributes' : {Object<string, string>}
3573
+ * Returning empty 'attributes' will remove all attributes from the
3574
+ * message.
3575
+ *
3576
+ * @param {(Object<string, (string | Object<string, string>)>} Pub/Sub
3577
+ * message. Keys:
3578
+ * - (required) 'data' : {string}
3579
+ * - (required) 'attributes' : {Object<string, string>}
3580
+ *
3581
+ * @param {Object<string, any>} metadata - Pub/Sub message metadata.
3582
+ * Keys:
3583
+ * - (required) 'message_id' : {string}
3584
+ * - (optional) 'publish_time': {string} YYYY-MM-DDTHH:MM:SSZ format
3585
+ * - (optional) 'ordering_key': {string}
3586
+ */
3587
+ function <function_name>(message, metadata) {
3588
+ }
3589
+ '''
3590
+ """
3591
+ return pulumi.get(self, "code")
3592
+
3593
+ @property
3594
+ @pulumi.getter(name="functionName")
3595
+ def function_name(self) -> builtins.str:
3596
+ """
3597
+ Name of the JavaScript function that should be applied to Pub/Sub messages.
3598
+ """
3599
+ return pulumi.get(self, "function_name")
3600
+
3601
+
3054
3602
  @pulumi.output_type
3055
3603
  class GetTopicSchemaSettingResult(dict):
3056
3604
  def __init__(__self__, *,