diff --git a/protos/google/cloud/dialogflow/cx/v3/advanced_settings.proto b/protos/google/cloud/dialogflow/cx/v3/advanced_settings.proto index 3d3e6b84..904faab8 100644 --- a/protos/google/cloud/dialogflow/cx/v3/advanced_settings.proto +++ b/protos/google/cloud/dialogflow/cx/v3/advanced_settings.proto @@ -16,6 +16,8 @@ syntax = "proto3"; package google.cloud.dialogflow.cx.v3; +import "google/api/field_behavior.proto"; + option cc_enable_arenas = true; option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx"; diff --git a/protos/google/cloud/dialogflow/cx/v3/audio_config.proto b/protos/google/cloud/dialogflow/cx/v3/audio_config.proto index 658ed80d..3c1d3716 100644 --- a/protos/google/cloud/dialogflow/cx/v3/audio_config.proto +++ b/protos/google/cloud/dialogflow/cx/v3/audio_config.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.cloud.dialogflow.cx.v3; import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; import "google/protobuf/duration.proto"; option cc_enable_arenas = true; @@ -27,6 +28,10 @@ option java_outer_classname = "AudioConfigProto"; option java_package = "com.google.cloud.dialogflow.cx.v3"; option objc_class_prefix = "DF"; option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; +option (google.api.resource_definition) = { + type: "automl.googleapis.com/Model" + pattern: "projects/{project}/locations/{location}/models/{model}" +}; // Audio encoding of the audio content sent in the conversational query request. // Refer to the diff --git a/protos/google/cloud/dialogflow/cx/v3/flow.proto b/protos/google/cloud/dialogflow/cx/v3/flow.proto index eec27823..b95320bc 100644 --- a/protos/google/cloud/dialogflow/cx/v3/flow.proto +++ b/protos/google/cloud/dialogflow/cx/v3/flow.proto @@ -274,7 +274,7 @@ message Flow { // // TransitionRoutes are evalauted in the following order: // - // * TransitionRoutes with intent specified.. + // * TransitionRoutes with intent specified. // * TransitionRoutes with only condition specified. // // TransitionRoutes with intent specified are inherited by pages in the flow. diff --git a/protos/google/cloud/dialogflow/cx/v3/fulfillment.proto b/protos/google/cloud/dialogflow/cx/v3/fulfillment.proto index 1da35aae..e21ede58 100644 --- a/protos/google/cloud/dialogflow/cx/v3/fulfillment.proto +++ b/protos/google/cloud/dialogflow/cx/v3/fulfillment.proto @@ -106,7 +106,11 @@ message Fulfillment { // that have slow webhooks. bool return_partial_responses = 8; - // The tag used by the webhook to identify which fulfillment is being called. + // The value of this field will be populated in the [WebhookRequest][google.cloud.dialogflow.cx.v3.WebhookRequest] + // `fulfillmentInfo.tag` field by Dialogflow when the associated webhook is + // called. + // The tag is typically used by the webhook service to identify which + // fulfillment is being called, but it could be used for other purposes. // This field is required if `webhook` is specified. string tag = 3; diff --git a/protos/google/cloud/dialogflow/cx/v3/page.proto b/protos/google/cloud/dialogflow/cx/v3/page.proto index 66a57519..e9753b14 100644 --- a/protos/google/cloud/dialogflow/cx/v3/page.proto +++ b/protos/google/cloud/dialogflow/cx/v3/page.proto @@ -125,7 +125,7 @@ message Page { // ID>/flows//pages/`. string name = 1; - // Required. The human-readable name of the page, unique within the agent. + // Required. The human-readable name of the page, unique within the flow. string display_name = 2 [(google.api.field_behavior) = REQUIRED]; // The fulfillment to call when the session is entering the page. diff --git a/protos/google/cloud/dialogflow/cx/v3/security_settings.proto b/protos/google/cloud/dialogflow/cx/v3/security_settings.proto index 0c48b16c..ae8bd169 100644 --- a/protos/google/cloud/dialogflow/cx/v3/security_settings.proto +++ b/protos/google/cloud/dialogflow/cx/v3/security_settings.proto @@ -213,6 +213,41 @@ message SecuritySettings { DIALOGFLOW_HISTORY = 1; } + // Settings for exporting audio. + message AudioExportSettings { + // File format for exported audio file. Currently only in telephony + // recordings. + enum AudioFormat { + // Unspecified. Do not use. + AUDIO_FORMAT_UNSPECIFIED = 0; + + // G.711 mu-law PCM with 8kHz sample rate. + MULAW = 1; + + // MP3 file format. + MP3 = 2; + + // OGG Vorbis. + OGG = 3; + } + + // Cloud Storage bucket to export audio record to. You need to grant + // `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Storage Object + // Admin` role in this bucket. + string gcs_bucket = 1; + + // Filename pattern for exported audio. + string audio_export_pattern = 2; + + // Enable audio redaction if it is true. + bool enable_audio_redaction = 3; + + // File format for exported audio file. Currently only in telephony + // recordings. + AudioFormat audio_format = 4; + } + // Settings for exporting conversations to // [Insights](https://cloud.google.com/contact-center/insights/docs). message InsightsExportSettings { @@ -302,6 +337,21 @@ message SecuritySettings { // List of types of data to remove when retention settings triggers purge. repeated PurgeDataType purge_data_types = 8; + // Controls audio export settings for post-conversation analytics when + // ingesting audio to conversations via [Participants.AnalyzeContent][] or + // [Participants.StreamingAnalyzeContent][]. + // + // If [retention_strategy][google.cloud.dialogflow.cx.v3.SecuritySettings.retention_strategy] is set to REMOVE_AFTER_CONVERSATION or + // [audio_export_settings.gcs_bucket][] is empty, audio export is disabled. + // + // If audio export is enabled, audio is recorded and saved to + // [audio_export_settings.gcs_bucket][], subject to retention policy of + // [audio_export_settings.gcs_bucket][]. + // + // This setting won't effect audio input for implicit sessions via + // [Sessions.DetectIntent][google.cloud.dialogflow.cx.v3.Sessions.DetectIntent] or [Sessions.StreamingDetectIntent][google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntent]. + AudioExportSettings audio_export_settings = 12; + // Controls conversation exporting settings to Insights after conversation is // completed. // diff --git a/protos/google/cloud/dialogflow/cx/v3/test_case.proto b/protos/google/cloud/dialogflow/cx/v3/test_case.proto index 1192568d..b2ecf59d 100644 --- a/protos/google/cloud/dialogflow/cx/v3/test_case.proto +++ b/protos/google/cloud/dialogflow/cx/v3/test_case.proto @@ -139,7 +139,7 @@ service TestCases { } // Imports the test cases from a Cloud Storage bucket or a local file. It - // always creates new test cases and won't overwite any existing ones. The + // always creates new test cases and won't overwrite any existing ones. The // provided ID in the imported test case is neglected. // // This method is a [long-running diff --git a/protos/google/cloud/dialogflow/cx/v3/transition_route_group.proto b/protos/google/cloud/dialogflow/cx/v3/transition_route_group.proto index c84d7493..1502af0c 100644 --- a/protos/google/cloud/dialogflow/cx/v3/transition_route_group.proto +++ b/protos/google/cloud/dialogflow/cx/v3/transition_route_group.proto @@ -111,7 +111,7 @@ message TransitionRouteGroup { string name = 1; // Required. The human-readable name of the transition route group, unique within - // the [Agent][google.cloud.dialogflow.cx.v3.Agent]. The display name can be no longer than 30 characters. + // the flow. The display name can be no longer than 30 characters. string display_name = 2 [(google.api.field_behavior) = REQUIRED]; // Transition routes associated with the [TransitionRouteGroup][google.cloud.dialogflow.cx.v3.TransitionRouteGroup]. diff --git a/protos/google/cloud/dialogflow/cx/v3/webhook.proto b/protos/google/cloud/dialogflow/cx/v3/webhook.proto index d5cfae43..0f20d698 100644 --- a/protos/google/cloud/dialogflow/cx/v3/webhook.proto +++ b/protos/google/cloud/dialogflow/cx/v3/webhook.proto @@ -276,8 +276,11 @@ message DeleteWebhookRequest { message WebhookRequest { // Represents fulfillment information communicated to the webhook. message FulfillmentInfo { - // Always present. The tag used to identify which fulfillment is being - // called. + // Always present. + // The value of the [Fulfillment.tag][google.cloud.dialogflow.cx.v3.Fulfillment.tag] field will be populated in this + // field by Dialogflow when the associated webhook is called. + // The tag is typically used by the webhook service to identify which + // fulfillment is being called, but it could be used for other purposes. string tag = 1; } diff --git a/protos/google/cloud/dialogflow/cx/v3beta1/audio_config.proto b/protos/google/cloud/dialogflow/cx/v3beta1/audio_config.proto index 8bf3300e..40b6fca8 100644 --- a/protos/google/cloud/dialogflow/cx/v3beta1/audio_config.proto +++ b/protos/google/cloud/dialogflow/cx/v3beta1/audio_config.proto @@ -28,6 +28,10 @@ option java_outer_classname = "AudioConfigProto"; option java_package = "com.google.cloud.dialogflow.cx.v3beta1"; option objc_class_prefix = "DF"; option ruby_package = "Google::Cloud::Dialogflow::CX::V3beta1"; +option (google.api.resource_definition) = { + type: "automl.googleapis.com/Model" + pattern: "projects/{project}/locations/{location}/models/{model}" +}; // Audio encoding of the audio content sent in the conversational query request. // Refer to the diff --git a/protos/google/cloud/dialogflow/cx/v3beta1/flow.proto b/protos/google/cloud/dialogflow/cx/v3beta1/flow.proto index 58195e53..d881418c 100644 --- a/protos/google/cloud/dialogflow/cx/v3beta1/flow.proto +++ b/protos/google/cloud/dialogflow/cx/v3beta1/flow.proto @@ -274,7 +274,7 @@ message Flow { // // TransitionRoutes are evalauted in the following order: // - // * TransitionRoutes with intent specified.. + // * TransitionRoutes with intent specified. // * TransitionRoutes with only condition specified. // // TransitionRoutes with intent specified are inherited by pages in the flow. diff --git a/protos/google/cloud/dialogflow/cx/v3beta1/fulfillment.proto b/protos/google/cloud/dialogflow/cx/v3beta1/fulfillment.proto index b908c44a..5741e33a 100644 --- a/protos/google/cloud/dialogflow/cx/v3beta1/fulfillment.proto +++ b/protos/google/cloud/dialogflow/cx/v3beta1/fulfillment.proto @@ -106,7 +106,11 @@ message Fulfillment { // that have slow webhooks. bool return_partial_responses = 8; - // The tag used by the webhook to identify which fulfillment is being called. + // The value of this field will be populated in the [WebhookRequest][google.cloud.dialogflow.cx.v3beta1.WebhookRequest] + // `fulfillmentInfo.tag` field by Dialogflow when the associated webhook is + // called. + // The tag is typically used by the webhook service to identify which + // fulfillment is being called, but it could be used for other purposes. // This field is required if `webhook` is specified. string tag = 3; diff --git a/protos/google/cloud/dialogflow/cx/v3beta1/page.proto b/protos/google/cloud/dialogflow/cx/v3beta1/page.proto index 299d7a36..a3ca8239 100644 --- a/protos/google/cloud/dialogflow/cx/v3beta1/page.proto +++ b/protos/google/cloud/dialogflow/cx/v3beta1/page.proto @@ -113,7 +113,7 @@ message Page { // ID>/flows//pages/`. string name = 1; - // Required. The human-readable name of the page, unique within the agent. + // Required. The human-readable name of the page, unique within the flow. string display_name = 2 [(google.api.field_behavior) = REQUIRED]; // The fulfillment to call when the session is entering the page. diff --git a/protos/google/cloud/dialogflow/cx/v3beta1/test_case.proto b/protos/google/cloud/dialogflow/cx/v3beta1/test_case.proto index 721028e1..5aa19fb2 100644 --- a/protos/google/cloud/dialogflow/cx/v3beta1/test_case.proto +++ b/protos/google/cloud/dialogflow/cx/v3beta1/test_case.proto @@ -139,7 +139,7 @@ service TestCases { } // Imports the test cases from a Cloud Storage bucket or a local file. It - // always creates new test cases and won't overwite any existing ones. The + // always creates new test cases and won't overwrite any existing ones. The // provided ID in the imported test case is neglected. // // This method is a [long-running diff --git a/protos/google/cloud/dialogflow/cx/v3beta1/transition_route_group.proto b/protos/google/cloud/dialogflow/cx/v3beta1/transition_route_group.proto index da632d87..f7252b2b 100644 --- a/protos/google/cloud/dialogflow/cx/v3beta1/transition_route_group.proto +++ b/protos/google/cloud/dialogflow/cx/v3beta1/transition_route_group.proto @@ -111,7 +111,7 @@ message TransitionRouteGroup { string name = 1; // Required. The human-readable name of the transition route group, unique within - // the [Agent][google.cloud.dialogflow.cx.v3beta1.Agent]. The display name can be no longer than 30 characters. + // the flow. The display name can be no longer than 30 characters. string display_name = 2 [(google.api.field_behavior) = REQUIRED]; // Transition routes associated with the [TransitionRouteGroup][google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup]. diff --git a/protos/google/cloud/dialogflow/cx/v3beta1/webhook.proto b/protos/google/cloud/dialogflow/cx/v3beta1/webhook.proto index f8b21198..ca3c850c 100644 --- a/protos/google/cloud/dialogflow/cx/v3beta1/webhook.proto +++ b/protos/google/cloud/dialogflow/cx/v3beta1/webhook.proto @@ -276,8 +276,11 @@ message DeleteWebhookRequest { message WebhookRequest { // Represents fulfillment information communicated to the webhook. message FulfillmentInfo { - // Always present. The tag used to identify which fulfillment is being - // called. + // Always present. + // The value of the [Fulfillment.tag][google.cloud.dialogflow.cx.v3beta1.Fulfillment.tag] field will be populated in this + // field by Dialogflow when the associated webhook is called. + // The tag is typically used by the webhook service to identify which + // fulfillment is being called, but it could be used for other purposes. string tag = 1; } diff --git a/protos/protos.d.ts b/protos/protos.d.ts index 05872fd6..f6d577e0 100644 --- a/protos/protos.d.ts +++ b/protos/protos.d.ts @@ -24206,6 +24206,9 @@ export namespace google { /** SecuritySettings purgeDataTypes */ purgeDataTypes?: (google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType[]|null); + /** SecuritySettings audioExportSettings */ + audioExportSettings?: (google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings|null); + /** SecuritySettings insightsExportSettings */ insightsExportSettings?: (google.cloud.dialogflow.cx.v3.SecuritySettings.IInsightsExportSettings|null); } @@ -24243,6 +24246,9 @@ export namespace google { /** SecuritySettings purgeDataTypes. */ public purgeDataTypes: google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType[]; + /** SecuritySettings audioExportSettings. */ + public audioExportSettings?: (google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings|null); + /** SecuritySettings insightsExportSettings. */ public insightsExportSettings?: (google.cloud.dialogflow.cx.v3.SecuritySettings.IInsightsExportSettings|null); @@ -24340,6 +24346,125 @@ export namespace google { DIALOGFLOW_HISTORY = 1 } + /** Properties of an AudioExportSettings. */ + interface IAudioExportSettings { + + /** AudioExportSettings gcsBucket */ + gcsBucket?: (string|null); + + /** AudioExportSettings audioExportPattern */ + audioExportPattern?: (string|null); + + /** AudioExportSettings enableAudioRedaction */ + enableAudioRedaction?: (boolean|null); + + /** AudioExportSettings audioFormat */ + audioFormat?: (google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat|keyof typeof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat|null); + } + + /** Represents an AudioExportSettings. */ + class AudioExportSettings implements IAudioExportSettings { + + /** + * Constructs a new AudioExportSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings); + + /** AudioExportSettings gcsBucket. */ + public gcsBucket: string; + + /** AudioExportSettings audioExportPattern. */ + public audioExportPattern: string; + + /** AudioExportSettings enableAudioRedaction. */ + public enableAudioRedaction: boolean; + + /** AudioExportSettings audioFormat. */ + public audioFormat: (google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat|keyof typeof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat); + + /** + * Creates a new AudioExportSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns AudioExportSettings instance + */ + public static create(properties?: google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings): google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings; + + /** + * Encodes the specified AudioExportSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.verify|verify} messages. + * @param message AudioExportSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AudioExportSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.verify|verify} messages. + * @param message AudioExportSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AudioExportSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AudioExportSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings; + + /** + * Decodes an AudioExportSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AudioExportSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings; + + /** + * Verifies an AudioExportSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an AudioExportSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AudioExportSettings + */ + public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings; + + /** + * Creates a plain object from an AudioExportSettings message. Also converts values to other types if specified. + * @param message AudioExportSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AudioExportSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace AudioExportSettings { + + /** AudioFormat enum. */ + enum AudioFormat { + AUDIO_FORMAT_UNSPECIFIED = 0, + MULAW = 1, + MP3 = 2, + OGG = 3 + } + } + /** Properties of an InsightsExportSettings. */ interface IInsightsExportSettings { @@ -55874,6 +55999,18 @@ export namespace google { /** Namespace api. */ namespace api { + /** FieldBehavior enum. */ + enum FieldBehavior { + FIELD_BEHAVIOR_UNSPECIFIED = 0, + OPTIONAL = 1, + REQUIRED = 2, + OUTPUT_ONLY = 3, + INPUT_ONLY = 4, + IMMUTABLE = 5, + UNORDERED_LIST = 6, + NON_EMPTY_DEFAULT = 7 + } + /** Properties of a Http. */ interface IHttp { @@ -56213,18 +56350,6 @@ export namespace google { public toJSON(): { [k: string]: any }; } - /** FieldBehavior enum. */ - enum FieldBehavior { - FIELD_BEHAVIOR_UNSPECIFIED = 0, - OPTIONAL = 1, - REQUIRED = 2, - OUTPUT_ONLY = 3, - INPUT_ONLY = 4, - IMMUTABLE = 5, - UNORDERED_LIST = 6, - NON_EMPTY_DEFAULT = 7 - } - /** Properties of a ResourceDescriptor. */ interface IResourceDescriptor { diff --git a/protos/protos.js b/protos/protos.js index c8f34a2f..dd4febc7 100644 --- a/protos/protos.js +++ b/protos/protos.js @@ -56742,6 +56742,7 @@ * @property {string|null} [deidentifyTemplate] SecuritySettings deidentifyTemplate * @property {number|null} [retentionWindowDays] SecuritySettings retentionWindowDays * @property {Array.|null} [purgeDataTypes] SecuritySettings purgeDataTypes + * @property {google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings|null} [audioExportSettings] SecuritySettings audioExportSettings * @property {google.cloud.dialogflow.cx.v3.SecuritySettings.IInsightsExportSettings|null} [insightsExportSettings] SecuritySettings insightsExportSettings */ @@ -56825,6 +56826,14 @@ */ SecuritySettings.prototype.purgeDataTypes = $util.emptyArray; + /** + * SecuritySettings audioExportSettings. + * @member {google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings|null|undefined} audioExportSettings + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings + * @instance + */ + SecuritySettings.prototype.audioExportSettings = null; + /** * SecuritySettings insightsExportSettings. * @member {google.cloud.dialogflow.cx.v3.SecuritySettings.IInsightsExportSettings|null|undefined} insightsExportSettings @@ -56889,6 +56898,8 @@ } if (message.inspectTemplate != null && Object.hasOwnProperty.call(message, "inspectTemplate")) writer.uint32(/* id 9, wireType 2 =*/74).string(message.inspectTemplate); + if (message.audioExportSettings != null && Object.hasOwnProperty.call(message, "audioExportSettings")) + $root.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.encode(message.audioExportSettings, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); if (message.insightsExportSettings != null && Object.hasOwnProperty.call(message, "insightsExportSettings")) $root.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.encode(message.insightsExportSettings, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); if (message.deidentifyTemplate != null && Object.hasOwnProperty.call(message, "deidentifyTemplate")) @@ -56958,6 +56969,9 @@ } else message.purgeDataTypes.push(reader.int32()); break; + case 12: + message.audioExportSettings = $root.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.decode(reader, reader.uint32()); + break; case 13: message.insightsExportSettings = $root.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.decode(reader, reader.uint32()); break; @@ -57042,6 +57056,11 @@ break; } } + if (message.audioExportSettings != null && message.hasOwnProperty("audioExportSettings")) { + var error = $root.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.verify(message.audioExportSettings); + if (error) + return "audioExportSettings." + error; + } if (message.insightsExportSettings != null && message.hasOwnProperty("insightsExportSettings")) { var error = $root.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.verify(message.insightsExportSettings); if (error) @@ -57109,6 +57128,11 @@ break; } } + if (object.audioExportSettings != null) { + if (typeof object.audioExportSettings !== "object") + throw TypeError(".google.cloud.dialogflow.cx.v3.SecuritySettings.audioExportSettings: object expected"); + message.audioExportSettings = $root.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.fromObject(object.audioExportSettings); + } if (object.insightsExportSettings != null) { if (typeof object.insightsExportSettings !== "object") throw TypeError(".google.cloud.dialogflow.cx.v3.SecuritySettings.insightsExportSettings: object expected"); @@ -57138,6 +57162,7 @@ object.redactionStrategy = options.enums === String ? "REDACTION_STRATEGY_UNSPECIFIED" : 0; object.redactionScope = options.enums === String ? "REDACTION_SCOPE_UNSPECIFIED" : 0; object.inspectTemplate = ""; + object.audioExportSettings = null; object.insightsExportSettings = null; object.deidentifyTemplate = ""; } @@ -57161,6 +57186,8 @@ } if (message.inspectTemplate != null && message.hasOwnProperty("inspectTemplate")) object.inspectTemplate = message.inspectTemplate; + if (message.audioExportSettings != null && message.hasOwnProperty("audioExportSettings")) + object.audioExportSettings = $root.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.toObject(message.audioExportSettings, options); if (message.insightsExportSettings != null && message.hasOwnProperty("insightsExportSettings")) object.insightsExportSettings = $root.google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.toObject(message.insightsExportSettings, options); if (message.deidentifyTemplate != null && message.hasOwnProperty("deidentifyTemplate")) @@ -57221,6 +57248,301 @@ return values; })(); + SecuritySettings.AudioExportSettings = (function() { + + /** + * Properties of an AudioExportSettings. + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings + * @interface IAudioExportSettings + * @property {string|null} [gcsBucket] AudioExportSettings gcsBucket + * @property {string|null} [audioExportPattern] AudioExportSettings audioExportPattern + * @property {boolean|null} [enableAudioRedaction] AudioExportSettings enableAudioRedaction + * @property {google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat|null} [audioFormat] AudioExportSettings audioFormat + */ + + /** + * Constructs a new AudioExportSettings. + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings + * @classdesc Represents an AudioExportSettings. + * @implements IAudioExportSettings + * @constructor + * @param {google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings=} [properties] Properties to set + */ + function AudioExportSettings(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AudioExportSettings gcsBucket. + * @member {string} gcsBucket + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings + * @instance + */ + AudioExportSettings.prototype.gcsBucket = ""; + + /** + * AudioExportSettings audioExportPattern. + * @member {string} audioExportPattern + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings + * @instance + */ + AudioExportSettings.prototype.audioExportPattern = ""; + + /** + * AudioExportSettings enableAudioRedaction. + * @member {boolean} enableAudioRedaction + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings + * @instance + */ + AudioExportSettings.prototype.enableAudioRedaction = false; + + /** + * AudioExportSettings audioFormat. + * @member {google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat} audioFormat + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings + * @instance + */ + AudioExportSettings.prototype.audioFormat = 0; + + /** + * Creates a new AudioExportSettings instance using the specified properties. + * @function create + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings + * @static + * @param {google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings=} [properties] Properties to set + * @returns {google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings} AudioExportSettings instance + */ + AudioExportSettings.create = function create(properties) { + return new AudioExportSettings(properties); + }; + + /** + * Encodes the specified AudioExportSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.verify|verify} messages. + * @function encode + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings + * @static + * @param {google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings} message AudioExportSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AudioExportSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.gcsBucket != null && Object.hasOwnProperty.call(message, "gcsBucket")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.gcsBucket); + if (message.audioExportPattern != null && Object.hasOwnProperty.call(message, "audioExportPattern")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.audioExportPattern); + if (message.enableAudioRedaction != null && Object.hasOwnProperty.call(message, "enableAudioRedaction")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.enableAudioRedaction); + if (message.audioFormat != null && Object.hasOwnProperty.call(message, "audioFormat")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.audioFormat); + return writer; + }; + + /** + * Encodes the specified AudioExportSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings + * @static + * @param {google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings} message AudioExportSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AudioExportSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AudioExportSettings message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings} AudioExportSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AudioExportSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.gcsBucket = reader.string(); + break; + case 2: + message.audioExportPattern = reader.string(); + break; + case 3: + message.enableAudioRedaction = reader.bool(); + break; + case 4: + message.audioFormat = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AudioExportSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings} AudioExportSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AudioExportSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AudioExportSettings message. + * @function verify + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AudioExportSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.gcsBucket != null && message.hasOwnProperty("gcsBucket")) + if (!$util.isString(message.gcsBucket)) + return "gcsBucket: string expected"; + if (message.audioExportPattern != null && message.hasOwnProperty("audioExportPattern")) + if (!$util.isString(message.audioExportPattern)) + return "audioExportPattern: string expected"; + if (message.enableAudioRedaction != null && message.hasOwnProperty("enableAudioRedaction")) + if (typeof message.enableAudioRedaction !== "boolean") + return "enableAudioRedaction: boolean expected"; + if (message.audioFormat != null && message.hasOwnProperty("audioFormat")) + switch (message.audioFormat) { + default: + return "audioFormat: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + return null; + }; + + /** + * Creates an AudioExportSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings} AudioExportSettings + */ + AudioExportSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings) + return object; + var message = new $root.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings(); + if (object.gcsBucket != null) + message.gcsBucket = String(object.gcsBucket); + if (object.audioExportPattern != null) + message.audioExportPattern = String(object.audioExportPattern); + if (object.enableAudioRedaction != null) + message.enableAudioRedaction = Boolean(object.enableAudioRedaction); + switch (object.audioFormat) { + case "AUDIO_FORMAT_UNSPECIFIED": + case 0: + message.audioFormat = 0; + break; + case "MULAW": + case 1: + message.audioFormat = 1; + break; + case "MP3": + case 2: + message.audioFormat = 2; + break; + case "OGG": + case 3: + message.audioFormat = 3; + break; + } + return message; + }; + + /** + * Creates a plain object from an AudioExportSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings + * @static + * @param {google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings} message AudioExportSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AudioExportSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.gcsBucket = ""; + object.audioExportPattern = ""; + object.enableAudioRedaction = false; + object.audioFormat = options.enums === String ? "AUDIO_FORMAT_UNSPECIFIED" : 0; + } + if (message.gcsBucket != null && message.hasOwnProperty("gcsBucket")) + object.gcsBucket = message.gcsBucket; + if (message.audioExportPattern != null && message.hasOwnProperty("audioExportPattern")) + object.audioExportPattern = message.audioExportPattern; + if (message.enableAudioRedaction != null && message.hasOwnProperty("enableAudioRedaction")) + object.enableAudioRedaction = message.enableAudioRedaction; + if (message.audioFormat != null && message.hasOwnProperty("audioFormat")) + object.audioFormat = options.enums === String ? $root.google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat[message.audioFormat] : message.audioFormat; + return object; + }; + + /** + * Converts this AudioExportSettings to JSON. + * @function toJSON + * @memberof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings + * @instance + * @returns {Object.} JSON object + */ + AudioExportSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * AudioFormat enum. + * @name google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat + * @enum {number} + * @property {number} AUDIO_FORMAT_UNSPECIFIED=0 AUDIO_FORMAT_UNSPECIFIED value + * @property {number} MULAW=1 MULAW value + * @property {number} MP3=2 MP3 value + * @property {number} OGG=3 OGG value + */ + AudioExportSettings.AudioFormat = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "AUDIO_FORMAT_UNSPECIFIED"] = 0; + values[valuesById[1] = "MULAW"] = 1; + values[valuesById[2] = "MP3"] = 2; + values[valuesById[3] = "OGG"] = 3; + return values; + })(); + + return AudioExportSettings; + })(); + SecuritySettings.InsightsExportSettings = (function() { /** @@ -131204,6 +131526,32 @@ */ var api = {}; + /** + * FieldBehavior enum. + * @name google.api.FieldBehavior + * @enum {number} + * @property {number} FIELD_BEHAVIOR_UNSPECIFIED=0 FIELD_BEHAVIOR_UNSPECIFIED value + * @property {number} OPTIONAL=1 OPTIONAL value + * @property {number} REQUIRED=2 REQUIRED value + * @property {number} OUTPUT_ONLY=3 OUTPUT_ONLY value + * @property {number} INPUT_ONLY=4 INPUT_ONLY value + * @property {number} IMMUTABLE=5 IMMUTABLE value + * @property {number} UNORDERED_LIST=6 UNORDERED_LIST value + * @property {number} NON_EMPTY_DEFAULT=7 NON_EMPTY_DEFAULT value + */ + api.FieldBehavior = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FIELD_BEHAVIOR_UNSPECIFIED"] = 0; + values[valuesById[1] = "OPTIONAL"] = 1; + values[valuesById[2] = "REQUIRED"] = 2; + values[valuesById[3] = "OUTPUT_ONLY"] = 3; + values[valuesById[4] = "INPUT_ONLY"] = 4; + values[valuesById[5] = "IMMUTABLE"] = 5; + values[valuesById[6] = "UNORDERED_LIST"] = 6; + values[valuesById[7] = "NON_EMPTY_DEFAULT"] = 7; + return values; + })(); + api.Http = (function() { /** @@ -132108,32 +132456,6 @@ return CustomHttpPattern; })(); - /** - * FieldBehavior enum. - * @name google.api.FieldBehavior - * @enum {number} - * @property {number} FIELD_BEHAVIOR_UNSPECIFIED=0 FIELD_BEHAVIOR_UNSPECIFIED value - * @property {number} OPTIONAL=1 OPTIONAL value - * @property {number} REQUIRED=2 REQUIRED value - * @property {number} OUTPUT_ONLY=3 OUTPUT_ONLY value - * @property {number} INPUT_ONLY=4 INPUT_ONLY value - * @property {number} IMMUTABLE=5 IMMUTABLE value - * @property {number} UNORDERED_LIST=6 UNORDERED_LIST value - * @property {number} NON_EMPTY_DEFAULT=7 NON_EMPTY_DEFAULT value - */ - api.FieldBehavior = (function() { - var valuesById = {}, values = Object.create(valuesById); - values[valuesById[0] = "FIELD_BEHAVIOR_UNSPECIFIED"] = 0; - values[valuesById[1] = "OPTIONAL"] = 1; - values[valuesById[2] = "REQUIRED"] = 2; - values[valuesById[3] = "OUTPUT_ONLY"] = 3; - values[valuesById[4] = "INPUT_ONLY"] = 4; - values[valuesById[5] = "IMMUTABLE"] = 5; - values[valuesById[6] = "UNORDERED_LIST"] = 6; - values[valuesById[7] = "NON_EMPTY_DEFAULT"] = 7; - return values; - })(); - api.ResourceDescriptor = (function() { /** diff --git a/protos/protos.json b/protos/protos.json index aa347dd4..17796ddf 100644 --- a/protos/protos.json +++ b/protos/protos.json @@ -6522,6 +6522,10 @@ "type": "PurgeDataType", "id": 8 }, + "audioExportSettings": { + "type": "AudioExportSettings", + "id": 12 + }, "insightsExportSettings": { "type": "InsightsExportSettings", "id": 13 @@ -6546,6 +6550,36 @@ "DIALOGFLOW_HISTORY": 1 } }, + "AudioExportSettings": { + "fields": { + "gcsBucket": { + "type": "string", + "id": 1 + }, + "audioExportPattern": { + "type": "string", + "id": 2 + }, + "enableAudioRedaction": { + "type": "bool", + "id": 3 + }, + "audioFormat": { + "type": "AudioFormat", + "id": 4 + } + }, + "nested": { + "AudioFormat": { + "values": { + "AUDIO_FORMAT_UNSPECIFIED": 0, + "MULAW": 1, + "MP3": 2, + "OGG": 3 + } + } + } + }, "InsightsExportSettings": { "fields": { "enableInsightsExport": { @@ -15018,6 +15052,24 @@ "cc_enable_arenas": true }, "nested": { + "fieldBehavior": { + "rule": "repeated", + "type": "google.api.FieldBehavior", + "id": 1052, + "extend": "google.protobuf.FieldOptions" + }, + "FieldBehavior": { + "values": { + "FIELD_BEHAVIOR_UNSPECIFIED": 0, + "OPTIONAL": 1, + "REQUIRED": 2, + "OUTPUT_ONLY": 3, + "INPUT_ONLY": 4, + "IMMUTABLE": 5, + "UNORDERED_LIST": 6, + "NON_EMPTY_DEFAULT": 7 + } + }, "http": { "type": "HttpRule", "id": 72295728, @@ -15121,24 +15173,6 @@ "id": 1050, "extend": "google.protobuf.ServiceOptions" }, - "fieldBehavior": { - "rule": "repeated", - "type": "google.api.FieldBehavior", - "id": 1052, - "extend": "google.protobuf.FieldOptions" - }, - "FieldBehavior": { - "values": { - "FIELD_BEHAVIOR_UNSPECIFIED": 0, - "OPTIONAL": 1, - "REQUIRED": 2, - "OUTPUT_ONLY": 3, - "INPUT_ONLY": 4, - "IMMUTABLE": 5, - "UNORDERED_LIST": 6, - "NON_EMPTY_DEFAULT": 7 - } - }, "resourceReference": { "type": "google.api.ResourceReference", "id": 1055, diff --git a/samples/generated/v3/snippet_metadata.google.cloud.dialogflow.cx.v3.json b/samples/generated/v3/snippet_metadata.google.cloud.dialogflow.cx.v3.json index 4ee089fb..a1b5e4bf 100644 --- a/samples/generated/v3/snippet_metadata.google.cloud.dialogflow.cx.v3.json +++ b/samples/generated/v3/snippet_metadata.google.cloud.dialogflow.cx.v3.json @@ -3463,7 +3463,7 @@ "regionTag": "dialogflow_v3_generated_TestCases_ImportTestCases_async", "title": "Agents importTestCases Sample", "origin": "API_DEFINITION", - "description": " Imports the test cases from a Cloud Storage bucket or a local file. It always creates new test cases and won't overwite any existing ones. The provided ID in the imported test case is neglected. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: [ImportTestCasesMetadata][google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata] - `response`: [ImportTestCasesResponse][google.cloud.dialogflow.cx.v3.ImportTestCasesResponse]", + "description": " Imports the test cases from a Cloud Storage bucket or a local file. It always creates new test cases and won't overwrite any existing ones. The provided ID in the imported test case is neglected. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: [ImportTestCasesMetadata][google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata] - `response`: [ImportTestCasesResponse][google.cloud.dialogflow.cx.v3.ImportTestCasesResponse]", "canonical": true, "file": "test_cases.import_test_cases.js", "language": "JAVASCRIPT", diff --git a/samples/generated/v3beta1/snippet_metadata.google.cloud.dialogflow.cx.v3beta1.json b/samples/generated/v3beta1/snippet_metadata.google.cloud.dialogflow.cx.v3beta1.json index b1192084..9be71b8d 100644 --- a/samples/generated/v3beta1/snippet_metadata.google.cloud.dialogflow.cx.v3beta1.json +++ b/samples/generated/v3beta1/snippet_metadata.google.cloud.dialogflow.cx.v3beta1.json @@ -3463,7 +3463,7 @@ "regionTag": "dialogflow_v3beta1_generated_TestCases_ImportTestCases_async", "title": "Agents importTestCases Sample", "origin": "API_DEFINITION", - "description": " Imports the test cases from a Cloud Storage bucket or a local file. It always creates new test cases and won't overwite any existing ones. The provided ID in the imported test case is neglected. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: [ImportTestCasesMetadata][google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata] - `response`: [ImportTestCasesResponse][google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse]", + "description": " Imports the test cases from a Cloud Storage bucket or a local file. It always creates new test cases and won't overwrite any existing ones. The provided ID in the imported test case is neglected. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: [ImportTestCasesMetadata][google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata] - `response`: [ImportTestCasesResponse][google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse]", "canonical": true, "file": "test_cases.import_test_cases.js", "language": "JAVASCRIPT", diff --git a/src/v3/test_cases_client.ts b/src/v3/test_cases_client.ts index 16b87b56..59c9cbbe 100644 --- a/src/v3/test_cases_client.ts +++ b/src/v3/test_cases_client.ts @@ -1349,7 +1349,7 @@ export class TestCasesClient { } /** * Imports the test cases from a Cloud Storage bucket or a local file. It - * always creates new test cases and won't overwite any existing ones. The + * always creates new test cases and won't overwrite any existing ones. The * provided ID in the imported test case is neglected. * * This method is a [long-running diff --git a/src/v3beta1/test_cases_client.ts b/src/v3beta1/test_cases_client.ts index 5e43a90a..abf0ee39 100644 --- a/src/v3beta1/test_cases_client.ts +++ b/src/v3beta1/test_cases_client.ts @@ -1361,7 +1361,7 @@ export class TestCasesClient { } /** * Imports the test cases from a Cloud Storage bucket or a local file. It - * always creates new test cases and won't overwite any existing ones. The + * always creates new test cases and won't overwrite any existing ones. The * provided ID in the imported test case is neglected. * * This method is a [long-running