1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.cloud.dialogflow.cx.v3beta1; 18 19import "google/api/annotations.proto"; 20import "google/api/client.proto"; 21import "google/api/field_behavior.proto"; 22import "google/api/resource.proto"; 23import "google/protobuf/timestamp.proto"; 24 25option cc_enable_arenas = true; 26option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1"; 27option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb"; 28option java_multiple_files = true; 29option java_outer_classname = "ChangelogProto"; 30option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; 31option objc_class_prefix = "DF"; 32option ruby_package = "Google::Cloud::Dialogflow::CX::V3beta1"; 33 34// Service for managing 35// [Changelogs][google.cloud.dialogflow.cx.v3beta1.Changelog]. 36service Changelogs { 37 option (google.api.default_host) = "dialogflow.googleapis.com"; 38 option (google.api.oauth_scopes) = 39 "https://www.googleapis.com/auth/cloud-platform," 40 "https://www.googleapis.com/auth/dialogflow"; 41 42 // Returns the list of Changelogs. 43 rpc ListChangelogs(ListChangelogsRequest) returns (ListChangelogsResponse) { 44 option (google.api.http) = { 45 get: "/v3beta1/{parent=projects/*/locations/*/agents/*}/changelogs" 46 }; 47 option (google.api.method_signature) = "parent"; 48 } 49 50 // Retrieves the specified Changelog. 51 rpc GetChangelog(GetChangelogRequest) returns (Changelog) { 52 option (google.api.http) = { 53 get: "/v3beta1/{name=projects/*/locations/*/agents/*/changelogs/*}" 54 }; 55 option (google.api.method_signature) = "name"; 56 } 57} 58 59// The request message for 60// [Changelogs.ListChangelogs][google.cloud.dialogflow.cx.v3beta1.Changelogs.ListChangelogs]. 61message ListChangelogsRequest { 62 // Required. The agent containing the changelogs. 63 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`. 64 string parent = 1 [ 65 (google.api.field_behavior) = REQUIRED, 66 (google.api.resource_reference) = { 67 child_type: "dialogflow.googleapis.com/Changelog" 68 } 69 ]; 70 71 // The filter string. Supports filter by user_email, resource, type and 72 // create_time. Some examples: 73 // 1. By user email: 74 // user_email = "[email protected]" 75 // 2. By resource name: 76 // resource = "projects/123/locations/global/agents/456/flows/789" 77 // 3. By resource display name: 78 // display_name = "my agent" 79 // 4. By action: 80 // action = "Create" 81 // 5. By type: 82 // type = "flows" 83 // 6. By create time. Currently predicates on `create_time` and 84 // `create_time_epoch_seconds` are supported: 85 // create_time_epoch_seconds > 1551790877 AND create_time <= 86 // 2017-01-15T01:30:15.01Z 87 // 7. Combination of above filters: 88 // resource = "projects/123/locations/global/agents/456/flows/789" 89 // AND user_email = "[email protected]" 90 // AND create_time <= 2017-01-15T01:30:15.01Z 91 string filter = 2; 92 93 // The maximum number of items to return in a single page. By default 100 and 94 // at most 1000. 95 int32 page_size = 3; 96 97 // The next_page_token value returned from a previous list request. 98 string page_token = 4; 99} 100 101// The response message for 102// [Changelogs.ListChangelogs][google.cloud.dialogflow.cx.v3beta1.Changelogs.ListChangelogs]. 103message ListChangelogsResponse { 104 // The list of changelogs. There will be a maximum number of items returned 105 // based on the page_size field in the request. The changelogs will be ordered 106 // by timestamp. 107 repeated Changelog changelogs = 1; 108 109 // Token to retrieve the next page of results, or empty if there are no more 110 // results in the list. 111 string next_page_token = 2; 112} 113 114// The request message for 115// [Changelogs.GetChangelog][google.cloud.dialogflow.cx.v3beta1.Changelogs.GetChangelog]. 116message GetChangelogRequest { 117 // Required. The name of the changelog to get. 118 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 119 // ID>/changelogs/<Changelog ID>`. 120 string name = 1 [ 121 (google.api.field_behavior) = REQUIRED, 122 (google.api.resource_reference) = { 123 type: "dialogflow.googleapis.com/Changelog" 124 } 125 ]; 126} 127 128// Changelogs represents a change made to a given agent. 129message Changelog { 130 option (google.api.resource) = { 131 type: "dialogflow.googleapis.com/Changelog" 132 pattern: "projects/{project}/locations/{location}/agents/{agent}/changelogs/{changelog}" 133 }; 134 135 // The unique identifier of the changelog. 136 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent 137 // ID>/changelogs/<Changelog ID>`. 138 string name = 1; 139 140 // Email address of the authenticated user. 141 string user_email = 2; 142 143 // The affected resource display name of the change. 144 string display_name = 7; 145 146 // The action of the change. 147 string action = 11; 148 149 // The affected resource type. 150 string type = 8; 151 152 // The affected resource name of the change. 153 string resource = 3; 154 155 // The timestamp of the change. 156 google.protobuf.Timestamp create_time = 4; 157 158 // The affected language code of the change. 159 string language_code = 14; 160} 161