From fc5df691098acf20d525564a8d9ab7e7e1e37fa8 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Tue, 16 Nov 2021 17:55:37 +0000 Subject: [PATCH] feat: update v1 proto PiperOrigin-RevId: 410256789 Source-Link: https://github.com/googleapis/googleapis/commit/b3ff1830d2c176e68efac4ff8f589f5d5909b06c Source-Link: https://github.com/googleapis/googleapis-gen/commit/488fbdc46962d8b0c77af706faa552b9fb5a71b8 Copy-Tag: eyJwIjoiYXBpcy9Hb29nbGUuQ2xvdWQuVGV4dFRvU3BlZWNoLlYxLy5Pd2xCb3QueWFtbCIsImgiOiI0ODhmYmRjNDY5NjJkOGIwYzc3YWY3MDZmYWE1NTJiOWZiNWE3MWI4In0= --- .../CloudTts.g.cs | 101 ++++--- .../CloudTtsGrpc.g.cs | 3 +- .../CloudTtsResourceNames.g.cs | 250 ++++++++++++++++++ .../TextToSpeechClient.g.cs | 8 +- 4 files changed, 312 insertions(+), 50 deletions(-) create mode 100644 apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/CloudTtsResourceNames.g.cs diff --git a/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/CloudTts.g.cs b/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/CloudTts.g.cs index ca54653930fc..c73a9253e8c3 100644 --- a/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/CloudTts.g.cs +++ b/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/CloudTts.g.cs @@ -27,50 +27,53 @@ public static partial class CloudTtsReflection { "Cixnb29nbGUvY2xvdWQvdGV4dHRvc3BlZWNoL3YxL2Nsb3VkX3R0cy5wcm90", "bxIcZ29vZ2xlLmNsb3VkLnRleHR0b3NwZWVjaC52MRocZ29vZ2xlL2FwaS9h", "bm5vdGF0aW9ucy5wcm90bxoXZ29vZ2xlL2FwaS9jbGllbnQucHJvdG8aH2dv", - "b2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8iLwoRTGlzdFZvaWNlc1Jl", - "cXVlc3QSGgoNbGFuZ3VhZ2VfY29kZRgBIAEoCUID4EEBIkkKEkxpc3RWb2lj", - "ZXNSZXNwb25zZRIzCgZ2b2ljZXMYASADKAsyIy5nb29nbGUuY2xvdWQudGV4", - "dHRvc3BlZWNoLnYxLlZvaWNlIpQBCgVWb2ljZRIWCg5sYW5ndWFnZV9jb2Rl", - "cxgBIAMoCRIMCgRuYW1lGAIgASgJEkIKC3NzbWxfZ2VuZGVyGAMgASgOMi0u", - "Z29vZ2xlLmNsb3VkLnRleHR0b3NwZWVjaC52MS5Tc21sVm9pY2VHZW5kZXIS", - "IQoZbmF0dXJhbF9zYW1wbGVfcmF0ZV9oZXJ0ehgEIAEoBSLpAQoXU3ludGhl", - "c2l6ZVNwZWVjaFJlcXVlc3QSQAoFaW5wdXQYASABKAsyLC5nb29nbGUuY2xv", - "dWQudGV4dHRvc3BlZWNoLnYxLlN5bnRoZXNpc0lucHV0QgPgQQISRgoFdm9p", - "Y2UYAiABKAsyMi5nb29nbGUuY2xvdWQudGV4dHRvc3BlZWNoLnYxLlZvaWNl", - "U2VsZWN0aW9uUGFyYW1zQgPgQQISRAoMYXVkaW9fY29uZmlnGAMgASgLMiku", - "Z29vZ2xlLmNsb3VkLnRleHR0b3NwZWVjaC52MS5BdWRpb0NvbmZpZ0ID4EEC", - "IkAKDlN5bnRoZXNpc0lucHV0Eg4KBHRleHQYASABKAlIABIOCgRzc21sGAIg", - "ASgJSABCDgoMaW5wdXRfc291cmNlIoQBChRWb2ljZVNlbGVjdGlvblBhcmFt", - "cxIaCg1sYW5ndWFnZV9jb2RlGAEgASgJQgPgQQISDAoEbmFtZRgCIAEoCRJC", - "Cgtzc21sX2dlbmRlchgDIAEoDjItLmdvb2dsZS5jbG91ZC50ZXh0dG9zcGVl", - "Y2gudjEuU3NtbFZvaWNlR2VuZGVyIvEBCgtBdWRpb0NvbmZpZxJICg5hdWRp", - "b19lbmNvZGluZxgBIAEoDjIrLmdvb2dsZS5jbG91ZC50ZXh0dG9zcGVlY2gu", - "djEuQXVkaW9FbmNvZGluZ0ID4EECEh0KDXNwZWFraW5nX3JhdGUYAiABKAFC", - "BuBBBOBBARIVCgVwaXRjaBgDIAEoAUIG4EEE4EEBEh4KDnZvbHVtZV9nYWlu", - "X2RiGAQgASgBQgbgQQTgQQESHgoRc2FtcGxlX3JhdGVfaGVydHoYBSABKAVC", - "A+BBARIiChJlZmZlY3RzX3Byb2ZpbGVfaWQYBiADKAlCBuBBBOBBASIxChhT", - "eW50aGVzaXplU3BlZWNoUmVzcG9uc2USFQoNYXVkaW9fY29udGVudBgBIAEo", - "DCpXCg9Tc21sVm9pY2VHZW5kZXISIQodU1NNTF9WT0lDRV9HRU5ERVJfVU5T", - "UEVDSUZJRUQQABIICgRNQUxFEAESCgoGRkVNQUxFEAISCwoHTkVVVFJBTBAD", - "KlQKDUF1ZGlvRW5jb2RpbmcSHgoaQVVESU9fRU5DT0RJTkdfVU5TUEVDSUZJ", - "RUQQABIMCghMSU5FQVIxNhABEgcKA01QMxACEgwKCE9HR19PUFVTEAMytAMK", - "DFRleHRUb1NwZWVjaBKTAQoKTGlzdFZvaWNlcxIvLmdvb2dsZS5jbG91ZC50", - "ZXh0dG9zcGVlY2gudjEuTGlzdFZvaWNlc1JlcXVlc3QaMC5nb29nbGUuY2xv", - "dWQudGV4dHRvc3BlZWNoLnYxLkxpc3RWb2ljZXNSZXNwb25zZSIigtPkkwIM", - "EgovdjEvdm9pY2Vz2kENbGFuZ3VhZ2VfY29kZRK8AQoQU3ludGhlc2l6ZVNw", - "ZWVjaBI1Lmdvb2dsZS5jbG91ZC50ZXh0dG9zcGVlY2gudjEuU3ludGhlc2l6", - "ZVNwZWVjaFJlcXVlc3QaNi5nb29nbGUuY2xvdWQudGV4dHRvc3BlZWNoLnYx", - "LlN5bnRoZXNpemVTcGVlY2hSZXNwb25zZSI5gtPkkwIYIhMvdjEvdGV4dDpz", - "eW50aGVzaXplOgEq2kEYaW5wdXQsdm9pY2UsYXVkaW9fY29uZmlnGk/KQRt0", - "ZXh0dG9zcGVlY2guZ29vZ2xlYXBpcy5jb23SQS5odHRwczovL3d3dy5nb29n", - "bGVhcGlzLmNvbS9hdXRoL2Nsb3VkLXBsYXRmb3JtQuQBCiBjb20uZ29vZ2xl", - "LmNsb3VkLnRleHR0b3NwZWVjaC52MUIRVGV4dFRvU3BlZWNoUHJvdG9QAVpI", - "Z29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9jbG91ZC90", - "ZXh0dG9zcGVlY2gvdjE7dGV4dHRvc3BlZWNo+AEBqgIcR29vZ2xlLkNsb3Vk", - "LlRleHRUb1NwZWVjaC5WMcoCHEdvb2dsZVxDbG91ZFxUZXh0VG9TcGVlY2hc", - "VjHqAh9Hb29nbGU6OkNsb3VkOjpUZXh0VG9TcGVlY2g6OlYxYgZwcm90bzM=")); + "b2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8aGWdvb2dsZS9hcGkvcmVz", + "b3VyY2UucHJvdG8iLwoRTGlzdFZvaWNlc1JlcXVlc3QSGgoNbGFuZ3VhZ2Vf", + "Y29kZRgBIAEoCUID4EEBIkkKEkxpc3RWb2ljZXNSZXNwb25zZRIzCgZ2b2lj", + "ZXMYASADKAsyIy5nb29nbGUuY2xvdWQudGV4dHRvc3BlZWNoLnYxLlZvaWNl", + "IpQBCgVWb2ljZRIWCg5sYW5ndWFnZV9jb2RlcxgBIAMoCRIMCgRuYW1lGAIg", + "ASgJEkIKC3NzbWxfZ2VuZGVyGAMgASgOMi0uZ29vZ2xlLmNsb3VkLnRleHR0", + "b3NwZWVjaC52MS5Tc21sVm9pY2VHZW5kZXISIQoZbmF0dXJhbF9zYW1wbGVf", + "cmF0ZV9oZXJ0ehgEIAEoBSLpAQoXU3ludGhlc2l6ZVNwZWVjaFJlcXVlc3QS", + "QAoFaW5wdXQYASABKAsyLC5nb29nbGUuY2xvdWQudGV4dHRvc3BlZWNoLnYx", + "LlN5bnRoZXNpc0lucHV0QgPgQQISRgoFdm9pY2UYAiABKAsyMi5nb29nbGUu", + "Y2xvdWQudGV4dHRvc3BlZWNoLnYxLlZvaWNlU2VsZWN0aW9uUGFyYW1zQgPg", + "QQISRAoMYXVkaW9fY29uZmlnGAMgASgLMikuZ29vZ2xlLmNsb3VkLnRleHR0", + "b3NwZWVjaC52MS5BdWRpb0NvbmZpZ0ID4EECIkAKDlN5bnRoZXNpc0lucHV0", + "Eg4KBHRleHQYASABKAlIABIOCgRzc21sGAIgASgJSABCDgoMaW5wdXRfc291", + "cmNlIoQBChRWb2ljZVNlbGVjdGlvblBhcmFtcxIaCg1sYW5ndWFnZV9jb2Rl", + "GAEgASgJQgPgQQISDAoEbmFtZRgCIAEoCRJCCgtzc21sX2dlbmRlchgDIAEo", + "DjItLmdvb2dsZS5jbG91ZC50ZXh0dG9zcGVlY2gudjEuU3NtbFZvaWNlR2Vu", + "ZGVyIvEBCgtBdWRpb0NvbmZpZxJICg5hdWRpb19lbmNvZGluZxgBIAEoDjIr", + "Lmdvb2dsZS5jbG91ZC50ZXh0dG9zcGVlY2gudjEuQXVkaW9FbmNvZGluZ0ID", + "4EECEh0KDXNwZWFraW5nX3JhdGUYAiABKAFCBuBBBOBBARIVCgVwaXRjaBgD", + "IAEoAUIG4EEE4EEBEh4KDnZvbHVtZV9nYWluX2RiGAQgASgBQgbgQQTgQQES", + "HgoRc2FtcGxlX3JhdGVfaGVydHoYBSABKAVCA+BBARIiChJlZmZlY3RzX3By", + "b2ZpbGVfaWQYBiADKAlCBuBBBOBBASIxChhTeW50aGVzaXplU3BlZWNoUmVz", + "cG9uc2USFQoNYXVkaW9fY29udGVudBgBIAEoDCpXCg9Tc21sVm9pY2VHZW5k", + "ZXISIQodU1NNTF9WT0lDRV9HRU5ERVJfVU5TUEVDSUZJRUQQABIICgRNQUxF", + "EAESCgoGRkVNQUxFEAISCwoHTkVVVFJBTBADKmkKDUF1ZGlvRW5jb2RpbmcS", + "HgoaQVVESU9fRU5DT0RJTkdfVU5TUEVDSUZJRUQQABIMCghMSU5FQVIxNhAB", + "EgcKA01QMxACEgwKCE9HR19PUFVTEAMSCQoFTVVMQVcQBRIICgRBTEFXEAYy", + "tAMKDFRleHRUb1NwZWVjaBKTAQoKTGlzdFZvaWNlcxIvLmdvb2dsZS5jbG91", + "ZC50ZXh0dG9zcGVlY2gudjEuTGlzdFZvaWNlc1JlcXVlc3QaMC5nb29nbGUu", + "Y2xvdWQudGV4dHRvc3BlZWNoLnYxLkxpc3RWb2ljZXNSZXNwb25zZSIigtPk", + "kwIMEgovdjEvdm9pY2Vz2kENbGFuZ3VhZ2VfY29kZRK8AQoQU3ludGhlc2l6", + "ZVNwZWVjaBI1Lmdvb2dsZS5jbG91ZC50ZXh0dG9zcGVlY2gudjEuU3ludGhl", + "c2l6ZVNwZWVjaFJlcXVlc3QaNi5nb29nbGUuY2xvdWQudGV4dHRvc3BlZWNo", + "LnYxLlN5bnRoZXNpemVTcGVlY2hSZXNwb25zZSI5gtPkkwIYIhMvdjEvdGV4", + "dDpzeW50aGVzaXplOgEq2kEYaW5wdXQsdm9pY2UsYXVkaW9fY29uZmlnGk/K", + "QRt0ZXh0dG9zcGVlY2guZ29vZ2xlYXBpcy5jb23SQS5odHRwczovL3d3dy5n", + "b29nbGVhcGlzLmNvbS9hdXRoL2Nsb3VkLXBsYXRmb3JtQrwCCiBjb20uZ29v", + "Z2xlLmNsb3VkLnRleHR0b3NwZWVjaC52MUIRVGV4dFRvU3BlZWNoUHJvdG9Q", + "AVpIZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9jbG91", + "ZC90ZXh0dG9zcGVlY2gvdjE7dGV4dHRvc3BlZWNo+AEBqgIcR29vZ2xlLkNs", + "b3VkLlRleHRUb1NwZWVjaC5WMcoCHEdvb2dsZVxDbG91ZFxUZXh0VG9TcGVl", + "Y2hcVjHqAh9Hb29nbGU6OkNsb3VkOjpUZXh0VG9TcGVlY2g6OlYx6kFVChth", + "dXRvbWwuZ29vZ2xlYXBpcy5jb20vTW9kZWwSNnByb2plY3RzL3twcm9qZWN0", + "fS9sb2NhdGlvbnMve2xvY2F0aW9ufS9tb2RlbHMve21vZGVsfWIGcHJvdG8z")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::Google.Api.AnnotationsReflection.Descriptor, global::Google.Api.ClientReflection.Descriptor, global::Google.Api.FieldBehaviorReflection.Descriptor, }, + new pbr::FileDescriptor[] { global::Google.Api.AnnotationsReflection.Descriptor, global::Google.Api.ClientReflection.Descriptor, global::Google.Api.FieldBehaviorReflection.Descriptor, global::Google.Api.ResourceReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Google.Cloud.TextToSpeech.V1.SsmlVoiceGender), typeof(global::Google.Cloud.TextToSpeech.V1.AudioEncoding), }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.TextToSpeech.V1.ListVoicesRequest), global::Google.Cloud.TextToSpeech.V1.ListVoicesRequest.Parser, new[]{ "LanguageCode" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.TextToSpeech.V1.ListVoicesResponse), global::Google.Cloud.TextToSpeech.V1.ListVoicesResponse.Parser, new[]{ "Voices" }, null, null, null, null), @@ -108,7 +111,7 @@ public enum SsmlVoiceGender { /// [pbr::OriginalName("FEMALE")] Female = 2, /// - /// A gender-neutral voice. + /// A gender-neutral voice. This voice is not yet supported. /// [pbr::OriginalName("NEUTRAL")] Neutral = 3, } @@ -138,6 +141,16 @@ public enum AudioEncoding { /// than MP3 while using approximately the same bitrate. /// [pbr::OriginalName("OGG_OPUS")] OggOpus = 3, + /// + /// 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. + /// Audio content returned as MULAW also contains a WAV header. + /// + [pbr::OriginalName("MULAW")] Mulaw = 5, + /// + /// 8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. + /// Audio content returned as ALAW also contains a WAV header. + /// + [pbr::OriginalName("ALAW")] Alaw = 6, } #endregion diff --git a/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/CloudTtsGrpc.g.cs b/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/CloudTtsGrpc.g.cs index a45f9a4c1671..fa6a8144ac38 100644 --- a/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/CloudTtsGrpc.g.cs +++ b/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/CloudTtsGrpc.g.cs @@ -3,7 +3,7 @@ // source: google/cloud/texttospeech/v1/cloud_tts.proto // // Original file comments: -// Copyright 2019 Google LLC. +// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -17,7 +17,6 @@ // See the License for the specific language governing permissions and // limitations under the License. // -// #pragma warning disable 0414, 1591 #region Designer generated code diff --git a/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/CloudTtsResourceNames.g.cs b/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/CloudTtsResourceNames.g.cs new file mode 100644 index 000000000000..795b46da81fd --- /dev/null +++ b/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/CloudTtsResourceNames.g.cs @@ -0,0 +1,250 @@ +// Copyright 2021 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 +// +// https://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. + +// Generated code. DO NOT EDIT! + +using gax = Google.Api.Gax; +using sys = System; + +namespace Google.Cloud.TextToSpeech.V1 +{ + /// Resource name for the Model resource. + public sealed partial class ModelName : gax::IResourceName, sys::IEquatable + { + /// The possible contents of . + public enum ResourceNameType + { + /// An unparsed resource name. + Unparsed = 0, + + /// + /// A resource name with pattern projects/{project}/locations/{location}/models/{model}. + /// + ProjectLocationModel = 1, + } + + private static gax::PathTemplate s_projectLocationModel = new gax::PathTemplate("projects/{project}/locations/{location}/models/{model}"); + + /// Creates a containing an unparsed resource name. + /// The unparsed resource name. Must not be null. + /// + /// A new instance of containing the provided . + /// + public static ModelName FromUnparsed(gax::UnparsedResourceName unparsedResourceName) => + new ModelName(ResourceNameType.Unparsed, gax::GaxPreconditions.CheckNotNull(unparsedResourceName, nameof(unparsedResourceName))); + + /// + /// Creates a with the pattern projects/{project}/locations/{location}/models/{model} + /// . + /// + /// The Project ID. Must not be null or empty. + /// The Location ID. Must not be null or empty. + /// The Model ID. Must not be null or empty. + /// A new instance of constructed from the provided ids. + public static ModelName FromProjectLocationModel(string projectId, string locationId, string modelId) => + new ModelName(ResourceNameType.ProjectLocationModel, projectId: gax::GaxPreconditions.CheckNotNullOrEmpty(projectId, nameof(projectId)), locationId: gax::GaxPreconditions.CheckNotNullOrEmpty(locationId, nameof(locationId)), modelId: gax::GaxPreconditions.CheckNotNullOrEmpty(modelId, nameof(modelId))); + + /// + /// Formats the IDs into the string representation of this with pattern + /// projects/{project}/locations/{location}/models/{model}. + /// + /// The Project ID. Must not be null or empty. + /// The Location ID. Must not be null or empty. + /// The Model ID. Must not be null or empty. + /// + /// The string representation of this with pattern + /// projects/{project}/locations/{location}/models/{model}. + /// + public static string Format(string projectId, string locationId, string modelId) => + FormatProjectLocationModel(projectId, locationId, modelId); + + /// + /// Formats the IDs into the string representation of this with pattern + /// projects/{project}/locations/{location}/models/{model}. + /// + /// The Project ID. Must not be null or empty. + /// The Location ID. Must not be null or empty. + /// The Model ID. Must not be null or empty. + /// + /// The string representation of this with pattern + /// projects/{project}/locations/{location}/models/{model}. + /// + public static string FormatProjectLocationModel(string projectId, string locationId, string modelId) => + s_projectLocationModel.Expand(gax::GaxPreconditions.CheckNotNullOrEmpty(projectId, nameof(projectId)), gax::GaxPreconditions.CheckNotNullOrEmpty(locationId, nameof(locationId)), gax::GaxPreconditions.CheckNotNullOrEmpty(modelId, nameof(modelId))); + + /// Parses the given resource name string into a new instance. + /// + /// To parse successfully, the resource name must be formatted as one of the following: + /// + /// projects/{project}/locations/{location}/models/{model} + /// + /// + /// The resource name in string form. Must not be null. + /// The parsed if successful. + public static ModelName Parse(string modelName) => Parse(modelName, false); + + /// + /// Parses the given resource name string into a new instance; optionally allowing an + /// unparseable resource name. + /// + /// + /// To parse successfully, the resource name must be formatted as one of the following: + /// + /// projects/{project}/locations/{location}/models/{model} + /// + /// Or may be in any format if is true. + /// + /// The resource name in string form. Must not be null. + /// + /// If true will successfully store an unparseable resource name into the + /// property; otherwise will throw an if an unparseable resource name is + /// specified. + /// + /// The parsed if successful. + public static ModelName Parse(string modelName, bool allowUnparsed) => + TryParse(modelName, allowUnparsed, out ModelName result) ? result : throw new sys::ArgumentException("The given resource-name matches no pattern."); + + /// + /// Tries to parse the given resource name string into a new instance. + /// + /// + /// To parse successfully, the resource name must be formatted as one of the following: + /// + /// projects/{project}/locations/{location}/models/{model} + /// + /// + /// The resource name in string form. Must not be null. + /// + /// When this method returns, the parsed , or null if parsing failed. + /// + /// true if the name was parsed successfully; false otherwise. + public static bool TryParse(string modelName, out ModelName result) => TryParse(modelName, false, out result); + + /// + /// Tries to parse the given resource name string into a new instance; optionally + /// allowing an unparseable resource name. + /// + /// + /// To parse successfully, the resource name must be formatted as one of the following: + /// + /// projects/{project}/locations/{location}/models/{model} + /// + /// Or may be in any format if is true. + /// + /// The resource name in string form. Must not be null. + /// + /// If true will successfully store an unparseable resource name into the + /// property; otherwise will throw an if an unparseable resource name is + /// specified. + /// + /// + /// When this method returns, the parsed , or null if parsing failed. + /// + /// true if the name was parsed successfully; false otherwise. + public static bool TryParse(string modelName, bool allowUnparsed, out ModelName result) + { + gax::GaxPreconditions.CheckNotNull(modelName, nameof(modelName)); + gax::TemplatedResourceName resourceName; + if (s_projectLocationModel.TryParseName(modelName, out resourceName)) + { + result = FromProjectLocationModel(resourceName[0], resourceName[1], resourceName[2]); + return true; + } + if (allowUnparsed) + { + if (gax::UnparsedResourceName.TryParse(modelName, out gax::UnparsedResourceName unparsedResourceName)) + { + result = FromUnparsed(unparsedResourceName); + return true; + } + } + result = null; + return false; + } + + private ModelName(ResourceNameType type, gax::UnparsedResourceName unparsedResourceName = null, string locationId = null, string modelId = null, string projectId = null) + { + Type = type; + UnparsedResource = unparsedResourceName; + LocationId = locationId; + ModelId = modelId; + ProjectId = projectId; + } + + /// + /// Constructs a new instance of a class from the component parts of pattern + /// projects/{project}/locations/{location}/models/{model} + /// + /// The Project ID. Must not be null or empty. + /// The Location ID. Must not be null or empty. + /// The Model ID. Must not be null or empty. + public ModelName(string projectId, string locationId, string modelId) : this(ResourceNameType.ProjectLocationModel, projectId: gax::GaxPreconditions.CheckNotNullOrEmpty(projectId, nameof(projectId)), locationId: gax::GaxPreconditions.CheckNotNullOrEmpty(locationId, nameof(locationId)), modelId: gax::GaxPreconditions.CheckNotNullOrEmpty(modelId, nameof(modelId))) + { + } + + /// The of the contained resource name. + public ResourceNameType Type { get; } + + /// + /// The contained . Only non-null if this instance contains an + /// unparsed resource name. + /// + public gax::UnparsedResourceName UnparsedResource { get; } + + /// + /// The Location ID. Will not be null, unless this instance contains an unparsed resource name. + /// + public string LocationId { get; } + + /// + /// The Model ID. Will not be null, unless this instance contains an unparsed resource name. + /// + public string ModelId { get; } + + /// + /// The Project ID. Will not be null, unless this instance contains an unparsed resource name. + /// + public string ProjectId { get; } + + /// Whether this instance contains a resource name with a known pattern. + public bool IsKnownPattern => Type != ResourceNameType.Unparsed; + + /// The string representation of the resource name. + /// The string representation of the resource name. + public override string ToString() + { + switch (Type) + { + case ResourceNameType.Unparsed: return UnparsedResource.ToString(); + case ResourceNameType.ProjectLocationModel: return s_projectLocationModel.Expand(ProjectId, LocationId, ModelId); + default: throw new sys::InvalidOperationException("Unrecognized resource-type."); + } + } + + /// Returns a hash code for this resource name. + public override int GetHashCode() => ToString().GetHashCode(); + + /// + public override bool Equals(object obj) => Equals(obj as ModelName); + + /// + public bool Equals(ModelName other) => ToString() == other?.ToString(); + + /// + public static bool operator ==(ModelName a, ModelName b) => ReferenceEquals(a, b) || (a?.Equals(b) ?? false); + + /// + public static bool operator !=(ModelName a, ModelName b) => !(a == b); + } +} diff --git a/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/TextToSpeechClient.g.cs b/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/TextToSpeechClient.g.cs index 27d312cadcf3..80cae271e39f 100644 --- a/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/TextToSpeechClient.g.cs +++ b/apis/Google.Cloud.TextToSpeech.V1/Google.Cloud.TextToSpeech.V1/TextToSpeechClient.g.cs @@ -66,10 +66,10 @@ private TextToSpeechSettings(TextToSpeechSettings existing) : base(existing) /// . /// /// - /// Timeout: 600 seconds. + /// Timeout: 300 seconds. /// /// - public gaxgrpc::CallSettings ListVoicesSettings { get; set; } = gaxgrpc::CallSettingsExtensions.WithRetry(gaxgrpc::CallSettings.FromExpiration(gax::Expiration.FromTimeout(sys::TimeSpan.FromMilliseconds(600000))), gaxgrpc::RetrySettings.FromExponentialBackoff(maxAttempts: 2147483647, initialBackoff: sys::TimeSpan.FromMilliseconds(100), maxBackoff: sys::TimeSpan.FromMilliseconds(60000), backoffMultiplier: 1.3, retryFilter: gaxgrpc::RetrySettings.FilterForStatusCodes(grpccore::StatusCode.Unavailable, grpccore::StatusCode.DeadlineExceeded))); + public gaxgrpc::CallSettings ListVoicesSettings { get; set; } = gaxgrpc::CallSettingsExtensions.WithRetry(gaxgrpc::CallSettings.FromExpiration(gax::Expiration.FromTimeout(sys::TimeSpan.FromMilliseconds(300000))), gaxgrpc::RetrySettings.FromExponentialBackoff(maxAttempts: 2147483647, initialBackoff: sys::TimeSpan.FromMilliseconds(100), maxBackoff: sys::TimeSpan.FromMilliseconds(60000), backoffMultiplier: 1.3, retryFilter: gaxgrpc::RetrySettings.FilterForStatusCodes(grpccore::StatusCode.Unavailable, grpccore::StatusCode.DeadlineExceeded))); /// /// for synchronous and asynchronous calls to @@ -87,10 +87,10 @@ private TextToSpeechSettings(TextToSpeechSettings existing) : base(existing) /// . /// /// - /// Timeout: 600 seconds. + /// Timeout: 300 seconds. /// /// - public gaxgrpc::CallSettings SynthesizeSpeechSettings { get; set; } = gaxgrpc::CallSettingsExtensions.WithRetry(gaxgrpc::CallSettings.FromExpiration(gax::Expiration.FromTimeout(sys::TimeSpan.FromMilliseconds(600000))), gaxgrpc::RetrySettings.FromExponentialBackoff(maxAttempts: 2147483647, initialBackoff: sys::TimeSpan.FromMilliseconds(100), maxBackoff: sys::TimeSpan.FromMilliseconds(60000), backoffMultiplier: 1.3, retryFilter: gaxgrpc::RetrySettings.FilterForStatusCodes(grpccore::StatusCode.Unavailable, grpccore::StatusCode.DeadlineExceeded))); + public gaxgrpc::CallSettings SynthesizeSpeechSettings { get; set; } = gaxgrpc::CallSettingsExtensions.WithRetry(gaxgrpc::CallSettings.FromExpiration(gax::Expiration.FromTimeout(sys::TimeSpan.FromMilliseconds(300000))), gaxgrpc::RetrySettings.FromExponentialBackoff(maxAttempts: 2147483647, initialBackoff: sys::TimeSpan.FromMilliseconds(100), maxBackoff: sys::TimeSpan.FromMilliseconds(60000), backoffMultiplier: 1.3, retryFilter: gaxgrpc::RetrySettings.FilterForStatusCodes(grpccore::StatusCode.Unavailable, grpccore::StatusCode.DeadlineExceeded))); /// Creates a deep clone of this object, with all the same property values. /// A deep clone of this object.