{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/google_cloud_function_rule_response", "title": "google_cloud_function_rule_response", "type": "object", "additionalProperties": false, "properties": { "id": { "type": "string", "description": "The rule ID.", "example": "83IzAB" }, "appId": { "type": "string", "description": "The Ably application ID.", "example": "28GY6a" }, "version": { "type": "string", "description": "API version. Events and the format of their payloads are versioned. Please see the Ably webhooks docs.", "example": "1.2" }, "status": { "type": "string", "description": "The status of the rule. Rules can be enabled or disabled.", "example": "enabled" }, "created": { "type": "number", "description": "Unix timestamp representing the date and time of creation of the rule.", "example": 1602844091815 }, "modified": { "type": "number", "description": "Unix timestamp representing the date and time of last modification of the rule.", "example": 1614679682091 }, "_links": { "type": "object", "nullable": true }, "ruleType": { "type": "string", "enum": [ "http/google-cloud-function" ], "description": "The type of rule. In this case Google Cloud Function. See the Ably integrations docs for further information.", "example": "http/google-cloud-function" }, "requestMode": { "type": "string", "description": "This is Single Request mode or Batch Request mode. Single Request mode sends each event separately to the endpoint specified by the rule. Batch Request mode rolls up multiple events into the same request. You can read more about the difference between single and batched events in the Ably batching docs.", "example": "single" }, "source": { "$ref": "#/components/schemas/rule_source" }, "target": { "type": "object", "additionalProperties": false, "properties": { "region": { "type": "string", "description": "The region in which your Google Cloud Function is hosted. See the Google documentation for more details.", "example": "us-west1" }, "projectId": { "type": "string", "description": "The project ID for your Google Cloud Project that was generated when you created your project.", "example": "my-sample-project-191923" }, "functionName": { "type": "string", "description": "The name of your Google Cloud Function.", "example": "myFunctionName" }, "headers": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the header.", "example": "User-Agent" }, "value": { "type": "string", "description": "The value of the header.", "example": "user-agent-string" } } }, "description": "If you have additional information to send, you'll need to include the relevant headers.", "example": [ { "name": "User-Agent", "value": "user-agent-string" }, { "name": "headerName", "value": "headerValue" } ] }, "signingKeyId": { "type": "string", "nullable": true, "description": "The signing key ID for use in `batch` mode. Ably will optionally sign the payload using an API key ensuring your servers can validate the payload using the private API key. See the webhook security docs for more information.", "example": "bw66AB" }, "enveloped": { "type": "boolean", "nullable": true, "description": "Delivered messages are wrapped in an Ably envelope by default that contains metadata about the message and its payload. The form of the envelope depends on whether it is part of a Webhook/Function or a Queue/Firehose rule. For everything besides Webhooks, you can ensure you only get the raw payload by unchecking \"Enveloped\" when setting up the rule.", "example": true }, "format": { "type": "string", "description": "JSON provides a text-based encoding.", "example": "json" } }, "required": [ "region", "projectId", "functionName" ] } }, "required": [ "ruleType", "requestMode", "source", "target" ] }