| // Copyright 2020 Google LLC |
| // |
| // 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. |
| |
| syntax = "proto3"; |
| |
| package google.actions.sdk.v2; |
| |
| option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
| option java_multiple_files = true; |
| option java_outer_classname = "DataFileProto"; |
| option java_package = "com.google.actions.sdk.v2"; |
| |
| // Wrapper for repeated data file. Repeated fields cannot exist in a oneof. |
| message DataFiles { |
| // Multiple data files. |
| repeated DataFile data_files = 1; |
| } |
| |
| // Represents a single file which contains unstructured data. Examples include |
| // image files, audio files, and cloud function source code. |
| message DataFile { |
| // Relative path of the data file from the project root in the SDK file |
| // structure. |
| // Allowed file paths: |
| // - Images: `resources/images/{multiple |
| // directories}?/{ImageName}.{extension}` |
| // - Audio: `resources/audio/{multiple |
| // directories}?/{AudioFileName}.{extension}` |
| // - Inline Cloud Function Code: `webhooks/{WebhookName}.zip` |
| // Allowed extensions: |
| // - Images: `png`, `jpg`, `jpeg` |
| // - Audio: `mp3`, `mpeg` |
| // - Inline Cloud Functions: `zip` |
| string file_path = 1; |
| |
| // Required. The content type of this asset. Example: `text/html`. The content |
| // type must comply with the specification |
| // (http://www.w3.org/Protocols/rfc1341/4_Content-Type.html). |
| // Cloud functions must be in zip format and the content type should |
| // be `application/zip;zip_type=cloud_function`. The zip_type parameter |
| // indicates that the zip is for a cloud function. |
| string content_type = 2; |
| |
| // Content of the data file. Examples would be raw bytes of images, audio |
| // files, or cloud function zip format. |
| // There is 10 MB strict limit on the payload size. |
| bytes payload = 3; |
| } |