JFIF x x C C " } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w !1AQ aq"2B #3Rbr{
File "GoogleCloudEventarcV1PipelineDestinationHttpEndpoint.php"
Full Path: /home/palsarh/web/palsarh.in/public_html/vendor/google/apiclient-services/src/Eventarc/GoogleCloudEventarcV1PipelineDestinationHttpEndpoint.php
File size: 17.3 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\Eventarc;
class GoogleCloudEventarcV1PipelineDestinationHttpEndpoint extends \Google\Model
{
/**
* Optional. The CEL expression used to modify how the destination-bound HTTP
* request is constructed. If a binding expression is not specified here, the
* message is treated as a CloudEvent and is mapped to the HTTP request
* according to the CloudEvent HTTP Protocol Binding Binary Content Mode
* (https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/http-
* protocol-binding.md#31-binary-content-mode). In this representation, all
* fields except the `data` and `datacontenttype` field on the message are
* mapped to HTTP request headers with a prefix of `ce-`. To construct the
* HTTP request payload and the value of the content-type HTTP header, the
* payload format is defined as follows: 1) Use the output_payload_format_type
* on the Pipeline.Destination if it is set, else: 2) Use the
* input_payload_format_type on the Pipeline if it is set, else: 3) Treat the
* payload as opaque binary data. The `data` field of the message is converted
* to the payload format or left as-is for case 3) and then attached as the
* payload of the HTTP request. The `content-type` header on the HTTP request
* is set to the payload format type or left empty for case 3). However, if a
* mediation has updated the `datacontenttype` field on the message so that it
* is not the same as the payload format type but it is still a prefix of the
* payload format type, then the `content-type` header on the HTTP request is
* set to this `datacontenttype` value. For example, if the `datacontenttype`
* is "application/json" and the payload format type is "application/json;
* charset=utf-8", then the `content-type` header on the HTTP request is set
* to "application/json; charset=utf-8". If a non-empty binding expression is
* specified then this expression is used to modify the default CloudEvent
* HTTP Protocol Binding Binary Content representation. The result of the CEL
* expression must be a map of key/value pairs which is used as follows: - If
* a map named `headers` exists on the result of the expression, then its
* key/value pairs are directly mapped to the HTTP request headers. The
* headers values are constructed from the corresponding value type's
* canonical representation. If the `headers` field doesn't exist then the
* resulting HTTP request will be the headers of the CloudEvent HTTP Binding
* Binary Content Mode representation of the final message. Note: If the
* specified binding expression, has updated the `datacontenttype` field on
* the message so that it is not the same as the payload format type but it is
* still a prefix of the payload format type, then the `content-type` header
* in the `headers` map is set to this `datacontenttype` value. - If a field
* named `body` exists on the result of the expression then its value is
* directly mapped to the body of the request. If the value of the `body`
* field is of type bytes or string then it is used for the HTTP request body
* as-is, with no conversion. If the body field is of any other type then it
* is converted to a JSON string. If the body field does not exist then the
* resulting payload of the HTTP request will be data value of the CloudEvent
* HTTP Binding Binary Content Mode representation of the final message as
* described earlier. - Any other fields in the resulting expression will be
* ignored. The CEL expression may access the incoming CloudEvent message in
* its definition, as follows: - The `data` field of the incoming CloudEvent
* message can be accessed using the `message.data` value. Subfields of
* `message.data` may also be accessed if an input_payload_format has been
* specified on the Pipeline. - Each attribute of the incoming CloudEvent
* message can be accessed using the `message.` value, where is replaced with
* the name of the attribute. - Existing headers can be accessed in the CEL
* expression using the `headers` variable. The `headers` variable defines a
* map of key/value pairs corresponding to the HTTP headers of the CloudEvent
* HTTP Binding Binary Content Mode representation of the final message as
* described earlier. For example, the following CEL expression can be used to
* construct an HTTP request by adding an additional header to the HTTP
* headers of the CloudEvent HTTP Binding Binary Content Mode representation
* of the final message and by overwriting the body of the request: ``` {
* "headers": headers.merge({"new-header-key": "new-header-value"}), "body":
* "new-body" } ``` - The default binding for the message payload can be
* accessed using the `body` variable. It conatins a string representation of
* the message payload in the format specified by the `output_payload_format`
* field. If the `input_payload_format` field is not set, the `body` variable
* contains the same message payload bytes that were published. Additionally,
* the following CEL extension functions are provided for use in this CEL
* expression: - toBase64Url: map.toBase64Url() -> string - Converts a
* CelValue to a base64url encoded string - toJsonString: map.toJsonString()
* -> string - Converts a CelValue to a JSON string - 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 -
* toCloudEventJsonWithPayloadFormat:
* message.toCloudEventJsonWithPayloadFormat() -> map - Converts a message to
* the corresponding structure of JSON format for CloudEvents. - It converts
* `data` to destination payload format specified in `output_payload_format`.
* If `output_payload_format` is not set, the data will remain unchanged. - It
* also sets the corresponding datacontenttype of the CloudEvent, as indicated
* by `output_payload_format`. If no `output_payload_format` is set it will
* use the value of the "datacontenttype" attribute on the CloudEvent if
* present, else remove "datacontenttype" attribute. - 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. The Pipeline expects that the message it receives adheres to the
* standard CloudEvent format. If it doesn't then the outgoing message request
* may fail with a persistent error.
*
* @var string
*/
public $messageBindingTemplate;
/**
* Required. The URI of the HTTP endpoint. The value must be a RFC2396 URI
* string. Examples: `https://svc.us-central1.p.local:8080/route`. Only the
* HTTPS protocol is supported.
*
* @var string
*/
public $uri;
/**
* Optional. The CEL expression used to modify how the destination-bound HTTP
* request is constructed. If a binding expression is not specified here, the
* message is treated as a CloudEvent and is mapped to the HTTP request
* according to the CloudEvent HTTP Protocol Binding Binary Content Mode
* (https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/http-
* protocol-binding.md#31-binary-content-mode). In this representation, all
* fields except the `data` and `datacontenttype` field on the message are
* mapped to HTTP request headers with a prefix of `ce-`. To construct the
* HTTP request payload and the value of the content-type HTTP header, the
* payload format is defined as follows: 1) Use the output_payload_format_type
* on the Pipeline.Destination if it is set, else: 2) Use the
* input_payload_format_type on the Pipeline if it is set, else: 3) Treat the
* payload as opaque binary data. The `data` field of the message is converted
* to the payload format or left as-is for case 3) and then attached as the
* payload of the HTTP request. The `content-type` header on the HTTP request
* is set to the payload format type or left empty for case 3). However, if a
* mediation has updated the `datacontenttype` field on the message so that it
* is not the same as the payload format type but it is still a prefix of the
* payload format type, then the `content-type` header on the HTTP request is
* set to this `datacontenttype` value. For example, if the `datacontenttype`
* is "application/json" and the payload format type is "application/json;
* charset=utf-8", then the `content-type` header on the HTTP request is set
* to "application/json; charset=utf-8". If a non-empty binding expression is
* specified then this expression is used to modify the default CloudEvent
* HTTP Protocol Binding Binary Content representation. The result of the CEL
* expression must be a map of key/value pairs which is used as follows: - If
* a map named `headers` exists on the result of the expression, then its
* key/value pairs are directly mapped to the HTTP request headers. The
* headers values are constructed from the corresponding value type's
* canonical representation. If the `headers` field doesn't exist then the
* resulting HTTP request will be the headers of the CloudEvent HTTP Binding
* Binary Content Mode representation of the final message. Note: If the
* specified binding expression, has updated the `datacontenttype` field on
* the message so that it is not the same as the payload format type but it is
* still a prefix of the payload format type, then the `content-type` header
* in the `headers` map is set to this `datacontenttype` value. - If a field
* named `body` exists on the result of the expression then its value is
* directly mapped to the body of the request. If the value of the `body`
* field is of type bytes or string then it is used for the HTTP request body
* as-is, with no conversion. If the body field is of any other type then it
* is converted to a JSON string. If the body field does not exist then the
* resulting payload of the HTTP request will be data value of the CloudEvent
* HTTP Binding Binary Content Mode representation of the final message as
* described earlier. - Any other fields in the resulting expression will be
* ignored. The CEL expression may access the incoming CloudEvent message in
* its definition, as follows: - The `data` field of the incoming CloudEvent
* message can be accessed using the `message.data` value. Subfields of
* `message.data` may also be accessed if an input_payload_format has been
* specified on the Pipeline. - Each attribute of the incoming CloudEvent
* message can be accessed using the `message.` value, where is replaced with
* the name of the attribute. - Existing headers can be accessed in the CEL
* expression using the `headers` variable. The `headers` variable defines a
* map of key/value pairs corresponding to the HTTP headers of the CloudEvent
* HTTP Binding Binary Content Mode representation of the final message as
* described earlier. For example, the following CEL expression can be used to
* construct an HTTP request by adding an additional header to the HTTP
* headers of the CloudEvent HTTP Binding Binary Content Mode representation
* of the final message and by overwriting the body of the request: ``` {
* "headers": headers.merge({"new-header-key": "new-header-value"}), "body":
* "new-body" } ``` - The default binding for the message payload can be
* accessed using the `body` variable. It conatins a string representation of
* the message payload in the format specified by the `output_payload_format`
* field. If the `input_payload_format` field is not set, the `body` variable
* contains the same message payload bytes that were published. Additionally,
* the following CEL extension functions are provided for use in this CEL
* expression: - toBase64Url: map.toBase64Url() -> string - Converts a
* CelValue to a base64url encoded string - toJsonString: map.toJsonString()
* -> string - Converts a CelValue to a JSON string - 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 -
* toCloudEventJsonWithPayloadFormat:
* message.toCloudEventJsonWithPayloadFormat() -> map - Converts a message to
* the corresponding structure of JSON format for CloudEvents. - It converts
* `data` to destination payload format specified in `output_payload_format`.
* If `output_payload_format` is not set, the data will remain unchanged. - It
* also sets the corresponding datacontenttype of the CloudEvent, as indicated
* by `output_payload_format`. If no `output_payload_format` is set it will
* use the value of the "datacontenttype" attribute on the CloudEvent if
* present, else remove "datacontenttype" attribute. - 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. The Pipeline expects that the message it receives adheres to the
* standard CloudEvent format. If it doesn't then the outgoing message request
* may fail with a persistent error.
*
* @param string $messageBindingTemplate
*/
public function setMessageBindingTemplate($messageBindingTemplate)
{
$this->messageBindingTemplate = $messageBindingTemplate;
}
/**
* @return string
*/
public function getMessageBindingTemplate()
{
return $this->messageBindingTemplate;
}
/**
* Required. The URI of the HTTP endpoint. The value must be a RFC2396 URI
* string. Examples: `https://svc.us-central1.p.local:8080/route`. Only the
* HTTPS protocol is supported.
*
* @param string $uri
*/
public function setUri($uri)
{
$this->uri = $uri;
}
/**
* @return string
*/
public function getUri()
{
return $this->uri;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudEventarcV1PipelineDestinationHttpEndpoint::class, 'Google_Service_Eventarc_GoogleCloudEventarcV1PipelineDestinationHttpEndpoint');