Class: Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineMediationTransformation

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/eventarc_v1/classes.rb,
lib/google/apis/eventarc_v1/representations.rb,
lib/google/apis/eventarc_v1/representations.rb

Overview

Transformation defines the way to transform an incoming message.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudEventarcV1PipelineMediationTransformation

Returns a new instance of GoogleCloudEventarcV1PipelineMediationTransformation.



1291
1292
1293
# File 'lib/google/apis/eventarc_v1/classes.rb', line 1291

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#transformation_templateString

Optional. The CEL expression template to apply to transform messages. The following CEL extension functions are provided for use in this CEL expression:

  • merge: map1.merge(map2) -> map3 - Merges the passed CEL map with the existing CEL map the function is applied to. - If the same key exists in both maps, if the key's value is type map both maps are merged else the value from the passed map is used. - denormalize: map.denormalize() -> map - Denormalizes a CEL map such that every value of type map or key in the map is expanded to return a single level map. - The resulting keys are "." separated indices of the map keys. - For example: "a": 1, "b": "c": 2, "d": 3 "e": [4, 5] . denormalize() -> "a": 1, "b.c": 2, "b.d": 3, "e.0": 4, "e.1": 5 - setField: map.setField(key, value) -> message - Sets the field of the message with the given key to the given value. - If the field is not present it will be added. - If the field is present it will be overwritten. - The key can be a dot separated path to set a field in a nested message. - Key must be of type string. - Value may be any valid type. - removeFields: map.removeFields([key1, key2, ...]) -> message - Removes the fields of the map with the given keys. - The keys can be a dot separated path to remove a field in a nested message. - If a key is not found it will be ignored. - Keys must be of type string. - toMap: [map1, map2, ...].toMap() -> map - Converts a CEL list of CEL maps to a single CEL map - toDestinationPayloadFormat(): message.data. toDestinationPayloadFormat() -> string or bytes - Converts the message data to the destination payload format specified in Pipeline.Destination. output_payload_format - This function is meant to be applied to the message. data field. - If the destination payload format is not set, the function will return the message data unchanged. - toCloudEventJsonWithPayloadFormat: message.toCloudEventJsonWithPayloadFormat() -> map - Converts a message to the corresponding structure of JSON format for CloudEvents - This function applies toDestinationPayloadFormat() to the message data. It also sets the corresponding datacontenttype of the CloudEvent, as indicated by Pipeline. Destination.output_payload_format. If no output_payload_format is set it will use the existing datacontenttype on the CloudEvent if present, else leave datacontenttype absent. - This function expects that the content of the message will adhere to the standard CloudEvent format. If it doesn't then this function will fail. - The result is a CEL map that corresponds to the JSON representation of the CloudEvent. To convert that data to a JSON string it can be chained with the toJsonString function. Corresponds to the JSON property transformationTemplate

Returns:

  • (String)


1289
1290
1291
# File 'lib/google/apis/eventarc_v1/classes.rb', line 1289

def transformation_template
  @transformation_template
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1296
1297
1298
# File 'lib/google/apis/eventarc_v1/classes.rb', line 1296

def update!(**args)
  @transformation_template = args[:transformation_template] if args.key?(:transformation_template)
end