diff --git a/.release-please-manifest-submodules.json b/.release-please-manifest-submodules.json index 671b1d46fdfe..ab8c513ce94f 100644 --- a/.release-please-manifest-submodules.json +++ b/.release-please-manifest-submodules.json @@ -116,6 +116,7 @@ "storagetransfer": "1.10.3", "support": "1.0.3", "talent": "1.6.5", + "telcoautomation": "0.0.0", "texttospeech": "1.7.4", "tpu": "1.6.4", "trace": "1.10.4", diff --git a/firestore/apiv1/admin/adminpb/database.pb.go b/firestore/apiv1/admin/adminpb/database.pb.go old mode 100644 new mode 100755 index 576c04734be1..4bc18aaea6c6 --- a/firestore/apiv1/admin/adminpb/database.pb.go +++ b/firestore/apiv1/admin/adminpb/database.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.31.0 +// protoc v4.23.2 // source: google/firestore/admin/v1/database.proto package adminpb @@ -394,22 +394,21 @@ var file_google_firestore_admin_v1_database_proto_rawDesc = []byte{ 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x7d, 0x52, 0x01, 0x01, 0x42, 0xe1, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, + 0x62, 0x61, 0x73, 0x65, 0x7d, 0x52, 0x01, 0x01, 0x42, 0xdc, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x44, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, - 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0xa2, 0x02, 0x04, 0x47, 0x43, - 0x46, 0x53, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, - 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x62, 0x61, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, + 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, + 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x70, 0x62, 0x3b, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x70, 0x62, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x46, 0x53, 0xaa, 0x02, 0x1f, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x46, 0x69, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x31, 0xca, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x56, + 0x31, 0xea, 0x02, 0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x3a, 0x3a, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/firestore/apiv1/admin/adminpb/field.pb.go b/firestore/apiv1/admin/adminpb/field.pb.go old mode 100644 new mode 100755 index 15bb014836ba..68408ef3f0aa --- a/firestore/apiv1/admin/adminpb/field.pb.go +++ b/firestore/apiv1/admin/adminpb/field.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.31.0 +// protoc v4.23.2 // source: google/firestore/admin/v1/field.proto package adminpb @@ -125,12 +125,10 @@ type Field struct { // // Examples: // (Note: Comments here are written in markdown syntax, so there is an - // - // additional layer of backticks to represent a code block) - // - // `\`address.city\“ represents a field named `address.city`, not the map key + // additional layer of backticks to represent a code block) + // `\`address.city\`` represents a field named `address.city`, not the map key // `city` in the field `address`. - // `\`*\“ represents a field named `*`, not any field. + // `\`*\`` represents a field named `*`, not any field. // // A special `Field` contains the default indexing settings for all fields. // This field's resource name is: @@ -395,22 +393,21 @@ var file_google_firestore_admin_v1_field_proto_rawDesc = []byte{ 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x7d, 0x42, 0xde, 0x01, 0x0a, 0x1d, 0x63, 0x6f, + 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x7d, 0x42, 0xd9, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x46, 0x53, - 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x56, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x5c, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, - 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x70, 0x62, 0x3b, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x70, 0x62, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x46, 0x53, 0xaa, 0x02, 0x1f, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1f, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x56, 0x31, 0xea, + 0x02, 0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, + 0x3a, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/firestore/apiv1/admin/adminpb/firestore_admin.pb.go b/firestore/apiv1/admin/adminpb/firestore_admin.pb.go old mode 100644 new mode 100755 index 4062948aac81..3e2e385168ed --- a/firestore/apiv1/admin/adminpb/firestore_admin.pb.go +++ b/firestore/apiv1/admin/adminpb/firestore_admin.pb.go @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.31.0 +// protoc v4.23.2 // source: google/firestore/admin/v1/firestore_admin.proto package adminpb @@ -93,6 +93,117 @@ func (x *ListDatabasesRequest) GetParent() string { return "" } +// The request for +// [FirestoreAdmin.CreateDatabase][google.firestore.admin.v1.FirestoreAdmin.CreateDatabase]. +type CreateDatabaseRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. A parent name of the form + // `projects/{project_id}` + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The Database to create. + Database *Database `protobuf:"bytes,2,opt,name=database,proto3" json:"database,omitempty"` + // Required. The ID to use for the database, which will become the final + // component of the database's resource name. + // + // The value must be set to "(default)". + DatabaseId string `protobuf:"bytes,3,opt,name=database_id,json=databaseId,proto3" json:"database_id,omitempty"` +} + +func (x *CreateDatabaseRequest) Reset() { + *x = CreateDatabaseRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDatabaseRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDatabaseRequest) ProtoMessage() {} + +func (x *CreateDatabaseRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateDatabaseRequest.ProtoReflect.Descriptor instead. +func (*CreateDatabaseRequest) Descriptor() ([]byte, []int) { + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateDatabaseRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateDatabaseRequest) GetDatabase() *Database { + if x != nil { + return x.Database + } + return nil +} + +func (x *CreateDatabaseRequest) GetDatabaseId() string { + if x != nil { + return x.DatabaseId + } + return "" +} + +// Metadata related to the create database operation. +type CreateDatabaseMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CreateDatabaseMetadata) Reset() { + *x = CreateDatabaseMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDatabaseMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDatabaseMetadata) ProtoMessage() {} + +func (x *CreateDatabaseMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateDatabaseMetadata.ProtoReflect.Descriptor instead. +func (*CreateDatabaseMetadata) Descriptor() ([]byte, []int) { + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{2} +} + // The list of databases for a project. type ListDatabasesResponse struct { state protoimpl.MessageState @@ -106,7 +217,7 @@ type ListDatabasesResponse struct { func (x *ListDatabasesResponse) Reset() { *x = ListDatabasesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[1] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119,7 +230,7 @@ func (x *ListDatabasesResponse) String() string { func (*ListDatabasesResponse) ProtoMessage() {} func (x *ListDatabasesResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[1] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -132,7 +243,7 @@ func (x *ListDatabasesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDatabasesResponse.ProtoReflect.Descriptor instead. func (*ListDatabasesResponse) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{1} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{3} } func (x *ListDatabasesResponse) GetDatabases() []*Database { @@ -142,7 +253,8 @@ func (x *ListDatabasesResponse) GetDatabases() []*Database { return nil } -// The request for [FirestoreAdmin.GetDatabase][google.firestore.admin.v1.FirestoreAdmin.GetDatabase]. +// The request for +// [FirestoreAdmin.GetDatabase][google.firestore.admin.v1.FirestoreAdmin.GetDatabase]. type GetDatabaseRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -156,7 +268,7 @@ type GetDatabaseRequest struct { func (x *GetDatabaseRequest) Reset() { *x = GetDatabaseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[2] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -169,7 +281,7 @@ func (x *GetDatabaseRequest) String() string { func (*GetDatabaseRequest) ProtoMessage() {} func (x *GetDatabaseRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[2] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -182,7 +294,7 @@ func (x *GetDatabaseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDatabaseRequest.ProtoReflect.Descriptor instead. func (*GetDatabaseRequest) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{2} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{4} } func (x *GetDatabaseRequest) GetName() string { @@ -192,7 +304,8 @@ func (x *GetDatabaseRequest) GetName() string { return "" } -// The request for [FirestoreAdmin.UpdateDatabase][google.firestore.admin.v1.FirestoreAdmin.UpdateDatabase]. +// The request for +// [FirestoreAdmin.UpdateDatabase][google.firestore.admin.v1.FirestoreAdmin.UpdateDatabase]. type UpdateDatabaseRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -207,7 +320,7 @@ type UpdateDatabaseRequest struct { func (x *UpdateDatabaseRequest) Reset() { *x = UpdateDatabaseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[3] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -220,7 +333,7 @@ func (x *UpdateDatabaseRequest) String() string { func (*UpdateDatabaseRequest) ProtoMessage() {} func (x *UpdateDatabaseRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[3] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -233,7 +346,7 @@ func (x *UpdateDatabaseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateDatabaseRequest.ProtoReflect.Descriptor instead. func (*UpdateDatabaseRequest) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{3} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{5} } func (x *UpdateDatabaseRequest) GetDatabase() *Database { @@ -260,7 +373,7 @@ type UpdateDatabaseMetadata struct { func (x *UpdateDatabaseMetadata) Reset() { *x = UpdateDatabaseMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[4] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -273,7 +386,7 @@ func (x *UpdateDatabaseMetadata) String() string { func (*UpdateDatabaseMetadata) ProtoMessage() {} func (x *UpdateDatabaseMetadata) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[4] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -286,10 +399,11 @@ func (x *UpdateDatabaseMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateDatabaseMetadata.ProtoReflect.Descriptor instead. func (*UpdateDatabaseMetadata) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{4} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{6} } -// The request for [FirestoreAdmin.CreateIndex][google.firestore.admin.v1.FirestoreAdmin.CreateIndex]. +// The request for +// [FirestoreAdmin.CreateIndex][google.firestore.admin.v1.FirestoreAdmin.CreateIndex]. type CreateIndexRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -305,7 +419,7 @@ type CreateIndexRequest struct { func (x *CreateIndexRequest) Reset() { *x = CreateIndexRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[5] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -318,7 +432,7 @@ func (x *CreateIndexRequest) String() string { func (*CreateIndexRequest) ProtoMessage() {} func (x *CreateIndexRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[5] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -331,7 +445,7 @@ func (x *CreateIndexRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateIndexRequest.ProtoReflect.Descriptor instead. func (*CreateIndexRequest) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{5} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{7} } func (x *CreateIndexRequest) GetParent() string { @@ -348,7 +462,8 @@ func (x *CreateIndexRequest) GetIndex() *Index { return nil } -// The request for [FirestoreAdmin.ListIndexes][google.firestore.admin.v1.FirestoreAdmin.ListIndexes]. +// The request for +// [FirestoreAdmin.ListIndexes][google.firestore.admin.v1.FirestoreAdmin.ListIndexes]. type ListIndexesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -362,15 +477,15 @@ type ListIndexesRequest struct { // The number of results to return. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // A page token, returned from a previous call to - // [FirestoreAdmin.ListIndexes][google.firestore.admin.v1.FirestoreAdmin.ListIndexes], that may be used to get the next - // page of results. + // [FirestoreAdmin.ListIndexes][google.firestore.admin.v1.FirestoreAdmin.ListIndexes], + // that may be used to get the next page of results. PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } func (x *ListIndexesRequest) Reset() { *x = ListIndexesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[6] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -383,7 +498,7 @@ func (x *ListIndexesRequest) String() string { func (*ListIndexesRequest) ProtoMessage() {} func (x *ListIndexesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[6] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -396,7 +511,7 @@ func (x *ListIndexesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIndexesRequest.ProtoReflect.Descriptor instead. func (*ListIndexesRequest) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{6} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{8} } func (x *ListIndexesRequest) GetParent() string { @@ -427,7 +542,8 @@ func (x *ListIndexesRequest) GetPageToken() string { return "" } -// The response for [FirestoreAdmin.ListIndexes][google.firestore.admin.v1.FirestoreAdmin.ListIndexes]. +// The response for +// [FirestoreAdmin.ListIndexes][google.firestore.admin.v1.FirestoreAdmin.ListIndexes]. type ListIndexesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -443,7 +559,7 @@ type ListIndexesResponse struct { func (x *ListIndexesResponse) Reset() { *x = ListIndexesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[7] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -456,7 +572,7 @@ func (x *ListIndexesResponse) String() string { func (*ListIndexesResponse) ProtoMessage() {} func (x *ListIndexesResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[7] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -469,7 +585,7 @@ func (x *ListIndexesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListIndexesResponse.ProtoReflect.Descriptor instead. func (*ListIndexesResponse) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{7} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{9} } func (x *ListIndexesResponse) GetIndexes() []*Index { @@ -486,7 +602,8 @@ func (x *ListIndexesResponse) GetNextPageToken() string { return "" } -// The request for [FirestoreAdmin.GetIndex][google.firestore.admin.v1.FirestoreAdmin.GetIndex]. +// The request for +// [FirestoreAdmin.GetIndex][google.firestore.admin.v1.FirestoreAdmin.GetIndex]. type GetIndexRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -500,7 +617,7 @@ type GetIndexRequest struct { func (x *GetIndexRequest) Reset() { *x = GetIndexRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[8] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -513,7 +630,7 @@ func (x *GetIndexRequest) String() string { func (*GetIndexRequest) ProtoMessage() {} func (x *GetIndexRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[8] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -526,7 +643,7 @@ func (x *GetIndexRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIndexRequest.ProtoReflect.Descriptor instead. func (*GetIndexRequest) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{8} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{10} } func (x *GetIndexRequest) GetName() string { @@ -536,7 +653,8 @@ func (x *GetIndexRequest) GetName() string { return "" } -// The request for [FirestoreAdmin.DeleteIndex][google.firestore.admin.v1.FirestoreAdmin.DeleteIndex]. +// The request for +// [FirestoreAdmin.DeleteIndex][google.firestore.admin.v1.FirestoreAdmin.DeleteIndex]. type DeleteIndexRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -550,7 +668,7 @@ type DeleteIndexRequest struct { func (x *DeleteIndexRequest) Reset() { *x = DeleteIndexRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[9] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -563,7 +681,7 @@ func (x *DeleteIndexRequest) String() string { func (*DeleteIndexRequest) ProtoMessage() {} func (x *DeleteIndexRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[9] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -576,7 +694,7 @@ func (x *DeleteIndexRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteIndexRequest.ProtoReflect.Descriptor instead. func (*DeleteIndexRequest) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{9} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{11} } func (x *DeleteIndexRequest) GetName() string { @@ -586,7 +704,8 @@ func (x *DeleteIndexRequest) GetName() string { return "" } -// The request for [FirestoreAdmin.UpdateField][google.firestore.admin.v1.FirestoreAdmin.UpdateField]. +// The request for +// [FirestoreAdmin.UpdateField][google.firestore.admin.v1.FirestoreAdmin.UpdateField]. type UpdateFieldRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -602,7 +721,7 @@ type UpdateFieldRequest struct { func (x *UpdateFieldRequest) Reset() { *x = UpdateFieldRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[10] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -615,7 +734,7 @@ func (x *UpdateFieldRequest) String() string { func (*UpdateFieldRequest) ProtoMessage() {} func (x *UpdateFieldRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[10] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -628,7 +747,7 @@ func (x *UpdateFieldRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateFieldRequest.ProtoReflect.Descriptor instead. func (*UpdateFieldRequest) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{10} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{12} } func (x *UpdateFieldRequest) GetField() *Field { @@ -645,7 +764,8 @@ func (x *UpdateFieldRequest) GetUpdateMask() *fieldmaskpb.FieldMask { return nil } -// The request for [FirestoreAdmin.GetField][google.firestore.admin.v1.FirestoreAdmin.GetField]. +// The request for +// [FirestoreAdmin.GetField][google.firestore.admin.v1.FirestoreAdmin.GetField]. type GetFieldRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -659,7 +779,7 @@ type GetFieldRequest struct { func (x *GetFieldRequest) Reset() { *x = GetFieldRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[11] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -672,7 +792,7 @@ func (x *GetFieldRequest) String() string { func (*GetFieldRequest) ProtoMessage() {} func (x *GetFieldRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[11] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -685,7 +805,7 @@ func (x *GetFieldRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFieldRequest.ProtoReflect.Descriptor instead. func (*GetFieldRequest) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{11} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{13} } func (x *GetFieldRequest) GetName() string { @@ -695,7 +815,8 @@ func (x *GetFieldRequest) GetName() string { return "" } -// The request for [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields]. +// The request for +// [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields]. type ListFieldsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -705,23 +826,24 @@ type ListFieldsRequest struct { // `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // The filter to apply to list results. Currently, - // [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] only supports listing fields - // that have been explicitly overridden. To issue this query, call - // [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] with a filter that includes - // `indexConfig.usesAncestorConfig:false` . + // [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] + // only supports listing fields that have been explicitly overridden. To issue + // this query, call + // [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] + // with a filter that includes `indexConfig.usesAncestorConfig:false` . Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // The number of results to return. PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // A page token, returned from a previous call to - // [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields], that may be used to get the next - // page of results. + // [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields], + // that may be used to get the next page of results. PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } func (x *ListFieldsRequest) Reset() { *x = ListFieldsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[12] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -734,7 +856,7 @@ func (x *ListFieldsRequest) String() string { func (*ListFieldsRequest) ProtoMessage() {} func (x *ListFieldsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[12] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -747,7 +869,7 @@ func (x *ListFieldsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListFieldsRequest.ProtoReflect.Descriptor instead. func (*ListFieldsRequest) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{12} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{14} } func (x *ListFieldsRequest) GetParent() string { @@ -778,7 +900,8 @@ func (x *ListFieldsRequest) GetPageToken() string { return "" } -// The response for [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields]. +// The response for +// [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields]. type ListFieldsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -794,7 +917,7 @@ type ListFieldsResponse struct { func (x *ListFieldsResponse) Reset() { *x = ListFieldsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[13] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -807,7 +930,7 @@ func (x *ListFieldsResponse) String() string { func (*ListFieldsResponse) ProtoMessage() {} func (x *ListFieldsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[13] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -820,7 +943,7 @@ func (x *ListFieldsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListFieldsResponse.ProtoReflect.Descriptor instead. func (*ListFieldsResponse) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{13} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{15} } func (x *ListFieldsResponse) GetFields() []*Field { @@ -837,7 +960,8 @@ func (x *ListFieldsResponse) GetNextPageToken() string { return "" } -// The request for [FirestoreAdmin.ExportDocuments][google.firestore.admin.v1.FirestoreAdmin.ExportDocuments]. +// The request for +// [FirestoreAdmin.ExportDocuments][google.firestore.admin.v1.FirestoreAdmin.ExportDocuments]. type ExportDocumentsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -862,7 +986,7 @@ type ExportDocumentsRequest struct { func (x *ExportDocumentsRequest) Reset() { *x = ExportDocumentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[14] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -875,7 +999,7 @@ func (x *ExportDocumentsRequest) String() string { func (*ExportDocumentsRequest) ProtoMessage() {} func (x *ExportDocumentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[14] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -888,7 +1012,7 @@ func (x *ExportDocumentsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportDocumentsRequest.ProtoReflect.Descriptor instead. func (*ExportDocumentsRequest) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{14} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{16} } func (x *ExportDocumentsRequest) GetName() string { @@ -912,7 +1036,8 @@ func (x *ExportDocumentsRequest) GetOutputUriPrefix() string { return "" } -// The request for [FirestoreAdmin.ImportDocuments][google.firestore.admin.v1.FirestoreAdmin.ImportDocuments]. +// The request for +// [FirestoreAdmin.ImportDocuments][google.firestore.admin.v1.FirestoreAdmin.ImportDocuments]. type ImportDocumentsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -935,7 +1060,7 @@ type ImportDocumentsRequest struct { func (x *ImportDocumentsRequest) Reset() { *x = ImportDocumentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[15] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -948,7 +1073,7 @@ func (x *ImportDocumentsRequest) String() string { func (*ImportDocumentsRequest) ProtoMessage() {} func (x *ImportDocumentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[15] + mi := &file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -961,7 +1086,7 @@ func (x *ImportDocumentsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportDocumentsRequest.ProtoReflect.Descriptor instead. func (*ImportDocumentsRequest) Descriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{15} + return file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP(), []int{17} } func (x *ImportDocumentsRequest) GetName() string { @@ -1019,101 +1144,126 @@ var file_google_firestore_admin_v1_firestore_admin_proto_rawDesc = []byte{ 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x12, 0x21, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x06, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x5a, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x41, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x73, 0x22, 0x53, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x12, 0x21, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x49, 0x64, 0x22, + 0x18, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5a, 0x0a, 0x15, 0x4c, 0x69, 0x73, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x73, 0x22, 0x53, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x23, 0x0a, 0x21, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x15, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x18, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x9b, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, + 0x0a, 0x28, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, + 0xb2, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x44, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x18, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x9b, - 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x66, - 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, - 0x3b, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xb2, 0x01, 0x0a, - 0x12, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x66, 0x69, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0x79, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x07, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x79, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x07, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x4d, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x50, + 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x66, 0x69, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, + 0x6b, 0x22, 0x4d, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x66, 0x69, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xb1, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, + 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x76, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, - 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4d, 0x0a, 0x0f, - 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x12, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8e, 0x01, - 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, - 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x4d, - 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb1, 0x01, - 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x66, 0x69, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0x76, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, - 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x16, 0x45, 0x78, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xaa, 0x01, 0x0a, + 0x16, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, + 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, + 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x55, 0x72, 0x69, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0xa8, 0x01, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x66, 0x69, 0x72, 0x65, @@ -1121,201 +1271,204 @@ var file_google_firestore_admin_v1_firestore_admin_proto_rawDesc = []byte{ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0xa8, 0x01, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x32, 0x92, 0x13, 0x0a, 0x0e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x12, 0xdb, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x32, 0xee, 0x14, 0x0a, 0x0e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0xdb, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0xca, 0x41, 0x1f, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x16, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0c, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x3a, 0x05, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0xbd, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, - 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x7e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, - 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x3a, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0xda, 0x41, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0xca, 0x41, 0x1f, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0xbd, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, - 0x7d, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0xa7, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x4d, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0xa7, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x22, 0x4d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, + 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xa3, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x4d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x2a, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xa3, 0x01, 0x0a, - 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x2a, 0x3e, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa6, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x22, 0x4c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, + 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, + 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd9, + 0x01, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x2d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0xca, 0x41, + 0x1f, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x16, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xda, 0x41, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x3a, 0x05, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x43, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, - 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0xa6, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, - 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x4c, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xd9, 0x01, 0x0a, 0x0b, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x2d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x4c, 0x32, 0x43, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x2f, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0xda, 0x41, 0x05, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0xca, 0x41, 0x1f, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, - 0x16, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xb9, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, - 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, - 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x2f, 0x2a, 0x7d, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x12, 0xdd, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb9, 0x01, 0x0a, 0x0a, 0x4c, + 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x36, 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0xdd, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0xca, 0x41, 0x32, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0xdb, 0x01, 0x0a, 0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x36, 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, + 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, + 0x3a, 0x01, 0x2a, 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x93, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, - 0x61, 0x62, 0x61, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, - 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, - 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xa6, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x3a, 0x01, + 0x2a, 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0xd9, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0xca, 0x41, 0x22, 0x0a, 0x08, 0x44, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, + 0x41, 0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2d, 0x3a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x22, 0x21, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, + 0x12, 0x93, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x22, 0x30, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa6, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x12, 0xdb, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, - 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x32, 0x2a, 0x2f, 0x76, - 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0xda, 0x41, 0x14, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2c, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x22, 0x0a, 0x08, 0x44, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x76, - 0xca, 0x41, 0x18, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x58, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, + 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, + 0xdb, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x78, 0xca, 0x41, 0x22, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x12, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x14, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x3a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x32, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x1a, 0x76, 0xca, + 0x41, 0x18, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x58, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0xaa, 0x03, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x13, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, - 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0xa2, - 0x02, 0x04, 0x47, 0x43, 0x46, 0x53, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x23, 0x47, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x46, 0x69, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x3a, 0x56, 0x31, - 0xea, 0x41, 0x4c, 0x0a, 0x21, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0xea, - 0x41, 0x71, 0x0a, 0x28, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x45, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0xa5, 0x03, 0xea, 0x41, 0x4c, 0x0a, 0x21, 0x66, 0x69, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0xea, 0x41, 0x71, 0x0a, 0x28, 0x66, 0x69, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x45, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, + 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x7d, 0x2f, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, + 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x13, 0x46, 0x69, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x39, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x70, 0x62, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x70, 0x62, 0xa2, 0x02, 0x04, 0x47, + 0x43, 0x46, 0x53, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1330,69 +1483,74 @@ func file_google_firestore_admin_v1_firestore_admin_proto_rawDescGZIP() []byte { return file_google_firestore_admin_v1_firestore_admin_proto_rawDescData } -var file_google_firestore_admin_v1_firestore_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_google_firestore_admin_v1_firestore_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_google_firestore_admin_v1_firestore_admin_proto_goTypes = []interface{}{ (*ListDatabasesRequest)(nil), // 0: google.firestore.admin.v1.ListDatabasesRequest - (*ListDatabasesResponse)(nil), // 1: google.firestore.admin.v1.ListDatabasesResponse - (*GetDatabaseRequest)(nil), // 2: google.firestore.admin.v1.GetDatabaseRequest - (*UpdateDatabaseRequest)(nil), // 3: google.firestore.admin.v1.UpdateDatabaseRequest - (*UpdateDatabaseMetadata)(nil), // 4: google.firestore.admin.v1.UpdateDatabaseMetadata - (*CreateIndexRequest)(nil), // 5: google.firestore.admin.v1.CreateIndexRequest - (*ListIndexesRequest)(nil), // 6: google.firestore.admin.v1.ListIndexesRequest - (*ListIndexesResponse)(nil), // 7: google.firestore.admin.v1.ListIndexesResponse - (*GetIndexRequest)(nil), // 8: google.firestore.admin.v1.GetIndexRequest - (*DeleteIndexRequest)(nil), // 9: google.firestore.admin.v1.DeleteIndexRequest - (*UpdateFieldRequest)(nil), // 10: google.firestore.admin.v1.UpdateFieldRequest - (*GetFieldRequest)(nil), // 11: google.firestore.admin.v1.GetFieldRequest - (*ListFieldsRequest)(nil), // 12: google.firestore.admin.v1.ListFieldsRequest - (*ListFieldsResponse)(nil), // 13: google.firestore.admin.v1.ListFieldsResponse - (*ExportDocumentsRequest)(nil), // 14: google.firestore.admin.v1.ExportDocumentsRequest - (*ImportDocumentsRequest)(nil), // 15: google.firestore.admin.v1.ImportDocumentsRequest - (*Database)(nil), // 16: google.firestore.admin.v1.Database - (*fieldmaskpb.FieldMask)(nil), // 17: google.protobuf.FieldMask - (*Index)(nil), // 18: google.firestore.admin.v1.Index - (*Field)(nil), // 19: google.firestore.admin.v1.Field - (*longrunningpb.Operation)(nil), // 20: google.longrunning.Operation - (*emptypb.Empty)(nil), // 21: google.protobuf.Empty + (*CreateDatabaseRequest)(nil), // 1: google.firestore.admin.v1.CreateDatabaseRequest + (*CreateDatabaseMetadata)(nil), // 2: google.firestore.admin.v1.CreateDatabaseMetadata + (*ListDatabasesResponse)(nil), // 3: google.firestore.admin.v1.ListDatabasesResponse + (*GetDatabaseRequest)(nil), // 4: google.firestore.admin.v1.GetDatabaseRequest + (*UpdateDatabaseRequest)(nil), // 5: google.firestore.admin.v1.UpdateDatabaseRequest + (*UpdateDatabaseMetadata)(nil), // 6: google.firestore.admin.v1.UpdateDatabaseMetadata + (*CreateIndexRequest)(nil), // 7: google.firestore.admin.v1.CreateIndexRequest + (*ListIndexesRequest)(nil), // 8: google.firestore.admin.v1.ListIndexesRequest + (*ListIndexesResponse)(nil), // 9: google.firestore.admin.v1.ListIndexesResponse + (*GetIndexRequest)(nil), // 10: google.firestore.admin.v1.GetIndexRequest + (*DeleteIndexRequest)(nil), // 11: google.firestore.admin.v1.DeleteIndexRequest + (*UpdateFieldRequest)(nil), // 12: google.firestore.admin.v1.UpdateFieldRequest + (*GetFieldRequest)(nil), // 13: google.firestore.admin.v1.GetFieldRequest + (*ListFieldsRequest)(nil), // 14: google.firestore.admin.v1.ListFieldsRequest + (*ListFieldsResponse)(nil), // 15: google.firestore.admin.v1.ListFieldsResponse + (*ExportDocumentsRequest)(nil), // 16: google.firestore.admin.v1.ExportDocumentsRequest + (*ImportDocumentsRequest)(nil), // 17: google.firestore.admin.v1.ImportDocumentsRequest + (*Database)(nil), // 18: google.firestore.admin.v1.Database + (*fieldmaskpb.FieldMask)(nil), // 19: google.protobuf.FieldMask + (*Index)(nil), // 20: google.firestore.admin.v1.Index + (*Field)(nil), // 21: google.firestore.admin.v1.Field + (*longrunningpb.Operation)(nil), // 22: google.longrunning.Operation + (*emptypb.Empty)(nil), // 23: google.protobuf.Empty } var file_google_firestore_admin_v1_firestore_admin_proto_depIdxs = []int32{ - 16, // 0: google.firestore.admin.v1.ListDatabasesResponse.databases:type_name -> google.firestore.admin.v1.Database - 16, // 1: google.firestore.admin.v1.UpdateDatabaseRequest.database:type_name -> google.firestore.admin.v1.Database - 17, // 2: google.firestore.admin.v1.UpdateDatabaseRequest.update_mask:type_name -> google.protobuf.FieldMask - 18, // 3: google.firestore.admin.v1.CreateIndexRequest.index:type_name -> google.firestore.admin.v1.Index - 18, // 4: google.firestore.admin.v1.ListIndexesResponse.indexes:type_name -> google.firestore.admin.v1.Index - 19, // 5: google.firestore.admin.v1.UpdateFieldRequest.field:type_name -> google.firestore.admin.v1.Field - 17, // 6: google.firestore.admin.v1.UpdateFieldRequest.update_mask:type_name -> google.protobuf.FieldMask - 19, // 7: google.firestore.admin.v1.ListFieldsResponse.fields:type_name -> google.firestore.admin.v1.Field - 5, // 8: google.firestore.admin.v1.FirestoreAdmin.CreateIndex:input_type -> google.firestore.admin.v1.CreateIndexRequest - 6, // 9: google.firestore.admin.v1.FirestoreAdmin.ListIndexes:input_type -> google.firestore.admin.v1.ListIndexesRequest - 8, // 10: google.firestore.admin.v1.FirestoreAdmin.GetIndex:input_type -> google.firestore.admin.v1.GetIndexRequest - 9, // 11: google.firestore.admin.v1.FirestoreAdmin.DeleteIndex:input_type -> google.firestore.admin.v1.DeleteIndexRequest - 11, // 12: google.firestore.admin.v1.FirestoreAdmin.GetField:input_type -> google.firestore.admin.v1.GetFieldRequest - 10, // 13: google.firestore.admin.v1.FirestoreAdmin.UpdateField:input_type -> google.firestore.admin.v1.UpdateFieldRequest - 12, // 14: google.firestore.admin.v1.FirestoreAdmin.ListFields:input_type -> google.firestore.admin.v1.ListFieldsRequest - 14, // 15: google.firestore.admin.v1.FirestoreAdmin.ExportDocuments:input_type -> google.firestore.admin.v1.ExportDocumentsRequest - 15, // 16: google.firestore.admin.v1.FirestoreAdmin.ImportDocuments:input_type -> google.firestore.admin.v1.ImportDocumentsRequest - 2, // 17: google.firestore.admin.v1.FirestoreAdmin.GetDatabase:input_type -> google.firestore.admin.v1.GetDatabaseRequest - 0, // 18: google.firestore.admin.v1.FirestoreAdmin.ListDatabases:input_type -> google.firestore.admin.v1.ListDatabasesRequest - 3, // 19: google.firestore.admin.v1.FirestoreAdmin.UpdateDatabase:input_type -> google.firestore.admin.v1.UpdateDatabaseRequest - 20, // 20: google.firestore.admin.v1.FirestoreAdmin.CreateIndex:output_type -> google.longrunning.Operation - 7, // 21: google.firestore.admin.v1.FirestoreAdmin.ListIndexes:output_type -> google.firestore.admin.v1.ListIndexesResponse - 18, // 22: google.firestore.admin.v1.FirestoreAdmin.GetIndex:output_type -> google.firestore.admin.v1.Index - 21, // 23: google.firestore.admin.v1.FirestoreAdmin.DeleteIndex:output_type -> google.protobuf.Empty - 19, // 24: google.firestore.admin.v1.FirestoreAdmin.GetField:output_type -> google.firestore.admin.v1.Field - 20, // 25: google.firestore.admin.v1.FirestoreAdmin.UpdateField:output_type -> google.longrunning.Operation - 13, // 26: google.firestore.admin.v1.FirestoreAdmin.ListFields:output_type -> google.firestore.admin.v1.ListFieldsResponse - 20, // 27: google.firestore.admin.v1.FirestoreAdmin.ExportDocuments:output_type -> google.longrunning.Operation - 20, // 28: google.firestore.admin.v1.FirestoreAdmin.ImportDocuments:output_type -> google.longrunning.Operation - 16, // 29: google.firestore.admin.v1.FirestoreAdmin.GetDatabase:output_type -> google.firestore.admin.v1.Database - 1, // 30: google.firestore.admin.v1.FirestoreAdmin.ListDatabases:output_type -> google.firestore.admin.v1.ListDatabasesResponse - 20, // 31: google.firestore.admin.v1.FirestoreAdmin.UpdateDatabase:output_type -> google.longrunning.Operation - 20, // [20:32] is the sub-list for method output_type - 8, // [8:20] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 18, // 0: google.firestore.admin.v1.CreateDatabaseRequest.database:type_name -> google.firestore.admin.v1.Database + 18, // 1: google.firestore.admin.v1.ListDatabasesResponse.databases:type_name -> google.firestore.admin.v1.Database + 18, // 2: google.firestore.admin.v1.UpdateDatabaseRequest.database:type_name -> google.firestore.admin.v1.Database + 19, // 3: google.firestore.admin.v1.UpdateDatabaseRequest.update_mask:type_name -> google.protobuf.FieldMask + 20, // 4: google.firestore.admin.v1.CreateIndexRequest.index:type_name -> google.firestore.admin.v1.Index + 20, // 5: google.firestore.admin.v1.ListIndexesResponse.indexes:type_name -> google.firestore.admin.v1.Index + 21, // 6: google.firestore.admin.v1.UpdateFieldRequest.field:type_name -> google.firestore.admin.v1.Field + 19, // 7: google.firestore.admin.v1.UpdateFieldRequest.update_mask:type_name -> google.protobuf.FieldMask + 21, // 8: google.firestore.admin.v1.ListFieldsResponse.fields:type_name -> google.firestore.admin.v1.Field + 7, // 9: google.firestore.admin.v1.FirestoreAdmin.CreateIndex:input_type -> google.firestore.admin.v1.CreateIndexRequest + 8, // 10: google.firestore.admin.v1.FirestoreAdmin.ListIndexes:input_type -> google.firestore.admin.v1.ListIndexesRequest + 10, // 11: google.firestore.admin.v1.FirestoreAdmin.GetIndex:input_type -> google.firestore.admin.v1.GetIndexRequest + 11, // 12: google.firestore.admin.v1.FirestoreAdmin.DeleteIndex:input_type -> google.firestore.admin.v1.DeleteIndexRequest + 13, // 13: google.firestore.admin.v1.FirestoreAdmin.GetField:input_type -> google.firestore.admin.v1.GetFieldRequest + 12, // 14: google.firestore.admin.v1.FirestoreAdmin.UpdateField:input_type -> google.firestore.admin.v1.UpdateFieldRequest + 14, // 15: google.firestore.admin.v1.FirestoreAdmin.ListFields:input_type -> google.firestore.admin.v1.ListFieldsRequest + 16, // 16: google.firestore.admin.v1.FirestoreAdmin.ExportDocuments:input_type -> google.firestore.admin.v1.ExportDocumentsRequest + 17, // 17: google.firestore.admin.v1.FirestoreAdmin.ImportDocuments:input_type -> google.firestore.admin.v1.ImportDocumentsRequest + 1, // 18: google.firestore.admin.v1.FirestoreAdmin.CreateDatabase:input_type -> google.firestore.admin.v1.CreateDatabaseRequest + 4, // 19: google.firestore.admin.v1.FirestoreAdmin.GetDatabase:input_type -> google.firestore.admin.v1.GetDatabaseRequest + 0, // 20: google.firestore.admin.v1.FirestoreAdmin.ListDatabases:input_type -> google.firestore.admin.v1.ListDatabasesRequest + 5, // 21: google.firestore.admin.v1.FirestoreAdmin.UpdateDatabase:input_type -> google.firestore.admin.v1.UpdateDatabaseRequest + 22, // 22: google.firestore.admin.v1.FirestoreAdmin.CreateIndex:output_type -> google.longrunning.Operation + 9, // 23: google.firestore.admin.v1.FirestoreAdmin.ListIndexes:output_type -> google.firestore.admin.v1.ListIndexesResponse + 20, // 24: google.firestore.admin.v1.FirestoreAdmin.GetIndex:output_type -> google.firestore.admin.v1.Index + 23, // 25: google.firestore.admin.v1.FirestoreAdmin.DeleteIndex:output_type -> google.protobuf.Empty + 21, // 26: google.firestore.admin.v1.FirestoreAdmin.GetField:output_type -> google.firestore.admin.v1.Field + 22, // 27: google.firestore.admin.v1.FirestoreAdmin.UpdateField:output_type -> google.longrunning.Operation + 15, // 28: google.firestore.admin.v1.FirestoreAdmin.ListFields:output_type -> google.firestore.admin.v1.ListFieldsResponse + 22, // 29: google.firestore.admin.v1.FirestoreAdmin.ExportDocuments:output_type -> google.longrunning.Operation + 22, // 30: google.firestore.admin.v1.FirestoreAdmin.ImportDocuments:output_type -> google.longrunning.Operation + 22, // 31: google.firestore.admin.v1.FirestoreAdmin.CreateDatabase:output_type -> google.longrunning.Operation + 18, // 32: google.firestore.admin.v1.FirestoreAdmin.GetDatabase:output_type -> google.firestore.admin.v1.Database + 3, // 33: google.firestore.admin.v1.FirestoreAdmin.ListDatabases:output_type -> google.firestore.admin.v1.ListDatabasesResponse + 22, // 34: google.firestore.admin.v1.FirestoreAdmin.UpdateDatabase:output_type -> google.longrunning.Operation + 22, // [22:35] is the sub-list for method output_type + 9, // [9:22] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name } func init() { file_google_firestore_admin_v1_firestore_admin_proto_init() } @@ -1417,7 +1575,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDatabasesResponse); i { + switch v := v.(*CreateDatabaseRequest); i { case 0: return &v.state case 1: @@ -1429,7 +1587,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDatabaseRequest); i { + switch v := v.(*CreateDatabaseMetadata); i { case 0: return &v.state case 1: @@ -1441,7 +1599,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateDatabaseRequest); i { + switch v := v.(*ListDatabasesResponse); i { case 0: return &v.state case 1: @@ -1453,7 +1611,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateDatabaseMetadata); i { + switch v := v.(*GetDatabaseRequest); i { case 0: return &v.state case 1: @@ -1465,7 +1623,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateIndexRequest); i { + switch v := v.(*UpdateDatabaseRequest); i { case 0: return &v.state case 1: @@ -1477,7 +1635,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListIndexesRequest); i { + switch v := v.(*UpdateDatabaseMetadata); i { case 0: return &v.state case 1: @@ -1489,7 +1647,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListIndexesResponse); i { + switch v := v.(*CreateIndexRequest); i { case 0: return &v.state case 1: @@ -1501,7 +1659,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetIndexRequest); i { + switch v := v.(*ListIndexesRequest); i { case 0: return &v.state case 1: @@ -1513,7 +1671,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteIndexRequest); i { + switch v := v.(*ListIndexesResponse); i { case 0: return &v.state case 1: @@ -1525,7 +1683,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateFieldRequest); i { + switch v := v.(*GetIndexRequest); i { case 0: return &v.state case 1: @@ -1537,7 +1695,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetFieldRequest); i { + switch v := v.(*DeleteIndexRequest); i { case 0: return &v.state case 1: @@ -1549,7 +1707,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListFieldsRequest); i { + switch v := v.(*UpdateFieldRequest); i { case 0: return &v.state case 1: @@ -1561,7 +1719,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListFieldsResponse); i { + switch v := v.(*GetFieldRequest); i { case 0: return &v.state case 1: @@ -1573,7 +1731,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExportDocumentsRequest); i { + switch v := v.(*ListFieldsRequest); i { case 0: return &v.state case 1: @@ -1585,6 +1743,30 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { } } file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListFieldsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportDocumentsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_firestore_admin_v1_firestore_admin_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ImportDocumentsRequest); i { case 0: return &v.state @@ -1603,7 +1785,7 @@ func file_google_firestore_admin_v1_firestore_admin_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_firestore_admin_v1_firestore_admin_proto_rawDesc, NumEnums: 0, - NumMessages: 16, + NumMessages: 18, NumExtensions: 0, NumServices: 1, }, @@ -1629,9 +1811,11 @@ const _ = grpc.SupportPackageIsVersion6 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type FirestoreAdminClient interface { - // Creates a composite index. This returns a [google.longrunning.Operation][google.longrunning.Operation] - // which may be used to track the status of the creation. The metadata for - // the operation will be the type [IndexOperationMetadata][google.firestore.admin.v1.IndexOperationMetadata]. + // Creates a composite index. This returns a + // [google.longrunning.Operation][google.longrunning.Operation] which may be + // used to track the status of the creation. The metadata for the operation + // will be the type + // [IndexOperationMetadata][google.firestore.admin.v1.IndexOperationMetadata]. CreateIndex(ctx context.Context, in *CreateIndexRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Lists composite indexes. ListIndexes(ctx context.Context, in *ListIndexesRequest, opts ...grpc.CallOption) (*ListIndexesResponse, error) @@ -1643,13 +1827,16 @@ type FirestoreAdminClient interface { GetField(ctx context.Context, in *GetFieldRequest, opts ...grpc.CallOption) (*Field, error) // Updates a field configuration. Currently, field updates apply only to // single field index configuration. However, calls to - // [FirestoreAdmin.UpdateField][google.firestore.admin.v1.FirestoreAdmin.UpdateField] should provide a field mask to avoid - // changing any configuration that the caller isn't aware of. The field mask - // should be specified as: `{ paths: "index_config" }`. + // [FirestoreAdmin.UpdateField][google.firestore.admin.v1.FirestoreAdmin.UpdateField] + // should provide a field mask to avoid changing any configuration that the + // caller isn't aware of. The field mask should be specified as: `{ paths: + // "index_config" }`. // - // This call returns a [google.longrunning.Operation][google.longrunning.Operation] which may be used to - // track the status of the field update. The metadata for - // the operation will be the type [FieldOperationMetadata][google.firestore.admin.v1.FieldOperationMetadata]. + // This call returns a + // [google.longrunning.Operation][google.longrunning.Operation] which may be + // used to track the status of the field update. The metadata for the + // operation will be the type + // [FieldOperationMetadata][google.firestore.admin.v1.FieldOperationMetadata]. // // To configure the default field settings for the database, use // the special `Field` with resource name: @@ -1657,10 +1844,12 @@ type FirestoreAdminClient interface { UpdateField(ctx context.Context, in *UpdateFieldRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Lists the field configuration and metadata for this database. // - // Currently, [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] only supports listing fields - // that have been explicitly overridden. To issue this query, call - // [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] with the filter set to - // `indexConfig.usesAncestorConfig:false` . + // Currently, + // [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] + // only supports listing fields that have been explicitly overridden. To issue + // this query, call + // [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] + // with the filter set to `indexConfig.usesAncestorConfig:false` . ListFields(ctx context.Context, in *ListFieldsRequest, opts ...grpc.CallOption) (*ListFieldsResponse, error) // Exports a copy of all or a subset of documents from Google Cloud Firestore // to another storage system, such as Google Cloud Storage. Recent updates to @@ -1680,6 +1869,8 @@ type FirestoreAdminClient interface { // created. If an ImportDocuments operation is cancelled, it is possible // that a subset of the data has already been imported to Cloud Firestore. ImportDocuments(ctx context.Context, in *ImportDocumentsRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Create a database. + CreateDatabase(ctx context.Context, in *CreateDatabaseRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) // Gets information about a database. GetDatabase(ctx context.Context, in *GetDatabaseRequest, opts ...grpc.CallOption) (*Database, error) // List all the databases in the project. @@ -1777,6 +1968,15 @@ func (c *firestoreAdminClient) ImportDocuments(ctx context.Context, in *ImportDo return out, nil } +func (c *firestoreAdminClient) CreateDatabase(ctx context.Context, in *CreateDatabaseRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.firestore.admin.v1.FirestoreAdmin/CreateDatabase", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *firestoreAdminClient) GetDatabase(ctx context.Context, in *GetDatabaseRequest, opts ...grpc.CallOption) (*Database, error) { out := new(Database) err := c.cc.Invoke(ctx, "/google.firestore.admin.v1.FirestoreAdmin/GetDatabase", in, out, opts...) @@ -1806,9 +2006,11 @@ func (c *firestoreAdminClient) UpdateDatabase(ctx context.Context, in *UpdateDat // FirestoreAdminServer is the server API for FirestoreAdmin service. type FirestoreAdminServer interface { - // Creates a composite index. This returns a [google.longrunning.Operation][google.longrunning.Operation] - // which may be used to track the status of the creation. The metadata for - // the operation will be the type [IndexOperationMetadata][google.firestore.admin.v1.IndexOperationMetadata]. + // Creates a composite index. This returns a + // [google.longrunning.Operation][google.longrunning.Operation] which may be + // used to track the status of the creation. The metadata for the operation + // will be the type + // [IndexOperationMetadata][google.firestore.admin.v1.IndexOperationMetadata]. CreateIndex(context.Context, *CreateIndexRequest) (*longrunningpb.Operation, error) // Lists composite indexes. ListIndexes(context.Context, *ListIndexesRequest) (*ListIndexesResponse, error) @@ -1820,13 +2022,16 @@ type FirestoreAdminServer interface { GetField(context.Context, *GetFieldRequest) (*Field, error) // Updates a field configuration. Currently, field updates apply only to // single field index configuration. However, calls to - // [FirestoreAdmin.UpdateField][google.firestore.admin.v1.FirestoreAdmin.UpdateField] should provide a field mask to avoid - // changing any configuration that the caller isn't aware of. The field mask - // should be specified as: `{ paths: "index_config" }`. + // [FirestoreAdmin.UpdateField][google.firestore.admin.v1.FirestoreAdmin.UpdateField] + // should provide a field mask to avoid changing any configuration that the + // caller isn't aware of. The field mask should be specified as: `{ paths: + // "index_config" }`. // - // This call returns a [google.longrunning.Operation][google.longrunning.Operation] which may be used to - // track the status of the field update. The metadata for - // the operation will be the type [FieldOperationMetadata][google.firestore.admin.v1.FieldOperationMetadata]. + // This call returns a + // [google.longrunning.Operation][google.longrunning.Operation] which may be + // used to track the status of the field update. The metadata for the + // operation will be the type + // [FieldOperationMetadata][google.firestore.admin.v1.FieldOperationMetadata]. // // To configure the default field settings for the database, use // the special `Field` with resource name: @@ -1834,10 +2039,12 @@ type FirestoreAdminServer interface { UpdateField(context.Context, *UpdateFieldRequest) (*longrunningpb.Operation, error) // Lists the field configuration and metadata for this database. // - // Currently, [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] only supports listing fields - // that have been explicitly overridden. To issue this query, call - // [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] with the filter set to - // `indexConfig.usesAncestorConfig:false` . + // Currently, + // [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] + // only supports listing fields that have been explicitly overridden. To issue + // this query, call + // [FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields] + // with the filter set to `indexConfig.usesAncestorConfig:false` . ListFields(context.Context, *ListFieldsRequest) (*ListFieldsResponse, error) // Exports a copy of all or a subset of documents from Google Cloud Firestore // to another storage system, such as Google Cloud Storage. Recent updates to @@ -1857,6 +2064,8 @@ type FirestoreAdminServer interface { // created. If an ImportDocuments operation is cancelled, it is possible // that a subset of the data has already been imported to Cloud Firestore. ImportDocuments(context.Context, *ImportDocumentsRequest) (*longrunningpb.Operation, error) + // Create a database. + CreateDatabase(context.Context, *CreateDatabaseRequest) (*longrunningpb.Operation, error) // Gets information about a database. GetDatabase(context.Context, *GetDatabaseRequest) (*Database, error) // List all the databases in the project. @@ -1896,6 +2105,9 @@ func (*UnimplementedFirestoreAdminServer) ExportDocuments(context.Context, *Expo func (*UnimplementedFirestoreAdminServer) ImportDocuments(context.Context, *ImportDocumentsRequest) (*longrunningpb.Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method ImportDocuments not implemented") } +func (*UnimplementedFirestoreAdminServer) CreateDatabase(context.Context, *CreateDatabaseRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateDatabase not implemented") +} func (*UnimplementedFirestoreAdminServer) GetDatabase(context.Context, *GetDatabaseRequest) (*Database, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDatabase not implemented") } @@ -2072,6 +2284,24 @@ func _FirestoreAdmin_ImportDocuments_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _FirestoreAdmin_CreateDatabase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateDatabaseRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FirestoreAdminServer).CreateDatabase(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.firestore.admin.v1.FirestoreAdmin/CreateDatabase", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FirestoreAdminServer).CreateDatabase(ctx, req.(*CreateDatabaseRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _FirestoreAdmin_GetDatabase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetDatabaseRequest) if err := dec(in); err != nil { @@ -2166,6 +2396,10 @@ var _FirestoreAdmin_serviceDesc = grpc.ServiceDesc{ MethodName: "ImportDocuments", Handler: _FirestoreAdmin_ImportDocuments_Handler, }, + { + MethodName: "CreateDatabase", + Handler: _FirestoreAdmin_CreateDatabase_Handler, + }, { MethodName: "GetDatabase", Handler: _FirestoreAdmin_GetDatabase_Handler, diff --git a/firestore/apiv1/admin/adminpb/index.pb.go b/firestore/apiv1/admin/adminpb/index.pb.go old mode 100644 new mode 100755 index 20b6d4261dd3..b70bbd36c56c --- a/firestore/apiv1/admin/adminpb/index.pb.go +++ b/firestore/apiv1/admin/adminpb/index.pb.go @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.31.0 +// protoc v4.23.2 // source: google/firestore/admin/v1/index.proto package adminpb @@ -51,6 +51,9 @@ const ( // against all collections that has the collection id specified by the // index. Index_COLLECTION_GROUP Index_QueryScope = 2 + // Include all the collections's ancestor in the index. Only available for + // Datastore Mode databases. + Index_COLLECTION_RECURSIVE Index_QueryScope = 3 ) // Enum value maps for Index_QueryScope. @@ -59,11 +62,13 @@ var ( 0: "QUERY_SCOPE_UNSPECIFIED", 1: "COLLECTION", 2: "COLLECTION_GROUP", + 3: "COLLECTION_RECURSIVE", } Index_QueryScope_value = map[string]int32{ "QUERY_SCOPE_UNSPECIFIED": 0, "COLLECTION": 1, "COLLECTION_GROUP": 2, + "COLLECTION_RECURSIVE": 3, } ) @@ -94,6 +99,57 @@ func (Index_QueryScope) EnumDescriptor() ([]byte, []int) { return file_google_firestore_admin_v1_index_proto_rawDescGZIP(), []int{0, 0} } +// API Scope defines the APIs (Firestore Native, or Firestore in +// Datastore Mode) that are supported for queries. +type Index_ApiScope int32 + +const ( + // The index can only be used by the Firestore Native query API. + // This is the default. + Index_ANY_API Index_ApiScope = 0 + // The index can only be used by the Firestore in Datastore Mode query API. + Index_DATASTORE_MODE_API Index_ApiScope = 1 +) + +// Enum value maps for Index_ApiScope. +var ( + Index_ApiScope_name = map[int32]string{ + 0: "ANY_API", + 1: "DATASTORE_MODE_API", + } + Index_ApiScope_value = map[string]int32{ + "ANY_API": 0, + "DATASTORE_MODE_API": 1, + } +) + +func (x Index_ApiScope) Enum() *Index_ApiScope { + p := new(Index_ApiScope) + *p = x + return p +} + +func (x Index_ApiScope) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Index_ApiScope) Descriptor() protoreflect.EnumDescriptor { + return file_google_firestore_admin_v1_index_proto_enumTypes[1].Descriptor() +} + +func (Index_ApiScope) Type() protoreflect.EnumType { + return &file_google_firestore_admin_v1_index_proto_enumTypes[1] +} + +func (x Index_ApiScope) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Index_ApiScope.Descriptor instead. +func (Index_ApiScope) EnumDescriptor() ([]byte, []int) { + return file_google_firestore_admin_v1_index_proto_rawDescGZIP(), []int{0, 1} +} + // The state of an index. During index creation, an index will be in the // `CREATING` state. If the index is created successfully, it will transition // to the `READY` state. If the index creation encounters a problem, the index @@ -150,11 +206,11 @@ func (x Index_State) String() string { } func (Index_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_firestore_admin_v1_index_proto_enumTypes[1].Descriptor() + return file_google_firestore_admin_v1_index_proto_enumTypes[2].Descriptor() } func (Index_State) Type() protoreflect.EnumType { - return &file_google_firestore_admin_v1_index_proto_enumTypes[1] + return &file_google_firestore_admin_v1_index_proto_enumTypes[2] } func (x Index_State) Number() protoreflect.EnumNumber { @@ -163,7 +219,7 @@ func (x Index_State) Number() protoreflect.EnumNumber { // Deprecated: Use Index_State.Descriptor instead. func (Index_State) EnumDescriptor() ([]byte, []int) { - return file_google_firestore_admin_v1_index_proto_rawDescGZIP(), []int{0, 1} + return file_google_firestore_admin_v1_index_proto_rawDescGZIP(), []int{0, 2} } // The supported orderings. @@ -203,11 +259,11 @@ func (x Index_IndexField_Order) String() string { } func (Index_IndexField_Order) Descriptor() protoreflect.EnumDescriptor { - return file_google_firestore_admin_v1_index_proto_enumTypes[2].Descriptor() + return file_google_firestore_admin_v1_index_proto_enumTypes[3].Descriptor() } func (Index_IndexField_Order) Type() protoreflect.EnumType { - return &file_google_firestore_admin_v1_index_proto_enumTypes[2] + return &file_google_firestore_admin_v1_index_proto_enumTypes[3] } func (x Index_IndexField_Order) Number() protoreflect.EnumNumber { @@ -252,11 +308,11 @@ func (x Index_IndexField_ArrayConfig) String() string { } func (Index_IndexField_ArrayConfig) Descriptor() protoreflect.EnumDescriptor { - return file_google_firestore_admin_v1_index_proto_enumTypes[3].Descriptor() + return file_google_firestore_admin_v1_index_proto_enumTypes[4].Descriptor() } func (Index_IndexField_ArrayConfig) Type() protoreflect.EnumType { - return &file_google_firestore_admin_v1_index_proto_enumTypes[3] + return &file_google_firestore_admin_v1_index_proto_enumTypes[4] } func (x Index_IndexField_ArrayConfig) Number() protoreflect.EnumNumber { @@ -288,14 +344,16 @@ type Index struct { // all collections descended from a specific document, specified at query // time, and that have the same collection id as this index. QueryScope Index_QueryScope `protobuf:"varint,2,opt,name=query_scope,json=queryScope,proto3,enum=google.firestore.admin.v1.Index_QueryScope" json:"query_scope,omitempty"` + // The API scope supported by this index. + ApiScope Index_ApiScope `protobuf:"varint,5,opt,name=api_scope,json=apiScope,proto3,enum=google.firestore.admin.v1.Index_ApiScope" json:"api_scope,omitempty"` // The fields supported by this index. // - // For composite indexes, this is always 2 or more fields. - // The last field entry is always for the field path `__name__`. If, on - // creation, `__name__` was not specified as the last field, it will be added - // automatically with the same direction as that of the last field defined. If - // the final field in a composite index is not directional, the `__name__` - // will be ordered ASCENDING (unless explicitly specified). + // For composite indexes, this requires a minimum of 2 and a maximum of 100 + // fields. The last field entry is always for the field path `__name__`. If, + // on creation, `__name__` was not specified as the last field, it will be + // added automatically with the same direction as that of the last field + // defined. If the final field in a composite index is not directional, the + // `__name__` will be ordered ASCENDING (unless explicitly specified). // // For single field indexes, this will always be exactly one entry with a // field path equal to the field path of the associated field. @@ -350,6 +408,13 @@ func (x *Index) GetQueryScope() Index_QueryScope { return Index_QUERY_SCOPE_UNSPECIFIED } +func (x *Index) GetApiScope() Index_ApiScope { + if x != nil { + return x.ApiScope + } + return Index_ANY_API +} + func (x *Index) GetFields() []*Index_IndexField { if x != nil { return x.Fields @@ -379,7 +444,6 @@ type Index_IndexField struct { // How the field value is indexed. // // Types that are assignable to ValueMode: - // // *Index_IndexField_Order_ // *Index_IndexField_ArrayConfig_ ValueMode isIndex_IndexField_ValueMode `protobuf_oneof:"value_mode"` @@ -472,76 +536,85 @@ var file_google_firestore_admin_v1_index_proto_rawDesc = []byte{ 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x06, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf6, 0x07, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x0a, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x3c, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0xdc, 0x02, 0x0a, - 0x0a, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x49, 0x0a, 0x05, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x22, 0x3d, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x15, 0x0a, 0x11, - 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, - 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, - 0x10, 0x02, 0x22, 0x39, 0x0a, 0x0b, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x52, 0x52, 0x41, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, - 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x01, 0x42, 0x0c, 0x0a, - 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x4f, 0x0a, 0x0a, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x51, 0x55, 0x45, - 0x52, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x02, 0x22, 0x49, 0x0a, 0x05, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, - 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x45, 0x45, 0x44, 0x53, 0x5f, 0x52, - 0x45, 0x50, 0x41, 0x49, 0x52, 0x10, 0x03, 0x3a, 0x7a, 0xea, 0x41, 0x77, 0x0a, 0x1e, 0x66, 0x69, - 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x55, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x7d, 0x42, 0xde, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, - 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x46, 0x53, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1f, 0x47, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x56, 0x31, 0xea, 0x02, - 0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, - 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, - 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x70, 0x69, + 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x41, + 0x70, 0x69, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x08, 0x61, 0x70, 0x69, 0x53, 0x63, 0x6f, 0x70, + 0x65, 0x12, 0x43, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x1a, 0xdc, 0x02, 0x0a, 0x0a, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x49, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x5c, 0x0a, + 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, + 0x61, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x3d, 0x0a, 0x05, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, + 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, + 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0x39, 0x0a, 0x0b, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x52, 0x52, + 0x41, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x54, 0x41, + 0x49, 0x4e, 0x53, 0x10, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, + 0x6f, 0x64, 0x65, 0x22, 0x69, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x63, 0x6f, 0x70, + 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, + 0x0a, 0x0a, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x14, + 0x0a, 0x10, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x52, 0x4f, + 0x55, 0x50, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x43, 0x55, 0x52, 0x53, 0x49, 0x56, 0x45, 0x10, 0x03, 0x22, 0x2f, + 0x0a, 0x08, 0x41, 0x70, 0x69, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4e, + 0x59, 0x5f, 0x41, 0x50, 0x49, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x41, 0x54, 0x41, 0x53, + 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x50, 0x49, 0x10, 0x01, 0x22, + 0x49, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, + 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x45, 0x45, 0x44, + 0x53, 0x5f, 0x52, 0x45, 0x50, 0x41, 0x49, 0x52, 0x10, 0x03, 0x3a, 0x7a, 0xea, 0x41, 0x77, 0x0a, + 0x1e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x55, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x2f, 0x7b, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x7d, 0x42, 0xd9, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x69, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x70, 0x62, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x70, + 0x62, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x46, 0x53, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x23, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x46, 0x69, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -556,27 +629,29 @@ func file_google_firestore_admin_v1_index_proto_rawDescGZIP() []byte { return file_google_firestore_admin_v1_index_proto_rawDescData } -var file_google_firestore_admin_v1_index_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_google_firestore_admin_v1_index_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_google_firestore_admin_v1_index_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_google_firestore_admin_v1_index_proto_goTypes = []interface{}{ (Index_QueryScope)(0), // 0: google.firestore.admin.v1.Index.QueryScope - (Index_State)(0), // 1: google.firestore.admin.v1.Index.State - (Index_IndexField_Order)(0), // 2: google.firestore.admin.v1.Index.IndexField.Order - (Index_IndexField_ArrayConfig)(0), // 3: google.firestore.admin.v1.Index.IndexField.ArrayConfig - (*Index)(nil), // 4: google.firestore.admin.v1.Index - (*Index_IndexField)(nil), // 5: google.firestore.admin.v1.Index.IndexField + (Index_ApiScope)(0), // 1: google.firestore.admin.v1.Index.ApiScope + (Index_State)(0), // 2: google.firestore.admin.v1.Index.State + (Index_IndexField_Order)(0), // 3: google.firestore.admin.v1.Index.IndexField.Order + (Index_IndexField_ArrayConfig)(0), // 4: google.firestore.admin.v1.Index.IndexField.ArrayConfig + (*Index)(nil), // 5: google.firestore.admin.v1.Index + (*Index_IndexField)(nil), // 6: google.firestore.admin.v1.Index.IndexField } var file_google_firestore_admin_v1_index_proto_depIdxs = []int32{ 0, // 0: google.firestore.admin.v1.Index.query_scope:type_name -> google.firestore.admin.v1.Index.QueryScope - 5, // 1: google.firestore.admin.v1.Index.fields:type_name -> google.firestore.admin.v1.Index.IndexField - 1, // 2: google.firestore.admin.v1.Index.state:type_name -> google.firestore.admin.v1.Index.State - 2, // 3: google.firestore.admin.v1.Index.IndexField.order:type_name -> google.firestore.admin.v1.Index.IndexField.Order - 3, // 4: google.firestore.admin.v1.Index.IndexField.array_config:type_name -> google.firestore.admin.v1.Index.IndexField.ArrayConfig - 5, // [5:5] is the sub-list for method output_type - 5, // [5:5] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 1, // 1: google.firestore.admin.v1.Index.api_scope:type_name -> google.firestore.admin.v1.Index.ApiScope + 6, // 2: google.firestore.admin.v1.Index.fields:type_name -> google.firestore.admin.v1.Index.IndexField + 2, // 3: google.firestore.admin.v1.Index.state:type_name -> google.firestore.admin.v1.Index.State + 3, // 4: google.firestore.admin.v1.Index.IndexField.order:type_name -> google.firestore.admin.v1.Index.IndexField.Order + 4, // 5: google.firestore.admin.v1.Index.IndexField.array_config:type_name -> google.firestore.admin.v1.Index.IndexField.ArrayConfig + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_google_firestore_admin_v1_index_proto_init() } @@ -619,7 +694,7 @@ func file_google_firestore_admin_v1_index_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_firestore_admin_v1_index_proto_rawDesc, - NumEnums: 4, + NumEnums: 5, NumMessages: 2, NumExtensions: 0, NumServices: 0, diff --git a/firestore/apiv1/admin/adminpb/location.pb.go b/firestore/apiv1/admin/adminpb/location.pb.go old mode 100644 new mode 100755 index d0877c2d28dd..3b25c993fe2d --- a/firestore/apiv1/admin/adminpb/location.pb.go +++ b/firestore/apiv1/admin/adminpb/location.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.31.0 +// protoc v4.23.2 // source: google/firestore/admin/v1/location.proto package adminpb @@ -82,22 +82,21 @@ var file_google_firestore_admin_v1_location_proto_rawDesc = []byte{ 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x22, 0x12, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0xe1, 0x01, 0x0a, 0x1d, 0x63, 0x6f, + 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0xdc, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, - 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0xa2, 0x02, 0x04, 0x47, - 0x43, 0x46, 0x53, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x6f, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, + 0x31, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x70, 0x62, 0x3b, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x70, 0x62, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x46, 0x53, 0xaa, 0x02, + 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x46, 0x69, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, + 0x56, 0x31, 0xea, 0x02, 0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x3a, 0x3a, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x41, + 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/firestore/apiv1/admin/adminpb/operation.pb.go b/firestore/apiv1/admin/adminpb/operation.pb.go old mode 100644 new mode 100755 index 7d90e9048c51..1262d9209746 --- a/firestore/apiv1/admin/adminpb/operation.pb.go +++ b/firestore/apiv1/admin/adminpb/operation.pb.go @@ -14,8 +14,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.26.0 -// protoc v3.21.9 +// protoc-gen-go v1.31.0 +// protoc v4.23.2 // source: google/firestore/admin/v1/operation.proto package adminpb @@ -1038,22 +1038,22 @@ var file_google_firestore_admin_v1_operation_proto_rawDesc = []byte{ 0x47, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x46, 0x55, 0x4c, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x12, - 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x42, 0xe2, + 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x42, 0xdd, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, - 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0xa2, 0x02, 0x04, 0x47, 0x43, 0x46, 0x53, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69, 0x72, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x23, - 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x46, - 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x50, 0x01, 0x5a, 0x39, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x70, 0x62, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x70, 0x62, 0xa2, 0x02, 0x04, + 0x47, 0x43, 0x46, 0x53, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5c, + 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x23, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x46, 0x69, 0x72, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/firestore/apiv1/admin/auxiliary.go b/firestore/apiv1/admin/auxiliary.go new file mode 100755 index 000000000000..401494c98e2a --- /dev/null +++ b/firestore/apiv1/admin/auxiliary.go @@ -0,0 +1,542 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package apiv1 + +import ( + "context" + "time" + + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" + "cloud.google.com/go/longrunning" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/iterator" +) + +// CreateDatabaseOperation manages a long-running operation from CreateDatabase. +type CreateDatabaseOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *CreateDatabaseOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*adminpb.Database, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp adminpb.Database + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *CreateDatabaseOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*adminpb.Database, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp adminpb.Database + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *CreateDatabaseOperation) Metadata() (*adminpb.CreateDatabaseMetadata, error) { + var meta adminpb.CreateDatabaseMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *CreateDatabaseOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *CreateDatabaseOperation) Name() string { + return op.lro.Name() +} + +// CreateIndexOperation manages a long-running operation from CreateIndex. +type CreateIndexOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *CreateIndexOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*adminpb.Index, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp adminpb.Index + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *CreateIndexOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*adminpb.Index, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp adminpb.Index + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *CreateIndexOperation) Metadata() (*adminpb.IndexOperationMetadata, error) { + var meta adminpb.IndexOperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *CreateIndexOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *CreateIndexOperation) Name() string { + return op.lro.Name() +} + +// ExportDocumentsOperation manages a long-running operation from ExportDocuments. +type ExportDocumentsOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *ExportDocumentsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*adminpb.ExportDocumentsResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp adminpb.ExportDocumentsResponse + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *ExportDocumentsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*adminpb.ExportDocumentsResponse, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp adminpb.ExportDocumentsResponse + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *ExportDocumentsOperation) Metadata() (*adminpb.ExportDocumentsMetadata, error) { + var meta adminpb.ExportDocumentsMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *ExportDocumentsOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *ExportDocumentsOperation) Name() string { + return op.lro.Name() +} + +// ImportDocumentsOperation manages a long-running operation from ImportDocuments. +type ImportDocumentsOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *ImportDocumentsOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *ImportDocumentsOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *ImportDocumentsOperation) Metadata() (*adminpb.ImportDocumentsMetadata, error) { + var meta adminpb.ImportDocumentsMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *ImportDocumentsOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *ImportDocumentsOperation) Name() string { + return op.lro.Name() +} + +// UpdateDatabaseOperation manages a long-running operation from UpdateDatabase. +type UpdateDatabaseOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *UpdateDatabaseOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*adminpb.Database, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp adminpb.Database + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *UpdateDatabaseOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*adminpb.Database, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp adminpb.Database + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *UpdateDatabaseOperation) Metadata() (*adminpb.UpdateDatabaseMetadata, error) { + var meta adminpb.UpdateDatabaseMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *UpdateDatabaseOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *UpdateDatabaseOperation) Name() string { + return op.lro.Name() +} + +// UpdateFieldOperation manages a long-running operation from UpdateField. +type UpdateFieldOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *UpdateFieldOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*adminpb.Field, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp adminpb.Field + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *UpdateFieldOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*adminpb.Field, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp adminpb.Field + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *UpdateFieldOperation) Metadata() (*adminpb.FieldOperationMetadata, error) { + var meta adminpb.FieldOperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *UpdateFieldOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *UpdateFieldOperation) Name() string { + return op.lro.Name() +} + +// FieldIterator manages a stream of *adminpb.Field. +type FieldIterator struct { + items []*adminpb.Field + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*adminpb.Field, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *FieldIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *FieldIterator) Next() (*adminpb.Field, error) { + var item *adminpb.Field + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *FieldIterator) bufLen() int { + return len(it.items) +} + +func (it *FieldIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// IndexIterator manages a stream of *adminpb.Index. +type IndexIterator struct { + items []*adminpb.Index + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*adminpb.Index, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *IndexIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *IndexIterator) Next() (*adminpb.Index, error) { + var item *adminpb.Index + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *IndexIterator) bufLen() int { + return len(it.items) +} + +func (it *IndexIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// OperationIterator manages a stream of *longrunningpb.Operation. +type OperationIterator struct { + items []*longrunningpb.Operation + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*longrunningpb.Operation, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *OperationIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *OperationIterator) Next() (*longrunningpb.Operation, error) { + var item *longrunningpb.Operation + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *OperationIterator) bufLen() int { + return len(it.items) +} + +func (it *OperationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} diff --git a/firestore/apiv1/admin/doc.go b/firestore/apiv1/admin/doc.go old mode 100644 new mode 100755 index 15baff377ee4..dafdb9678882 --- a/firestore/apiv1/admin/doc.go +++ b/firestore/apiv1/admin/doc.go @@ -12,6 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + // Package apiv1 is an auto-generated package for the // Cloud Firestore API. // @@ -20,8 +22,15 @@ // // # General documentation // -// For information about setting deadlines, reusing contexts, and more -// please visit https://pkg.go.dev/cloud.google.com/go. +// For information that is relevant for all client libraries please reference +// https://pkg.go.dev/cloud.google.com/go#pkg-overview. Some information on this +// page includes: +// +// - [Authentication and Authorization] +// - [Timeouts and Cancellation] +// - [Testing against Client Libraries] +// - [Debugging Client Libraries] +// - [Inspecting errors] // // # Example usage // @@ -59,11 +68,11 @@ // } // defer c.Close() // -// req := &adminpb.CreateIndexRequest{ +// req := &adminpb.CreateDatabaseRequest{ // // TODO: Fill request struct fields. -// // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#CreateIndexRequest. +// // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#CreateDatabaseRequest. // } -// op, err := c.CreateIndex(ctx, req) +// op, err := c.CreateDatabase(ctx, req) // if err != nil { // // TODO: Handle error. // } @@ -82,16 +91,18 @@ // Individual methods on the client use the ctx given to them. // // To close the open connection, use the Close() method. +// +// [Authentication and Authorization]: https://pkg.go.dev/cloud.google.com/go#hdr-Authentication_and_Authorization +// [Timeouts and Cancellation]: https://pkg.go.dev/cloud.google.com/go#hdr-Timeouts_and_Cancellation +// [Testing against Client Libraries]: https://pkg.go.dev/cloud.google.com/go#hdr-Testing +// [Debugging Client Libraries]: https://pkg.go.dev/cloud.google.com/go#hdr-Debugging +// [Inspecting errors]: https://pkg.go.dev/cloud.google.com/go#hdr-Inspecting_errors package apiv1 // import "cloud.google.com/go/firestore/apiv1/admin" import ( "context" - "net/http" - "os" - "strconv" "google.golang.org/api/option" - "google.golang.org/grpc/metadata" ) // For more information on implementing a client constructor hook, see @@ -108,27 +119,6 @@ func getVersionClient() string { return versionClient } -func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context { - out, _ := metadata.FromOutgoingContext(ctx) - out = out.Copy() - for _, md := range mds { - for k, v := range md { - out[k] = append(out[k], v...) - } - } - return metadata.NewOutgoingContext(ctx, out) -} - -func checkDisableDeadlines() (bool, error) { - raw, ok := os.LookupEnv("GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE") - if !ok { - return false, nil - } - - b, err := strconv.ParseBool(raw) - return b, err -} - // DefaultAuthScopes reports the default set of authentication scopes to use with this package. func DefaultAuthScopes() []string { return []string{ @@ -136,13 +126,3 @@ func DefaultAuthScopes() []string { "https://www.googleapis.com/auth/datastore", } } - -// buildHeaders extracts metadata from the outgoing context, joins it with any other -// given metadata, and converts them into a http.Header. -func buildHeaders(ctx context.Context, mds ...metadata.MD) http.Header { - if cmd, ok := metadata.FromOutgoingContext(ctx); ok { - mds = append(mds, cmd) - } - md := metadata.Join(mds...) - return http.Header(md) -} diff --git a/firestore/apiv1/admin/firestore_admin_client.go b/firestore/apiv1/admin/firestore_admin_client.go old mode 100644 new mode 100755 index eeb78a359b0e..1a49e51704d1 --- a/firestore/apiv1/admin/firestore_admin_client.go +++ b/firestore/apiv1/admin/firestore_admin_client.go @@ -20,7 +20,7 @@ import ( "bytes" "context" "fmt" - "io/ioutil" + "io" "math" "net/http" "net/url" @@ -39,7 +39,6 @@ import ( httptransport "google.golang.org/api/transport/http" "google.golang.org/grpc" "google.golang.org/grpc/codes" - "google.golang.org/grpc/metadata" "google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/proto" ) @@ -57,6 +56,7 @@ type FirestoreAdminCallOptions struct { ListFields []gax.CallOption ExportDocuments []gax.CallOption ImportDocuments []gax.CallOption + CreateDatabase []gax.CallOption GetDatabase []gax.CallOption ListDatabases []gax.CallOption UpdateDatabase []gax.CallOption @@ -80,8 +80,11 @@ func defaultFirestoreAdminGRPCClientOptions() []option.ClientOption { func defaultFirestoreAdminCallOptions() *FirestoreAdminCallOptions { return &FirestoreAdminCallOptions{ - CreateIndex: []gax.CallOption{}, + CreateIndex: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, ListIndexes: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnCodes([]codes.Code{ codes.Unavailable, @@ -95,6 +98,7 @@ func defaultFirestoreAdminCallOptions() *FirestoreAdminCallOptions { }), }, GetIndex: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnCodes([]codes.Code{ codes.Unavailable, @@ -108,6 +112,7 @@ func defaultFirestoreAdminCallOptions() *FirestoreAdminCallOptions { }), }, DeleteIndex: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnCodes([]codes.Code{ codes.Unavailable, @@ -121,6 +126,7 @@ func defaultFirestoreAdminCallOptions() *FirestoreAdminCallOptions { }), }, GetField: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnCodes([]codes.Code{ codes.Unavailable, @@ -133,8 +139,11 @@ func defaultFirestoreAdminCallOptions() *FirestoreAdminCallOptions { }) }), }, - UpdateField: []gax.CallOption{}, + UpdateField: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, ListFields: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnCodes([]codes.Code{ codes.Unavailable, @@ -147,8 +156,13 @@ func defaultFirestoreAdminCallOptions() *FirestoreAdminCallOptions { }) }), }, - ExportDocuments: []gax.CallOption{}, - ImportDocuments: []gax.CallOption{}, + ExportDocuments: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, + ImportDocuments: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, + CreateDatabase: []gax.CallOption{}, GetDatabase: []gax.CallOption{}, ListDatabases: []gax.CallOption{}, UpdateDatabase: []gax.CallOption{}, @@ -161,8 +175,11 @@ func defaultFirestoreAdminCallOptions() *FirestoreAdminCallOptions { func defaultFirestoreAdminRESTCallOptions() *FirestoreAdminCallOptions { return &FirestoreAdminCallOptions{ - CreateIndex: []gax.CallOption{}, + CreateIndex: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, ListIndexes: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ Initial: 100 * time.Millisecond, @@ -175,6 +192,7 @@ func defaultFirestoreAdminRESTCallOptions() *FirestoreAdminCallOptions { }), }, GetIndex: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ Initial: 100 * time.Millisecond, @@ -187,6 +205,7 @@ func defaultFirestoreAdminRESTCallOptions() *FirestoreAdminCallOptions { }), }, DeleteIndex: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ Initial: 100 * time.Millisecond, @@ -199,6 +218,7 @@ func defaultFirestoreAdminRESTCallOptions() *FirestoreAdminCallOptions { }), }, GetField: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ Initial: 100 * time.Millisecond, @@ -210,8 +230,11 @@ func defaultFirestoreAdminRESTCallOptions() *FirestoreAdminCallOptions { http.StatusGatewayTimeout) }), }, - UpdateField: []gax.CallOption{}, + UpdateField: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, ListFields: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { return gax.OnHTTPCodes(gax.Backoff{ Initial: 100 * time.Millisecond, @@ -223,8 +246,13 @@ func defaultFirestoreAdminRESTCallOptions() *FirestoreAdminCallOptions { http.StatusGatewayTimeout) }), }, - ExportDocuments: []gax.CallOption{}, - ImportDocuments: []gax.CallOption{}, + ExportDocuments: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, + ImportDocuments: []gax.CallOption{ + gax.WithTimeout(60000 * time.Millisecond), + }, + CreateDatabase: []gax.CallOption{}, GetDatabase: []gax.CallOption{}, ListDatabases: []gax.CallOption{}, UpdateDatabase: []gax.CallOption{}, @@ -253,6 +281,8 @@ type internalFirestoreAdminClient interface { ExportDocumentsOperation(name string) *ExportDocumentsOperation ImportDocuments(context.Context, *adminpb.ImportDocumentsRequest, ...gax.CallOption) (*ImportDocumentsOperation, error) ImportDocumentsOperation(name string) *ImportDocumentsOperation + CreateDatabase(context.Context, *adminpb.CreateDatabaseRequest, ...gax.CallOption) (*CreateDatabaseOperation, error) + CreateDatabaseOperation(name string) *CreateDatabaseOperation GetDatabase(context.Context, *adminpb.GetDatabaseRequest, ...gax.CallOption) (*adminpb.Database, error) ListDatabases(context.Context, *adminpb.ListDatabasesRequest, ...gax.CallOption) (*adminpb.ListDatabasesResponse, error) UpdateDatabase(context.Context, *adminpb.UpdateDatabaseRequest, ...gax.CallOption) (*UpdateDatabaseOperation, error) @@ -330,9 +360,11 @@ func (c *FirestoreAdminClient) Connection() *grpc.ClientConn { return c.internalClient.Connection() } -// CreateIndex creates a composite index. This returns a google.longrunning.Operation -// which may be used to track the status of the creation. The metadata for -// the operation will be the type IndexOperationMetadata. +// CreateIndex creates a composite index. This returns a +// google.longrunning.Operation which may be +// used to track the status of the creation. The metadata for the operation +// will be the type +// IndexOperationMetadata. func (c *FirestoreAdminClient) CreateIndex(ctx context.Context, req *adminpb.CreateIndexRequest, opts ...gax.CallOption) (*CreateIndexOperation, error) { return c.internalClient.CreateIndex(ctx, req, opts...) } @@ -365,13 +397,15 @@ func (c *FirestoreAdminClient) GetField(ctx context.Context, req *adminpb.GetFie // UpdateField updates a field configuration. Currently, field updates apply only to // single field index configuration. However, calls to -// FirestoreAdmin.UpdateField should provide a field mask to avoid -// changing any configuration that the caller isn’t aware of. The field mask -// should be specified as: { paths: "index_config" }. +// FirestoreAdmin.UpdateField +// should provide a field mask to avoid changing any configuration that the +// caller isn’t aware of. The field mask should be specified as: { paths: "index_config" }. // -// This call returns a google.longrunning.Operation which may be used to -// track the status of the field update. The metadata for -// the operation will be the type FieldOperationMetadata. +// This call returns a +// google.longrunning.Operation which may be +// used to track the status of the field update. The metadata for the +// operation will be the type +// FieldOperationMetadata. // // To configure the default field settings for the database, use // the special Field with resource name: @@ -388,10 +422,12 @@ func (c *FirestoreAdminClient) UpdateFieldOperation(name string) *UpdateFieldOpe // ListFields lists the field configuration and metadata for this database. // -// Currently, FirestoreAdmin.ListFields only supports listing fields -// that have been explicitly overridden. To issue this query, call -// FirestoreAdmin.ListFields with the filter set to -// indexConfig.usesAncestorConfig:false . +// Currently, +// FirestoreAdmin.ListFields +// only supports listing fields that have been explicitly overridden. To issue +// this query, call +// FirestoreAdmin.ListFields +// with the filter set to indexConfig.usesAncestorConfig:false . func (c *FirestoreAdminClient) ListFields(ctx context.Context, req *adminpb.ListFieldsRequest, opts ...gax.CallOption) *FieldIterator { return c.internalClient.ListFields(ctx, req, opts...) } @@ -432,6 +468,17 @@ func (c *FirestoreAdminClient) ImportDocumentsOperation(name string) *ImportDocu return c.internalClient.ImportDocumentsOperation(name) } +// CreateDatabase create a database. +func (c *FirestoreAdminClient) CreateDatabase(ctx context.Context, req *adminpb.CreateDatabaseRequest, opts ...gax.CallOption) (*CreateDatabaseOperation, error) { + return c.internalClient.CreateDatabase(ctx, req, opts...) +} + +// CreateDatabaseOperation returns a new CreateDatabaseOperation from a given name. +// The name must be that of a previously created CreateDatabaseOperation, possibly from a different process. +func (c *FirestoreAdminClient) CreateDatabaseOperation(name string) *CreateDatabaseOperation { + return c.internalClient.CreateDatabaseOperation(name) +} + // GetDatabase gets information about a database. func (c *FirestoreAdminClient) GetDatabase(ctx context.Context, req *adminpb.GetDatabaseRequest, opts ...gax.CallOption) (*adminpb.Database, error) { return c.internalClient.GetDatabase(ctx, req, opts...) @@ -480,9 +527,6 @@ type firestoreAdminGRPCClient struct { // Connection pool of gRPC connections to the service. connPool gtransport.ConnPool - // flag to opt out of default deadlines via GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE - disableDeadlines bool - // Points back to the CallOptions field of the containing FirestoreAdminClient CallOptions **FirestoreAdminCallOptions @@ -497,7 +541,7 @@ type firestoreAdminGRPCClient struct { operationsClient longrunningpb.OperationsClient // The x-goog-* metadata to be sent with each request. - xGoogMetadata metadata.MD + xGoogHeaders []string } // NewFirestoreAdminClient creates a new firestore admin client based on gRPC. @@ -541,11 +585,6 @@ func NewFirestoreAdminClient(ctx context.Context, opts ...option.ClientOption) ( clientOpts = append(clientOpts, hookOpts...) } - disableDeadlines, err := checkDisableDeadlines() - if err != nil { - return nil, err - } - connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) if err != nil { return nil, err @@ -554,7 +593,6 @@ func NewFirestoreAdminClient(ctx context.Context, opts ...option.ClientOption) ( c := &firestoreAdminGRPCClient{ connPool: connPool, - disableDeadlines: disableDeadlines, firestoreAdminClient: adminpb.NewFirestoreAdminClient(connPool), CallOptions: &client.CallOptions, operationsClient: longrunningpb.NewOperationsClient(connPool), @@ -591,7 +629,7 @@ func (c *firestoreAdminGRPCClient) Connection() *grpc.ClientConn { func (c *firestoreAdminGRPCClient) setGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", gax.GoVersion}, keyval...) kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) - c.xGoogMetadata = metadata.Pairs("x-goog-api-client", gax.XGoogHeader(kv...)) + c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)} } // Close closes the connection to the API service. The user should invoke this when @@ -613,8 +651,8 @@ type firestoreAdminRESTClient struct { // Users should not Close this client. LROClient **lroauto.OperationsClient - // The x-goog-* metadata to be sent with each request. - xGoogMetadata metadata.MD + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string // Points back to the CallOptions field of the containing FirestoreAdminClient CallOptions **FirestoreAdminCallOptions @@ -693,7 +731,7 @@ func defaultFirestoreAdminRESTClientOptions() []option.ClientOption { func (c *firestoreAdminRESTClient) setGoogleClientInfo(keyval ...string) { kv := append([]string{"gl-go", gax.GoVersion}, keyval...) kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") - c.xGoogMetadata = metadata.Pairs("x-goog-api-client", gax.XGoogHeader(kv...)) + c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)} } // Close closes the connection to the API service. The user should invoke this when @@ -711,14 +749,10 @@ func (c *firestoreAdminRESTClient) Connection() *grpc.ClientConn { return nil } func (c *firestoreAdminGRPCClient) CreateIndex(ctx context.Context, req *adminpb.CreateIndexRequest, opts ...gax.CallOption) (*CreateIndexOperation, error) { - if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { - cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) - defer cancel() - ctx = cctx - } - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).CreateIndex[0:len((*c.CallOptions).CreateIndex):len((*c.CallOptions).CreateIndex)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -735,9 +769,10 @@ func (c *firestoreAdminGRPCClient) CreateIndex(ctx context.Context, req *adminpb } func (c *firestoreAdminGRPCClient) ListIndexes(ctx context.Context, req *adminpb.ListIndexesRequest, opts ...gax.CallOption) *IndexIterator { - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).ListIndexes[0:len((*c.CallOptions).ListIndexes):len((*c.CallOptions).ListIndexes)], opts...) it := &IndexIterator{} req = proto.Clone(req).(*adminpb.ListIndexesRequest) @@ -780,14 +815,10 @@ func (c *firestoreAdminGRPCClient) ListIndexes(ctx context.Context, req *adminpb } func (c *firestoreAdminGRPCClient) GetIndex(ctx context.Context, req *adminpb.GetIndexRequest, opts ...gax.CallOption) (*adminpb.Index, error) { - if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { - cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) - defer cancel() - ctx = cctx - } - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).GetIndex[0:len((*c.CallOptions).GetIndex):len((*c.CallOptions).GetIndex)], opts...) var resp *adminpb.Index err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -802,14 +833,10 @@ func (c *firestoreAdminGRPCClient) GetIndex(ctx context.Context, req *adminpb.Ge } func (c *firestoreAdminGRPCClient) DeleteIndex(ctx context.Context, req *adminpb.DeleteIndexRequest, opts ...gax.CallOption) error { - if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { - cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) - defer cancel() - ctx = cctx - } - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).DeleteIndex[0:len((*c.CallOptions).DeleteIndex):len((*c.CallOptions).DeleteIndex)], opts...) err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error @@ -820,14 +847,10 @@ func (c *firestoreAdminGRPCClient) DeleteIndex(ctx context.Context, req *adminpb } func (c *firestoreAdminGRPCClient) GetField(ctx context.Context, req *adminpb.GetFieldRequest, opts ...gax.CallOption) (*adminpb.Field, error) { - if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { - cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) - defer cancel() - ctx = cctx - } - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).GetField[0:len((*c.CallOptions).GetField):len((*c.CallOptions).GetField)], opts...) var resp *adminpb.Field err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -842,14 +865,10 @@ func (c *firestoreAdminGRPCClient) GetField(ctx context.Context, req *adminpb.Ge } func (c *firestoreAdminGRPCClient) UpdateField(ctx context.Context, req *adminpb.UpdateFieldRequest, opts ...gax.CallOption) (*UpdateFieldOperation, error) { - if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { - cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) - defer cancel() - ctx = cctx - } - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "field.name", url.QueryEscape(req.GetField().GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "field.name", url.QueryEscape(req.GetField().GetName()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).UpdateField[0:len((*c.CallOptions).UpdateField):len((*c.CallOptions).UpdateField)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -866,9 +885,10 @@ func (c *firestoreAdminGRPCClient) UpdateField(ctx context.Context, req *adminpb } func (c *firestoreAdminGRPCClient) ListFields(ctx context.Context, req *adminpb.ListFieldsRequest, opts ...gax.CallOption) *FieldIterator { - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).ListFields[0:len((*c.CallOptions).ListFields):len((*c.CallOptions).ListFields)], opts...) it := &FieldIterator{} req = proto.Clone(req).(*adminpb.ListFieldsRequest) @@ -911,14 +931,10 @@ func (c *firestoreAdminGRPCClient) ListFields(ctx context.Context, req *adminpb. } func (c *firestoreAdminGRPCClient) ExportDocuments(ctx context.Context, req *adminpb.ExportDocumentsRequest, opts ...gax.CallOption) (*ExportDocumentsOperation, error) { - if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { - cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) - defer cancel() - ctx = cctx - } - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).ExportDocuments[0:len((*c.CallOptions).ExportDocuments):len((*c.CallOptions).ExportDocuments)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -935,14 +951,10 @@ func (c *firestoreAdminGRPCClient) ExportDocuments(ctx context.Context, req *adm } func (c *firestoreAdminGRPCClient) ImportDocuments(ctx context.Context, req *adminpb.ImportDocumentsRequest, opts ...gax.CallOption) (*ImportDocumentsOperation, error) { - if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines { - cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond) - defer cancel() - ctx = cctx - } - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).ImportDocuments[0:len((*c.CallOptions).ImportDocuments):len((*c.CallOptions).ImportDocuments)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -958,10 +970,31 @@ func (c *firestoreAdminGRPCClient) ImportDocuments(ctx context.Context, req *adm }, nil } +func (c *firestoreAdminGRPCClient) CreateDatabase(ctx context.Context, req *adminpb.CreateDatabaseRequest, opts ...gax.CallOption) (*CreateDatabaseOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateDatabase[0:len((*c.CallOptions).CreateDatabase):len((*c.CallOptions).CreateDatabase)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.firestoreAdminClient.CreateDatabase(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateDatabaseOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + func (c *firestoreAdminGRPCClient) GetDatabase(ctx context.Context, req *adminpb.GetDatabaseRequest, opts ...gax.CallOption) (*adminpb.Database, error) { - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).GetDatabase[0:len((*c.CallOptions).GetDatabase):len((*c.CallOptions).GetDatabase)], opts...) var resp *adminpb.Database err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -976,9 +1009,10 @@ func (c *firestoreAdminGRPCClient) GetDatabase(ctx context.Context, req *adminpb } func (c *firestoreAdminGRPCClient) ListDatabases(ctx context.Context, req *adminpb.ListDatabasesRequest, opts ...gax.CallOption) (*adminpb.ListDatabasesResponse, error) { - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).ListDatabases[0:len((*c.CallOptions).ListDatabases):len((*c.CallOptions).ListDatabases)], opts...) var resp *adminpb.ListDatabasesResponse err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -993,9 +1027,10 @@ func (c *firestoreAdminGRPCClient) ListDatabases(ctx context.Context, req *admin } func (c *firestoreAdminGRPCClient) UpdateDatabase(ctx context.Context, req *adminpb.UpdateDatabaseRequest, opts ...gax.CallOption) (*UpdateDatabaseOperation, error) { - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "database.name", url.QueryEscape(req.GetDatabase().GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "database.name", url.QueryEscape(req.GetDatabase().GetName()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).UpdateDatabase[0:len((*c.CallOptions).UpdateDatabase):len((*c.CallOptions).UpdateDatabase)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -1012,9 +1047,10 @@ func (c *firestoreAdminGRPCClient) UpdateDatabase(ctx context.Context, req *admi } func (c *firestoreAdminGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).CancelOperation[0:len((*c.CallOptions).CancelOperation):len((*c.CallOptions).CancelOperation)], opts...) err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error @@ -1025,9 +1061,10 @@ func (c *firestoreAdminGRPCClient) CancelOperation(ctx context.Context, req *lon } func (c *firestoreAdminGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).DeleteOperation[0:len((*c.CallOptions).DeleteOperation):len((*c.CallOptions).DeleteOperation)], opts...) err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { var err error @@ -1038,9 +1075,10 @@ func (c *firestoreAdminGRPCClient) DeleteOperation(ctx context.Context, req *lon } func (c *firestoreAdminGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) var resp *longrunningpb.Operation err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -1055,9 +1093,10 @@ func (c *firestoreAdminGRPCClient) GetOperation(ctx context.Context, req *longru } func (c *firestoreAdminGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - ctx = insertMetadata(ctx, c.xGoogMetadata, md) + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...) it := &OperationIterator{} req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) @@ -1099,9 +1138,11 @@ func (c *firestoreAdminGRPCClient) ListOperations(ctx context.Context, req *long return it } -// CreateIndex creates a composite index. This returns a google.longrunning.Operation -// which may be used to track the status of the creation. The metadata for -// the operation will be the type IndexOperationMetadata. +// CreateIndex creates a composite index. This returns a +// google.longrunning.Operation which may be +// used to track the status of the creation. The metadata for the operation +// will be the type +// IndexOperationMetadata. func (c *firestoreAdminRESTClient) CreateIndex(ctx context.Context, req *adminpb.CreateIndexRequest, opts ...gax.CallOption) (*CreateIndexOperation, error) { m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} body := req.GetIndex() @@ -1122,9 +1163,11 @@ func (c *firestoreAdminRESTClient) CreateIndex(ctx context.Context, req *adminpb baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} - headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} resp := &longrunningpb.Operation{} e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -1148,7 +1191,7 @@ func (c *firestoreAdminRESTClient) CreateIndex(ctx context.Context, req *adminpb return err } - buf, err := ioutil.ReadAll(httpRsp.Body) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { return err } @@ -1206,7 +1249,8 @@ func (c *firestoreAdminRESTClient) ListIndexes(ctx context.Context, req *adminpb baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { if settings.Path != "" { baseUrl.Path = settings.Path @@ -1227,7 +1271,7 @@ func (c *firestoreAdminRESTClient) ListIndexes(ctx context.Context, req *adminpb return err } - buf, err := ioutil.ReadAll(httpRsp.Body) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { return err } @@ -1275,9 +1319,11 @@ func (c *firestoreAdminRESTClient) GetIndex(ctx context.Context, req *adminpb.Ge baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) opts = append((*c.CallOptions).GetIndex[0:len((*c.CallOptions).GetIndex):len((*c.CallOptions).GetIndex)], opts...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} resp := &adminpb.Index{} @@ -1302,7 +1348,7 @@ func (c *firestoreAdminRESTClient) GetIndex(ctx context.Context, req *adminpb.Ge return err } - buf, err := ioutil.ReadAll(httpRsp.Body) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { return err } @@ -1333,9 +1379,11 @@ func (c *firestoreAdminRESTClient) DeleteIndex(ctx context.Context, req *adminpb baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { if settings.Path != "" { baseUrl.Path = settings.Path @@ -1373,9 +1421,11 @@ func (c *firestoreAdminRESTClient) GetField(ctx context.Context, req *adminpb.Ge baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) opts = append((*c.CallOptions).GetField[0:len((*c.CallOptions).GetField):len((*c.CallOptions).GetField)], opts...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} resp := &adminpb.Field{} @@ -1400,7 +1450,7 @@ func (c *firestoreAdminRESTClient) GetField(ctx context.Context, req *adminpb.Ge return err } - buf, err := ioutil.ReadAll(httpRsp.Body) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { return err } @@ -1419,13 +1469,15 @@ func (c *firestoreAdminRESTClient) GetField(ctx context.Context, req *adminpb.Ge // UpdateField updates a field configuration. Currently, field updates apply only to // single field index configuration. However, calls to -// FirestoreAdmin.UpdateField should provide a field mask to avoid -// changing any configuration that the caller isn’t aware of. The field mask -// should be specified as: { paths: "index_config" }. +// FirestoreAdmin.UpdateField +// should provide a field mask to avoid changing any configuration that the +// caller isn’t aware of. The field mask should be specified as: { paths: "index_config" }. // -// This call returns a google.longrunning.Operation which may be used to -// track the status of the field update. The metadata for -// the operation will be the type FieldOperationMetadata. +// This call returns a +// google.longrunning.Operation which may be +// used to track the status of the field update. The metadata for the +// operation will be the type +// FieldOperationMetadata. // // To configure the default field settings for the database, use // the special Field with resource name: @@ -1451,15 +1503,17 @@ func (c *firestoreAdminRESTClient) UpdateField(ctx context.Context, req *adminpb if err != nil { return nil, err } - params.Add("updateMask", string(updateMask)) + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) } baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "field.name", url.QueryEscape(req.GetField().GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "field.name", url.QueryEscape(req.GetField().GetName()))} - headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} resp := &longrunningpb.Operation{} e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -1483,7 +1537,7 @@ func (c *firestoreAdminRESTClient) UpdateField(ctx context.Context, req *adminpb return err } - buf, err := ioutil.ReadAll(httpRsp.Body) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { return err } @@ -1507,10 +1561,12 @@ func (c *firestoreAdminRESTClient) UpdateField(ctx context.Context, req *adminpb // ListFields lists the field configuration and metadata for this database. // -// Currently, FirestoreAdmin.ListFields only supports listing fields -// that have been explicitly overridden. To issue this query, call -// FirestoreAdmin.ListFields with the filter set to -// indexConfig.usesAncestorConfig:false . +// Currently, +// FirestoreAdmin.ListFields +// only supports listing fields that have been explicitly overridden. To issue +// this query, call +// FirestoreAdmin.ListFields +// with the filter set to indexConfig.usesAncestorConfig:false . func (c *firestoreAdminRESTClient) ListFields(ctx context.Context, req *adminpb.ListFieldsRequest, opts ...gax.CallOption) *FieldIterator { it := &FieldIterator{} req = proto.Clone(req).(*adminpb.ListFieldsRequest) @@ -1546,7 +1602,8 @@ func (c *firestoreAdminRESTClient) ListFields(ctx context.Context, req *adminpb. baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { if settings.Path != "" { baseUrl.Path = settings.Path @@ -1567,7 +1624,7 @@ func (c *firestoreAdminRESTClient) ListFields(ctx context.Context, req *adminpb. return err } - buf, err := ioutil.ReadAll(httpRsp.Body) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { return err } @@ -1631,9 +1688,11 @@ func (c *firestoreAdminRESTClient) ExportDocuments(ctx context.Context, req *adm baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} resp := &longrunningpb.Operation{} e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -1657,7 +1716,7 @@ func (c *firestoreAdminRESTClient) ExportDocuments(ctx context.Context, req *adm return err } - buf, err := ioutil.ReadAll(httpRsp.Body) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { return err } @@ -1703,9 +1762,11 @@ func (c *firestoreAdminRESTClient) ImportDocuments(ctx context.Context, req *adm baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} resp := &longrunningpb.Operation{} e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -1729,7 +1790,7 @@ func (c *firestoreAdminRESTClient) ImportDocuments(ctx context.Context, req *adm return err } - buf, err := ioutil.ReadAll(httpRsp.Body) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { return err } @@ -1751,6 +1812,78 @@ func (c *firestoreAdminRESTClient) ImportDocuments(ctx context.Context, req *adm }, nil } +// CreateDatabase create a database. +func (c *firestoreAdminRESTClient) CreateDatabase(ctx context.Context, req *adminpb.CreateDatabaseRequest, opts ...gax.CallOption) (*CreateDatabaseOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetDatabase() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v/databases", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + params.Add("databaseId", fmt.Sprintf("%v", req.GetDatabaseId())) + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &CreateDatabaseOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + // GetDatabase gets information about a database. func (c *firestoreAdminRESTClient) GetDatabase(ctx context.Context, req *adminpb.GetDatabaseRequest, opts ...gax.CallOption) (*adminpb.Database, error) { baseUrl, err := url.Parse(c.endpoint) @@ -1765,9 +1898,11 @@ func (c *firestoreAdminRESTClient) GetDatabase(ctx context.Context, req *adminpb baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) opts = append((*c.CallOptions).GetDatabase[0:len((*c.CallOptions).GetDatabase):len((*c.CallOptions).GetDatabase)], opts...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} resp := &adminpb.Database{} @@ -1792,7 +1927,7 @@ func (c *firestoreAdminRESTClient) GetDatabase(ctx context.Context, req *adminpb return err } - buf, err := ioutil.ReadAll(httpRsp.Body) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { return err } @@ -1823,9 +1958,11 @@ func (c *firestoreAdminRESTClient) ListDatabases(ctx context.Context, req *admin baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} - headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) opts = append((*c.CallOptions).ListDatabases[0:len((*c.CallOptions).ListDatabases):len((*c.CallOptions).ListDatabases)], opts...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} resp := &adminpb.ListDatabasesResponse{} @@ -1850,7 +1987,7 @@ func (c *firestoreAdminRESTClient) ListDatabases(ctx context.Context, req *admin return err } - buf, err := ioutil.ReadAll(httpRsp.Body) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { return err } @@ -1889,15 +2026,17 @@ func (c *firestoreAdminRESTClient) UpdateDatabase(ctx context.Context, req *admi if err != nil { return nil, err } - params.Add("updateMask", string(updateMask)) + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) } baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "database.name", url.QueryEscape(req.GetDatabase().GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "database.name", url.QueryEscape(req.GetDatabase().GetName()))} - headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} resp := &longrunningpb.Operation{} e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { @@ -1921,7 +2060,7 @@ func (c *firestoreAdminRESTClient) UpdateDatabase(ctx context.Context, req *admi return err } - buf, err := ioutil.ReadAll(httpRsp.Body) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { return err } @@ -1963,9 +2102,11 @@ func (c *firestoreAdminRESTClient) CancelOperation(ctx context.Context, req *lon baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { if settings.Path != "" { baseUrl.Path = settings.Path @@ -2003,9 +2144,11 @@ func (c *firestoreAdminRESTClient) DeleteOperation(ctx context.Context, req *lon baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { if settings.Path != "" { baseUrl.Path = settings.Path @@ -2043,9 +2186,11 @@ func (c *firestoreAdminRESTClient) GetOperation(ctx context.Context, req *longru baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))) + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} - headers := buildHeaders(ctx, c.xGoogMetadata, md, metadata.Pairs("Content-Type", "application/json")) + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} resp := &longrunningpb.Operation{} @@ -2070,7 +2215,7 @@ func (c *firestoreAdminRESTClient) GetOperation(ctx context.Context, req *longru return err } - buf, err := ioutil.ReadAll(httpRsp.Body) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { return err } @@ -2123,7 +2268,8 @@ func (c *firestoreAdminRESTClient) ListOperations(ctx context.Context, req *long baseUrl.RawQuery = params.Encode() // Build HTTP headers from client and context metadata. - headers := buildHeaders(ctx, c.xGoogMetadata, metadata.Pairs("Content-Type", "application/json")) + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { if settings.Path != "" { baseUrl.Path = settings.Path @@ -2144,7 +2290,7 @@ func (c *firestoreAdminRESTClient) ListOperations(ctx context.Context, req *long return err } - buf, err := ioutil.ReadAll(httpRsp.Body) + buf, err := io.ReadAll(httpRsp.Body) if err != nil { return err } @@ -2178,10 +2324,22 @@ func (c *firestoreAdminRESTClient) ListOperations(ctx context.Context, req *long return it } -// CreateIndexOperation manages a long-running operation from CreateIndex. -type CreateIndexOperation struct { - lro *longrunning.Operation - pollPath string +// CreateDatabaseOperation returns a new CreateDatabaseOperation from a given name. +// The name must be that of a previously created CreateDatabaseOperation, possibly from a different process. +func (c *firestoreAdminGRPCClient) CreateDatabaseOperation(name string) *CreateDatabaseOperation { + return &CreateDatabaseOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateDatabaseOperation returns a new CreateDatabaseOperation from a given name. +// The name must be that of a previously created CreateDatabaseOperation, possibly from a different process. +func (c *firestoreAdminRESTClient) CreateDatabaseOperation(name string) *CreateDatabaseOperation { + override := fmt.Sprintf("/v1/%s", name) + return &CreateDatabaseOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } } // CreateIndexOperation returns a new CreateIndexOperation from a given name. @@ -2202,70 +2360,6 @@ func (c *firestoreAdminRESTClient) CreateIndexOperation(name string) *CreateInde } } -// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. -// -// See documentation of Poll for error-handling information. -func (op *CreateIndexOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*adminpb.Index, error) { - opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp adminpb.Index - if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { - return nil, err - } - return &resp, nil -} - -// Poll fetches the latest state of the long-running operation. -// -// Poll also fetches the latest metadata, which can be retrieved by Metadata. -// -// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and -// the operation has completed with failure, the error is returned and op.Done will return true. -// If Poll succeeds and the operation has completed successfully, -// op.Done will return true, and the response of the operation is returned. -// If Poll succeeds and the operation has not completed, the returned response and error are both nil. -func (op *CreateIndexOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*adminpb.Index, error) { - opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp adminpb.Index - if err := op.lro.Poll(ctx, &resp, opts...); err != nil { - return nil, err - } - if !op.Done() { - return nil, nil - } - return &resp, nil -} - -// Metadata returns metadata associated with the long-running operation. -// Metadata itself does not contact the server, but Poll does. -// To get the latest metadata, call this method after a successful call to Poll. -// If the metadata is not available, the returned metadata and error are both nil. -func (op *CreateIndexOperation) Metadata() (*adminpb.IndexOperationMetadata, error) { - var meta adminpb.IndexOperationMetadata - if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { - return nil, nil - } else if err != nil { - return nil, err - } - return &meta, nil -} - -// Done reports whether the long-running operation has completed. -func (op *CreateIndexOperation) Done() bool { - return op.lro.Done() -} - -// Name returns the name of the long-running operation. -// The name is assigned by the server and is unique within the service from which the operation is created. -func (op *CreateIndexOperation) Name() string { - return op.lro.Name() -} - -// ExportDocumentsOperation manages a long-running operation from ExportDocuments. -type ExportDocumentsOperation struct { - lro *longrunning.Operation - pollPath string -} - // ExportDocumentsOperation returns a new ExportDocumentsOperation from a given name. // The name must be that of a previously created ExportDocumentsOperation, possibly from a different process. func (c *firestoreAdminGRPCClient) ExportDocumentsOperation(name string) *ExportDocumentsOperation { @@ -2284,70 +2378,6 @@ func (c *firestoreAdminRESTClient) ExportDocumentsOperation(name string) *Export } } -// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. -// -// See documentation of Poll for error-handling information. -func (op *ExportDocumentsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*adminpb.ExportDocumentsResponse, error) { - opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp adminpb.ExportDocumentsResponse - if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { - return nil, err - } - return &resp, nil -} - -// Poll fetches the latest state of the long-running operation. -// -// Poll also fetches the latest metadata, which can be retrieved by Metadata. -// -// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and -// the operation has completed with failure, the error is returned and op.Done will return true. -// If Poll succeeds and the operation has completed successfully, -// op.Done will return true, and the response of the operation is returned. -// If Poll succeeds and the operation has not completed, the returned response and error are both nil. -func (op *ExportDocumentsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*adminpb.ExportDocumentsResponse, error) { - opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp adminpb.ExportDocumentsResponse - if err := op.lro.Poll(ctx, &resp, opts...); err != nil { - return nil, err - } - if !op.Done() { - return nil, nil - } - return &resp, nil -} - -// Metadata returns metadata associated with the long-running operation. -// Metadata itself does not contact the server, but Poll does. -// To get the latest metadata, call this method after a successful call to Poll. -// If the metadata is not available, the returned metadata and error are both nil. -func (op *ExportDocumentsOperation) Metadata() (*adminpb.ExportDocumentsMetadata, error) { - var meta adminpb.ExportDocumentsMetadata - if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { - return nil, nil - } else if err != nil { - return nil, err - } - return &meta, nil -} - -// Done reports whether the long-running operation has completed. -func (op *ExportDocumentsOperation) Done() bool { - return op.lro.Done() -} - -// Name returns the name of the long-running operation. -// The name is assigned by the server and is unique within the service from which the operation is created. -func (op *ExportDocumentsOperation) Name() string { - return op.lro.Name() -} - -// ImportDocumentsOperation manages a long-running operation from ImportDocuments. -type ImportDocumentsOperation struct { - lro *longrunning.Operation - pollPath string -} - // ImportDocumentsOperation returns a new ImportDocumentsOperation from a given name. // The name must be that of a previously created ImportDocumentsOperation, possibly from a different process. func (c *firestoreAdminGRPCClient) ImportDocumentsOperation(name string) *ImportDocumentsOperation { @@ -2366,59 +2396,6 @@ func (c *firestoreAdminRESTClient) ImportDocumentsOperation(name string) *Import } } -// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. -// -// See documentation of Poll for error-handling information. -func (op *ImportDocumentsOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { - opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) -} - -// Poll fetches the latest state of the long-running operation. -// -// Poll also fetches the latest metadata, which can be retrieved by Metadata. -// -// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and -// the operation has completed with failure, the error is returned and op.Done will return true. -// If Poll succeeds and the operation has completed successfully, -// op.Done will return true, and the response of the operation is returned. -// If Poll succeeds and the operation has not completed, the returned response and error are both nil. -func (op *ImportDocumentsOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { - opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - return op.lro.Poll(ctx, nil, opts...) -} - -// Metadata returns metadata associated with the long-running operation. -// Metadata itself does not contact the server, but Poll does. -// To get the latest metadata, call this method after a successful call to Poll. -// If the metadata is not available, the returned metadata and error are both nil. -func (op *ImportDocumentsOperation) Metadata() (*adminpb.ImportDocumentsMetadata, error) { - var meta adminpb.ImportDocumentsMetadata - if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { - return nil, nil - } else if err != nil { - return nil, err - } - return &meta, nil -} - -// Done reports whether the long-running operation has completed. -func (op *ImportDocumentsOperation) Done() bool { - return op.lro.Done() -} - -// Name returns the name of the long-running operation. -// The name is assigned by the server and is unique within the service from which the operation is created. -func (op *ImportDocumentsOperation) Name() string { - return op.lro.Name() -} - -// UpdateDatabaseOperation manages a long-running operation from UpdateDatabase. -type UpdateDatabaseOperation struct { - lro *longrunning.Operation - pollPath string -} - // UpdateDatabaseOperation returns a new UpdateDatabaseOperation from a given name. // The name must be that of a previously created UpdateDatabaseOperation, possibly from a different process. func (c *firestoreAdminGRPCClient) UpdateDatabaseOperation(name string) *UpdateDatabaseOperation { @@ -2437,70 +2414,6 @@ func (c *firestoreAdminRESTClient) UpdateDatabaseOperation(name string) *UpdateD } } -// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. -// -// See documentation of Poll for error-handling information. -func (op *UpdateDatabaseOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*adminpb.Database, error) { - opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp adminpb.Database - if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { - return nil, err - } - return &resp, nil -} - -// Poll fetches the latest state of the long-running operation. -// -// Poll also fetches the latest metadata, which can be retrieved by Metadata. -// -// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and -// the operation has completed with failure, the error is returned and op.Done will return true. -// If Poll succeeds and the operation has completed successfully, -// op.Done will return true, and the response of the operation is returned. -// If Poll succeeds and the operation has not completed, the returned response and error are both nil. -func (op *UpdateDatabaseOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*adminpb.Database, error) { - opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp adminpb.Database - if err := op.lro.Poll(ctx, &resp, opts...); err != nil { - return nil, err - } - if !op.Done() { - return nil, nil - } - return &resp, nil -} - -// Metadata returns metadata associated with the long-running operation. -// Metadata itself does not contact the server, but Poll does. -// To get the latest metadata, call this method after a successful call to Poll. -// If the metadata is not available, the returned metadata and error are both nil. -func (op *UpdateDatabaseOperation) Metadata() (*adminpb.UpdateDatabaseMetadata, error) { - var meta adminpb.UpdateDatabaseMetadata - if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { - return nil, nil - } else if err != nil { - return nil, err - } - return &meta, nil -} - -// Done reports whether the long-running operation has completed. -func (op *UpdateDatabaseOperation) Done() bool { - return op.lro.Done() -} - -// Name returns the name of the long-running operation. -// The name is assigned by the server and is unique within the service from which the operation is created. -func (op *UpdateDatabaseOperation) Name() string { - return op.lro.Name() -} - -// UpdateFieldOperation manages a long-running operation from UpdateField. -type UpdateFieldOperation struct { - lro *longrunning.Operation - pollPath string -} - // UpdateFieldOperation returns a new UpdateFieldOperation from a given name. // The name must be that of a previously created UpdateFieldOperation, possibly from a different process. func (c *firestoreAdminGRPCClient) UpdateFieldOperation(name string) *UpdateFieldOperation { @@ -2518,202 +2431,3 @@ func (c *firestoreAdminRESTClient) UpdateFieldOperation(name string) *UpdateFiel pollPath: override, } } - -// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. -// -// See documentation of Poll for error-handling information. -func (op *UpdateFieldOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*adminpb.Field, error) { - opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp adminpb.Field - if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { - return nil, err - } - return &resp, nil -} - -// Poll fetches the latest state of the long-running operation. -// -// Poll also fetches the latest metadata, which can be retrieved by Metadata. -// -// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and -// the operation has completed with failure, the error is returned and op.Done will return true. -// If Poll succeeds and the operation has completed successfully, -// op.Done will return true, and the response of the operation is returned. -// If Poll succeeds and the operation has not completed, the returned response and error are both nil. -func (op *UpdateFieldOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*adminpb.Field, error) { - opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) - var resp adminpb.Field - if err := op.lro.Poll(ctx, &resp, opts...); err != nil { - return nil, err - } - if !op.Done() { - return nil, nil - } - return &resp, nil -} - -// Metadata returns metadata associated with the long-running operation. -// Metadata itself does not contact the server, but Poll does. -// To get the latest metadata, call this method after a successful call to Poll. -// If the metadata is not available, the returned metadata and error are both nil. -func (op *UpdateFieldOperation) Metadata() (*adminpb.FieldOperationMetadata, error) { - var meta adminpb.FieldOperationMetadata - if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { - return nil, nil - } else if err != nil { - return nil, err - } - return &meta, nil -} - -// Done reports whether the long-running operation has completed. -func (op *UpdateFieldOperation) Done() bool { - return op.lro.Done() -} - -// Name returns the name of the long-running operation. -// The name is assigned by the server and is unique within the service from which the operation is created. -func (op *UpdateFieldOperation) Name() string { - return op.lro.Name() -} - -// FieldIterator manages a stream of *adminpb.Field. -type FieldIterator struct { - items []*adminpb.Field - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*adminpb.Field, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *FieldIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *FieldIterator) Next() (*adminpb.Field, error) { - var item *adminpb.Field - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *FieldIterator) bufLen() int { - return len(it.items) -} - -func (it *FieldIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// IndexIterator manages a stream of *adminpb.Index. -type IndexIterator struct { - items []*adminpb.Index - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*adminpb.Index, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *IndexIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *IndexIterator) Next() (*adminpb.Index, error) { - var item *adminpb.Index - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *IndexIterator) bufLen() int { - return len(it.items) -} - -func (it *IndexIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// OperationIterator manages a stream of *longrunningpb.Operation. -type OperationIterator struct { - items []*longrunningpb.Operation - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*longrunningpb.Operation, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *OperationIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *OperationIterator) Next() (*longrunningpb.Operation, error) { - var item *longrunningpb.Operation - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *OperationIterator) bufLen() int { - return len(it.items) -} - -func (it *OperationIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/firestore/apiv1/admin/firestore_admin_client_example_test.go b/firestore/apiv1/admin/firestore_admin_client_example_test.go index 10b29acfd24c..89353c0fba49 100644 --- a/firestore/apiv1/admin/firestore_admin_client_example_test.go +++ b/firestore/apiv1/admin/firestore_admin_client_example_test.go @@ -59,7 +59,7 @@ func ExampleNewFirestoreAdminRESTClient() { _ = c } -func ExampleFirestoreAdminClient_CreateIndex() { +func ExampleFirestoreAdminClient_CreateDatabase() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -72,11 +72,11 @@ func ExampleFirestoreAdminClient_CreateIndex() { } defer c.Close() - req := &adminpb.CreateIndexRequest{ + req := &adminpb.CreateDatabaseRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#CreateIndexRequest. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#CreateDatabaseRequest. } - op, err := c.CreateIndex(ctx, req) + op, err := c.CreateDatabase(ctx, req) if err != nil { // TODO: Handle error. } @@ -89,7 +89,7 @@ func ExampleFirestoreAdminClient_CreateIndex() { _ = resp } -func ExampleFirestoreAdminClient_ListIndexes() { +func ExampleFirestoreAdminClient_CreateIndex() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -102,42 +102,16 @@ func ExampleFirestoreAdminClient_ListIndexes() { } defer c.Close() - req := &adminpb.ListIndexesRequest{ + req := &adminpb.CreateIndexRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#ListIndexesRequest. - } - it := c.ListIndexes(ctx, req) - for { - resp, err := it.Next() - if err == iterator.Done { - break - } - if err != nil { - // TODO: Handle error. - } - // TODO: Use resp. - _ = resp + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#CreateIndexRequest. } -} - -func ExampleFirestoreAdminClient_GetIndex() { - ctx := context.Background() - // This snippet has been automatically generated and should be regarded as a code template only. - // It will require modifications to work: - // - It may require correct/in-range values for request initialization. - // - It may require specifying regional endpoints when creating the service client as shown in: - // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options - c, err := apiv1.NewFirestoreAdminClient(ctx) + op, err := c.CreateIndex(ctx, req) if err != nil { // TODO: Handle error. } - defer c.Close() - req := &adminpb.GetIndexRequest{ - // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#GetIndexRequest. - } - resp, err := c.GetIndex(ctx, req) + resp, err := op.Wait(ctx) if err != nil { // TODO: Handle error. } @@ -168,7 +142,7 @@ func ExampleFirestoreAdminClient_DeleteIndex() { } } -func ExampleFirestoreAdminClient_GetField() { +func ExampleFirestoreAdminClient_ExportDocuments() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -181,11 +155,16 @@ func ExampleFirestoreAdminClient_GetField() { } defer c.Close() - req := &adminpb.GetFieldRequest{ + req := &adminpb.ExportDocumentsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#GetFieldRequest. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#ExportDocumentsRequest. } - resp, err := c.GetField(ctx, req) + op, err := c.ExportDocuments(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) if err != nil { // TODO: Handle error. } @@ -193,7 +172,7 @@ func ExampleFirestoreAdminClient_GetField() { _ = resp } -func ExampleFirestoreAdminClient_UpdateField() { +func ExampleFirestoreAdminClient_GetDatabase() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -206,16 +185,11 @@ func ExampleFirestoreAdminClient_UpdateField() { } defer c.Close() - req := &adminpb.UpdateFieldRequest{ + req := &adminpb.GetDatabaseRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#UpdateFieldRequest. - } - op, err := c.UpdateField(ctx, req) - if err != nil { - // TODO: Handle error. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#GetDatabaseRequest. } - - resp, err := op.Wait(ctx) + resp, err := c.GetDatabase(ctx, req) if err != nil { // TODO: Handle error. } @@ -223,7 +197,7 @@ func ExampleFirestoreAdminClient_UpdateField() { _ = resp } -func ExampleFirestoreAdminClient_ListFields() { +func ExampleFirestoreAdminClient_GetField() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -236,25 +210,19 @@ func ExampleFirestoreAdminClient_ListFields() { } defer c.Close() - req := &adminpb.ListFieldsRequest{ + req := &adminpb.GetFieldRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#ListFieldsRequest. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#GetFieldRequest. } - it := c.ListFields(ctx, req) - for { - resp, err := it.Next() - if err == iterator.Done { - break - } - if err != nil { - // TODO: Handle error. - } - // TODO: Use resp. - _ = resp + resp, err := c.GetField(ctx, req) + if err != nil { + // TODO: Handle error. } + // TODO: Use resp. + _ = resp } -func ExampleFirestoreAdminClient_ExportDocuments() { +func ExampleFirestoreAdminClient_GetIndex() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -267,16 +235,11 @@ func ExampleFirestoreAdminClient_ExportDocuments() { } defer c.Close() - req := &adminpb.ExportDocumentsRequest{ + req := &adminpb.GetIndexRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#ExportDocumentsRequest. - } - op, err := c.ExportDocuments(ctx, req) - if err != nil { - // TODO: Handle error. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#GetIndexRequest. } - - resp, err := op.Wait(ctx) + resp, err := c.GetIndex(ctx, req) if err != nil { // TODO: Handle error. } @@ -312,7 +275,7 @@ func ExampleFirestoreAdminClient_ImportDocuments() { } } -func ExampleFirestoreAdminClient_GetDatabase() { +func ExampleFirestoreAdminClient_ListDatabases() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -325,11 +288,11 @@ func ExampleFirestoreAdminClient_GetDatabase() { } defer c.Close() - req := &adminpb.GetDatabaseRequest{ + req := &adminpb.ListDatabasesRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#GetDatabaseRequest. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#ListDatabasesRequest. } - resp, err := c.GetDatabase(ctx, req) + resp, err := c.ListDatabases(ctx, req) if err != nil { // TODO: Handle error. } @@ -337,7 +300,7 @@ func ExampleFirestoreAdminClient_GetDatabase() { _ = resp } -func ExampleFirestoreAdminClient_ListDatabases() { +func ExampleFirestoreAdminClient_ListFields() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: @@ -350,16 +313,53 @@ func ExampleFirestoreAdminClient_ListDatabases() { } defer c.Close() - req := &adminpb.ListDatabasesRequest{ + req := &adminpb.ListFieldsRequest{ // TODO: Fill request struct fields. - // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#ListDatabasesRequest. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#ListFieldsRequest. } - resp, err := c.ListDatabases(ctx, req) + it := c.ListFields(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleFirestoreAdminClient_ListIndexes() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) if err != nil { // TODO: Handle error. } - // TODO: Use resp. - _ = resp + defer c.Close() + + req := &adminpb.ListIndexesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#ListIndexesRequest. + } + it := c.ListIndexes(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } } func ExampleFirestoreAdminClient_UpdateDatabase() { @@ -392,6 +392,36 @@ func ExampleFirestoreAdminClient_UpdateDatabase() { _ = resp } +func ExampleFirestoreAdminClient_UpdateField() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.UpdateFieldRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#UpdateFieldRequest. + } + op, err := c.UpdateField(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + func ExampleFirestoreAdminClient_CancelOperation() { ctx := context.Background() // This snippet has been automatically generated and should be regarded as a code template only. diff --git a/firestore/apiv1/admin/gapic_metadata.json b/firestore/apiv1/admin/gapic_metadata.json index 47c44125e55c..1c93fc0522f8 100644 --- a/firestore/apiv1/admin/gapic_metadata.json +++ b/firestore/apiv1/admin/gapic_metadata.json @@ -15,6 +15,11 @@ "CancelOperation" ] }, + "CreateDatabase": { + "methods": [ + "CreateDatabase" + ] + }, "CreateIndex": { "methods": [ "CreateIndex" @@ -100,6 +105,11 @@ "CancelOperation" ] }, + "CreateDatabase": { + "methods": [ + "CreateDatabase" + ] + }, "CreateIndex": { "methods": [ "CreateIndex" diff --git a/go.work b/go.work index a2b319a735ed..6080ac63b4f1 100644 --- a/go.work +++ b/go.work @@ -143,6 +143,7 @@ use ( ./storagetransfer ./support ./talent + ./telcoautomation ./texttospeech ./tpu ./trace diff --git a/internal/.repo-metadata-full.json b/internal/.repo-metadata-full.json index 4c6d05340589..46c4094d3b77 100644 --- a/internal/.repo-metadata-full.json +++ b/internal/.repo-metadata-full.json @@ -1119,6 +1119,16 @@ "release_level": "stable", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/firestore/apiv1/admin": { + "api_shortname": "firestore", + "distribution_name": "cloud.google.com/go/firestore/apiv1/admin", + "description": "Cloud Firestore API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/firestore/latest/apiv1/admin", + "release_level": "stable", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/functions/apiv1": { "api_shortname": "cloudfunctions", "distribution_name": "cloud.google.com/go/functions/apiv1", @@ -2299,6 +2309,16 @@ "release_level": "preview", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/telcoautomation/apiv1": { + "api_shortname": "telcoautomation", + "distribution_name": "cloud.google.com/go/telcoautomation/apiv1", + "description": "Telco Automation API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/telcoautomation/latest/apiv1", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/texttospeech/apiv1": { "api_shortname": "texttospeech", "distribution_name": "cloud.google.com/go/texttospeech/apiv1", diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/CancelOperation/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/CancelOperation/main.go new file mode 100644 index 000000000000..5bfc59be6c2c --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/CancelOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_CancelOperation_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END firestore_v1_generated_FirestoreAdmin_CancelOperation_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/CreateDatabase/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/CreateDatabase/main.go new file mode 100644 index 000000000000..f3903cf6a0e5 --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/CreateDatabase/main.go @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_CreateDatabase_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.CreateDatabaseRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#CreateDatabaseRequest. + } + op, err := c.CreateDatabase(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END firestore_v1_generated_FirestoreAdmin_CreateDatabase_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/CreateIndex/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/CreateIndex/main.go new file mode 100644 index 000000000000..5f11f185ba86 --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/CreateIndex/main.go @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_CreateIndex_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.CreateIndexRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#CreateIndexRequest. + } + op, err := c.CreateIndex(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END firestore_v1_generated_FirestoreAdmin_CreateIndex_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/DeleteIndex/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/DeleteIndex/main.go new file mode 100644 index 000000000000..5646f71b84da --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/DeleteIndex/main.go @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_DeleteIndex_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.DeleteIndexRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#DeleteIndexRequest. + } + err = c.DeleteIndex(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END firestore_v1_generated_FirestoreAdmin_DeleteIndex_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/DeleteOperation/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/DeleteOperation/main.go new file mode 100644 index 000000000000..c9e0fc8bb73b --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/DeleteOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_DeleteOperation_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END firestore_v1_generated_FirestoreAdmin_DeleteOperation_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ExportDocuments/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ExportDocuments/main.go new file mode 100644 index 000000000000..aad7dcd6d207 --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ExportDocuments/main.go @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_ExportDocuments_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.ExportDocumentsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#ExportDocumentsRequest. + } + op, err := c.ExportDocuments(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END firestore_v1_generated_FirestoreAdmin_ExportDocuments_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/GetDatabase/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/GetDatabase/main.go new file mode 100644 index 000000000000..67aa521b8460 --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/GetDatabase/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_GetDatabase_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.GetDatabaseRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#GetDatabaseRequest. + } + resp, err := c.GetDatabase(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END firestore_v1_generated_FirestoreAdmin_GetDatabase_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/GetField/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/GetField/main.go new file mode 100644 index 000000000000..47b6ff96eaf1 --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/GetField/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_GetField_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.GetFieldRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#GetFieldRequest. + } + resp, err := c.GetField(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END firestore_v1_generated_FirestoreAdmin_GetField_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/GetIndex/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/GetIndex/main.go new file mode 100644 index 000000000000..405f589fbcfc --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/GetIndex/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_GetIndex_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.GetIndexRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#GetIndexRequest. + } + resp, err := c.GetIndex(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END firestore_v1_generated_FirestoreAdmin_GetIndex_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/GetOperation/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/GetOperation/main.go new file mode 100644 index 000000000000..cb891ca00b8b --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/GetOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_GetOperation_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END firestore_v1_generated_FirestoreAdmin_GetOperation_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ImportDocuments/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ImportDocuments/main.go new file mode 100644 index 000000000000..78a6598969c3 --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ImportDocuments/main.go @@ -0,0 +1,56 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_ImportDocuments_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.ImportDocumentsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#ImportDocumentsRequest. + } + op, err := c.ImportDocuments(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END firestore_v1_generated_FirestoreAdmin_ImportDocuments_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ListDatabases/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ListDatabases/main.go new file mode 100644 index 000000000000..81dd034d2c9e --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ListDatabases/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_ListDatabases_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.ListDatabasesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#ListDatabasesRequest. + } + resp, err := c.ListDatabases(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END firestore_v1_generated_FirestoreAdmin_ListDatabases_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ListFields/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ListFields/main.go new file mode 100644 index 000000000000..c986996c2667 --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ListFields/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_ListFields_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.ListFieldsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#ListFieldsRequest. + } + it := c.ListFields(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END firestore_v1_generated_FirestoreAdmin_ListFields_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ListIndexes/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ListIndexes/main.go new file mode 100644 index 000000000000..baa49fc88168 --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ListIndexes/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_ListIndexes_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.ListIndexesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#ListIndexesRequest. + } + it := c.ListIndexes(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END firestore_v1_generated_FirestoreAdmin_ListIndexes_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ListOperations/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ListOperations/main.go new file mode 100644 index 000000000000..9865f4344685 --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/ListOperations/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_ListOperations_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END firestore_v1_generated_FirestoreAdmin_ListOperations_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/UpdateDatabase/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/UpdateDatabase/main.go new file mode 100644 index 000000000000..95a270886341 --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/UpdateDatabase/main.go @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_UpdateDatabase_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.UpdateDatabaseRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#UpdateDatabaseRequest. + } + op, err := c.UpdateDatabase(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END firestore_v1_generated_FirestoreAdmin_UpdateDatabase_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/UpdateField/main.go b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/UpdateField/main.go new file mode 100644 index 000000000000..a3b639b25462 --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/FirestoreAdminClient/UpdateField/main.go @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START firestore_v1_generated_FirestoreAdmin_UpdateField_sync] + +package main + +import ( + "context" + + apiv1 "cloud.google.com/go/firestore/apiv1/admin" + adminpb "cloud.google.com/go/firestore/apiv1/admin/adminpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := apiv1.NewFirestoreAdminClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &adminpb.UpdateFieldRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/firestore/apiv1/admin/adminpb#UpdateFieldRequest. + } + op, err := c.UpdateField(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END firestore_v1_generated_FirestoreAdmin_UpdateField_sync] diff --git a/internal/generated/snippets/firestore/apiv1/admin/snippet_metadata.google.firestore.admin.v1.json b/internal/generated/snippets/firestore/apiv1/admin/snippet_metadata.google.firestore.admin.v1.json new file mode 100644 index 000000000000..b3fec7cd6147 --- /dev/null +++ b/internal/generated/snippets/firestore/apiv1/admin/snippet_metadata.google.firestore.admin.v1.json @@ -0,0 +1,794 @@ +{ + "clientLibrary": { + "name": "cloud.google.com/go/firestore/apiv1/admin", + "version": "1.14.0", + "language": "GO", + "apis": [ + { + "id": "google.firestore.admin.v1", + "version": "v1" + } + ] + }, + "snippets": [ + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_CancelOperation_sync", + "title": "firestore CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "FirestoreAdminClient/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_CreateDatabase_sync", + "title": "firestore CreateDatabase Sample", + "description": "CreateDatabase create a database.", + "file": "FirestoreAdminClient/CreateDatabase/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateDatabase", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.CreateDatabase", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.CreateDatabaseRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CreateDatabaseOperation", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "CreateDatabase", + "fullName": "google.firestore.admin.v1.FirestoreAdmin.CreateDatabase", + "service": { + "shortName": "FirestoreAdmin", + "fullName": "google.firestore.admin.v1.FirestoreAdmin" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_CreateIndex_sync", + "title": "firestore CreateIndex Sample", + "description": "CreateIndex creates a composite index. This returns a\n[google.longrunning.Operation][google.longrunning.Operation] which may be\nused to track the status of the creation. The metadata for the operation\nwill be the type\n[IndexOperationMetadata][google.firestore.admin.v1.IndexOperationMetadata].", + "file": "FirestoreAdminClient/CreateIndex/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateIndex", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.CreateIndex", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.CreateIndexRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CreateIndexOperation", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "CreateIndex", + "fullName": "google.firestore.admin.v1.FirestoreAdmin.CreateIndex", + "service": { + "shortName": "FirestoreAdmin", + "fullName": "google.firestore.admin.v1.FirestoreAdmin" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_DeleteIndex_sync", + "title": "firestore DeleteIndex Sample", + "description": "DeleteIndex deletes a composite index.", + "file": "FirestoreAdminClient/DeleteIndex/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteIndex", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.DeleteIndex", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.DeleteIndexRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "DeleteIndex", + "fullName": "google.firestore.admin.v1.FirestoreAdmin.DeleteIndex", + "service": { + "shortName": "FirestoreAdmin", + "fullName": "google.firestore.admin.v1.FirestoreAdmin" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_DeleteOperation_sync", + "title": "firestore DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "FirestoreAdminClient/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_ExportDocuments_sync", + "title": "firestore ExportDocuments Sample", + "description": "ExportDocuments exports a copy of all or a subset of documents from Google Cloud Firestore\nto another storage system, such as Google Cloud Storage. Recent updates to\ndocuments may not be reflected in the export. The export occurs in the\nbackground and its progress can be monitored and managed via the\nOperation resource that is created. The output of an export may only be\nused once the associated operation is done. If an export operation is\ncancelled before completion it may leave partial data behind in Google\nCloud Storage.\n\nFor more details on export behavior and output format, refer to: \nhttps: //cloud.google.com/firestore/docs/manage-data/export-import", + "file": "FirestoreAdminClient/ExportDocuments/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ExportDocuments", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.ExportDocuments", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.ExportDocumentsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ExportDocumentsOperation", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "ExportDocuments", + "fullName": "google.firestore.admin.v1.FirestoreAdmin.ExportDocuments", + "service": { + "shortName": "FirestoreAdmin", + "fullName": "google.firestore.admin.v1.FirestoreAdmin" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_GetDatabase_sync", + "title": "firestore GetDatabase Sample", + "description": "GetDatabase gets information about a database.", + "file": "FirestoreAdminClient/GetDatabase/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetDatabase", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.GetDatabase", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.GetDatabaseRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*adminpb.Database", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "GetDatabase", + "fullName": "google.firestore.admin.v1.FirestoreAdmin.GetDatabase", + "service": { + "shortName": "FirestoreAdmin", + "fullName": "google.firestore.admin.v1.FirestoreAdmin" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_GetField_sync", + "title": "firestore GetField Sample", + "description": "GetField gets the metadata and configuration for a Field.", + "file": "FirestoreAdminClient/GetField/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetField", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.GetField", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.GetFieldRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*adminpb.Field", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "GetField", + "fullName": "google.firestore.admin.v1.FirestoreAdmin.GetField", + "service": { + "shortName": "FirestoreAdmin", + "fullName": "google.firestore.admin.v1.FirestoreAdmin" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_GetIndex_sync", + "title": "firestore GetIndex Sample", + "description": "GetIndex gets a composite index.", + "file": "FirestoreAdminClient/GetIndex/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetIndex", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.GetIndex", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.GetIndexRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*adminpb.Index", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "GetIndex", + "fullName": "google.firestore.admin.v1.FirestoreAdmin.GetIndex", + "service": { + "shortName": "FirestoreAdmin", + "fullName": "google.firestore.admin.v1.FirestoreAdmin" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_GetOperation_sync", + "title": "firestore GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "FirestoreAdminClient/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_ImportDocuments_sync", + "title": "firestore ImportDocuments Sample", + "description": "ImportDocuments imports documents into Google Cloud Firestore. Existing documents with the\nsame name are overwritten. The import occurs in the background and its\nprogress can be monitored and managed via the Operation resource that is\ncreated. If an ImportDocuments operation is cancelled, it is possible\nthat a subset of the data has already been imported to Cloud Firestore.", + "file": "FirestoreAdminClient/ImportDocuments/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ImportDocuments", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.ImportDocuments", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.ImportDocumentsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "ImportDocumentsOperation", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "ImportDocuments", + "fullName": "google.firestore.admin.v1.FirestoreAdmin.ImportDocuments", + "service": { + "shortName": "FirestoreAdmin", + "fullName": "google.firestore.admin.v1.FirestoreAdmin" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_ListDatabases_sync", + "title": "firestore ListDatabases Sample", + "description": "ListDatabases list all the databases in the project.", + "file": "FirestoreAdminClient/ListDatabases/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListDatabases", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.ListDatabases", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.ListDatabasesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*adminpb.ListDatabasesResponse", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "ListDatabases", + "fullName": "google.firestore.admin.v1.FirestoreAdmin.ListDatabases", + "service": { + "shortName": "FirestoreAdmin", + "fullName": "google.firestore.admin.v1.FirestoreAdmin" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_ListFields_sync", + "title": "firestore ListFields Sample", + "description": "ListFields lists the field configuration and metadata for this database.\n\nCurrently,\n[FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields]\nonly supports listing fields that have been explicitly overridden. To issue\nthis query, call\n[FirestoreAdmin.ListFields][google.firestore.admin.v1.FirestoreAdmin.ListFields]\nwith the filter set to `indexConfig.usesAncestorConfig: false` .", + "file": "FirestoreAdminClient/ListFields/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListFields", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.ListFields", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.ListFieldsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "FieldIterator", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "ListFields", + "fullName": "google.firestore.admin.v1.FirestoreAdmin.ListFields", + "service": { + "shortName": "FirestoreAdmin", + "fullName": "google.firestore.admin.v1.FirestoreAdmin" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_ListIndexes_sync", + "title": "firestore ListIndexes Sample", + "description": "ListIndexes lists composite indexes.", + "file": "FirestoreAdminClient/ListIndexes/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListIndexes", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.ListIndexes", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.ListIndexesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "IndexIterator", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "ListIndexes", + "fullName": "google.firestore.admin.v1.FirestoreAdmin.ListIndexes", + "service": { + "shortName": "FirestoreAdmin", + "fullName": "google.firestore.admin.v1.FirestoreAdmin" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_ListOperations_sync", + "title": "firestore ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "FirestoreAdminClient/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_UpdateDatabase_sync", + "title": "firestore UpdateDatabase Sample", + "description": "UpdateDatabase updates a database.", + "file": "FirestoreAdminClient/UpdateDatabase/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateDatabase", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.UpdateDatabase", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.UpdateDatabaseRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "UpdateDatabaseOperation", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "UpdateDatabase", + "fullName": "google.firestore.admin.v1.FirestoreAdmin.UpdateDatabase", + "service": { + "shortName": "FirestoreAdmin", + "fullName": "google.firestore.admin.v1.FirestoreAdmin" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "firestore_v1_generated_FirestoreAdmin_UpdateField_sync", + "title": "firestore UpdateField Sample", + "description": "UpdateField updates a field configuration. Currently, field updates apply only to\nsingle field index configuration. However, calls to\n[FirestoreAdmin.UpdateField][google.firestore.admin.v1.FirestoreAdmin.UpdateField]\nshould provide a field mask to avoid changing any configuration that the\ncaller isn't aware of. The field mask should be specified as: `{ paths: \n\"index_config\" }`.\n\nThis call returns a\n[google.longrunning.Operation][google.longrunning.Operation] which may be\nused to track the status of the field update. The metadata for the\noperation will be the type\n[FieldOperationMetadata][google.firestore.admin.v1.FieldOperationMetadata].\n\nTo configure the default field settings for the database, use\nthe special `Field` with resource name: \n`projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`.", + "file": "FirestoreAdminClient/UpdateField/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateField", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient.UpdateField", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "adminpb.UpdateFieldRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "UpdateFieldOperation", + "client": { + "shortName": "FirestoreAdminClient", + "fullName": "google.firestore.admin.v1.FirestoreAdminClient" + }, + "method": { + "shortName": "UpdateField", + "fullName": "google.firestore.admin.v1.FirestoreAdmin.UpdateField", + "service": { + "shortName": "FirestoreAdmin", + "fullName": "google.firestore.admin.v1.FirestoreAdmin" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + } + ] +} \ No newline at end of file diff --git a/internal/generated/snippets/go.mod b/internal/generated/snippets/go.mod index 9bbeb21491c6..43fdc9d24abd 100644 --- a/internal/generated/snippets/go.mod +++ b/internal/generated/snippets/go.mod @@ -148,6 +148,7 @@ require ( cloud.google.com/go/recaptchaenterprise v1.3.1 cloud.google.com/go/securesourcemanager v0.0.0-00010101000000-000000000000 cloud.google.com/go/shopping v0.0.0-00010101000000-000000000000 + cloud.google.com/go/telcoautomation v0.0.0-00010101000000-000000000000 google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 ) @@ -457,3 +458,5 @@ replace cloud.google.com/go/securesourcemanager => ../../../securesourcemanager replace cloud.google.com/go/edgenetwork => ../../../edgenetwork replace cloud.google.com/go/cloudprofiler => ../../../cloudprofiler + +replace cloud.google.com/go/telcoautomation => ../../../telcoautomation diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ApplyDeployment/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ApplyDeployment/main.go new file mode 100644 index 000000000000..7192e9291eef --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ApplyDeployment/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ApplyDeployment_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ApplyDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ApplyDeploymentRequest. + } + resp, err := c.ApplyDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ApplyDeployment_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ApplyHydratedDeployment/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ApplyHydratedDeployment/main.go new file mode 100644 index 000000000000..931b346ad0fb --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ApplyHydratedDeployment/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ApplyHydratedDeployment_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ApplyHydratedDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ApplyHydratedDeploymentRequest. + } + resp, err := c.ApplyHydratedDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ApplyHydratedDeployment_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ApproveBlueprint/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ApproveBlueprint/main.go new file mode 100644 index 000000000000..9c0cac3da4ed --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ApproveBlueprint/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ApproveBlueprint_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ApproveBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ApproveBlueprintRequest. + } + resp, err := c.ApproveBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ApproveBlueprint_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/CancelOperation/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/CancelOperation/main.go new file mode 100644 index 000000000000..d2dbfccf1bf9 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/CancelOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_CancelOperation_sync] + +package main + +import ( + "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_CancelOperation_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ComputeDeploymentStatus/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ComputeDeploymentStatus/main.go new file mode 100644 index 000000000000..2e97bd16245b --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ComputeDeploymentStatus/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ComputeDeploymentStatus_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ComputeDeploymentStatusRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ComputeDeploymentStatusRequest. + } + resp, err := c.ComputeDeploymentStatus(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ComputeDeploymentStatus_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/CreateBlueprint/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/CreateBlueprint/main.go new file mode 100644 index 000000000000..e5d122c1c500 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/CreateBlueprint/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_CreateBlueprint_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.CreateBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#CreateBlueprintRequest. + } + resp, err := c.CreateBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_CreateBlueprint_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/CreateDeployment/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/CreateDeployment/main.go new file mode 100644 index 000000000000..b9f9b8303445 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/CreateDeployment/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_CreateDeployment_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.CreateDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#CreateDeploymentRequest. + } + resp, err := c.CreateDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_CreateDeployment_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/CreateEdgeSlm/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/CreateEdgeSlm/main.go new file mode 100644 index 000000000000..8b52cbf2d355 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/CreateEdgeSlm/main.go @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_CreateEdgeSlm_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.CreateEdgeSlmRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#CreateEdgeSlmRequest. + } + op, err := c.CreateEdgeSlm(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_CreateEdgeSlm_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/CreateOrchestrationCluster/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/CreateOrchestrationCluster/main.go new file mode 100644 index 000000000000..03f911f45b37 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/CreateOrchestrationCluster/main.go @@ -0,0 +1,58 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_CreateOrchestrationCluster_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.CreateOrchestrationClusterRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#CreateOrchestrationClusterRequest. + } + op, err := c.CreateOrchestrationCluster(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_CreateOrchestrationCluster_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/DeleteBlueprint/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/DeleteBlueprint/main.go new file mode 100644 index 000000000000..9daa327153fa --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/DeleteBlueprint/main.go @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_DeleteBlueprint_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.DeleteBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#DeleteBlueprintRequest. + } + err = c.DeleteBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_DeleteBlueprint_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/DeleteEdgeSlm/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/DeleteEdgeSlm/main.go new file mode 100644 index 000000000000..b40d5d6649de --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/DeleteEdgeSlm/main.go @@ -0,0 +1,56 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_DeleteEdgeSlm_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.DeleteEdgeSlmRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#DeleteEdgeSlmRequest. + } + op, err := c.DeleteEdgeSlm(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_DeleteEdgeSlm_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/DeleteOperation/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/DeleteOperation/main.go new file mode 100644 index 000000000000..b09f799979cf --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/DeleteOperation/main.go @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_DeleteOperation_sync] + +package main + +import ( + "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_DeleteOperation_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/DeleteOrchestrationCluster/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/DeleteOrchestrationCluster/main.go new file mode 100644 index 000000000000..2a891c7bc1be --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/DeleteOrchestrationCluster/main.go @@ -0,0 +1,56 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_DeleteOrchestrationCluster_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.DeleteOrchestrationClusterRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#DeleteOrchestrationClusterRequest. + } + op, err := c.DeleteOrchestrationCluster(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_DeleteOrchestrationCluster_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/DiscardBlueprintChanges/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/DiscardBlueprintChanges/main.go new file mode 100644 index 000000000000..3d4a38b1d75b --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/DiscardBlueprintChanges/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_DiscardBlueprintChanges_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.DiscardBlueprintChangesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#DiscardBlueprintChangesRequest. + } + resp, err := c.DiscardBlueprintChanges(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_DiscardBlueprintChanges_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/DiscardDeploymentChanges/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/DiscardDeploymentChanges/main.go new file mode 100644 index 000000000000..7c663f3e522b --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/DiscardDeploymentChanges/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_DiscardDeploymentChanges_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.DiscardDeploymentChangesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#DiscardDeploymentChangesRequest. + } + resp, err := c.DiscardDeploymentChanges(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_DiscardDeploymentChanges_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/GetBlueprint/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/GetBlueprint/main.go new file mode 100644 index 000000000000..aba67d154c51 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/GetBlueprint/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_GetBlueprint_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.GetBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#GetBlueprintRequest. + } + resp, err := c.GetBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_GetBlueprint_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/GetDeployment/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/GetDeployment/main.go new file mode 100644 index 000000000000..ad6820543683 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/GetDeployment/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_GetDeployment_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.GetDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#GetDeploymentRequest. + } + resp, err := c.GetDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_GetDeployment_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/GetEdgeSlm/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/GetEdgeSlm/main.go new file mode 100644 index 000000000000..407359a369ed --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/GetEdgeSlm/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_GetEdgeSlm_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.GetEdgeSlmRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#GetEdgeSlmRequest. + } + resp, err := c.GetEdgeSlm(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_GetEdgeSlm_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/GetHydratedDeployment/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/GetHydratedDeployment/main.go new file mode 100644 index 000000000000..696b962f5c0b --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/GetHydratedDeployment/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_GetHydratedDeployment_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.GetHydratedDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#GetHydratedDeploymentRequest. + } + resp, err := c.GetHydratedDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_GetHydratedDeployment_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/GetLocation/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/GetLocation/main.go new file mode 100644 index 000000000000..e979ddaf6cef --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/GetLocation/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_GetLocation_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_GetLocation_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/GetOperation/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/GetOperation/main.go new file mode 100644 index 000000000000..a0ac10b02d16 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/GetOperation/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_GetOperation_sync] + +package main + +import ( + "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_GetOperation_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/GetOrchestrationCluster/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/GetOrchestrationCluster/main.go new file mode 100644 index 000000000000..f0f18598a22e --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/GetOrchestrationCluster/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_GetOrchestrationCluster_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.GetOrchestrationClusterRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#GetOrchestrationClusterRequest. + } + resp, err := c.GetOrchestrationCluster(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_GetOrchestrationCluster_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/GetPublicBlueprint/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/GetPublicBlueprint/main.go new file mode 100644 index 000000000000..aa5c704e98ae --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/GetPublicBlueprint/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_GetPublicBlueprint_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.GetPublicBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#GetPublicBlueprintRequest. + } + resp, err := c.GetPublicBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_GetPublicBlueprint_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ListBlueprintRevisions/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ListBlueprintRevisions/main.go new file mode 100644 index 000000000000..2c21c1f2d185 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ListBlueprintRevisions/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ListBlueprintRevisions_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListBlueprintRevisionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListBlueprintRevisionsRequest. + } + it := c.ListBlueprintRevisions(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ListBlueprintRevisions_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ListBlueprints/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ListBlueprints/main.go new file mode 100644 index 000000000000..517e1e3c2f3e --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ListBlueprints/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ListBlueprints_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListBlueprintsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListBlueprintsRequest. + } + it := c.ListBlueprints(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ListBlueprints_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ListDeploymentRevisions/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ListDeploymentRevisions/main.go new file mode 100644 index 000000000000..a46c0610436a --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ListDeploymentRevisions/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ListDeploymentRevisions_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListDeploymentRevisionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListDeploymentRevisionsRequest. + } + it := c.ListDeploymentRevisions(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ListDeploymentRevisions_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ListDeployments/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ListDeployments/main.go new file mode 100644 index 000000000000..da2bc90ca92f --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ListDeployments/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ListDeployments_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListDeploymentsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListDeploymentsRequest. + } + it := c.ListDeployments(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ListDeployments_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ListEdgeSlms/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ListEdgeSlms/main.go new file mode 100644 index 000000000000..edbccdbdd2cc --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ListEdgeSlms/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ListEdgeSlms_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListEdgeSlmsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListEdgeSlmsRequest. + } + it := c.ListEdgeSlms(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ListEdgeSlms_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ListHydratedDeployments/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ListHydratedDeployments/main.go new file mode 100644 index 000000000000..57816f6757b0 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ListHydratedDeployments/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ListHydratedDeployments_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListHydratedDeploymentsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListHydratedDeploymentsRequest. + } + it := c.ListHydratedDeployments(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ListHydratedDeployments_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ListLocations/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ListLocations/main.go new file mode 100644 index 000000000000..c99e8f84ef97 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ListLocations/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ListLocations_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ListLocations_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ListOperations/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ListOperations/main.go new file mode 100644 index 000000000000..1e7923fe4c72 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ListOperations/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ListOperations_sync] + +package main + +import ( + "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ListOperations_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ListOrchestrationClusters/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ListOrchestrationClusters/main.go new file mode 100644 index 000000000000..904c3682b278 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ListOrchestrationClusters/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ListOrchestrationClusters_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListOrchestrationClustersRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListOrchestrationClustersRequest. + } + it := c.ListOrchestrationClusters(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ListOrchestrationClusters_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ListPublicBlueprints/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ListPublicBlueprints/main.go new file mode 100644 index 000000000000..60c985e291f9 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ListPublicBlueprints/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ListPublicBlueprints_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListPublicBlueprintsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListPublicBlueprintsRequest. + } + it := c.ListPublicBlueprints(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ListPublicBlueprints_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/ProposeBlueprint/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/ProposeBlueprint/main.go new file mode 100644 index 000000000000..79175dcf3adf --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/ProposeBlueprint/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_ProposeBlueprint_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ProposeBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ProposeBlueprintRequest. + } + resp, err := c.ProposeBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_ProposeBlueprint_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/RejectBlueprint/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/RejectBlueprint/main.go new file mode 100644 index 000000000000..510ce2a63525 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/RejectBlueprint/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_RejectBlueprint_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.RejectBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#RejectBlueprintRequest. + } + resp, err := c.RejectBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_RejectBlueprint_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/RemoveDeployment/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/RemoveDeployment/main.go new file mode 100644 index 000000000000..2c9a540d2543 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/RemoveDeployment/main.go @@ -0,0 +1,51 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_RemoveDeployment_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.RemoveDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#RemoveDeploymentRequest. + } + err = c.RemoveDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_RemoveDeployment_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/RollbackDeployment/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/RollbackDeployment/main.go new file mode 100644 index 000000000000..ce9041fdbfcf --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/RollbackDeployment/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_RollbackDeployment_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.RollbackDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#RollbackDeploymentRequest. + } + resp, err := c.RollbackDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_RollbackDeployment_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/SearchBlueprintRevisions/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/SearchBlueprintRevisions/main.go new file mode 100644 index 000000000000..c260eba13ba5 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/SearchBlueprintRevisions/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_SearchBlueprintRevisions_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.SearchBlueprintRevisionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#SearchBlueprintRevisionsRequest. + } + it := c.SearchBlueprintRevisions(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_SearchBlueprintRevisions_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/SearchDeploymentRevisions/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/SearchDeploymentRevisions/main.go new file mode 100644 index 000000000000..a0d6eb015ad1 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/SearchDeploymentRevisions/main.go @@ -0,0 +1,60 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_SearchDeploymentRevisions_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" + "google.golang.org/api/iterator" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.SearchDeploymentRevisionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#SearchDeploymentRevisionsRequest. + } + it := c.SearchDeploymentRevisions(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +// [END telcoautomation_v1_generated_TelcoAutomation_SearchDeploymentRevisions_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/UpdateBlueprint/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/UpdateBlueprint/main.go new file mode 100644 index 000000000000..b3b734d2895a --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/UpdateBlueprint/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_UpdateBlueprint_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.UpdateBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#UpdateBlueprintRequest. + } + resp, err := c.UpdateBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_UpdateBlueprint_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/UpdateDeployment/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/UpdateDeployment/main.go new file mode 100644 index 000000000000..380cd02f5d68 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/UpdateDeployment/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_UpdateDeployment_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.UpdateDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#UpdateDeploymentRequest. + } + resp, err := c.UpdateDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_UpdateDeployment_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/Client/UpdateHydratedDeployment/main.go b/internal/generated/snippets/telcoautomation/apiv1/Client/UpdateHydratedDeployment/main.go new file mode 100644 index 000000000000..d0a435664afd --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/Client/UpdateHydratedDeployment/main.go @@ -0,0 +1,53 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// [START telcoautomation_v1_generated_TelcoAutomation_UpdateHydratedDeployment_sync] + +package main + +import ( + "context" + + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" +) + +func main() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.UpdateHydratedDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#UpdateHydratedDeploymentRequest. + } + resp, err := c.UpdateHydratedDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END telcoautomation_v1_generated_TelcoAutomation_UpdateHydratedDeployment_sync] diff --git a/internal/generated/snippets/telcoautomation/apiv1/snippet_metadata.google.cloud.telcoautomation.v1.json b/internal/generated/snippets/telcoautomation/apiv1/snippet_metadata.google.cloud.telcoautomation.v1.json new file mode 100644 index 000000000000..235844375f06 --- /dev/null +++ b/internal/generated/snippets/telcoautomation/apiv1/snippet_metadata.google.cloud.telcoautomation.v1.json @@ -0,0 +1,1943 @@ +{ + "clientLibrary": { + "name": "cloud.google.com/go/telcoautomation/apiv1", + "version": "0.0.0", + "language": "GO", + "apis": [ + { + "id": "google.cloud.telcoautomation.v1", + "version": "v1" + } + ] + }, + "snippets": [ + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ApplyDeployment_sync", + "title": "telcoautomation ApplyDeployment Sample", + "description": "ApplyDeployment applies the deployment's YAML files to the parent orchestration cluster.", + "file": "Client/ApplyDeployment/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ApplyDeployment", + "fullName": "google.cloud.telcoautomation.v1.Client.ApplyDeployment", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.ApplyDeploymentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.Deployment", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ApplyDeployment", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.ApplyDeployment", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ApplyHydratedDeployment_sync", + "title": "telcoautomation ApplyHydratedDeployment Sample", + "description": "ApplyHydratedDeployment applies a hydrated deployment to a workload cluster.", + "file": "Client/ApplyHydratedDeployment/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ApplyHydratedDeployment", + "fullName": "google.cloud.telcoautomation.v1.Client.ApplyHydratedDeployment", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.ApplyHydratedDeploymentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.HydratedDeployment", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ApplyHydratedDeployment", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.ApplyHydratedDeployment", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ApproveBlueprint_sync", + "title": "telcoautomation ApproveBlueprint Sample", + "description": "ApproveBlueprint approves a blueprint and commits a new revision.", + "file": "Client/ApproveBlueprint/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ApproveBlueprint", + "fullName": "google.cloud.telcoautomation.v1.Client.ApproveBlueprint", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.ApproveBlueprintRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.Blueprint", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ApproveBlueprint", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.ApproveBlueprint", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_CancelOperation_sync", + "title": "telcoautomation CancelOperation Sample", + "description": "CancelOperation is a utility method from google.longrunning.Operations.", + "file": "Client/CancelOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CancelOperation", + "fullName": "google.cloud.telcoautomation.v1.Client.CancelOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.CancelOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "CancelOperation", + "fullName": "google.longrunning.Operations.CancelOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ComputeDeploymentStatus_sync", + "title": "telcoautomation ComputeDeploymentStatus Sample", + "description": "ComputeDeploymentStatus returns the requested deployment status.", + "file": "Client/ComputeDeploymentStatus/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ComputeDeploymentStatus", + "fullName": "google.cloud.telcoautomation.v1.Client.ComputeDeploymentStatus", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.ComputeDeploymentStatusRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.ComputeDeploymentStatusResponse", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ComputeDeploymentStatus", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.ComputeDeploymentStatus", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_CreateBlueprint_sync", + "title": "telcoautomation CreateBlueprint Sample", + "description": "CreateBlueprint creates a blueprint.", + "file": "Client/CreateBlueprint/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateBlueprint", + "fullName": "google.cloud.telcoautomation.v1.Client.CreateBlueprint", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.CreateBlueprintRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.Blueprint", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "CreateBlueprint", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.CreateBlueprint", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_CreateDeployment_sync", + "title": "telcoautomation CreateDeployment Sample", + "description": "CreateDeployment creates a deployment.", + "file": "Client/CreateDeployment/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateDeployment", + "fullName": "google.cloud.telcoautomation.v1.Client.CreateDeployment", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.CreateDeploymentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.Deployment", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "CreateDeployment", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.CreateDeployment", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_CreateEdgeSlm_sync", + "title": "telcoautomation CreateEdgeSlm Sample", + "description": "CreateEdgeSlm creates a new EdgeSlm in a given project and location.", + "file": "Client/CreateEdgeSlm/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateEdgeSlm", + "fullName": "google.cloud.telcoautomation.v1.Client.CreateEdgeSlm", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.CreateEdgeSlmRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CreateEdgeSlmOperation", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "CreateEdgeSlm", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.CreateEdgeSlm", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_CreateOrchestrationCluster_sync", + "title": "telcoautomation CreateOrchestrationCluster Sample", + "description": "CreateOrchestrationCluster creates a new OrchestrationCluster in a given project and location.", + "file": "Client/CreateOrchestrationCluster/main.go", + "language": "GO", + "clientMethod": { + "shortName": "CreateOrchestrationCluster", + "fullName": "google.cloud.telcoautomation.v1.Client.CreateOrchestrationCluster", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.CreateOrchestrationClusterRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "CreateOrchestrationClusterOperation", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "CreateOrchestrationCluster", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.CreateOrchestrationCluster", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 58, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_DeleteBlueprint_sync", + "title": "telcoautomation DeleteBlueprint Sample", + "description": "DeleteBlueprint deletes a blueprint and all its revisions.", + "file": "Client/DeleteBlueprint/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteBlueprint", + "fullName": "google.cloud.telcoautomation.v1.Client.DeleteBlueprint", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.DeleteBlueprintRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "DeleteBlueprint", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.DeleteBlueprint", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_DeleteEdgeSlm_sync", + "title": "telcoautomation DeleteEdgeSlm Sample", + "description": "DeleteEdgeSlm deletes a single EdgeSlm.", + "file": "Client/DeleteEdgeSlm/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteEdgeSlm", + "fullName": "google.cloud.telcoautomation.v1.Client.DeleteEdgeSlm", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.DeleteEdgeSlmRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteEdgeSlmOperation", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "DeleteEdgeSlm", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.DeleteEdgeSlm", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_DeleteOperation_sync", + "title": "telcoautomation DeleteOperation Sample", + "description": "DeleteOperation is a utility method from google.longrunning.Operations.", + "file": "Client/DeleteOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOperation", + "fullName": "google.cloud.telcoautomation.v1.Client.DeleteOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.DeleteOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "DeleteOperation", + "fullName": "google.longrunning.Operations.DeleteOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_DeleteOrchestrationCluster_sync", + "title": "telcoautomation DeleteOrchestrationCluster Sample", + "description": "DeleteOrchestrationCluster deletes a single OrchestrationCluster.", + "file": "Client/DeleteOrchestrationCluster/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DeleteOrchestrationCluster", + "fullName": "google.cloud.telcoautomation.v1.Client.DeleteOrchestrationCluster", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.DeleteOrchestrationClusterRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeleteOrchestrationClusterOperation", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "DeleteOrchestrationCluster", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.DeleteOrchestrationCluster", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 56, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_DiscardBlueprintChanges_sync", + "title": "telcoautomation DiscardBlueprintChanges Sample", + "description": "DiscardBlueprintChanges discards the changes in a blueprint and reverts the blueprint to the last\napproved blueprint revision. No changes take place if a blueprint does not\nhave revisions.", + "file": "Client/DiscardBlueprintChanges/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DiscardBlueprintChanges", + "fullName": "google.cloud.telcoautomation.v1.Client.DiscardBlueprintChanges", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.DiscardBlueprintChangesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.DiscardBlueprintChangesResponse", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "DiscardBlueprintChanges", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.DiscardBlueprintChanges", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_DiscardDeploymentChanges_sync", + "title": "telcoautomation DiscardDeploymentChanges Sample", + "description": "DiscardDeploymentChanges discards the changes in a deployment and reverts the deployment to the last\napproved deployment revision. No changes take place if a deployment does\nnot have revisions.", + "file": "Client/DiscardDeploymentChanges/main.go", + "language": "GO", + "clientMethod": { + "shortName": "DiscardDeploymentChanges", + "fullName": "google.cloud.telcoautomation.v1.Client.DiscardDeploymentChanges", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.DiscardDeploymentChangesRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.DiscardDeploymentChangesResponse", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "DiscardDeploymentChanges", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.DiscardDeploymentChanges", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_GetBlueprint_sync", + "title": "telcoautomation GetBlueprint Sample", + "description": "GetBlueprint returns the requested blueprint.", + "file": "Client/GetBlueprint/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetBlueprint", + "fullName": "google.cloud.telcoautomation.v1.Client.GetBlueprint", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.GetBlueprintRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.Blueprint", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "GetBlueprint", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.GetBlueprint", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_GetDeployment_sync", + "title": "telcoautomation GetDeployment Sample", + "description": "GetDeployment returns the requested deployment.", + "file": "Client/GetDeployment/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetDeployment", + "fullName": "google.cloud.telcoautomation.v1.Client.GetDeployment", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.GetDeploymentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.Deployment", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "GetDeployment", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.GetDeployment", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_GetEdgeSlm_sync", + "title": "telcoautomation GetEdgeSlm Sample", + "description": "GetEdgeSlm gets details of a single EdgeSlm.", + "file": "Client/GetEdgeSlm/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetEdgeSlm", + "fullName": "google.cloud.telcoautomation.v1.Client.GetEdgeSlm", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.GetEdgeSlmRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.EdgeSlm", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "GetEdgeSlm", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.GetEdgeSlm", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_GetHydratedDeployment_sync", + "title": "telcoautomation GetHydratedDeployment Sample", + "description": "GetHydratedDeployment returns the requested hydrated deployment.", + "file": "Client/GetHydratedDeployment/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetHydratedDeployment", + "fullName": "google.cloud.telcoautomation.v1.Client.GetHydratedDeployment", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.GetHydratedDeploymentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.HydratedDeployment", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "GetHydratedDeployment", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.GetHydratedDeployment", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_GetLocation_sync", + "title": "telcoautomation GetLocation Sample", + "description": "GetLocation gets information about a location.", + "file": "Client/GetLocation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetLocation", + "fullName": "google.cloud.telcoautomation.v1.Client.GetLocation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.GetLocationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*locationpb.Location", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "GetLocation", + "fullName": "google.cloud.location.Locations.GetLocation", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_GetOperation_sync", + "title": "telcoautomation GetOperation Sample", + "description": "GetOperation is a utility method from google.longrunning.Operations.", + "file": "Client/GetOperation/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOperation", + "fullName": "google.cloud.telcoautomation.v1.Client.GetOperation", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.GetOperationRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*longrunningpb.Operation", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "GetOperation", + "fullName": "google.longrunning.Operations.GetOperation", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_GetOrchestrationCluster_sync", + "title": "telcoautomation GetOrchestrationCluster Sample", + "description": "GetOrchestrationCluster gets details of a single OrchestrationCluster.", + "file": "Client/GetOrchestrationCluster/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetOrchestrationCluster", + "fullName": "google.cloud.telcoautomation.v1.Client.GetOrchestrationCluster", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.GetOrchestrationClusterRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.OrchestrationCluster", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "GetOrchestrationCluster", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.GetOrchestrationCluster", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_GetPublicBlueprint_sync", + "title": "telcoautomation GetPublicBlueprint Sample", + "description": "GetPublicBlueprint returns the requested public blueprint.", + "file": "Client/GetPublicBlueprint/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetPublicBlueprint", + "fullName": "google.cloud.telcoautomation.v1.Client.GetPublicBlueprint", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.GetPublicBlueprintRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.PublicBlueprint", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "GetPublicBlueprint", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.GetPublicBlueprint", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ListBlueprintRevisions_sync", + "title": "telcoautomation ListBlueprintRevisions Sample", + "description": "ListBlueprintRevisions list blueprint revisions of a given blueprint.", + "file": "Client/ListBlueprintRevisions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListBlueprintRevisions", + "fullName": "google.cloud.telcoautomation.v1.Client.ListBlueprintRevisions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.ListBlueprintRevisionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "BlueprintIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ListBlueprintRevisions", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.ListBlueprintRevisions", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ListBlueprints_sync", + "title": "telcoautomation ListBlueprints Sample", + "description": "ListBlueprints list all blueprints.", + "file": "Client/ListBlueprints/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListBlueprints", + "fullName": "google.cloud.telcoautomation.v1.Client.ListBlueprints", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.ListBlueprintsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "BlueprintIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ListBlueprints", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.ListBlueprints", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ListDeploymentRevisions_sync", + "title": "telcoautomation ListDeploymentRevisions Sample", + "description": "ListDeploymentRevisions list deployment revisions of a given deployment.", + "file": "Client/ListDeploymentRevisions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListDeploymentRevisions", + "fullName": "google.cloud.telcoautomation.v1.Client.ListDeploymentRevisions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.ListDeploymentRevisionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeploymentIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ListDeploymentRevisions", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.ListDeploymentRevisions", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ListDeployments_sync", + "title": "telcoautomation ListDeployments Sample", + "description": "ListDeployments list all deployments.", + "file": "Client/ListDeployments/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListDeployments", + "fullName": "google.cloud.telcoautomation.v1.Client.ListDeployments", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.ListDeploymentsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeploymentIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ListDeployments", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.ListDeployments", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ListEdgeSlms_sync", + "title": "telcoautomation ListEdgeSlms Sample", + "description": "ListEdgeSlms lists EdgeSlms in a given project and location.", + "file": "Client/ListEdgeSlms/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListEdgeSlms", + "fullName": "google.cloud.telcoautomation.v1.Client.ListEdgeSlms", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.ListEdgeSlmsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "EdgeSlmIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ListEdgeSlms", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.ListEdgeSlms", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ListHydratedDeployments_sync", + "title": "telcoautomation ListHydratedDeployments Sample", + "description": "ListHydratedDeployments list all hydrated deployments present under a deployment.", + "file": "Client/ListHydratedDeployments/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListHydratedDeployments", + "fullName": "google.cloud.telcoautomation.v1.Client.ListHydratedDeployments", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.ListHydratedDeploymentsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "HydratedDeploymentIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ListHydratedDeployments", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.ListHydratedDeployments", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ListLocations_sync", + "title": "telcoautomation ListLocations Sample", + "description": "ListLocations lists information about the supported locations for this service.", + "file": "Client/ListLocations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListLocations", + "fullName": "google.cloud.telcoautomation.v1.Client.ListLocations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "locationpb.ListLocationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "LocationIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ListLocations", + "fullName": "google.cloud.location.Locations.ListLocations", + "service": { + "shortName": "Locations", + "fullName": "google.cloud.location.Locations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ListOperations_sync", + "title": "telcoautomation ListOperations Sample", + "description": "ListOperations is a utility method from google.longrunning.Operations.", + "file": "Client/ListOperations/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOperations", + "fullName": "google.cloud.telcoautomation.v1.Client.ListOperations", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "longrunningpb.ListOperationsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OperationIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ListOperations", + "fullName": "google.longrunning.Operations.ListOperations", + "service": { + "shortName": "Operations", + "fullName": "google.longrunning.Operations" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ListOrchestrationClusters_sync", + "title": "telcoautomation ListOrchestrationClusters Sample", + "description": "ListOrchestrationClusters lists OrchestrationClusters in a given project and location.", + "file": "Client/ListOrchestrationClusters/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListOrchestrationClusters", + "fullName": "google.cloud.telcoautomation.v1.Client.ListOrchestrationClusters", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.ListOrchestrationClustersRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "OrchestrationClusterIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ListOrchestrationClusters", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.ListOrchestrationClusters", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ListPublicBlueprints_sync", + "title": "telcoautomation ListPublicBlueprints Sample", + "description": "ListPublicBlueprints lists the blueprints in TNA's public catalog. Default page size = 20,\nMax Page Size = 100.", + "file": "Client/ListPublicBlueprints/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ListPublicBlueprints", + "fullName": "google.cloud.telcoautomation.v1.Client.ListPublicBlueprints", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.ListPublicBlueprintsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "PublicBlueprintIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ListPublicBlueprints", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.ListPublicBlueprints", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_ProposeBlueprint_sync", + "title": "telcoautomation ProposeBlueprint Sample", + "description": "ProposeBlueprint proposes a blueprint for approval of changes.", + "file": "Client/ProposeBlueprint/main.go", + "language": "GO", + "clientMethod": { + "shortName": "ProposeBlueprint", + "fullName": "google.cloud.telcoautomation.v1.Client.ProposeBlueprint", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.ProposeBlueprintRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.Blueprint", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "ProposeBlueprint", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.ProposeBlueprint", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_RejectBlueprint_sync", + "title": "telcoautomation RejectBlueprint Sample", + "description": "RejectBlueprint rejects a blueprint revision proposal and flips it back to Draft state.", + "file": "Client/RejectBlueprint/main.go", + "language": "GO", + "clientMethod": { + "shortName": "RejectBlueprint", + "fullName": "google.cloud.telcoautomation.v1.Client.RejectBlueprint", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.RejectBlueprintRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.Blueprint", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "RejectBlueprint", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.RejectBlueprint", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_RemoveDeployment_sync", + "title": "telcoautomation RemoveDeployment Sample", + "description": "RemoveDeployment removes the deployment by marking it as DELETING. Post which deployment and\nit's revisions gets deleted.", + "file": "Client/RemoveDeployment/main.go", + "language": "GO", + "clientMethod": { + "shortName": "RemoveDeployment", + "fullName": "google.cloud.telcoautomation.v1.Client.RemoveDeployment", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.RemoveDeploymentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "RemoveDeployment", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.RemoveDeployment", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 51, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_RollbackDeployment_sync", + "title": "telcoautomation RollbackDeployment Sample", + "description": "RollbackDeployment rollback the active deployment to the given past approved deployment\nrevision.", + "file": "Client/RollbackDeployment/main.go", + "language": "GO", + "clientMethod": { + "shortName": "RollbackDeployment", + "fullName": "google.cloud.telcoautomation.v1.Client.RollbackDeployment", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.RollbackDeploymentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.Deployment", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "RollbackDeployment", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.RollbackDeployment", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_SearchBlueprintRevisions_sync", + "title": "telcoautomation SearchBlueprintRevisions Sample", + "description": "SearchBlueprintRevisions searches across blueprint revisions.", + "file": "Client/SearchBlueprintRevisions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SearchBlueprintRevisions", + "fullName": "google.cloud.telcoautomation.v1.Client.SearchBlueprintRevisions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.SearchBlueprintRevisionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "BlueprintIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "SearchBlueprintRevisions", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.SearchBlueprintRevisions", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_SearchDeploymentRevisions_sync", + "title": "telcoautomation SearchDeploymentRevisions Sample", + "description": "SearchDeploymentRevisions searches across deployment revisions.", + "file": "Client/SearchDeploymentRevisions/main.go", + "language": "GO", + "clientMethod": { + "shortName": "SearchDeploymentRevisions", + "fullName": "google.cloud.telcoautomation.v1.Client.SearchDeploymentRevisions", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.SearchDeploymentRevisionsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "DeploymentIterator", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "SearchDeploymentRevisions", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.SearchDeploymentRevisions", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 60, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_UpdateBlueprint_sync", + "title": "telcoautomation UpdateBlueprint Sample", + "description": "UpdateBlueprint updates a blueprint.", + "file": "Client/UpdateBlueprint/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateBlueprint", + "fullName": "google.cloud.telcoautomation.v1.Client.UpdateBlueprint", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.UpdateBlueprintRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.Blueprint", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "UpdateBlueprint", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.UpdateBlueprint", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_UpdateDeployment_sync", + "title": "telcoautomation UpdateDeployment Sample", + "description": "UpdateDeployment updates a deployment.", + "file": "Client/UpdateDeployment/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateDeployment", + "fullName": "google.cloud.telcoautomation.v1.Client.UpdateDeployment", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.UpdateDeploymentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.Deployment", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "UpdateDeployment", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.UpdateDeployment", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, + { + "regionTag": "telcoautomation_v1_generated_TelcoAutomation_UpdateHydratedDeployment_sync", + "title": "telcoautomation UpdateHydratedDeployment Sample", + "description": "UpdateHydratedDeployment updates a hydrated deployment.", + "file": "Client/UpdateHydratedDeployment/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateHydratedDeployment", + "fullName": "google.cloud.telcoautomation.v1.Client.UpdateHydratedDeployment", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "telcoautomationpb.UpdateHydratedDeploymentRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*telcoautomationpb.HydratedDeployment", + "client": { + "shortName": "Client", + "fullName": "google.cloud.telcoautomation.v1.Client" + }, + "method": { + "shortName": "UpdateHydratedDeployment", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation.UpdateHydratedDeployment", + "service": { + "shortName": "TelcoAutomation", + "fullName": "google.cloud.telcoautomation.v1.TelcoAutomation" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + } + ] +} \ No newline at end of file diff --git a/release-please-config-yoshi-submodules.json b/release-please-config-yoshi-submodules.json index 09436b272b1a..db5a40d65068 100644 --- a/release-please-config-yoshi-submodules.json +++ b/release-please-config-yoshi-submodules.json @@ -354,6 +354,9 @@ "talent": { "component": "talent" }, + "telcoautomation": { + "component": "telcoautomation" + }, "texttospeech": { "component": "texttospeech" }, diff --git a/telcoautomation/CHANGES.md b/telcoautomation/CHANGES.md new file mode 100644 index 000000000000..b671f0bbcdd2 --- /dev/null +++ b/telcoautomation/CHANGES.md @@ -0,0 +1 @@ +# Changes diff --git a/telcoautomation/README.md b/telcoautomation/README.md new file mode 100644 index 000000000000..9c20c502a9ca --- /dev/null +++ b/telcoautomation/README.md @@ -0,0 +1,55 @@ +# Telco Automation API + +[![Go Reference](https://pkg.go.dev/badge/cloud.google.com/go/telcoautomation.svg)](https://pkg.go.dev/cloud.google.com/go/telcoautomation) + +Go Client Library for Telco Automation API. + +## Install + +```bash +go get cloud.google.com/go/telcoautomation +``` + +## Stability + +The stability of this module is indicated by SemVer. + +However, a `v1+` module may have breaking changes in two scenarios: + +* Packages with `alpha` or `beta` in the import path +* The GoDoc has an explicit stability disclaimer (for example, for an experimental feature). + +### Which package to use? + +Generated client library surfaces can be found in packages who's import path +ends in `.../apivXXX`. The `XXX` could be something like `1` or `2` in the case +of a stable service backend or may be like `1beta2` or `2beta` in the case of a +more experimental service backend. Because of this fact, a given module can have +multiple clients for different service backends. In these cases it is generally +recommend to use clients with stable service backends, with import suffixes like +`apiv1`, unless you need to use features that are only present in a beta backend +or there is not yet a stable backend available. + +## Google Cloud Samples + +To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples?l=go). + +## Go Version Support + +See the [Go Versions Supported](https://github.com/googleapis/google-cloud-go#go-versions-supported) +section in the root directory's README. + +## Authorization + +See the [Authorization](https://github.com/googleapis/google-cloud-go#authorization) +section in the root directory's README. + +## Contributing + +Contributions are welcome. Please, see the [CONTRIBUTING](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md) +document for details. + +Please note that this project is released with a Contributor Code of Conduct. +By participating in this project you agree to abide by its terms. See +[Contributor Code of Conduct](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md#contributor-code-of-conduct) +for more information. diff --git a/telcoautomation/apiv1/auxiliary.go b/telcoautomation/apiv1/auxiliary.go new file mode 100755 index 000000000000..754aecd1116a --- /dev/null +++ b/telcoautomation/apiv1/auxiliary.go @@ -0,0 +1,639 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package telcoautomation + +import ( + "context" + "time" + + "cloud.google.com/go/longrunning" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +// CreateEdgeSlmOperation manages a long-running operation from CreateEdgeSlm. +type CreateEdgeSlmOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *CreateEdgeSlmOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*telcoautomationpb.EdgeSlm, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp telcoautomationpb.EdgeSlm + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *CreateEdgeSlmOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*telcoautomationpb.EdgeSlm, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp telcoautomationpb.EdgeSlm + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *CreateEdgeSlmOperation) Metadata() (*telcoautomationpb.OperationMetadata, error) { + var meta telcoautomationpb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *CreateEdgeSlmOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *CreateEdgeSlmOperation) Name() string { + return op.lro.Name() +} + +// CreateOrchestrationClusterOperation manages a long-running operation from CreateOrchestrationCluster. +type CreateOrchestrationClusterOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *CreateOrchestrationClusterOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*telcoautomationpb.OrchestrationCluster, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp telcoautomationpb.OrchestrationCluster + if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil { + return nil, err + } + return &resp, nil +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *CreateOrchestrationClusterOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*telcoautomationpb.OrchestrationCluster, error) { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + var resp telcoautomationpb.OrchestrationCluster + if err := op.lro.Poll(ctx, &resp, opts...); err != nil { + return nil, err + } + if !op.Done() { + return nil, nil + } + return &resp, nil +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *CreateOrchestrationClusterOperation) Metadata() (*telcoautomationpb.OperationMetadata, error) { + var meta telcoautomationpb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *CreateOrchestrationClusterOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *CreateOrchestrationClusterOperation) Name() string { + return op.lro.Name() +} + +// DeleteEdgeSlmOperation manages a long-running operation from DeleteEdgeSlm. +type DeleteEdgeSlmOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteEdgeSlmOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeleteEdgeSlmOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeleteEdgeSlmOperation) Metadata() (*telcoautomationpb.OperationMetadata, error) { + var meta telcoautomationpb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *DeleteEdgeSlmOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *DeleteEdgeSlmOperation) Name() string { + return op.lro.Name() +} + +// DeleteOrchestrationClusterOperation manages a long-running operation from DeleteOrchestrationCluster. +type DeleteOrchestrationClusterOperation struct { + lro *longrunning.Operation + pollPath string +} + +// Wait blocks until the long-running operation is completed, returning the response and any errors encountered. +// +// See documentation of Poll for error-handling information. +func (op *DeleteOrchestrationClusterOperation) Wait(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.WaitWithInterval(ctx, nil, time.Minute, opts...) +} + +// Poll fetches the latest state of the long-running operation. +// +// Poll also fetches the latest metadata, which can be retrieved by Metadata. +// +// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and +// the operation has completed with failure, the error is returned and op.Done will return true. +// If Poll succeeds and the operation has completed successfully, +// op.Done will return true, and the response of the operation is returned. +// If Poll succeeds and the operation has not completed, the returned response and error are both nil. +func (op *DeleteOrchestrationClusterOperation) Poll(ctx context.Context, opts ...gax.CallOption) error { + opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...) + return op.lro.Poll(ctx, nil, opts...) +} + +// Metadata returns metadata associated with the long-running operation. +// Metadata itself does not contact the server, but Poll does. +// To get the latest metadata, call this method after a successful call to Poll. +// If the metadata is not available, the returned metadata and error are both nil. +func (op *DeleteOrchestrationClusterOperation) Metadata() (*telcoautomationpb.OperationMetadata, error) { + var meta telcoautomationpb.OperationMetadata + if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata { + return nil, nil + } else if err != nil { + return nil, err + } + return &meta, nil +} + +// Done reports whether the long-running operation has completed. +func (op *DeleteOrchestrationClusterOperation) Done() bool { + return op.lro.Done() +} + +// Name returns the name of the long-running operation. +// The name is assigned by the server and is unique within the service from which the operation is created. +func (op *DeleteOrchestrationClusterOperation) Name() string { + return op.lro.Name() +} + +// BlueprintIterator manages a stream of *telcoautomationpb.Blueprint. +type BlueprintIterator struct { + items []*telcoautomationpb.Blueprint + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*telcoautomationpb.Blueprint, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *BlueprintIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *BlueprintIterator) Next() (*telcoautomationpb.Blueprint, error) { + var item *telcoautomationpb.Blueprint + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *BlueprintIterator) bufLen() int { + return len(it.items) +} + +func (it *BlueprintIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// DeploymentIterator manages a stream of *telcoautomationpb.Deployment. +type DeploymentIterator struct { + items []*telcoautomationpb.Deployment + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*telcoautomationpb.Deployment, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *DeploymentIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *DeploymentIterator) Next() (*telcoautomationpb.Deployment, error) { + var item *telcoautomationpb.Deployment + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *DeploymentIterator) bufLen() int { + return len(it.items) +} + +func (it *DeploymentIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// EdgeSlmIterator manages a stream of *telcoautomationpb.EdgeSlm. +type EdgeSlmIterator struct { + items []*telcoautomationpb.EdgeSlm + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*telcoautomationpb.EdgeSlm, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *EdgeSlmIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *EdgeSlmIterator) Next() (*telcoautomationpb.EdgeSlm, error) { + var item *telcoautomationpb.EdgeSlm + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *EdgeSlmIterator) bufLen() int { + return len(it.items) +} + +func (it *EdgeSlmIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// HydratedDeploymentIterator manages a stream of *telcoautomationpb.HydratedDeployment. +type HydratedDeploymentIterator struct { + items []*telcoautomationpb.HydratedDeployment + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*telcoautomationpb.HydratedDeployment, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *HydratedDeploymentIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *HydratedDeploymentIterator) Next() (*telcoautomationpb.HydratedDeployment, error) { + var item *telcoautomationpb.HydratedDeployment + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *HydratedDeploymentIterator) bufLen() int { + return len(it.items) +} + +func (it *HydratedDeploymentIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// LocationIterator manages a stream of *locationpb.Location. +type LocationIterator struct { + items []*locationpb.Location + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*locationpb.Location, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *LocationIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *LocationIterator) Next() (*locationpb.Location, error) { + var item *locationpb.Location + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *LocationIterator) bufLen() int { + return len(it.items) +} + +func (it *LocationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// OperationIterator manages a stream of *longrunningpb.Operation. +type OperationIterator struct { + items []*longrunningpb.Operation + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*longrunningpb.Operation, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *OperationIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *OperationIterator) Next() (*longrunningpb.Operation, error) { + var item *longrunningpb.Operation + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *OperationIterator) bufLen() int { + return len(it.items) +} + +func (it *OperationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// OrchestrationClusterIterator manages a stream of *telcoautomationpb.OrchestrationCluster. +type OrchestrationClusterIterator struct { + items []*telcoautomationpb.OrchestrationCluster + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*telcoautomationpb.OrchestrationCluster, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *OrchestrationClusterIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *OrchestrationClusterIterator) Next() (*telcoautomationpb.OrchestrationCluster, error) { + var item *telcoautomationpb.OrchestrationCluster + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *OrchestrationClusterIterator) bufLen() int { + return len(it.items) +} + +func (it *OrchestrationClusterIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// PublicBlueprintIterator manages a stream of *telcoautomationpb.PublicBlueprint. +type PublicBlueprintIterator struct { + items []*telcoautomationpb.PublicBlueprint + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*telcoautomationpb.PublicBlueprint, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *PublicBlueprintIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *PublicBlueprintIterator) Next() (*telcoautomationpb.PublicBlueprint, error) { + var item *telcoautomationpb.PublicBlueprint + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *PublicBlueprintIterator) bufLen() int { + return len(it.items) +} + +func (it *PublicBlueprintIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} diff --git a/telcoautomation/apiv1/doc.go b/telcoautomation/apiv1/doc.go new file mode 100755 index 000000000000..319a9643c0fc --- /dev/null +++ b/telcoautomation/apiv1/doc.go @@ -0,0 +1,124 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +// Package telcoautomation is an auto-generated package for the +// Telco Automation API. +// +// APIs to automate 5G deployment and management of cloud infrastructure and +// network functions. +// +// NOTE: This package is in beta. It is not stable, and may be subject to changes. +// +// # General documentation +// +// For information that is relevant for all client libraries please reference +// https://pkg.go.dev/cloud.google.com/go#pkg-overview. Some information on this +// page includes: +// +// - [Authentication and Authorization] +// - [Timeouts and Cancellation] +// - [Testing against Client Libraries] +// - [Debugging Client Libraries] +// - [Inspecting errors] +// +// # Example usage +// +// To get started with this package, create a client. +// +// ctx := context.Background() +// // This snippet has been automatically generated and should be regarded as a code template only. +// // It will require modifications to work: +// // - It may require correct/in-range values for request initialization. +// // - It may require specifying regional endpoints when creating the service client as shown in: +// // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options +// c, err := telcoautomation.NewClient(ctx) +// if err != nil { +// // TODO: Handle error. +// } +// defer c.Close() +// +// The client will use your default application credentials. Clients should be reused instead of created as needed. +// The methods of Client are safe for concurrent use by multiple goroutines. +// The returned client must be Closed when it is done being used. +// +// # Using the Client +// +// The following is an example of making an API call with the newly created client. +// +// ctx := context.Background() +// // This snippet has been automatically generated and should be regarded as a code template only. +// // It will require modifications to work: +// // - It may require correct/in-range values for request initialization. +// // - It may require specifying regional endpoints when creating the service client as shown in: +// // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options +// c, err := telcoautomation.NewClient(ctx) +// if err != nil { +// // TODO: Handle error. +// } +// defer c.Close() +// +// req := &telcoautomationpb.ApplyDeploymentRequest{ +// // TODO: Fill request struct fields. +// // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ApplyDeploymentRequest. +// } +// resp, err := c.ApplyDeployment(ctx, req) +// if err != nil { +// // TODO: Handle error. +// } +// // TODO: Use resp. +// _ = resp +// +// # Use of Context +// +// The ctx passed to NewClient is used for authentication requests and +// for creating the underlying connection, but is not used for subsequent calls. +// Individual methods on the client use the ctx given to them. +// +// To close the open connection, use the Close() method. +// +// [Authentication and Authorization]: https://pkg.go.dev/cloud.google.com/go#hdr-Authentication_and_Authorization +// [Timeouts and Cancellation]: https://pkg.go.dev/cloud.google.com/go#hdr-Timeouts_and_Cancellation +// [Testing against Client Libraries]: https://pkg.go.dev/cloud.google.com/go#hdr-Testing +// [Debugging Client Libraries]: https://pkg.go.dev/cloud.google.com/go#hdr-Debugging +// [Inspecting errors]: https://pkg.go.dev/cloud.google.com/go#hdr-Inspecting_errors +package telcoautomation // import "cloud.google.com/go/telcoautomation/apiv1" + +import ( + "context" + + "google.golang.org/api/option" +) + +// For more information on implementing a client constructor hook, see +// https://github.com/googleapis/google-cloud-go/wiki/Customizing-constructors. +type clientHookParams struct{} +type clientHook func(context.Context, clientHookParams) ([]option.ClientOption, error) + +var versionClient string + +func getVersionClient() string { + if versionClient == "" { + return "UNKNOWN" + } + return versionClient +} + +// DefaultAuthScopes reports the default set of authentication scopes to use with this package. +func DefaultAuthScopes() []string { + return []string{ + "https://www.googleapis.com/auth/cloud-platform", + } +} diff --git a/telcoautomation/apiv1/gapic_metadata.json b/telcoautomation/apiv1/gapic_metadata.json new file mode 100644 index 000000000000..27bf46136b88 --- /dev/null +++ b/telcoautomation/apiv1/gapic_metadata.json @@ -0,0 +1,443 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods.", + "language": "go", + "protoPackage": "google.cloud.telcoautomation.v1", + "libraryPackage": "cloud.google.com/go/telcoautomation/apiv1", + "services": { + "TelcoAutomation": { + "clients": { + "grpc": { + "libraryClient": "Client", + "rpcs": { + "ApplyDeployment": { + "methods": [ + "ApplyDeployment" + ] + }, + "ApplyHydratedDeployment": { + "methods": [ + "ApplyHydratedDeployment" + ] + }, + "ApproveBlueprint": { + "methods": [ + "ApproveBlueprint" + ] + }, + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "ComputeDeploymentStatus": { + "methods": [ + "ComputeDeploymentStatus" + ] + }, + "CreateBlueprint": { + "methods": [ + "CreateBlueprint" + ] + }, + "CreateDeployment": { + "methods": [ + "CreateDeployment" + ] + }, + "CreateEdgeSlm": { + "methods": [ + "CreateEdgeSlm" + ] + }, + "CreateOrchestrationCluster": { + "methods": [ + "CreateOrchestrationCluster" + ] + }, + "DeleteBlueprint": { + "methods": [ + "DeleteBlueprint" + ] + }, + "DeleteEdgeSlm": { + "methods": [ + "DeleteEdgeSlm" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "DeleteOrchestrationCluster": { + "methods": [ + "DeleteOrchestrationCluster" + ] + }, + "DiscardBlueprintChanges": { + "methods": [ + "DiscardBlueprintChanges" + ] + }, + "DiscardDeploymentChanges": { + "methods": [ + "DiscardDeploymentChanges" + ] + }, + "GetBlueprint": { + "methods": [ + "GetBlueprint" + ] + }, + "GetDeployment": { + "methods": [ + "GetDeployment" + ] + }, + "GetEdgeSlm": { + "methods": [ + "GetEdgeSlm" + ] + }, + "GetHydratedDeployment": { + "methods": [ + "GetHydratedDeployment" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "GetOrchestrationCluster": { + "methods": [ + "GetOrchestrationCluster" + ] + }, + "GetPublicBlueprint": { + "methods": [ + "GetPublicBlueprint" + ] + }, + "ListBlueprintRevisions": { + "methods": [ + "ListBlueprintRevisions" + ] + }, + "ListBlueprints": { + "methods": [ + "ListBlueprints" + ] + }, + "ListDeploymentRevisions": { + "methods": [ + "ListDeploymentRevisions" + ] + }, + "ListDeployments": { + "methods": [ + "ListDeployments" + ] + }, + "ListEdgeSlms": { + "methods": [ + "ListEdgeSlms" + ] + }, + "ListHydratedDeployments": { + "methods": [ + "ListHydratedDeployments" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "ListOrchestrationClusters": { + "methods": [ + "ListOrchestrationClusters" + ] + }, + "ListPublicBlueprints": { + "methods": [ + "ListPublicBlueprints" + ] + }, + "ProposeBlueprint": { + "methods": [ + "ProposeBlueprint" + ] + }, + "RejectBlueprint": { + "methods": [ + "RejectBlueprint" + ] + }, + "RemoveDeployment": { + "methods": [ + "RemoveDeployment" + ] + }, + "RollbackDeployment": { + "methods": [ + "RollbackDeployment" + ] + }, + "SearchBlueprintRevisions": { + "methods": [ + "SearchBlueprintRevisions" + ] + }, + "SearchDeploymentRevisions": { + "methods": [ + "SearchDeploymentRevisions" + ] + }, + "UpdateBlueprint": { + "methods": [ + "UpdateBlueprint" + ] + }, + "UpdateDeployment": { + "methods": [ + "UpdateDeployment" + ] + }, + "UpdateHydratedDeployment": { + "methods": [ + "UpdateHydratedDeployment" + ] + } + } + }, + "rest": { + "libraryClient": "Client", + "rpcs": { + "ApplyDeployment": { + "methods": [ + "ApplyDeployment" + ] + }, + "ApplyHydratedDeployment": { + "methods": [ + "ApplyHydratedDeployment" + ] + }, + "ApproveBlueprint": { + "methods": [ + "ApproveBlueprint" + ] + }, + "CancelOperation": { + "methods": [ + "CancelOperation" + ] + }, + "ComputeDeploymentStatus": { + "methods": [ + "ComputeDeploymentStatus" + ] + }, + "CreateBlueprint": { + "methods": [ + "CreateBlueprint" + ] + }, + "CreateDeployment": { + "methods": [ + "CreateDeployment" + ] + }, + "CreateEdgeSlm": { + "methods": [ + "CreateEdgeSlm" + ] + }, + "CreateOrchestrationCluster": { + "methods": [ + "CreateOrchestrationCluster" + ] + }, + "DeleteBlueprint": { + "methods": [ + "DeleteBlueprint" + ] + }, + "DeleteEdgeSlm": { + "methods": [ + "DeleteEdgeSlm" + ] + }, + "DeleteOperation": { + "methods": [ + "DeleteOperation" + ] + }, + "DeleteOrchestrationCluster": { + "methods": [ + "DeleteOrchestrationCluster" + ] + }, + "DiscardBlueprintChanges": { + "methods": [ + "DiscardBlueprintChanges" + ] + }, + "DiscardDeploymentChanges": { + "methods": [ + "DiscardDeploymentChanges" + ] + }, + "GetBlueprint": { + "methods": [ + "GetBlueprint" + ] + }, + "GetDeployment": { + "methods": [ + "GetDeployment" + ] + }, + "GetEdgeSlm": { + "methods": [ + "GetEdgeSlm" + ] + }, + "GetHydratedDeployment": { + "methods": [ + "GetHydratedDeployment" + ] + }, + "GetLocation": { + "methods": [ + "GetLocation" + ] + }, + "GetOperation": { + "methods": [ + "GetOperation" + ] + }, + "GetOrchestrationCluster": { + "methods": [ + "GetOrchestrationCluster" + ] + }, + "GetPublicBlueprint": { + "methods": [ + "GetPublicBlueprint" + ] + }, + "ListBlueprintRevisions": { + "methods": [ + "ListBlueprintRevisions" + ] + }, + "ListBlueprints": { + "methods": [ + "ListBlueprints" + ] + }, + "ListDeploymentRevisions": { + "methods": [ + "ListDeploymentRevisions" + ] + }, + "ListDeployments": { + "methods": [ + "ListDeployments" + ] + }, + "ListEdgeSlms": { + "methods": [ + "ListEdgeSlms" + ] + }, + "ListHydratedDeployments": { + "methods": [ + "ListHydratedDeployments" + ] + }, + "ListLocations": { + "methods": [ + "ListLocations" + ] + }, + "ListOperations": { + "methods": [ + "ListOperations" + ] + }, + "ListOrchestrationClusters": { + "methods": [ + "ListOrchestrationClusters" + ] + }, + "ListPublicBlueprints": { + "methods": [ + "ListPublicBlueprints" + ] + }, + "ProposeBlueprint": { + "methods": [ + "ProposeBlueprint" + ] + }, + "RejectBlueprint": { + "methods": [ + "RejectBlueprint" + ] + }, + "RemoveDeployment": { + "methods": [ + "RemoveDeployment" + ] + }, + "RollbackDeployment": { + "methods": [ + "RollbackDeployment" + ] + }, + "SearchBlueprintRevisions": { + "methods": [ + "SearchBlueprintRevisions" + ] + }, + "SearchDeploymentRevisions": { + "methods": [ + "SearchDeploymentRevisions" + ] + }, + "UpdateBlueprint": { + "methods": [ + "UpdateBlueprint" + ] + }, + "UpdateDeployment": { + "methods": [ + "UpdateDeployment" + ] + }, + "UpdateHydratedDeployment": { + "methods": [ + "UpdateHydratedDeployment" + ] + } + } + } + } + } + } +} diff --git a/telcoautomation/apiv1/telco_automation_client.go b/telcoautomation/apiv1/telco_automation_client.go new file mode 100755 index 000000000000..f78b601f2ec0 --- /dev/null +++ b/telcoautomation/apiv1/telco_automation_client.go @@ -0,0 +1,4877 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package telcoautomation + +import ( + "bytes" + "context" + "fmt" + "io" + "math" + "net/http" + "net/url" + + "cloud.google.com/go/longrunning" + lroauto "cloud.google.com/go/longrunning/autogen" + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/googleapi" + "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + gtransport "google.golang.org/api/transport/grpc" + httptransport "google.golang.org/api/transport/http" + locationpb "google.golang.org/genproto/googleapis/cloud/location" + "google.golang.org/grpc" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" +) + +var newClientHook clientHook + +// CallOptions contains the retry settings for each method of Client. +type CallOptions struct { + ListOrchestrationClusters []gax.CallOption + GetOrchestrationCluster []gax.CallOption + CreateOrchestrationCluster []gax.CallOption + DeleteOrchestrationCluster []gax.CallOption + ListEdgeSlms []gax.CallOption + GetEdgeSlm []gax.CallOption + CreateEdgeSlm []gax.CallOption + DeleteEdgeSlm []gax.CallOption + CreateBlueprint []gax.CallOption + UpdateBlueprint []gax.CallOption + GetBlueprint []gax.CallOption + DeleteBlueprint []gax.CallOption + ListBlueprints []gax.CallOption + ApproveBlueprint []gax.CallOption + ProposeBlueprint []gax.CallOption + RejectBlueprint []gax.CallOption + ListBlueprintRevisions []gax.CallOption + SearchBlueprintRevisions []gax.CallOption + SearchDeploymentRevisions []gax.CallOption + DiscardBlueprintChanges []gax.CallOption + ListPublicBlueprints []gax.CallOption + GetPublicBlueprint []gax.CallOption + CreateDeployment []gax.CallOption + UpdateDeployment []gax.CallOption + GetDeployment []gax.CallOption + RemoveDeployment []gax.CallOption + ListDeployments []gax.CallOption + ListDeploymentRevisions []gax.CallOption + DiscardDeploymentChanges []gax.CallOption + ApplyDeployment []gax.CallOption + ComputeDeploymentStatus []gax.CallOption + RollbackDeployment []gax.CallOption + GetHydratedDeployment []gax.CallOption + ListHydratedDeployments []gax.CallOption + UpdateHydratedDeployment []gax.CallOption + ApplyHydratedDeployment []gax.CallOption + GetLocation []gax.CallOption + ListLocations []gax.CallOption + CancelOperation []gax.CallOption + DeleteOperation []gax.CallOption + GetOperation []gax.CallOption + ListOperations []gax.CallOption +} + +func defaultGRPCClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("telcoautomation.googleapis.com:443"), + internaloption.WithDefaultMTLSEndpoint("telcoautomation.mtls.googleapis.com:443"), + internaloption.WithDefaultAudience("https://telcoautomation.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), + option.WithGRPCDialOption(grpc.WithDefaultCallOptions( + grpc.MaxCallRecvMsgSize(math.MaxInt32))), + } +} + +func defaultCallOptions() *CallOptions { + return &CallOptions{ + ListOrchestrationClusters: []gax.CallOption{}, + GetOrchestrationCluster: []gax.CallOption{}, + CreateOrchestrationCluster: []gax.CallOption{}, + DeleteOrchestrationCluster: []gax.CallOption{}, + ListEdgeSlms: []gax.CallOption{}, + GetEdgeSlm: []gax.CallOption{}, + CreateEdgeSlm: []gax.CallOption{}, + DeleteEdgeSlm: []gax.CallOption{}, + CreateBlueprint: []gax.CallOption{}, + UpdateBlueprint: []gax.CallOption{}, + GetBlueprint: []gax.CallOption{}, + DeleteBlueprint: []gax.CallOption{}, + ListBlueprints: []gax.CallOption{}, + ApproveBlueprint: []gax.CallOption{}, + ProposeBlueprint: []gax.CallOption{}, + RejectBlueprint: []gax.CallOption{}, + ListBlueprintRevisions: []gax.CallOption{}, + SearchBlueprintRevisions: []gax.CallOption{}, + SearchDeploymentRevisions: []gax.CallOption{}, + DiscardBlueprintChanges: []gax.CallOption{}, + ListPublicBlueprints: []gax.CallOption{}, + GetPublicBlueprint: []gax.CallOption{}, + CreateDeployment: []gax.CallOption{}, + UpdateDeployment: []gax.CallOption{}, + GetDeployment: []gax.CallOption{}, + RemoveDeployment: []gax.CallOption{}, + ListDeployments: []gax.CallOption{}, + ListDeploymentRevisions: []gax.CallOption{}, + DiscardDeploymentChanges: []gax.CallOption{}, + ApplyDeployment: []gax.CallOption{}, + ComputeDeploymentStatus: []gax.CallOption{}, + RollbackDeployment: []gax.CallOption{}, + GetHydratedDeployment: []gax.CallOption{}, + ListHydratedDeployments: []gax.CallOption{}, + UpdateHydratedDeployment: []gax.CallOption{}, + ApplyHydratedDeployment: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +func defaultRESTCallOptions() *CallOptions { + return &CallOptions{ + ListOrchestrationClusters: []gax.CallOption{}, + GetOrchestrationCluster: []gax.CallOption{}, + CreateOrchestrationCluster: []gax.CallOption{}, + DeleteOrchestrationCluster: []gax.CallOption{}, + ListEdgeSlms: []gax.CallOption{}, + GetEdgeSlm: []gax.CallOption{}, + CreateEdgeSlm: []gax.CallOption{}, + DeleteEdgeSlm: []gax.CallOption{}, + CreateBlueprint: []gax.CallOption{}, + UpdateBlueprint: []gax.CallOption{}, + GetBlueprint: []gax.CallOption{}, + DeleteBlueprint: []gax.CallOption{}, + ListBlueprints: []gax.CallOption{}, + ApproveBlueprint: []gax.CallOption{}, + ProposeBlueprint: []gax.CallOption{}, + RejectBlueprint: []gax.CallOption{}, + ListBlueprintRevisions: []gax.CallOption{}, + SearchBlueprintRevisions: []gax.CallOption{}, + SearchDeploymentRevisions: []gax.CallOption{}, + DiscardBlueprintChanges: []gax.CallOption{}, + ListPublicBlueprints: []gax.CallOption{}, + GetPublicBlueprint: []gax.CallOption{}, + CreateDeployment: []gax.CallOption{}, + UpdateDeployment: []gax.CallOption{}, + GetDeployment: []gax.CallOption{}, + RemoveDeployment: []gax.CallOption{}, + ListDeployments: []gax.CallOption{}, + ListDeploymentRevisions: []gax.CallOption{}, + DiscardDeploymentChanges: []gax.CallOption{}, + ApplyDeployment: []gax.CallOption{}, + ComputeDeploymentStatus: []gax.CallOption{}, + RollbackDeployment: []gax.CallOption{}, + GetHydratedDeployment: []gax.CallOption{}, + ListHydratedDeployments: []gax.CallOption{}, + UpdateHydratedDeployment: []gax.CallOption{}, + ApplyHydratedDeployment: []gax.CallOption{}, + GetLocation: []gax.CallOption{}, + ListLocations: []gax.CallOption{}, + CancelOperation: []gax.CallOption{}, + DeleteOperation: []gax.CallOption{}, + GetOperation: []gax.CallOption{}, + ListOperations: []gax.CallOption{}, + } +} + +// internalClient is an interface that defines the methods available from Telco Automation API. +type internalClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + ListOrchestrationClusters(context.Context, *telcoautomationpb.ListOrchestrationClustersRequest, ...gax.CallOption) *OrchestrationClusterIterator + GetOrchestrationCluster(context.Context, *telcoautomationpb.GetOrchestrationClusterRequest, ...gax.CallOption) (*telcoautomationpb.OrchestrationCluster, error) + CreateOrchestrationCluster(context.Context, *telcoautomationpb.CreateOrchestrationClusterRequest, ...gax.CallOption) (*CreateOrchestrationClusterOperation, error) + CreateOrchestrationClusterOperation(name string) *CreateOrchestrationClusterOperation + DeleteOrchestrationCluster(context.Context, *telcoautomationpb.DeleteOrchestrationClusterRequest, ...gax.CallOption) (*DeleteOrchestrationClusterOperation, error) + DeleteOrchestrationClusterOperation(name string) *DeleteOrchestrationClusterOperation + ListEdgeSlms(context.Context, *telcoautomationpb.ListEdgeSlmsRequest, ...gax.CallOption) *EdgeSlmIterator + GetEdgeSlm(context.Context, *telcoautomationpb.GetEdgeSlmRequest, ...gax.CallOption) (*telcoautomationpb.EdgeSlm, error) + CreateEdgeSlm(context.Context, *telcoautomationpb.CreateEdgeSlmRequest, ...gax.CallOption) (*CreateEdgeSlmOperation, error) + CreateEdgeSlmOperation(name string) *CreateEdgeSlmOperation + DeleteEdgeSlm(context.Context, *telcoautomationpb.DeleteEdgeSlmRequest, ...gax.CallOption) (*DeleteEdgeSlmOperation, error) + DeleteEdgeSlmOperation(name string) *DeleteEdgeSlmOperation + CreateBlueprint(context.Context, *telcoautomationpb.CreateBlueprintRequest, ...gax.CallOption) (*telcoautomationpb.Blueprint, error) + UpdateBlueprint(context.Context, *telcoautomationpb.UpdateBlueprintRequest, ...gax.CallOption) (*telcoautomationpb.Blueprint, error) + GetBlueprint(context.Context, *telcoautomationpb.GetBlueprintRequest, ...gax.CallOption) (*telcoautomationpb.Blueprint, error) + DeleteBlueprint(context.Context, *telcoautomationpb.DeleteBlueprintRequest, ...gax.CallOption) error + ListBlueprints(context.Context, *telcoautomationpb.ListBlueprintsRequest, ...gax.CallOption) *BlueprintIterator + ApproveBlueprint(context.Context, *telcoautomationpb.ApproveBlueprintRequest, ...gax.CallOption) (*telcoautomationpb.Blueprint, error) + ProposeBlueprint(context.Context, *telcoautomationpb.ProposeBlueprintRequest, ...gax.CallOption) (*telcoautomationpb.Blueprint, error) + RejectBlueprint(context.Context, *telcoautomationpb.RejectBlueprintRequest, ...gax.CallOption) (*telcoautomationpb.Blueprint, error) + ListBlueprintRevisions(context.Context, *telcoautomationpb.ListBlueprintRevisionsRequest, ...gax.CallOption) *BlueprintIterator + SearchBlueprintRevisions(context.Context, *telcoautomationpb.SearchBlueprintRevisionsRequest, ...gax.CallOption) *BlueprintIterator + SearchDeploymentRevisions(context.Context, *telcoautomationpb.SearchDeploymentRevisionsRequest, ...gax.CallOption) *DeploymentIterator + DiscardBlueprintChanges(context.Context, *telcoautomationpb.DiscardBlueprintChangesRequest, ...gax.CallOption) (*telcoautomationpb.DiscardBlueprintChangesResponse, error) + ListPublicBlueprints(context.Context, *telcoautomationpb.ListPublicBlueprintsRequest, ...gax.CallOption) *PublicBlueprintIterator + GetPublicBlueprint(context.Context, *telcoautomationpb.GetPublicBlueprintRequest, ...gax.CallOption) (*telcoautomationpb.PublicBlueprint, error) + CreateDeployment(context.Context, *telcoautomationpb.CreateDeploymentRequest, ...gax.CallOption) (*telcoautomationpb.Deployment, error) + UpdateDeployment(context.Context, *telcoautomationpb.UpdateDeploymentRequest, ...gax.CallOption) (*telcoautomationpb.Deployment, error) + GetDeployment(context.Context, *telcoautomationpb.GetDeploymentRequest, ...gax.CallOption) (*telcoautomationpb.Deployment, error) + RemoveDeployment(context.Context, *telcoautomationpb.RemoveDeploymentRequest, ...gax.CallOption) error + ListDeployments(context.Context, *telcoautomationpb.ListDeploymentsRequest, ...gax.CallOption) *DeploymentIterator + ListDeploymentRevisions(context.Context, *telcoautomationpb.ListDeploymentRevisionsRequest, ...gax.CallOption) *DeploymentIterator + DiscardDeploymentChanges(context.Context, *telcoautomationpb.DiscardDeploymentChangesRequest, ...gax.CallOption) (*telcoautomationpb.DiscardDeploymentChangesResponse, error) + ApplyDeployment(context.Context, *telcoautomationpb.ApplyDeploymentRequest, ...gax.CallOption) (*telcoautomationpb.Deployment, error) + ComputeDeploymentStatus(context.Context, *telcoautomationpb.ComputeDeploymentStatusRequest, ...gax.CallOption) (*telcoautomationpb.ComputeDeploymentStatusResponse, error) + RollbackDeployment(context.Context, *telcoautomationpb.RollbackDeploymentRequest, ...gax.CallOption) (*telcoautomationpb.Deployment, error) + GetHydratedDeployment(context.Context, *telcoautomationpb.GetHydratedDeploymentRequest, ...gax.CallOption) (*telcoautomationpb.HydratedDeployment, error) + ListHydratedDeployments(context.Context, *telcoautomationpb.ListHydratedDeploymentsRequest, ...gax.CallOption) *HydratedDeploymentIterator + UpdateHydratedDeployment(context.Context, *telcoautomationpb.UpdateHydratedDeploymentRequest, ...gax.CallOption) (*telcoautomationpb.HydratedDeployment, error) + ApplyHydratedDeployment(context.Context, *telcoautomationpb.ApplyHydratedDeploymentRequest, ...gax.CallOption) (*telcoautomationpb.HydratedDeployment, error) + GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error) + ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator + CancelOperation(context.Context, *longrunningpb.CancelOperationRequest, ...gax.CallOption) error + DeleteOperation(context.Context, *longrunningpb.DeleteOperationRequest, ...gax.CallOption) error + GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error) + ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator +} + +// Client is a client for interacting with Telco Automation API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// TelcoAutomation Service manages the control plane cluster a.k.a. +// Orchestration Cluster (GKE cluster with config controller) of TNA. It also +// exposes blueprint APIs which manages the lifecycle of blueprints that control +// the infrastructure setup (e.g GDCE clusters) and deployment of network +// functions. +type Client struct { + // The internal transport-dependent client. + internalClient internalClient + + // The call options for this service. + CallOptions *CallOptions + + // LROClient is used internally to handle long-running operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient *lroauto.OperationsClient +} + +// Wrapper methods routed to the internal client. + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *Client) Close() error { + return c.internalClient.Close() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *Client) setGoogleClientInfo(keyval ...string) { + c.internalClient.setGoogleClientInfo(keyval...) +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *Client) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// ListOrchestrationClusters lists OrchestrationClusters in a given project and location. +func (c *Client) ListOrchestrationClusters(ctx context.Context, req *telcoautomationpb.ListOrchestrationClustersRequest, opts ...gax.CallOption) *OrchestrationClusterIterator { + return c.internalClient.ListOrchestrationClusters(ctx, req, opts...) +} + +// GetOrchestrationCluster gets details of a single OrchestrationCluster. +func (c *Client) GetOrchestrationCluster(ctx context.Context, req *telcoautomationpb.GetOrchestrationClusterRequest, opts ...gax.CallOption) (*telcoautomationpb.OrchestrationCluster, error) { + return c.internalClient.GetOrchestrationCluster(ctx, req, opts...) +} + +// CreateOrchestrationCluster creates a new OrchestrationCluster in a given project and location. +func (c *Client) CreateOrchestrationCluster(ctx context.Context, req *telcoautomationpb.CreateOrchestrationClusterRequest, opts ...gax.CallOption) (*CreateOrchestrationClusterOperation, error) { + return c.internalClient.CreateOrchestrationCluster(ctx, req, opts...) +} + +// CreateOrchestrationClusterOperation returns a new CreateOrchestrationClusterOperation from a given name. +// The name must be that of a previously created CreateOrchestrationClusterOperation, possibly from a different process. +func (c *Client) CreateOrchestrationClusterOperation(name string) *CreateOrchestrationClusterOperation { + return c.internalClient.CreateOrchestrationClusterOperation(name) +} + +// DeleteOrchestrationCluster deletes a single OrchestrationCluster. +func (c *Client) DeleteOrchestrationCluster(ctx context.Context, req *telcoautomationpb.DeleteOrchestrationClusterRequest, opts ...gax.CallOption) (*DeleteOrchestrationClusterOperation, error) { + return c.internalClient.DeleteOrchestrationCluster(ctx, req, opts...) +} + +// DeleteOrchestrationClusterOperation returns a new DeleteOrchestrationClusterOperation from a given name. +// The name must be that of a previously created DeleteOrchestrationClusterOperation, possibly from a different process. +func (c *Client) DeleteOrchestrationClusterOperation(name string) *DeleteOrchestrationClusterOperation { + return c.internalClient.DeleteOrchestrationClusterOperation(name) +} + +// ListEdgeSlms lists EdgeSlms in a given project and location. +func (c *Client) ListEdgeSlms(ctx context.Context, req *telcoautomationpb.ListEdgeSlmsRequest, opts ...gax.CallOption) *EdgeSlmIterator { + return c.internalClient.ListEdgeSlms(ctx, req, opts...) +} + +// GetEdgeSlm gets details of a single EdgeSlm. +func (c *Client) GetEdgeSlm(ctx context.Context, req *telcoautomationpb.GetEdgeSlmRequest, opts ...gax.CallOption) (*telcoautomationpb.EdgeSlm, error) { + return c.internalClient.GetEdgeSlm(ctx, req, opts...) +} + +// CreateEdgeSlm creates a new EdgeSlm in a given project and location. +func (c *Client) CreateEdgeSlm(ctx context.Context, req *telcoautomationpb.CreateEdgeSlmRequest, opts ...gax.CallOption) (*CreateEdgeSlmOperation, error) { + return c.internalClient.CreateEdgeSlm(ctx, req, opts...) +} + +// CreateEdgeSlmOperation returns a new CreateEdgeSlmOperation from a given name. +// The name must be that of a previously created CreateEdgeSlmOperation, possibly from a different process. +func (c *Client) CreateEdgeSlmOperation(name string) *CreateEdgeSlmOperation { + return c.internalClient.CreateEdgeSlmOperation(name) +} + +// DeleteEdgeSlm deletes a single EdgeSlm. +func (c *Client) DeleteEdgeSlm(ctx context.Context, req *telcoautomationpb.DeleteEdgeSlmRequest, opts ...gax.CallOption) (*DeleteEdgeSlmOperation, error) { + return c.internalClient.DeleteEdgeSlm(ctx, req, opts...) +} + +// DeleteEdgeSlmOperation returns a new DeleteEdgeSlmOperation from a given name. +// The name must be that of a previously created DeleteEdgeSlmOperation, possibly from a different process. +func (c *Client) DeleteEdgeSlmOperation(name string) *DeleteEdgeSlmOperation { + return c.internalClient.DeleteEdgeSlmOperation(name) +} + +// CreateBlueprint creates a blueprint. +func (c *Client) CreateBlueprint(ctx context.Context, req *telcoautomationpb.CreateBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + return c.internalClient.CreateBlueprint(ctx, req, opts...) +} + +// UpdateBlueprint updates a blueprint. +func (c *Client) UpdateBlueprint(ctx context.Context, req *telcoautomationpb.UpdateBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + return c.internalClient.UpdateBlueprint(ctx, req, opts...) +} + +// GetBlueprint returns the requested blueprint. +func (c *Client) GetBlueprint(ctx context.Context, req *telcoautomationpb.GetBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + return c.internalClient.GetBlueprint(ctx, req, opts...) +} + +// DeleteBlueprint deletes a blueprint and all its revisions. +func (c *Client) DeleteBlueprint(ctx context.Context, req *telcoautomationpb.DeleteBlueprintRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteBlueprint(ctx, req, opts...) +} + +// ListBlueprints list all blueprints. +func (c *Client) ListBlueprints(ctx context.Context, req *telcoautomationpb.ListBlueprintsRequest, opts ...gax.CallOption) *BlueprintIterator { + return c.internalClient.ListBlueprints(ctx, req, opts...) +} + +// ApproveBlueprint approves a blueprint and commits a new revision. +func (c *Client) ApproveBlueprint(ctx context.Context, req *telcoautomationpb.ApproveBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + return c.internalClient.ApproveBlueprint(ctx, req, opts...) +} + +// ProposeBlueprint proposes a blueprint for approval of changes. +func (c *Client) ProposeBlueprint(ctx context.Context, req *telcoautomationpb.ProposeBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + return c.internalClient.ProposeBlueprint(ctx, req, opts...) +} + +// RejectBlueprint rejects a blueprint revision proposal and flips it back to Draft state. +func (c *Client) RejectBlueprint(ctx context.Context, req *telcoautomationpb.RejectBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + return c.internalClient.RejectBlueprint(ctx, req, opts...) +} + +// ListBlueprintRevisions list blueprint revisions of a given blueprint. +func (c *Client) ListBlueprintRevisions(ctx context.Context, req *telcoautomationpb.ListBlueprintRevisionsRequest, opts ...gax.CallOption) *BlueprintIterator { + return c.internalClient.ListBlueprintRevisions(ctx, req, opts...) +} + +// SearchBlueprintRevisions searches across blueprint revisions. +func (c *Client) SearchBlueprintRevisions(ctx context.Context, req *telcoautomationpb.SearchBlueprintRevisionsRequest, opts ...gax.CallOption) *BlueprintIterator { + return c.internalClient.SearchBlueprintRevisions(ctx, req, opts...) +} + +// SearchDeploymentRevisions searches across deployment revisions. +func (c *Client) SearchDeploymentRevisions(ctx context.Context, req *telcoautomationpb.SearchDeploymentRevisionsRequest, opts ...gax.CallOption) *DeploymentIterator { + return c.internalClient.SearchDeploymentRevisions(ctx, req, opts...) +} + +// DiscardBlueprintChanges discards the changes in a blueprint and reverts the blueprint to the last +// approved blueprint revision. No changes take place if a blueprint does not +// have revisions. +func (c *Client) DiscardBlueprintChanges(ctx context.Context, req *telcoautomationpb.DiscardBlueprintChangesRequest, opts ...gax.CallOption) (*telcoautomationpb.DiscardBlueprintChangesResponse, error) { + return c.internalClient.DiscardBlueprintChanges(ctx, req, opts...) +} + +// ListPublicBlueprints lists the blueprints in TNA’s public catalog. Default page size = 20, +// Max Page Size = 100. +func (c *Client) ListPublicBlueprints(ctx context.Context, req *telcoautomationpb.ListPublicBlueprintsRequest, opts ...gax.CallOption) *PublicBlueprintIterator { + return c.internalClient.ListPublicBlueprints(ctx, req, opts...) +} + +// GetPublicBlueprint returns the requested public blueprint. +func (c *Client) GetPublicBlueprint(ctx context.Context, req *telcoautomationpb.GetPublicBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.PublicBlueprint, error) { + return c.internalClient.GetPublicBlueprint(ctx, req, opts...) +} + +// CreateDeployment creates a deployment. +func (c *Client) CreateDeployment(ctx context.Context, req *telcoautomationpb.CreateDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + return c.internalClient.CreateDeployment(ctx, req, opts...) +} + +// UpdateDeployment updates a deployment. +func (c *Client) UpdateDeployment(ctx context.Context, req *telcoautomationpb.UpdateDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + return c.internalClient.UpdateDeployment(ctx, req, opts...) +} + +// GetDeployment returns the requested deployment. +func (c *Client) GetDeployment(ctx context.Context, req *telcoautomationpb.GetDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + return c.internalClient.GetDeployment(ctx, req, opts...) +} + +// RemoveDeployment removes the deployment by marking it as DELETING. Post which deployment and +// it’s revisions gets deleted. +func (c *Client) RemoveDeployment(ctx context.Context, req *telcoautomationpb.RemoveDeploymentRequest, opts ...gax.CallOption) error { + return c.internalClient.RemoveDeployment(ctx, req, opts...) +} + +// ListDeployments list all deployments. +func (c *Client) ListDeployments(ctx context.Context, req *telcoautomationpb.ListDeploymentsRequest, opts ...gax.CallOption) *DeploymentIterator { + return c.internalClient.ListDeployments(ctx, req, opts...) +} + +// ListDeploymentRevisions list deployment revisions of a given deployment. +func (c *Client) ListDeploymentRevisions(ctx context.Context, req *telcoautomationpb.ListDeploymentRevisionsRequest, opts ...gax.CallOption) *DeploymentIterator { + return c.internalClient.ListDeploymentRevisions(ctx, req, opts...) +} + +// DiscardDeploymentChanges discards the changes in a deployment and reverts the deployment to the last +// approved deployment revision. No changes take place if a deployment does +// not have revisions. +func (c *Client) DiscardDeploymentChanges(ctx context.Context, req *telcoautomationpb.DiscardDeploymentChangesRequest, opts ...gax.CallOption) (*telcoautomationpb.DiscardDeploymentChangesResponse, error) { + return c.internalClient.DiscardDeploymentChanges(ctx, req, opts...) +} + +// ApplyDeployment applies the deployment’s YAML files to the parent orchestration cluster. +func (c *Client) ApplyDeployment(ctx context.Context, req *telcoautomationpb.ApplyDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + return c.internalClient.ApplyDeployment(ctx, req, opts...) +} + +// ComputeDeploymentStatus returns the requested deployment status. +func (c *Client) ComputeDeploymentStatus(ctx context.Context, req *telcoautomationpb.ComputeDeploymentStatusRequest, opts ...gax.CallOption) (*telcoautomationpb.ComputeDeploymentStatusResponse, error) { + return c.internalClient.ComputeDeploymentStatus(ctx, req, opts...) +} + +// RollbackDeployment rollback the active deployment to the given past approved deployment +// revision. +func (c *Client) RollbackDeployment(ctx context.Context, req *telcoautomationpb.RollbackDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + return c.internalClient.RollbackDeployment(ctx, req, opts...) +} + +// GetHydratedDeployment returns the requested hydrated deployment. +func (c *Client) GetHydratedDeployment(ctx context.Context, req *telcoautomationpb.GetHydratedDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.HydratedDeployment, error) { + return c.internalClient.GetHydratedDeployment(ctx, req, opts...) +} + +// ListHydratedDeployments list all hydrated deployments present under a deployment. +func (c *Client) ListHydratedDeployments(ctx context.Context, req *telcoautomationpb.ListHydratedDeploymentsRequest, opts ...gax.CallOption) *HydratedDeploymentIterator { + return c.internalClient.ListHydratedDeployments(ctx, req, opts...) +} + +// UpdateHydratedDeployment updates a hydrated deployment. +func (c *Client) UpdateHydratedDeployment(ctx context.Context, req *telcoautomationpb.UpdateHydratedDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.HydratedDeployment, error) { + return c.internalClient.UpdateHydratedDeployment(ctx, req, opts...) +} + +// ApplyHydratedDeployment applies a hydrated deployment to a workload cluster. +func (c *Client) ApplyHydratedDeployment(ctx context.Context, req *telcoautomationpb.ApplyHydratedDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.HydratedDeployment, error) { + return c.internalClient.ApplyHydratedDeployment(ctx, req, opts...) +} + +// GetLocation gets information about a location. +func (c *Client) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + return c.internalClient.GetLocation(ctx, req, opts...) +} + +// ListLocations lists information about the supported locations for this service. +func (c *Client) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + return c.internalClient.ListLocations(ctx, req, opts...) +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *Client) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.CancelOperation(ctx, req, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *Client) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + return c.internalClient.DeleteOperation(ctx, req, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *Client) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + return c.internalClient.GetOperation(ctx, req, opts...) +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *Client) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + return c.internalClient.ListOperations(ctx, req, opts...) +} + +// gRPCClient is a client for interacting with Telco Automation API over gRPC transport. +// +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type gRPCClient struct { + // Connection pool of gRPC connections to the service. + connPool gtransport.ConnPool + + // Points back to the CallOptions field of the containing Client + CallOptions **CallOptions + + // The gRPC API client. + client telcoautomationpb.TelcoAutomationClient + + // LROClient is used internally to handle long-running operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient **lroauto.OperationsClient + + operationsClient longrunningpb.OperationsClient + + locationsClient locationpb.LocationsClient + + // The x-goog-* metadata to be sent with each request. + xGoogHeaders []string +} + +// NewClient creates a new telco automation client based on gRPC. +// The returned client must be Closed when it is done being used to clean up its underlying connections. +// +// TelcoAutomation Service manages the control plane cluster a.k.a. +// Orchestration Cluster (GKE cluster with config controller) of TNA. It also +// exposes blueprint APIs which manages the lifecycle of blueprints that control +// the infrastructure setup (e.g GDCE clusters) and deployment of network +// functions. +func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) { + clientOpts := defaultGRPCClientOptions() + if newClientHook != nil { + hookOpts, err := newClientHook(ctx, clientHookParams{}) + if err != nil { + return nil, err + } + clientOpts = append(clientOpts, hookOpts...) + } + + connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...) + if err != nil { + return nil, err + } + client := Client{CallOptions: defaultCallOptions()} + + c := &gRPCClient{ + connPool: connPool, + client: telcoautomationpb.NewTelcoAutomationClient(connPool), + CallOptions: &client.CallOptions, + operationsClient: longrunningpb.NewOperationsClient(connPool), + locationsClient: locationpb.NewLocationsClient(connPool), + } + c.setGoogleClientInfo() + + client.internalClient = c + + client.LROClient, err = lroauto.NewOperationsClient(ctx, gtransport.WithConnPool(connPool)) + if err != nil { + // This error "should not happen", since we are just reusing old connection pool + // and never actually need to dial. + // If this does happen, we could leak connp. However, we cannot close conn: + // If the user invoked the constructor with option.WithGRPCConn, + // we would close a connection that's still in use. + // TODO: investigate error conditions. + return nil, err + } + c.LROClient = &client.LROClient + return &client, nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *gRPCClient) Connection() *grpc.ClientConn { + return c.connPool.Conn() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *gRPCClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version) + c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)} +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *gRPCClient) Close() error { + return c.connPool.Close() +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type restClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // LROClient is used internally to handle long-running operations. + // It is exposed so that its CallOptions can be modified if required. + // Users should not Close this client. + LROClient **lroauto.OperationsClient + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing Client + CallOptions **CallOptions +} + +// NewRESTClient creates a new telco automation rest client. +// +// TelcoAutomation Service manages the control plane cluster a.k.a. +// Orchestration Cluster (GKE cluster with config controller) of TNA. It also +// exposes blueprint APIs which manages the lifecycle of blueprints that control +// the infrastructure setup (e.g GDCE clusters) and deployment of network +// functions. +func NewRESTClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) { + clientOpts := append(defaultRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultRESTCallOptions() + c := &restClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + } + c.setGoogleClientInfo() + + lroOpts := []option.ClientOption{ + option.WithHTTPClient(httpClient), + option.WithEndpoint(endpoint), + } + opClient, err := lroauto.NewOperationsRESTClient(ctx, lroOpts...) + if err != nil { + return nil, err + } + c.LROClient = &opClient + + return &Client{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://telcoautomation.googleapis.com"), + internaloption.WithDefaultMTLSEndpoint("https://telcoautomation.mtls.googleapis.com"), + internaloption.WithDefaultAudience("https://telcoautomation.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + } +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *restClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)} +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *restClient) Close() error { + // Replace httpClient with nil to force cleanup. + c.httpClient = nil + return nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: This method always returns nil. +func (c *restClient) Connection() *grpc.ClientConn { + return nil +} +func (c *gRPCClient) ListOrchestrationClusters(ctx context.Context, req *telcoautomationpb.ListOrchestrationClustersRequest, opts ...gax.CallOption) *OrchestrationClusterIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListOrchestrationClusters[0:len((*c.CallOptions).ListOrchestrationClusters):len((*c.CallOptions).ListOrchestrationClusters)], opts...) + it := &OrchestrationClusterIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListOrchestrationClustersRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.OrchestrationCluster, string, error) { + resp := &telcoautomationpb.ListOrchestrationClustersResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ListOrchestrationClusters(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetOrchestrationClusters(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *gRPCClient) GetOrchestrationCluster(ctx context.Context, req *telcoautomationpb.GetOrchestrationClusterRequest, opts ...gax.CallOption) (*telcoautomationpb.OrchestrationCluster, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetOrchestrationCluster[0:len((*c.CallOptions).GetOrchestrationCluster):len((*c.CallOptions).GetOrchestrationCluster)], opts...) + var resp *telcoautomationpb.OrchestrationCluster + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetOrchestrationCluster(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) CreateOrchestrationCluster(ctx context.Context, req *telcoautomationpb.CreateOrchestrationClusterRequest, opts ...gax.CallOption) (*CreateOrchestrationClusterOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateOrchestrationCluster[0:len((*c.CallOptions).CreateOrchestrationCluster):len((*c.CallOptions).CreateOrchestrationCluster)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateOrchestrationCluster(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateOrchestrationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) DeleteOrchestrationCluster(ctx context.Context, req *telcoautomationpb.DeleteOrchestrationClusterRequest, opts ...gax.CallOption) (*DeleteOrchestrationClusterOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteOrchestrationCluster[0:len((*c.CallOptions).DeleteOrchestrationCluster):len((*c.CallOptions).DeleteOrchestrationCluster)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.DeleteOrchestrationCluster(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteOrchestrationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) ListEdgeSlms(ctx context.Context, req *telcoautomationpb.ListEdgeSlmsRequest, opts ...gax.CallOption) *EdgeSlmIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListEdgeSlms[0:len((*c.CallOptions).ListEdgeSlms):len((*c.CallOptions).ListEdgeSlms)], opts...) + it := &EdgeSlmIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListEdgeSlmsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.EdgeSlm, string, error) { + resp := &telcoautomationpb.ListEdgeSlmsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ListEdgeSlms(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetEdgeSlms(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *gRPCClient) GetEdgeSlm(ctx context.Context, req *telcoautomationpb.GetEdgeSlmRequest, opts ...gax.CallOption) (*telcoautomationpb.EdgeSlm, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetEdgeSlm[0:len((*c.CallOptions).GetEdgeSlm):len((*c.CallOptions).GetEdgeSlm)], opts...) + var resp *telcoautomationpb.EdgeSlm + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetEdgeSlm(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) CreateEdgeSlm(ctx context.Context, req *telcoautomationpb.CreateEdgeSlmRequest, opts ...gax.CallOption) (*CreateEdgeSlmOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateEdgeSlm[0:len((*c.CallOptions).CreateEdgeSlm):len((*c.CallOptions).CreateEdgeSlm)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateEdgeSlm(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &CreateEdgeSlmOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) DeleteEdgeSlm(ctx context.Context, req *telcoautomationpb.DeleteEdgeSlmRequest, opts ...gax.CallOption) (*DeleteEdgeSlmOperation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteEdgeSlm[0:len((*c.CallOptions).DeleteEdgeSlm):len((*c.CallOptions).DeleteEdgeSlm)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.DeleteEdgeSlm(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return &DeleteEdgeSlmOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + }, nil +} + +func (c *gRPCClient) CreateBlueprint(ctx context.Context, req *telcoautomationpb.CreateBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateBlueprint[0:len((*c.CallOptions).CreateBlueprint):len((*c.CallOptions).CreateBlueprint)], opts...) + var resp *telcoautomationpb.Blueprint + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateBlueprint(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) UpdateBlueprint(ctx context.Context, req *telcoautomationpb.UpdateBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "blueprint.name", url.QueryEscape(req.GetBlueprint().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateBlueprint[0:len((*c.CallOptions).UpdateBlueprint):len((*c.CallOptions).UpdateBlueprint)], opts...) + var resp *telcoautomationpb.Blueprint + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.UpdateBlueprint(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) GetBlueprint(ctx context.Context, req *telcoautomationpb.GetBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetBlueprint[0:len((*c.CallOptions).GetBlueprint):len((*c.CallOptions).GetBlueprint)], opts...) + var resp *telcoautomationpb.Blueprint + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetBlueprint(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) DeleteBlueprint(ctx context.Context, req *telcoautomationpb.DeleteBlueprintRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteBlueprint[0:len((*c.CallOptions).DeleteBlueprint):len((*c.CallOptions).DeleteBlueprint)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.client.DeleteBlueprint(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} + +func (c *gRPCClient) ListBlueprints(ctx context.Context, req *telcoautomationpb.ListBlueprintsRequest, opts ...gax.CallOption) *BlueprintIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListBlueprints[0:len((*c.CallOptions).ListBlueprints):len((*c.CallOptions).ListBlueprints)], opts...) + it := &BlueprintIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListBlueprintsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.Blueprint, string, error) { + resp := &telcoautomationpb.ListBlueprintsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ListBlueprints(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetBlueprints(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *gRPCClient) ApproveBlueprint(ctx context.Context, req *telcoautomationpb.ApproveBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ApproveBlueprint[0:len((*c.CallOptions).ApproveBlueprint):len((*c.CallOptions).ApproveBlueprint)], opts...) + var resp *telcoautomationpb.Blueprint + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ApproveBlueprint(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ProposeBlueprint(ctx context.Context, req *telcoautomationpb.ProposeBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ProposeBlueprint[0:len((*c.CallOptions).ProposeBlueprint):len((*c.CallOptions).ProposeBlueprint)], opts...) + var resp *telcoautomationpb.Blueprint + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ProposeBlueprint(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) RejectBlueprint(ctx context.Context, req *telcoautomationpb.RejectBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).RejectBlueprint[0:len((*c.CallOptions).RejectBlueprint):len((*c.CallOptions).RejectBlueprint)], opts...) + var resp *telcoautomationpb.Blueprint + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.RejectBlueprint(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListBlueprintRevisions(ctx context.Context, req *telcoautomationpb.ListBlueprintRevisionsRequest, opts ...gax.CallOption) *BlueprintIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListBlueprintRevisions[0:len((*c.CallOptions).ListBlueprintRevisions):len((*c.CallOptions).ListBlueprintRevisions)], opts...) + it := &BlueprintIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListBlueprintRevisionsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.Blueprint, string, error) { + resp := &telcoautomationpb.ListBlueprintRevisionsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ListBlueprintRevisions(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetBlueprints(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *gRPCClient) SearchBlueprintRevisions(ctx context.Context, req *telcoautomationpb.SearchBlueprintRevisionsRequest, opts ...gax.CallOption) *BlueprintIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).SearchBlueprintRevisions[0:len((*c.CallOptions).SearchBlueprintRevisions):len((*c.CallOptions).SearchBlueprintRevisions)], opts...) + it := &BlueprintIterator{} + req = proto.Clone(req).(*telcoautomationpb.SearchBlueprintRevisionsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.Blueprint, string, error) { + resp := &telcoautomationpb.SearchBlueprintRevisionsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.SearchBlueprintRevisions(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetBlueprints(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *gRPCClient) SearchDeploymentRevisions(ctx context.Context, req *telcoautomationpb.SearchDeploymentRevisionsRequest, opts ...gax.CallOption) *DeploymentIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).SearchDeploymentRevisions[0:len((*c.CallOptions).SearchDeploymentRevisions):len((*c.CallOptions).SearchDeploymentRevisions)], opts...) + it := &DeploymentIterator{} + req = proto.Clone(req).(*telcoautomationpb.SearchDeploymentRevisionsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.Deployment, string, error) { + resp := &telcoautomationpb.SearchDeploymentRevisionsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.SearchDeploymentRevisions(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetDeployments(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *gRPCClient) DiscardBlueprintChanges(ctx context.Context, req *telcoautomationpb.DiscardBlueprintChangesRequest, opts ...gax.CallOption) (*telcoautomationpb.DiscardBlueprintChangesResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DiscardBlueprintChanges[0:len((*c.CallOptions).DiscardBlueprintChanges):len((*c.CallOptions).DiscardBlueprintChanges)], opts...) + var resp *telcoautomationpb.DiscardBlueprintChangesResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.DiscardBlueprintChanges(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListPublicBlueprints(ctx context.Context, req *telcoautomationpb.ListPublicBlueprintsRequest, opts ...gax.CallOption) *PublicBlueprintIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListPublicBlueprints[0:len((*c.CallOptions).ListPublicBlueprints):len((*c.CallOptions).ListPublicBlueprints)], opts...) + it := &PublicBlueprintIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListPublicBlueprintsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.PublicBlueprint, string, error) { + resp := &telcoautomationpb.ListPublicBlueprintsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ListPublicBlueprints(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetPublicBlueprints(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *gRPCClient) GetPublicBlueprint(ctx context.Context, req *telcoautomationpb.GetPublicBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.PublicBlueprint, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetPublicBlueprint[0:len((*c.CallOptions).GetPublicBlueprint):len((*c.CallOptions).GetPublicBlueprint)], opts...) + var resp *telcoautomationpb.PublicBlueprint + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetPublicBlueprint(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) CreateDeployment(ctx context.Context, req *telcoautomationpb.CreateDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CreateDeployment[0:len((*c.CallOptions).CreateDeployment):len((*c.CallOptions).CreateDeployment)], opts...) + var resp *telcoautomationpb.Deployment + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.CreateDeployment(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) UpdateDeployment(ctx context.Context, req *telcoautomationpb.UpdateDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "deployment.name", url.QueryEscape(req.GetDeployment().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateDeployment[0:len((*c.CallOptions).UpdateDeployment):len((*c.CallOptions).UpdateDeployment)], opts...) + var resp *telcoautomationpb.Deployment + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.UpdateDeployment(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) GetDeployment(ctx context.Context, req *telcoautomationpb.GetDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetDeployment[0:len((*c.CallOptions).GetDeployment):len((*c.CallOptions).GetDeployment)], opts...) + var resp *telcoautomationpb.Deployment + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetDeployment(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) RemoveDeployment(ctx context.Context, req *telcoautomationpb.RemoveDeploymentRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).RemoveDeployment[0:len((*c.CallOptions).RemoveDeployment):len((*c.CallOptions).RemoveDeployment)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.client.RemoveDeployment(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} + +func (c *gRPCClient) ListDeployments(ctx context.Context, req *telcoautomationpb.ListDeploymentsRequest, opts ...gax.CallOption) *DeploymentIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListDeployments[0:len((*c.CallOptions).ListDeployments):len((*c.CallOptions).ListDeployments)], opts...) + it := &DeploymentIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListDeploymentsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.Deployment, string, error) { + resp := &telcoautomationpb.ListDeploymentsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ListDeployments(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetDeployments(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *gRPCClient) ListDeploymentRevisions(ctx context.Context, req *telcoautomationpb.ListDeploymentRevisionsRequest, opts ...gax.CallOption) *DeploymentIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListDeploymentRevisions[0:len((*c.CallOptions).ListDeploymentRevisions):len((*c.CallOptions).ListDeploymentRevisions)], opts...) + it := &DeploymentIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListDeploymentRevisionsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.Deployment, string, error) { + resp := &telcoautomationpb.ListDeploymentRevisionsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ListDeploymentRevisions(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetDeployments(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *gRPCClient) DiscardDeploymentChanges(ctx context.Context, req *telcoautomationpb.DiscardDeploymentChangesRequest, opts ...gax.CallOption) (*telcoautomationpb.DiscardDeploymentChangesResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DiscardDeploymentChanges[0:len((*c.CallOptions).DiscardDeploymentChanges):len((*c.CallOptions).DiscardDeploymentChanges)], opts...) + var resp *telcoautomationpb.DiscardDeploymentChangesResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.DiscardDeploymentChanges(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ApplyDeployment(ctx context.Context, req *telcoautomationpb.ApplyDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ApplyDeployment[0:len((*c.CallOptions).ApplyDeployment):len((*c.CallOptions).ApplyDeployment)], opts...) + var resp *telcoautomationpb.Deployment + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ApplyDeployment(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ComputeDeploymentStatus(ctx context.Context, req *telcoautomationpb.ComputeDeploymentStatusRequest, opts ...gax.CallOption) (*telcoautomationpb.ComputeDeploymentStatusResponse, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ComputeDeploymentStatus[0:len((*c.CallOptions).ComputeDeploymentStatus):len((*c.CallOptions).ComputeDeploymentStatus)], opts...) + var resp *telcoautomationpb.ComputeDeploymentStatusResponse + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ComputeDeploymentStatus(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) RollbackDeployment(ctx context.Context, req *telcoautomationpb.RollbackDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).RollbackDeployment[0:len((*c.CallOptions).RollbackDeployment):len((*c.CallOptions).RollbackDeployment)], opts...) + var resp *telcoautomationpb.Deployment + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.RollbackDeployment(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) GetHydratedDeployment(ctx context.Context, req *telcoautomationpb.GetHydratedDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.HydratedDeployment, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetHydratedDeployment[0:len((*c.CallOptions).GetHydratedDeployment):len((*c.CallOptions).GetHydratedDeployment)], opts...) + var resp *telcoautomationpb.HydratedDeployment + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetHydratedDeployment(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListHydratedDeployments(ctx context.Context, req *telcoautomationpb.ListHydratedDeploymentsRequest, opts ...gax.CallOption) *HydratedDeploymentIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListHydratedDeployments[0:len((*c.CallOptions).ListHydratedDeployments):len((*c.CallOptions).ListHydratedDeployments)], opts...) + it := &HydratedDeploymentIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListHydratedDeploymentsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.HydratedDeployment, string, error) { + resp := &telcoautomationpb.ListHydratedDeploymentsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ListHydratedDeployments(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetHydratedDeployments(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *gRPCClient) UpdateHydratedDeployment(ctx context.Context, req *telcoautomationpb.UpdateHydratedDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.HydratedDeployment, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "hydrated_deployment.name", url.QueryEscape(req.GetHydratedDeployment().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateHydratedDeployment[0:len((*c.CallOptions).UpdateHydratedDeployment):len((*c.CallOptions).UpdateHydratedDeployment)], opts...) + var resp *telcoautomationpb.HydratedDeployment + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.UpdateHydratedDeployment(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ApplyHydratedDeployment(ctx context.Context, req *telcoautomationpb.ApplyHydratedDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.HydratedDeployment, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ApplyHydratedDeployment[0:len((*c.CallOptions).ApplyHydratedDeployment):len((*c.CallOptions).ApplyHydratedDeployment)], opts...) + var resp *telcoautomationpb.HydratedDeployment + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.ApplyHydratedDeployment(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + var resp *locationpb.Location + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.locationsClient.GetLocation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListLocations[0:len((*c.CallOptions).ListLocations):len((*c.CallOptions).ListLocations)], opts...) + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.locationsClient.ListLocations(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +func (c *gRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).CancelOperation[0:len((*c.CallOptions).CancelOperation):len((*c.CallOptions).CancelOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.operationsClient.CancelOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} + +func (c *gRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).DeleteOperation[0:len((*c.CallOptions).DeleteOperation):len((*c.CallOptions).DeleteOperation)], opts...) + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + _, err = c.operationsClient.DeleteOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + return err +} + +func (c *gRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + var resp *longrunningpb.Operation + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.GetOperation(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...) + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.operationsClient.ListOperations(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, "", err + } + + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ListOrchestrationClusters lists OrchestrationClusters in a given project and location. +func (c *restClient) ListOrchestrationClusters(ctx context.Context, req *telcoautomationpb.ListOrchestrationClustersRequest, opts ...gax.CallOption) *OrchestrationClusterIterator { + it := &OrchestrationClusterIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListOrchestrationClustersRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.OrchestrationCluster, string, error) { + resp := &telcoautomationpb.ListOrchestrationClustersResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/%v/orchestrationClusters", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetOrchestrationClusters(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetOrchestrationCluster gets details of a single OrchestrationCluster. +func (c *restClient) GetOrchestrationCluster(ctx context.Context, req *telcoautomationpb.GetOrchestrationClusterRequest, opts ...gax.CallOption) (*telcoautomationpb.OrchestrationCluster, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetOrchestrationCluster[0:len((*c.CallOptions).GetOrchestrationCluster):len((*c.CallOptions).GetOrchestrationCluster)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.OrchestrationCluster{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateOrchestrationCluster creates a new OrchestrationCluster in a given project and location. +func (c *restClient) CreateOrchestrationCluster(ctx context.Context, req *telcoautomationpb.CreateOrchestrationClusterRequest, opts ...gax.CallOption) (*CreateOrchestrationClusterOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetOrchestrationCluster() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v/orchestrationClusters", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + params.Add("orchestrationClusterId", fmt.Sprintf("%v", req.GetOrchestrationClusterId())) + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &CreateOrchestrationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// DeleteOrchestrationCluster deletes a single OrchestrationCluster. +func (c *restClient) DeleteOrchestrationCluster(ctx context.Context, req *telcoautomationpb.DeleteOrchestrationClusterRequest, opts ...gax.CallOption) (*DeleteOrchestrationClusterOperation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &DeleteOrchestrationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// ListEdgeSlms lists EdgeSlms in a given project and location. +func (c *restClient) ListEdgeSlms(ctx context.Context, req *telcoautomationpb.ListEdgeSlmsRequest, opts ...gax.CallOption) *EdgeSlmIterator { + it := &EdgeSlmIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListEdgeSlmsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.EdgeSlm, string, error) { + resp := &telcoautomationpb.ListEdgeSlmsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/%v/edgeSlms", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetOrderBy() != "" { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetEdgeSlms(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetEdgeSlm gets details of a single EdgeSlm. +func (c *restClient) GetEdgeSlm(ctx context.Context, req *telcoautomationpb.GetEdgeSlmRequest, opts ...gax.CallOption) (*telcoautomationpb.EdgeSlm, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetEdgeSlm[0:len((*c.CallOptions).GetEdgeSlm):len((*c.CallOptions).GetEdgeSlm)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.EdgeSlm{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateEdgeSlm creates a new EdgeSlm in a given project and location. +func (c *restClient) CreateEdgeSlm(ctx context.Context, req *telcoautomationpb.CreateEdgeSlmRequest, opts ...gax.CallOption) (*CreateEdgeSlmOperation, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetEdgeSlm() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v/edgeSlms", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + params.Add("edgeSlmId", fmt.Sprintf("%v", req.GetEdgeSlmId())) + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &CreateEdgeSlmOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// DeleteEdgeSlm deletes a single EdgeSlm. +func (c *restClient) DeleteEdgeSlm(ctx context.Context, req *telcoautomationpb.DeleteEdgeSlmRequest, opts ...gax.CallOption) (*DeleteEdgeSlmOperation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetRequestId() != "" { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + + override := fmt.Sprintf("/v1/%s", resp.GetName()) + return &DeleteEdgeSlmOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, resp), + pollPath: override, + }, nil +} + +// CreateBlueprint creates a blueprint. +func (c *restClient) CreateBlueprint(ctx context.Context, req *telcoautomationpb.CreateBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetBlueprint() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v/blueprints", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetBlueprintId() != "" { + params.Add("blueprintId", fmt.Sprintf("%v", req.GetBlueprintId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateBlueprint[0:len((*c.CallOptions).CreateBlueprint):len((*c.CallOptions).CreateBlueprint)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.Blueprint{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// UpdateBlueprint updates a blueprint. +func (c *restClient) UpdateBlueprint(ctx context.Context, req *telcoautomationpb.UpdateBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetBlueprint() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetBlueprint().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "blueprint.name", url.QueryEscape(req.GetBlueprint().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateBlueprint[0:len((*c.CallOptions).UpdateBlueprint):len((*c.CallOptions).UpdateBlueprint)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.Blueprint{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetBlueprint returns the requested blueprint. +func (c *restClient) GetBlueprint(ctx context.Context, req *telcoautomationpb.GetBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetView() != 0 { + params.Add("view", fmt.Sprintf("%v", req.GetView())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetBlueprint[0:len((*c.CallOptions).GetBlueprint):len((*c.CallOptions).GetBlueprint)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.Blueprint{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// DeleteBlueprint deletes a blueprint and all its revisions. +func (c *restClient) DeleteBlueprint(ctx context.Context, req *telcoautomationpb.DeleteBlueprintRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + // Returns nil if there is no error, otherwise wraps + // the response code and body into a non-nil error + return googleapi.CheckResponse(httpRsp) + }, opts...) +} + +// ListBlueprints list all blueprints. +func (c *restClient) ListBlueprints(ctx context.Context, req *telcoautomationpb.ListBlueprintsRequest, opts ...gax.CallOption) *BlueprintIterator { + it := &BlueprintIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListBlueprintsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.Blueprint, string, error) { + resp := &telcoautomationpb.ListBlueprintsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/%v/blueprints", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetBlueprints(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ApproveBlueprint approves a blueprint and commits a new revision. +func (c *restClient) ApproveBlueprint(ctx context.Context, req *telcoautomationpb.ApproveBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:approve", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).ApproveBlueprint[0:len((*c.CallOptions).ApproveBlueprint):len((*c.CallOptions).ApproveBlueprint)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.Blueprint{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ProposeBlueprint proposes a blueprint for approval of changes. +func (c *restClient) ProposeBlueprint(ctx context.Context, req *telcoautomationpb.ProposeBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:propose", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).ProposeBlueprint[0:len((*c.CallOptions).ProposeBlueprint):len((*c.CallOptions).ProposeBlueprint)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.Blueprint{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// RejectBlueprint rejects a blueprint revision proposal and flips it back to Draft state. +func (c *restClient) RejectBlueprint(ctx context.Context, req *telcoautomationpb.RejectBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.Blueprint, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:reject", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).RejectBlueprint[0:len((*c.CallOptions).RejectBlueprint):len((*c.CallOptions).RejectBlueprint)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.Blueprint{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListBlueprintRevisions list blueprint revisions of a given blueprint. +func (c *restClient) ListBlueprintRevisions(ctx context.Context, req *telcoautomationpb.ListBlueprintRevisionsRequest, opts ...gax.CallOption) *BlueprintIterator { + it := &BlueprintIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListBlueprintRevisionsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.Blueprint, string, error) { + resp := &telcoautomationpb.ListBlueprintRevisionsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:listRevisions", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetBlueprints(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// SearchBlueprintRevisions searches across blueprint revisions. +func (c *restClient) SearchBlueprintRevisions(ctx context.Context, req *telcoautomationpb.SearchBlueprintRevisionsRequest, opts ...gax.CallOption) *BlueprintIterator { + it := &BlueprintIterator{} + req = proto.Clone(req).(*telcoautomationpb.SearchBlueprintRevisionsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.Blueprint, string, error) { + resp := &telcoautomationpb.SearchBlueprintRevisionsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/%v/blueprints:searchRevisions", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + params.Add("query", fmt.Sprintf("%v", req.GetQuery())) + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetBlueprints(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// SearchDeploymentRevisions searches across deployment revisions. +func (c *restClient) SearchDeploymentRevisions(ctx context.Context, req *telcoautomationpb.SearchDeploymentRevisionsRequest, opts ...gax.CallOption) *DeploymentIterator { + it := &DeploymentIterator{} + req = proto.Clone(req).(*telcoautomationpb.SearchDeploymentRevisionsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.Deployment, string, error) { + resp := &telcoautomationpb.SearchDeploymentRevisionsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/%v/deployments:searchRevisions", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + params.Add("query", fmt.Sprintf("%v", req.GetQuery())) + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetDeployments(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// DiscardBlueprintChanges discards the changes in a blueprint and reverts the blueprint to the last +// approved blueprint revision. No changes take place if a blueprint does not +// have revisions. +func (c *restClient) DiscardBlueprintChanges(ctx context.Context, req *telcoautomationpb.DiscardBlueprintChangesRequest, opts ...gax.CallOption) (*telcoautomationpb.DiscardBlueprintChangesResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:discard", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).DiscardBlueprintChanges[0:len((*c.CallOptions).DiscardBlueprintChanges):len((*c.CallOptions).DiscardBlueprintChanges)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.DiscardBlueprintChangesResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListPublicBlueprints lists the blueprints in TNA’s public catalog. Default page size = 20, +// Max Page Size = 100. +func (c *restClient) ListPublicBlueprints(ctx context.Context, req *telcoautomationpb.ListPublicBlueprintsRequest, opts ...gax.CallOption) *PublicBlueprintIterator { + it := &PublicBlueprintIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListPublicBlueprintsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.PublicBlueprint, string, error) { + resp := &telcoautomationpb.ListPublicBlueprintsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/%v/publicBlueprints", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetPublicBlueprints(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// GetPublicBlueprint returns the requested public blueprint. +func (c *restClient) GetPublicBlueprint(ctx context.Context, req *telcoautomationpb.GetPublicBlueprintRequest, opts ...gax.CallOption) (*telcoautomationpb.PublicBlueprint, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetPublicBlueprint[0:len((*c.CallOptions).GetPublicBlueprint):len((*c.CallOptions).GetPublicBlueprint)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.PublicBlueprint{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// CreateDeployment creates a deployment. +func (c *restClient) CreateDeployment(ctx context.Context, req *telcoautomationpb.CreateDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetDeployment() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v/deployments", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetDeploymentId() != "" { + params.Add("deploymentId", fmt.Sprintf("%v", req.GetDeploymentId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).CreateDeployment[0:len((*c.CallOptions).CreateDeployment):len((*c.CallOptions).CreateDeployment)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.Deployment{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// UpdateDeployment updates a deployment. +func (c *restClient) UpdateDeployment(ctx context.Context, req *telcoautomationpb.UpdateDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetDeployment() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetDeployment().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "deployment.name", url.QueryEscape(req.GetDeployment().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateDeployment[0:len((*c.CallOptions).UpdateDeployment):len((*c.CallOptions).UpdateDeployment)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.Deployment{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetDeployment returns the requested deployment. +func (c *restClient) GetDeployment(ctx context.Context, req *telcoautomationpb.GetDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetView() != 0 { + params.Add("view", fmt.Sprintf("%v", req.GetView())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetDeployment[0:len((*c.CallOptions).GetDeployment):len((*c.CallOptions).GetDeployment)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.Deployment{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// RemoveDeployment removes the deployment by marking it as DELETING. Post which deployment and +// it’s revisions gets deleted. +func (c *restClient) RemoveDeployment(ctx context.Context, req *telcoautomationpb.RemoveDeploymentRequest, opts ...gax.CallOption) error { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:remove", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + // Returns nil if there is no error, otherwise wraps + // the response code and body into a non-nil error + return googleapi.CheckResponse(httpRsp) + }, opts...) +} + +// ListDeployments list all deployments. +func (c *restClient) ListDeployments(ctx context.Context, req *telcoautomationpb.ListDeploymentsRequest, opts ...gax.CallOption) *DeploymentIterator { + it := &DeploymentIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListDeploymentsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.Deployment, string, error) { + resp := &telcoautomationpb.ListDeploymentsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/%v/deployments", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetDeployments(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// ListDeploymentRevisions list deployment revisions of a given deployment. +func (c *restClient) ListDeploymentRevisions(ctx context.Context, req *telcoautomationpb.ListDeploymentRevisionsRequest, opts ...gax.CallOption) *DeploymentIterator { + it := &DeploymentIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListDeploymentRevisionsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.Deployment, string, error) { + resp := &telcoautomationpb.ListDeploymentRevisionsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:listRevisions", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetDeployments(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// DiscardDeploymentChanges discards the changes in a deployment and reverts the deployment to the last +// approved deployment revision. No changes take place if a deployment does +// not have revisions. +func (c *restClient) DiscardDeploymentChanges(ctx context.Context, req *telcoautomationpb.DiscardDeploymentChangesRequest, opts ...gax.CallOption) (*telcoautomationpb.DiscardDeploymentChangesResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:discard", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).DiscardDeploymentChanges[0:len((*c.CallOptions).DiscardDeploymentChanges):len((*c.CallOptions).DiscardDeploymentChanges)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.DiscardDeploymentChangesResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ApplyDeployment applies the deployment’s YAML files to the parent orchestration cluster. +func (c *restClient) ApplyDeployment(ctx context.Context, req *telcoautomationpb.ApplyDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:apply", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).ApplyDeployment[0:len((*c.CallOptions).ApplyDeployment):len((*c.CallOptions).ApplyDeployment)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.Deployment{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ComputeDeploymentStatus returns the requested deployment status. +func (c *restClient) ComputeDeploymentStatus(ctx context.Context, req *telcoautomationpb.ComputeDeploymentStatusRequest, opts ...gax.CallOption) (*telcoautomationpb.ComputeDeploymentStatusResponse, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:computeDeploymentStatus", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).ComputeDeploymentStatus[0:len((*c.CallOptions).ComputeDeploymentStatus):len((*c.CallOptions).ComputeDeploymentStatus)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.ComputeDeploymentStatusResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// RollbackDeployment rollback the active deployment to the given past approved deployment +// revision. +func (c *restClient) RollbackDeployment(ctx context.Context, req *telcoautomationpb.RollbackDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.Deployment, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:rollback", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).RollbackDeployment[0:len((*c.CallOptions).RollbackDeployment):len((*c.CallOptions).RollbackDeployment)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.Deployment{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetHydratedDeployment returns the requested hydrated deployment. +func (c *restClient) GetHydratedDeployment(ctx context.Context, req *telcoautomationpb.GetHydratedDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.HydratedDeployment, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetHydratedDeployment[0:len((*c.CallOptions).GetHydratedDeployment):len((*c.CallOptions).GetHydratedDeployment)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.HydratedDeployment{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListHydratedDeployments list all hydrated deployments present under a deployment. +func (c *restClient) ListHydratedDeployments(ctx context.Context, req *telcoautomationpb.ListHydratedDeploymentsRequest, opts ...gax.CallOption) *HydratedDeploymentIterator { + it := &HydratedDeploymentIterator{} + req = proto.Clone(req).(*telcoautomationpb.ListHydratedDeploymentsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*telcoautomationpb.HydratedDeployment, string, error) { + resp := &telcoautomationpb.ListHydratedDeploymentsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/%v/hydratedDeployments", req.GetParent()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetHydratedDeployments(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// UpdateHydratedDeployment updates a hydrated deployment. +func (c *restClient) UpdateHydratedDeployment(ctx context.Context, req *telcoautomationpb.UpdateHydratedDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.HydratedDeployment, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetHydratedDeployment() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetHydratedDeployment().GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetUpdateMask() != nil { + updateMask, err := protojson.Marshal(req.GetUpdateMask()) + if err != nil { + return nil, err + } + params.Add("updateMask", string(updateMask[1:len(updateMask)-1])) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "hydrated_deployment.name", url.QueryEscape(req.GetHydratedDeployment().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateHydratedDeployment[0:len((*c.CallOptions).UpdateHydratedDeployment):len((*c.CallOptions).UpdateHydratedDeployment)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.HydratedDeployment{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ApplyHydratedDeployment applies a hydrated deployment to a workload cluster. +func (c *restClient) ApplyHydratedDeployment(ctx context.Context, req *telcoautomationpb.ApplyHydratedDeploymentRequest, opts ...gax.CallOption) (*telcoautomationpb.HydratedDeployment, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:apply", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).ApplyHydratedDeployment[0:len((*c.CallOptions).ApplyHydratedDeployment):len((*c.CallOptions).ApplyHydratedDeployment)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &telcoautomationpb.HydratedDeployment{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// GetLocation gets information about a location. +func (c *restClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &locationpb.Location{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListLocations lists information about the supported locations for this service. +func (c *restClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator { + it := &LocationIterator{} + req = proto.Clone(req).(*locationpb.ListLocationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) { + resp := &locationpb.ListLocationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetLocations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// CancelOperation is a utility method from google.longrunning.Operations. +func (c *restClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + jsonReq, err := m.Marshal(req) + if err != nil { + return err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1/%v:cancel", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + // Returns nil if there is no error, otherwise wraps + // the response code and body into a non-nil error + return googleapi.CheckResponse(httpRsp) + }, opts...) +} + +// DeleteOperation is a utility method from google.longrunning.Operations. +func (c *restClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + return gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("DELETE", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + // Returns nil if there is no error, otherwise wraps + // the response code and body into a non-nil error + return googleapi.CheckResponse(httpRsp) + }, opts...) +} + +// GetOperation is a utility method from google.longrunning.Operations. +func (c *restClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &longrunningpb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// ListOperations is a utility method from google.longrunning.Operations. +func (c *restClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator { + it := &OperationIterator{} + req = proto.Clone(req).(*longrunningpb.ListOperationsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) { + resp := &longrunningpb.ListOperationsResponse{} + if pageToken != "" { + req.PageToken = pageToken + } + if pageSize > math.MaxInt32 { + req.PageSize = math.MaxInt32 + } else if pageSize != 0 { + req.PageSize = int32(pageSize) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/v1/%v", req.GetName()) + + params := url.Values{} + params.Add("$alt", "json;enum-encoding=int") + if req.GetFilter() != "" { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req.GetPageSize() != 0 { + params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize())) + } + if req.GetPageToken() != "" { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetOperations(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetPageSize()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + +// CreateEdgeSlmOperation returns a new CreateEdgeSlmOperation from a given name. +// The name must be that of a previously created CreateEdgeSlmOperation, possibly from a different process. +func (c *gRPCClient) CreateEdgeSlmOperation(name string) *CreateEdgeSlmOperation { + return &CreateEdgeSlmOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateEdgeSlmOperation returns a new CreateEdgeSlmOperation from a given name. +// The name must be that of a previously created CreateEdgeSlmOperation, possibly from a different process. +func (c *restClient) CreateEdgeSlmOperation(name string) *CreateEdgeSlmOperation { + override := fmt.Sprintf("/v1/%s", name) + return &CreateEdgeSlmOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// CreateOrchestrationClusterOperation returns a new CreateOrchestrationClusterOperation from a given name. +// The name must be that of a previously created CreateOrchestrationClusterOperation, possibly from a different process. +func (c *gRPCClient) CreateOrchestrationClusterOperation(name string) *CreateOrchestrationClusterOperation { + return &CreateOrchestrationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// CreateOrchestrationClusterOperation returns a new CreateOrchestrationClusterOperation from a given name. +// The name must be that of a previously created CreateOrchestrationClusterOperation, possibly from a different process. +func (c *restClient) CreateOrchestrationClusterOperation(name string) *CreateOrchestrationClusterOperation { + override := fmt.Sprintf("/v1/%s", name) + return &CreateOrchestrationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// DeleteEdgeSlmOperation returns a new DeleteEdgeSlmOperation from a given name. +// The name must be that of a previously created DeleteEdgeSlmOperation, possibly from a different process. +func (c *gRPCClient) DeleteEdgeSlmOperation(name string) *DeleteEdgeSlmOperation { + return &DeleteEdgeSlmOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteEdgeSlmOperation returns a new DeleteEdgeSlmOperation from a given name. +// The name must be that of a previously created DeleteEdgeSlmOperation, possibly from a different process. +func (c *restClient) DeleteEdgeSlmOperation(name string) *DeleteEdgeSlmOperation { + override := fmt.Sprintf("/v1/%s", name) + return &DeleteEdgeSlmOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} + +// DeleteOrchestrationClusterOperation returns a new DeleteOrchestrationClusterOperation from a given name. +// The name must be that of a previously created DeleteOrchestrationClusterOperation, possibly from a different process. +func (c *gRPCClient) DeleteOrchestrationClusterOperation(name string) *DeleteOrchestrationClusterOperation { + return &DeleteOrchestrationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + } +} + +// DeleteOrchestrationClusterOperation returns a new DeleteOrchestrationClusterOperation from a given name. +// The name must be that of a previously created DeleteOrchestrationClusterOperation, possibly from a different process. +func (c *restClient) DeleteOrchestrationClusterOperation(name string) *DeleteOrchestrationClusterOperation { + override := fmt.Sprintf("/v1/%s", name) + return &DeleteOrchestrationClusterOperation{ + lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}), + pollPath: override, + } +} diff --git a/telcoautomation/apiv1/telco_automation_client_example_test.go b/telcoautomation/apiv1/telco_automation_client_example_test.go new file mode 100644 index 000000000000..f36d35b1b1fc --- /dev/null +++ b/telcoautomation/apiv1/telco_automation_client_example_test.go @@ -0,0 +1,1191 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package telcoautomation_test + +import ( + "context" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + telcoautomation "cloud.google.com/go/telcoautomation/apiv1" + telcoautomationpb "cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb" + "google.golang.org/api/iterator" + locationpb "google.golang.org/genproto/googleapis/cloud/location" +) + +func ExampleNewClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleNewRESTClient() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewRESTClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + // TODO: Use client. + _ = c +} + +func ExampleClient_ApplyDeployment() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ApplyDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ApplyDeploymentRequest. + } + resp, err := c.ApplyDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ApplyHydratedDeployment() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ApplyHydratedDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ApplyHydratedDeploymentRequest. + } + resp, err := c.ApplyHydratedDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ApproveBlueprint() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ApproveBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ApproveBlueprintRequest. + } + resp, err := c.ApproveBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ComputeDeploymentStatus() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ComputeDeploymentStatusRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ComputeDeploymentStatusRequest. + } + resp, err := c.ComputeDeploymentStatus(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_CreateBlueprint() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.CreateBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#CreateBlueprintRequest. + } + resp, err := c.CreateBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_CreateDeployment() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.CreateDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#CreateDeploymentRequest. + } + resp, err := c.CreateDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_CreateEdgeSlm() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.CreateEdgeSlmRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#CreateEdgeSlmRequest. + } + op, err := c.CreateEdgeSlm(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_CreateOrchestrationCluster() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.CreateOrchestrationClusterRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#CreateOrchestrationClusterRequest. + } + op, err := c.CreateOrchestrationCluster(ctx, req) + if err != nil { + // TODO: Handle error. + } + + resp, err := op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_DeleteBlueprint() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.DeleteBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#DeleteBlueprintRequest. + } + err = c.DeleteBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleClient_DeleteEdgeSlm() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.DeleteEdgeSlmRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#DeleteEdgeSlmRequest. + } + op, err := c.DeleteEdgeSlm(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleClient_DeleteOrchestrationCluster() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.DeleteOrchestrationClusterRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#DeleteOrchestrationClusterRequest. + } + op, err := c.DeleteOrchestrationCluster(ctx, req) + if err != nil { + // TODO: Handle error. + } + + err = op.Wait(ctx) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleClient_DiscardBlueprintChanges() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.DiscardBlueprintChangesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#DiscardBlueprintChangesRequest. + } + resp, err := c.DiscardBlueprintChanges(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_DiscardDeploymentChanges() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.DiscardDeploymentChangesRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#DiscardDeploymentChangesRequest. + } + resp, err := c.DiscardDeploymentChanges(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetBlueprint() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.GetBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#GetBlueprintRequest. + } + resp, err := c.GetBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetDeployment() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.GetDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#GetDeploymentRequest. + } + resp, err := c.GetDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetEdgeSlm() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.GetEdgeSlmRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#GetEdgeSlmRequest. + } + resp, err := c.GetEdgeSlm(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetHydratedDeployment() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.GetHydratedDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#GetHydratedDeploymentRequest. + } + resp, err := c.GetHydratedDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetOrchestrationCluster() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.GetOrchestrationClusterRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#GetOrchestrationClusterRequest. + } + resp, err := c.GetOrchestrationCluster(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetPublicBlueprint() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.GetPublicBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#GetPublicBlueprintRequest. + } + resp, err := c.GetPublicBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ListBlueprintRevisions() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListBlueprintRevisionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListBlueprintRevisionsRequest. + } + it := c.ListBlueprintRevisions(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListBlueprints() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListBlueprintsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListBlueprintsRequest. + } + it := c.ListBlueprints(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListDeploymentRevisions() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListDeploymentRevisionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListDeploymentRevisionsRequest. + } + it := c.ListDeploymentRevisions(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListDeployments() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListDeploymentsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListDeploymentsRequest. + } + it := c.ListDeployments(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListEdgeSlms() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListEdgeSlmsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListEdgeSlmsRequest. + } + it := c.ListEdgeSlms(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListHydratedDeployments() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListHydratedDeploymentsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListHydratedDeploymentsRequest. + } + it := c.ListHydratedDeployments(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListOrchestrationClusters() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListOrchestrationClustersRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListOrchestrationClustersRequest. + } + it := c.ListOrchestrationClusters(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ListPublicBlueprints() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ListPublicBlueprintsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ListPublicBlueprintsRequest. + } + it := c.ListPublicBlueprints(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_ProposeBlueprint() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.ProposeBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#ProposeBlueprintRequest. + } + resp, err := c.ProposeBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_RejectBlueprint() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.RejectBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#RejectBlueprintRequest. + } + resp, err := c.RejectBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_RemoveDeployment() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.RemoveDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#RemoveDeploymentRequest. + } + err = c.RemoveDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleClient_RollbackDeployment() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.RollbackDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#RollbackDeploymentRequest. + } + resp, err := c.RollbackDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_SearchBlueprintRevisions() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.SearchBlueprintRevisionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#SearchBlueprintRevisionsRequest. + } + it := c.SearchBlueprintRevisions(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_SearchDeploymentRevisions() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.SearchDeploymentRevisionsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#SearchDeploymentRevisionsRequest. + } + it := c.SearchDeploymentRevisions(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_UpdateBlueprint() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.UpdateBlueprintRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#UpdateBlueprintRequest. + } + resp, err := c.UpdateBlueprint(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_UpdateDeployment() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.UpdateDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#UpdateDeploymentRequest. + } + resp, err := c.UpdateDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_UpdateHydratedDeployment() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &telcoautomationpb.UpdateHydratedDeploymentRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/telcoautomation/apiv1/telcoautomationpb#UpdateHydratedDeploymentRequest. + } + resp, err := c.UpdateHydratedDeployment(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_GetLocation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.GetLocationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#GetLocationRequest. + } + resp, err := c.GetLocation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ListLocations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &locationpb.ListLocationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/location#ListLocationsRequest. + } + it := c.ListLocations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} + +func ExampleClient_CancelOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.CancelOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#CancelOperationRequest. + } + err = c.CancelOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleClient_DeleteOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.DeleteOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#DeleteOperationRequest. + } + err = c.DeleteOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } +} + +func ExampleClient_GetOperation() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.GetOperationRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#GetOperationRequest. + } + resp, err := c.GetOperation(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_ListOperations() { + ctx := context.Background() + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in: + // https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options + c, err := telcoautomation.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &longrunningpb.ListOperationsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/longrunning/autogen/longrunningpb#ListOperationsRequest. + } + it := c.ListOperations(ctx, req) + for { + resp, err := it.Next() + if err == iterator.Done { + break + } + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp + } +} diff --git a/telcoautomation/apiv1/telcoautomationpb/telcoautomation.pb.go b/telcoautomation/apiv1/telcoautomationpb/telcoautomation.pb.go new file mode 100755 index 000000000000..06c994049a14 --- /dev/null +++ b/telcoautomation/apiv1/telcoautomationpb/telcoautomation.pb.go @@ -0,0 +1,9755 @@ +// Copyright 2023 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.23.2 +// source: google/cloud/telcoautomation/v1/telcoautomation.proto + +package telcoautomationpb + +import ( + context "context" + reflect "reflect" + sync "sync" + + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// BlueprintView defines the type of view of the blueprint. +type BlueprintView int32 + +const ( + // Unspecified enum value. + BlueprintView_BLUEPRINT_VIEW_UNSPECIFIED BlueprintView = 0 + // View which only contains metadata. + BlueprintView_BLUEPRINT_VIEW_BASIC BlueprintView = 1 + // View which contains metadata and files it encapsulates. + BlueprintView_BLUEPRINT_VIEW_FULL BlueprintView = 2 +) + +// Enum value maps for BlueprintView. +var ( + BlueprintView_name = map[int32]string{ + 0: "BLUEPRINT_VIEW_UNSPECIFIED", + 1: "BLUEPRINT_VIEW_BASIC", + 2: "BLUEPRINT_VIEW_FULL", + } + BlueprintView_value = map[string]int32{ + "BLUEPRINT_VIEW_UNSPECIFIED": 0, + "BLUEPRINT_VIEW_BASIC": 1, + "BLUEPRINT_VIEW_FULL": 2, + } +) + +func (x BlueprintView) Enum() *BlueprintView { + p := new(BlueprintView) + *p = x + return p +} + +func (x BlueprintView) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BlueprintView) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[0].Descriptor() +} + +func (BlueprintView) Type() protoreflect.EnumType { + return &file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[0] +} + +func (x BlueprintView) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use BlueprintView.Descriptor instead. +func (BlueprintView) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{0} +} + +// DeploymentView defines the type of view of the deployment. +type DeploymentView int32 + +const ( + // Unspecified enum value. + DeploymentView_DEPLOYMENT_VIEW_UNSPECIFIED DeploymentView = 0 + // View which only contains metadata. + DeploymentView_DEPLOYMENT_VIEW_BASIC DeploymentView = 1 + // View which contains metadata and files it encapsulates. + DeploymentView_DEPLOYMENT_VIEW_FULL DeploymentView = 2 +) + +// Enum value maps for DeploymentView. +var ( + DeploymentView_name = map[int32]string{ + 0: "DEPLOYMENT_VIEW_UNSPECIFIED", + 1: "DEPLOYMENT_VIEW_BASIC", + 2: "DEPLOYMENT_VIEW_FULL", + } + DeploymentView_value = map[string]int32{ + "DEPLOYMENT_VIEW_UNSPECIFIED": 0, + "DEPLOYMENT_VIEW_BASIC": 1, + "DEPLOYMENT_VIEW_FULL": 2, + } +) + +func (x DeploymentView) Enum() *DeploymentView { + p := new(DeploymentView) + *p = x + return p +} + +func (x DeploymentView) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DeploymentView) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[1].Descriptor() +} + +func (DeploymentView) Type() protoreflect.EnumType { + return &file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[1] +} + +func (x DeploymentView) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DeploymentView.Descriptor instead. +func (DeploymentView) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{1} +} + +// Represent type of CR. +type ResourceType int32 + +const ( + // Unspecified resource type. + ResourceType_RESOURCE_TYPE_UNSPECIFIED ResourceType = 0 + // User specified NF Deploy CR. + ResourceType_NF_DEPLOY_RESOURCE ResourceType = 1 + // CRs that are part of a blueprint. + ResourceType_DEPLOYMENT_RESOURCE ResourceType = 2 +) + +// Enum value maps for ResourceType. +var ( + ResourceType_name = map[int32]string{ + 0: "RESOURCE_TYPE_UNSPECIFIED", + 1: "NF_DEPLOY_RESOURCE", + 2: "DEPLOYMENT_RESOURCE", + } + ResourceType_value = map[string]int32{ + "RESOURCE_TYPE_UNSPECIFIED": 0, + "NF_DEPLOY_RESOURCE": 1, + "DEPLOYMENT_RESOURCE": 2, + } +) + +func (x ResourceType) Enum() *ResourceType { + p := new(ResourceType) + *p = x + return p +} + +func (x ResourceType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ResourceType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[2].Descriptor() +} + +func (ResourceType) Type() protoreflect.EnumType { + return &file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[2] +} + +func (x ResourceType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ResourceType.Descriptor instead. +func (ResourceType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{2} +} + +// Status of an entity (resource, deployment). +type Status int32 + +const ( + // Unknown state. + Status_STATUS_UNSPECIFIED Status = 0 + // Under progress. + Status_STATUS_IN_PROGRESS Status = 1 + // Running and ready to serve traffic. + Status_STATUS_ACTIVE Status = 2 + // Failed or stalled. + Status_STATUS_FAILED Status = 3 + // Delete in progress. + Status_STATUS_DELETING Status = 4 + // Deleted deployment. + Status_STATUS_DELETED Status = 5 + // NFDeploy specific status. Peering in progress. + Status_STATUS_PEERING Status = 10 +) + +// Enum value maps for Status. +var ( + Status_name = map[int32]string{ + 0: "STATUS_UNSPECIFIED", + 1: "STATUS_IN_PROGRESS", + 2: "STATUS_ACTIVE", + 3: "STATUS_FAILED", + 4: "STATUS_DELETING", + 5: "STATUS_DELETED", + 10: "STATUS_PEERING", + } + Status_value = map[string]int32{ + "STATUS_UNSPECIFIED": 0, + "STATUS_IN_PROGRESS": 1, + "STATUS_ACTIVE": 2, + "STATUS_FAILED": 3, + "STATUS_DELETING": 4, + "STATUS_DELETED": 5, + "STATUS_PEERING": 10, + } +) + +func (x Status) Enum() *Status { + p := new(Status) + *p = x + return p +} + +func (x Status) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Status) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[3].Descriptor() +} + +func (Status) Type() protoreflect.EnumType { + return &file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[3] +} + +func (x Status) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Status.Descriptor instead. +func (Status) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{3} +} + +// DeploymentLevel of a blueprint signifies where the blueprint will be +// applied. +type DeploymentLevel int32 + +const ( + // Default unspecified deployment level. + DeploymentLevel_DEPLOYMENT_LEVEL_UNSPECIFIED DeploymentLevel = 0 + // Blueprints at HYDRATION level cannot be used to create a Deployment + // (A user cannot manually initate deployment of these blueprints on + // orchestration or workload cluster). + // These blueprints stay in a user's private catalog and are configured and + // deployed by TNA automation. + DeploymentLevel_HYDRATION DeploymentLevel = 1 + // Blueprints at SINGLE_DEPLOYMENT level can be + // a) Modified in private catalog. + // b) Used to create a deployment on orchestration cluster by the user, once + // approved. + DeploymentLevel_SINGLE_DEPLOYMENT DeploymentLevel = 2 + // Blueprints at MULTI_DEPLOYMENT level can be + // a) Modified in private catalog. + // b) Used to create a deployment on orchestration cluster which will create + // further hydrated deployments. + DeploymentLevel_MULTI_DEPLOYMENT DeploymentLevel = 3 +) + +// Enum value maps for DeploymentLevel. +var ( + DeploymentLevel_name = map[int32]string{ + 0: "DEPLOYMENT_LEVEL_UNSPECIFIED", + 1: "HYDRATION", + 2: "SINGLE_DEPLOYMENT", + 3: "MULTI_DEPLOYMENT", + } + DeploymentLevel_value = map[string]int32{ + "DEPLOYMENT_LEVEL_UNSPECIFIED": 0, + "HYDRATION": 1, + "SINGLE_DEPLOYMENT": 2, + "MULTI_DEPLOYMENT": 3, + } +) + +func (x DeploymentLevel) Enum() *DeploymentLevel { + p := new(DeploymentLevel) + *p = x + return p +} + +func (x DeploymentLevel) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DeploymentLevel) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[4].Descriptor() +} + +func (DeploymentLevel) Type() protoreflect.EnumType { + return &file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[4] +} + +func (x DeploymentLevel) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DeploymentLevel.Descriptor instead. +func (DeploymentLevel) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{4} +} + +// Possible states that the Orchestration Cluster can be in. +type OrchestrationCluster_State int32 + +const ( + // Unspecified state. + OrchestrationCluster_STATE_UNSPECIFIED OrchestrationCluster_State = 0 + // OrchestrationCluster is being created. + OrchestrationCluster_CREATING OrchestrationCluster_State = 1 + // OrchestrationCluster has been created and is ready for use. + OrchestrationCluster_ACTIVE OrchestrationCluster_State = 2 + // OrchestrationCluster is being deleted. + OrchestrationCluster_DELETING OrchestrationCluster_State = 3 + // OrchestrationCluster encountered an error and is in an indeterministic + // state. User can still initiate a delete operation on this state. + OrchestrationCluster_FAILED OrchestrationCluster_State = 4 +) + +// Enum value maps for OrchestrationCluster_State. +var ( + OrchestrationCluster_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "CREATING", + 2: "ACTIVE", + 3: "DELETING", + 4: "FAILED", + } + OrchestrationCluster_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "CREATING": 1, + "ACTIVE": 2, + "DELETING": 3, + "FAILED": 4, + } +) + +func (x OrchestrationCluster_State) Enum() *OrchestrationCluster_State { + p := new(OrchestrationCluster_State) + *p = x + return p +} + +func (x OrchestrationCluster_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (OrchestrationCluster_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[5].Descriptor() +} + +func (OrchestrationCluster_State) Type() protoreflect.EnumType { + return &file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[5] +} + +func (x OrchestrationCluster_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use OrchestrationCluster_State.Descriptor instead. +func (OrchestrationCluster_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{0, 0} +} + +// Possible states of the resource. +type EdgeSlm_State int32 + +const ( + // Unspecified state. + EdgeSlm_STATE_UNSPECIFIED EdgeSlm_State = 0 + // EdgeSlm is being created. + EdgeSlm_CREATING EdgeSlm_State = 1 + // EdgeSlm has been created and is ready for use. + EdgeSlm_ACTIVE EdgeSlm_State = 2 + // EdgeSlm is being deleted. + EdgeSlm_DELETING EdgeSlm_State = 3 + // EdgeSlm encountered an error and is in an indeterministic + // state. User can still initiate a delete operation on this state. + EdgeSlm_FAILED EdgeSlm_State = 4 +) + +// Enum value maps for EdgeSlm_State. +var ( + EdgeSlm_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "CREATING", + 2: "ACTIVE", + 3: "DELETING", + 4: "FAILED", + } + EdgeSlm_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "CREATING": 1, + "ACTIVE": 2, + "DELETING": 3, + "FAILED": 4, + } +) + +func (x EdgeSlm_State) Enum() *EdgeSlm_State { + p := new(EdgeSlm_State) + *p = x + return p +} + +func (x EdgeSlm_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EdgeSlm_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[6].Descriptor() +} + +func (EdgeSlm_State) Type() protoreflect.EnumType { + return &file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[6] +} + +func (x EdgeSlm_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EdgeSlm_State.Descriptor instead. +func (EdgeSlm_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{1, 0} +} + +// Workload clusters supported by TNA. New values will be added to the enum +// list as TNA adds supports for new workload clusters in future. +type EdgeSlm_WorkloadClusterType int32 + +const ( + // Unspecified workload cluster. + EdgeSlm_WORKLOAD_CLUSTER_TYPE_UNSPECIFIED EdgeSlm_WorkloadClusterType = 0 + // Workload cluster is a GDCE cluster. + EdgeSlm_GDCE EdgeSlm_WorkloadClusterType = 1 + // Workload cluster is a GKE cluster. + EdgeSlm_GKE EdgeSlm_WorkloadClusterType = 2 +) + +// Enum value maps for EdgeSlm_WorkloadClusterType. +var ( + EdgeSlm_WorkloadClusterType_name = map[int32]string{ + 0: "WORKLOAD_CLUSTER_TYPE_UNSPECIFIED", + 1: "GDCE", + 2: "GKE", + } + EdgeSlm_WorkloadClusterType_value = map[string]int32{ + "WORKLOAD_CLUSTER_TYPE_UNSPECIFIED": 0, + "GDCE": 1, + "GKE": 2, + } +) + +func (x EdgeSlm_WorkloadClusterType) Enum() *EdgeSlm_WorkloadClusterType { + p := new(EdgeSlm_WorkloadClusterType) + *p = x + return p +} + +func (x EdgeSlm_WorkloadClusterType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EdgeSlm_WorkloadClusterType) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[7].Descriptor() +} + +func (EdgeSlm_WorkloadClusterType) Type() protoreflect.EnumType { + return &file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[7] +} + +func (x EdgeSlm_WorkloadClusterType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EdgeSlm_WorkloadClusterType.Descriptor instead. +func (EdgeSlm_WorkloadClusterType) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{1, 1} +} + +// Approval state indicates the state of a Blueprint in its approval +// lifecycle. +type Blueprint_ApprovalState int32 + +const ( + // Unspecified state. + Blueprint_APPROVAL_STATE_UNSPECIFIED Blueprint_ApprovalState = 0 + // A blueprint starts in DRAFT state once it is created. All edits are made + // to the blueprint in DRAFT state. + Blueprint_DRAFT Blueprint_ApprovalState = 1 + // When the edits are ready for review, blueprint can be proposed and moves + // to PROPOSED state. Edits cannot be made to a blueprint in PROPOSED state. + Blueprint_PROPOSED Blueprint_ApprovalState = 2 + // When a proposed blueprint is approved, it moves to APPROVED state. A new + // revision is committed. The latest committed revision can be used to + // create a deployment on Orchestration or Workload Cluster. Edits to an + // APPROVED blueprint changes its state back to DRAFT. The last committed + // revision of a blueprint represents its latest APPROVED state. + Blueprint_APPROVED Blueprint_ApprovalState = 3 +) + +// Enum value maps for Blueprint_ApprovalState. +var ( + Blueprint_ApprovalState_name = map[int32]string{ + 0: "APPROVAL_STATE_UNSPECIFIED", + 1: "DRAFT", + 2: "PROPOSED", + 3: "APPROVED", + } + Blueprint_ApprovalState_value = map[string]int32{ + "APPROVAL_STATE_UNSPECIFIED": 0, + "DRAFT": 1, + "PROPOSED": 2, + "APPROVED": 3, + } +) + +func (x Blueprint_ApprovalState) Enum() *Blueprint_ApprovalState { + p := new(Blueprint_ApprovalState) + *p = x + return p +} + +func (x Blueprint_ApprovalState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Blueprint_ApprovalState) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[8].Descriptor() +} + +func (Blueprint_ApprovalState) Type() protoreflect.EnumType { + return &file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[8] +} + +func (x Blueprint_ApprovalState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Blueprint_ApprovalState.Descriptor instead. +func (Blueprint_ApprovalState) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{2, 0} +} + +// State defines which state the current deployment is in. +type Deployment_State int32 + +const ( + // Unspecified state. + Deployment_STATE_UNSPECIFIED Deployment_State = 0 + // A deployment starts in DRAFT state. All edits are made in DRAFT state. A + // deployment opened for editing after applying will be in draft state, + // while its prevision revision will be its current applied version. + Deployment_DRAFT Deployment_State = 1 + // This state means that the contents (YAML files containing kubernetes + // resources) of the deployment have been applied to an Orchestration or + // Workload Cluster. A revision is created when a deployment is applied. + // This revision will represent the latest view of what is applied on the + // cluster until the deployment is modified and applied again, which will + // create a new revision. + Deployment_APPLIED Deployment_State = 2 + // A deployment in DELETING state has been marked for deletion. Its + // deletion status can be queried using `ComputeDeploymentStatus` API. No + // updates are allowed to a deployment in DELETING state. + Deployment_DELETING Deployment_State = 3 +) + +// Enum value maps for Deployment_State. +var ( + Deployment_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "DRAFT", + 2: "APPLIED", + 3: "DELETING", + } + Deployment_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "DRAFT": 1, + "APPLIED": 2, + "DELETING": 3, + } +) + +func (x Deployment_State) Enum() *Deployment_State { + p := new(Deployment_State) + *p = x + return p +} + +func (x Deployment_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Deployment_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[9].Descriptor() +} + +func (Deployment_State) Type() protoreflect.EnumType { + return &file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[9] +} + +func (x Deployment_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Deployment_State.Descriptor instead. +func (Deployment_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{4, 0} +} + +// State defines which state the current hydrated deployment is in. +type HydratedDeployment_State int32 + +const ( + // Unspecified state. + HydratedDeployment_STATE_UNSPECIFIED HydratedDeployment_State = 0 + // A hydrated deployment starts in DRAFT state. All edits are made in DRAFT + // state. + HydratedDeployment_DRAFT HydratedDeployment_State = 1 + // When the edit is applied, the hydrated deployment moves to APPLIED + // state. No changes can be made once a hydrated deployment is applied. + HydratedDeployment_APPLIED HydratedDeployment_State = 2 +) + +// Enum value maps for HydratedDeployment_State. +var ( + HydratedDeployment_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "DRAFT", + 2: "APPLIED", + } + HydratedDeployment_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "DRAFT": 1, + "APPLIED": 2, + } +) + +func (x HydratedDeployment_State) Enum() *HydratedDeployment_State { + p := new(HydratedDeployment_State) + *p = x + return p +} + +func (x HydratedDeployment_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (HydratedDeployment_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[10].Descriptor() +} + +func (HydratedDeployment_State) Type() protoreflect.EnumType { + return &file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes[10] +} + +func (x HydratedDeployment_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use HydratedDeployment_State.Descriptor instead. +func (HydratedDeployment_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{5, 0} +} + +// Orchestration cluster represents a GKE cluster with config controller and +// TNA specific components installed on it. +type OrchestrationCluster struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the orchestration cluster. The name of orchestration cluster cannot + // be more than 24 characters. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Management configuration of the underlying GKE cluster. + ManagementConfig *ManagementConfig `protobuf:"bytes,5,opt,name=management_config,json=managementConfig,proto3" json:"management_config,omitempty"` + // Output only. [Output only] Create time stamp. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. [Output only] Update time stamp. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Labels as key value pairs. + Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Provides the TNA version installed on the cluster. + TnaVersion string `protobuf:"bytes,6,opt,name=tna_version,json=tnaVersion,proto3" json:"tna_version,omitempty"` + // Output only. State of the Orchestration Cluster. + State OrchestrationCluster_State `protobuf:"varint,7,opt,name=state,proto3,enum=google.cloud.telcoautomation.v1.OrchestrationCluster_State" json:"state,omitempty"` +} + +func (x *OrchestrationCluster) Reset() { + *x = OrchestrationCluster{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrchestrationCluster) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrchestrationCluster) ProtoMessage() {} + +func (x *OrchestrationCluster) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrchestrationCluster.ProtoReflect.Descriptor instead. +func (*OrchestrationCluster) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{0} +} + +func (x *OrchestrationCluster) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *OrchestrationCluster) GetManagementConfig() *ManagementConfig { + if x != nil { + return x.ManagementConfig + } + return nil +} + +func (x *OrchestrationCluster) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *OrchestrationCluster) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *OrchestrationCluster) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *OrchestrationCluster) GetTnaVersion() string { + if x != nil { + return x.TnaVersion + } + return "" +} + +func (x *OrchestrationCluster) GetState() OrchestrationCluster_State { + if x != nil { + return x.State + } + return OrchestrationCluster_STATE_UNSPECIFIED +} + +// EdgeSlm represents an SLM instance which manages the lifecycle of edge +// components installed on Workload clusters managed by an Orchestration +// Cluster. +type EdgeSlm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the EdgeSlm resource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Immutable. Reference to the orchestration cluster on which templates for + // this resources will be applied. This should be of format + // projects/{project}/locations/{location}/orchestrationClusters/{orchestration_cluster}. + OrchestrationCluster string `protobuf:"bytes,5,opt,name=orchestration_cluster,json=orchestrationCluster,proto3" json:"orchestration_cluster,omitempty"` + // Output only. [Output only] Create time stamp. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. [Output only] Update time stamp. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Optional. Labels as key value pairs. The key and value should contain + // characters which are UTF-8 compliant and less than 50 characters. + Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Provides the active TNA version for this resource. + TnaVersion string `protobuf:"bytes,6,opt,name=tna_version,json=tnaVersion,proto3" json:"tna_version,omitempty"` + // Output only. State of the EdgeSlm resource. + State EdgeSlm_State `protobuf:"varint,7,opt,name=state,proto3,enum=google.cloud.telcoautomation.v1.EdgeSlm_State" json:"state,omitempty"` + // Optional. Type of workload cluster for which an EdgeSLM resource is + // created. + WorkloadClusterType EdgeSlm_WorkloadClusterType `protobuf:"varint,8,opt,name=workload_cluster_type,json=workloadClusterType,proto3,enum=google.cloud.telcoautomation.v1.EdgeSlm_WorkloadClusterType" json:"workload_cluster_type,omitempty"` +} + +func (x *EdgeSlm) Reset() { + *x = EdgeSlm{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EdgeSlm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EdgeSlm) ProtoMessage() {} + +func (x *EdgeSlm) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EdgeSlm.ProtoReflect.Descriptor instead. +func (*EdgeSlm) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{1} +} + +func (x *EdgeSlm) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EdgeSlm) GetOrchestrationCluster() string { + if x != nil { + return x.OrchestrationCluster + } + return "" +} + +func (x *EdgeSlm) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *EdgeSlm) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *EdgeSlm) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *EdgeSlm) GetTnaVersion() string { + if x != nil { + return x.TnaVersion + } + return "" +} + +func (x *EdgeSlm) GetState() EdgeSlm_State { + if x != nil { + return x.State + } + return EdgeSlm_STATE_UNSPECIFIED +} + +func (x *EdgeSlm) GetWorkloadClusterType() EdgeSlm_WorkloadClusterType { + if x != nil { + return x.WorkloadClusterType + } + return EdgeSlm_WORKLOAD_CLUSTER_TYPE_UNSPECIFIED +} + +// A Blueprint contains a collection of kubernetes resources in the form of +// YAML files. The file contents of a blueprint are collectively known as +// package. A blueprint can be +// a) imported from TNA's public catalog +// b) modified as per a user's need +// c) proposed and approved. +// On approval, a revision of blueprint is created which can be used to +// create a deployment on Orchestration or Workload Cluster. +type Blueprint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the blueprint. If unspecified, the name will be autogenerated + // from server side. Name of the blueprint must not contain `@` character. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Immutable. The revision ID of the blueprint. + // A new revision is committed whenever a blueprint is approved. + RevisionId string `protobuf:"bytes,2,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` + // Required. Immutable. The public blueprint ID from which this blueprint was + // created. + SourceBlueprint string `protobuf:"bytes,3,opt,name=source_blueprint,json=sourceBlueprint,proto3" json:"source_blueprint,omitempty"` + // Output only. The timestamp that the revision was created. + RevisionCreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=revision_create_time,json=revisionCreateTime,proto3" json:"revision_create_time,omitempty"` + // Output only. Approval state of the blueprint (DRAFT, PROPOSED, APPROVED) + ApprovalState Blueprint_ApprovalState `protobuf:"varint,6,opt,name=approval_state,json=approvalState,proto3,enum=google.cloud.telcoautomation.v1.Blueprint_ApprovalState" json:"approval_state,omitempty"` + // Optional. Human readable name of a Blueprint. + DisplayName string `protobuf:"bytes,7,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. Name of the repository where the blueprint files are stored. + Repository string `protobuf:"bytes,8,opt,name=repository,proto3" json:"repository,omitempty"` + // Optional. Files present in a blueprint. + // When invoking UpdateBlueprint API, only the modified files should be + // included in this. Files that are not included in the update of a blueprint + // will not be changed. + Files []*File `protobuf:"bytes,9,rep,name=files,proto3" json:"files,omitempty"` + // Optional. Labels are key-value attributes that can be set on a blueprint + // resource by the user. + Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Blueprint creation time. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The timestamp when the blueprint was updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Source provider is the author of a public blueprint, from + // which this blueprint is created. + SourceProvider string `protobuf:"bytes,13,opt,name=source_provider,json=sourceProvider,proto3" json:"source_provider,omitempty"` + // Output only. DeploymentLevel of a blueprint signifies where the blueprint + // will be applied. e.g. [HYDRATION, SINGLE_DEPLOYMENT, MULTI_DEPLOYMENT] + DeploymentLevel DeploymentLevel `protobuf:"varint,14,opt,name=deployment_level,json=deploymentLevel,proto3,enum=google.cloud.telcoautomation.v1.DeploymentLevel" json:"deployment_level,omitempty"` + // Output only. Indicates if the deployment created from this blueprint can be + // rolled back. + RollbackSupport bool `protobuf:"varint,15,opt,name=rollback_support,json=rollbackSupport,proto3" json:"rollback_support,omitempty"` +} + +func (x *Blueprint) Reset() { + *x = Blueprint{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Blueprint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Blueprint) ProtoMessage() {} + +func (x *Blueprint) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Blueprint.ProtoReflect.Descriptor instead. +func (*Blueprint) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{2} +} + +func (x *Blueprint) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Blueprint) GetRevisionId() string { + if x != nil { + return x.RevisionId + } + return "" +} + +func (x *Blueprint) GetSourceBlueprint() string { + if x != nil { + return x.SourceBlueprint + } + return "" +} + +func (x *Blueprint) GetRevisionCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.RevisionCreateTime + } + return nil +} + +func (x *Blueprint) GetApprovalState() Blueprint_ApprovalState { + if x != nil { + return x.ApprovalState + } + return Blueprint_APPROVAL_STATE_UNSPECIFIED +} + +func (x *Blueprint) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Blueprint) GetRepository() string { + if x != nil { + return x.Repository + } + return "" +} + +func (x *Blueprint) GetFiles() []*File { + if x != nil { + return x.Files + } + return nil +} + +func (x *Blueprint) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Blueprint) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Blueprint) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Blueprint) GetSourceProvider() string { + if x != nil { + return x.SourceProvider + } + return "" +} + +func (x *Blueprint) GetDeploymentLevel() DeploymentLevel { + if x != nil { + return x.DeploymentLevel + } + return DeploymentLevel_DEPLOYMENT_LEVEL_UNSPECIFIED +} + +func (x *Blueprint) GetRollbackSupport() bool { + if x != nil { + return x.RollbackSupport + } + return false +} + +// A Blueprint contains a collection of kubernetes resources in the form of +// YAML files. The file contents of a blueprint are collectively known as +// package. +// Public blueprint is a TNA provided blueprint that in present in TNA's public +// catalog. A user can copy the public blueprint to their private catalog for +// further modifications. +type PublicBlueprint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the public blueprint. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The display name of the public blueprint. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // The description of the public blueprint. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // DeploymentLevel of a blueprint signifies where the blueprint will be + // applied. e.g. [HYDRATION, SINGLE_DEPLOYMENT, MULTI_DEPLOYMENT] + DeploymentLevel DeploymentLevel `protobuf:"varint,4,opt,name=deployment_level,json=deploymentLevel,proto3,enum=google.cloud.telcoautomation.v1.DeploymentLevel" json:"deployment_level,omitempty"` + // Source provider is the author of a public blueprint. e.g. Google, vendors + SourceProvider string `protobuf:"bytes,5,opt,name=source_provider,json=sourceProvider,proto3" json:"source_provider,omitempty"` + // Output only. Indicates if the deployment created from this blueprint can be + // rolled back. + RollbackSupport bool `protobuf:"varint,15,opt,name=rollback_support,json=rollbackSupport,proto3" json:"rollback_support,omitempty"` +} + +func (x *PublicBlueprint) Reset() { + *x = PublicBlueprint{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublicBlueprint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublicBlueprint) ProtoMessage() {} + +func (x *PublicBlueprint) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PublicBlueprint.ProtoReflect.Descriptor instead. +func (*PublicBlueprint) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{3} +} + +func (x *PublicBlueprint) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PublicBlueprint) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *PublicBlueprint) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *PublicBlueprint) GetDeploymentLevel() DeploymentLevel { + if x != nil { + return x.DeploymentLevel + } + return DeploymentLevel_DEPLOYMENT_LEVEL_UNSPECIFIED +} + +func (x *PublicBlueprint) GetSourceProvider() string { + if x != nil { + return x.SourceProvider + } + return "" +} + +func (x *PublicBlueprint) GetRollbackSupport() bool { + if x != nil { + return x.RollbackSupport + } + return false +} + +// Deployment contains a collection of YAML files (This collection is also known +// as package) that can to applied on an orchestration cluster (GKE cluster with +// TNA addons) or a workload cluster. +type Deployment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the deployment. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Immutable. The revision ID of the deployment. + // A new revision is committed whenever a change in deployment is applied. + RevisionId string `protobuf:"bytes,2,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` + // Required. The blueprint revision from which this deployment was created. + SourceBlueprintRevision string `protobuf:"bytes,3,opt,name=source_blueprint_revision,json=sourceBlueprintRevision,proto3" json:"source_blueprint_revision,omitempty"` + // Output only. The timestamp that the revision was created. + RevisionCreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=revision_create_time,json=revisionCreateTime,proto3" json:"revision_create_time,omitempty"` + // Output only. State of the deployment (DRAFT, APPLIED, DELETING). + State Deployment_State `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.telcoautomation.v1.Deployment_State" json:"state,omitempty"` + // Optional. Human readable name of a Deployment. + DisplayName string `protobuf:"bytes,6,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Output only. Name of the repository where the deployment package files are + // stored. + Repository string `protobuf:"bytes,7,opt,name=repository,proto3" json:"repository,omitempty"` + // Optional. Files present in a deployment. + // When invoking UpdateDeployment API, only the modified files should be + // included in this. Files that are not included in the update of a deployment + // will not be changed. + Files []*File `protobuf:"bytes,8,rep,name=files,proto3" json:"files,omitempty"` + // Optional. Labels are key-value attributes that can be set on a deployment + // resource by the user. + Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. Deployment creation time. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The timestamp when the deployment was updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. Source provider is the author of a public blueprint, from + // which this deployment is created. + SourceProvider string `protobuf:"bytes,12,opt,name=source_provider,json=sourceProvider,proto3" json:"source_provider,omitempty"` + // Optional. Immutable. The WorkloadCluster on which to create the Deployment. + WorkloadCluster string `protobuf:"bytes,13,opt,name=workload_cluster,json=workloadCluster,proto3" json:"workload_cluster,omitempty"` + // Output only. Attributes to where the deployment can inflict changes. The + // value can only be [SINGLE_DEPLOYMENT, MULTI_DEPLOYMENT]. + DeploymentLevel DeploymentLevel `protobuf:"varint,14,opt,name=deployment_level,json=deploymentLevel,proto3,enum=google.cloud.telcoautomation.v1.DeploymentLevel" json:"deployment_level,omitempty"` + // Output only. Indicates if the deployment can be rolled back, exported from + // public blueprint. + RollbackSupport bool `protobuf:"varint,15,opt,name=rollback_support,json=rollbackSupport,proto3" json:"rollback_support,omitempty"` +} + +func (x *Deployment) Reset() { + *x = Deployment{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Deployment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Deployment) ProtoMessage() {} + +func (x *Deployment) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Deployment.ProtoReflect.Descriptor instead. +func (*Deployment) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{4} +} + +func (x *Deployment) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Deployment) GetRevisionId() string { + if x != nil { + return x.RevisionId + } + return "" +} + +func (x *Deployment) GetSourceBlueprintRevision() string { + if x != nil { + return x.SourceBlueprintRevision + } + return "" +} + +func (x *Deployment) GetRevisionCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.RevisionCreateTime + } + return nil +} + +func (x *Deployment) GetState() Deployment_State { + if x != nil { + return x.State + } + return Deployment_STATE_UNSPECIFIED +} + +func (x *Deployment) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Deployment) GetRepository() string { + if x != nil { + return x.Repository + } + return "" +} + +func (x *Deployment) GetFiles() []*File { + if x != nil { + return x.Files + } + return nil +} + +func (x *Deployment) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Deployment) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Deployment) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Deployment) GetSourceProvider() string { + if x != nil { + return x.SourceProvider + } + return "" +} + +func (x *Deployment) GetWorkloadCluster() string { + if x != nil { + return x.WorkloadCluster + } + return "" +} + +func (x *Deployment) GetDeploymentLevel() DeploymentLevel { + if x != nil { + return x.DeploymentLevel + } + return DeploymentLevel_DEPLOYMENT_LEVEL_UNSPECIFIED +} + +func (x *Deployment) GetRollbackSupport() bool { + if x != nil { + return x.RollbackSupport + } + return false +} + +// A collection of kubernetes yaml files which are deployed on a Workload +// Cluster. Hydrated Deployments are created by TNA intent based automation. +type HydratedDeployment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of the hydrated deployment. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. State of the hydrated deployment (DRAFT, APPLIED). + State HydratedDeployment_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.cloud.telcoautomation.v1.HydratedDeployment_State" json:"state,omitempty"` + // Optional. File contents of a hydrated deployment. + // When invoking UpdateHydratedBlueprint API, only the modified files should + // be included in this. Files that are not included in the update of a + // hydrated deployment will not be changed. + Files []*File `protobuf:"bytes,3,rep,name=files,proto3" json:"files,omitempty"` + // Output only. WorkloadCluster identifies which workload cluster will the + // hydrated deployment will be deployed on. + WorkloadCluster string `protobuf:"bytes,4,opt,name=workload_cluster,json=workloadCluster,proto3" json:"workload_cluster,omitempty"` +} + +func (x *HydratedDeployment) Reset() { + *x = HydratedDeployment{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HydratedDeployment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HydratedDeployment) ProtoMessage() {} + +func (x *HydratedDeployment) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HydratedDeployment.ProtoReflect.Descriptor instead. +func (*HydratedDeployment) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{5} +} + +func (x *HydratedDeployment) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *HydratedDeployment) GetState() HydratedDeployment_State { + if x != nil { + return x.State + } + return HydratedDeployment_STATE_UNSPECIFIED +} + +func (x *HydratedDeployment) GetFiles() []*File { + if x != nil { + return x.Files + } + return nil +} + +func (x *HydratedDeployment) GetWorkloadCluster() string { + if x != nil { + return x.WorkloadCluster + } + return "" +} + +// Message for requesting list of OrchestrationClusters. +type ListOrchestrationClustersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Parent value for ListOrchestrationClustersRequest + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A token identifying a page of results the server should return. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Filtering results. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Hint for how to order the results. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListOrchestrationClustersRequest) Reset() { + *x = ListOrchestrationClustersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListOrchestrationClustersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListOrchestrationClustersRequest) ProtoMessage() {} + +func (x *ListOrchestrationClustersRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListOrchestrationClustersRequest.ProtoReflect.Descriptor instead. +func (*ListOrchestrationClustersRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{6} +} + +func (x *ListOrchestrationClustersRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListOrchestrationClustersRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListOrchestrationClustersRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListOrchestrationClustersRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListOrchestrationClustersRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Message for response to listing OrchestrationClusters. +type ListOrchestrationClustersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of OrchestrationCluster + OrchestrationClusters []*OrchestrationCluster `protobuf:"bytes,1,rep,name=orchestration_clusters,json=orchestrationClusters,proto3" json:"orchestration_clusters,omitempty"` + // A token identifying a page of results the server should return. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Locations that could not be reached. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListOrchestrationClustersResponse) Reset() { + *x = ListOrchestrationClustersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListOrchestrationClustersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListOrchestrationClustersResponse) ProtoMessage() {} + +func (x *ListOrchestrationClustersResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListOrchestrationClustersResponse.ProtoReflect.Descriptor instead. +func (*ListOrchestrationClustersResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{7} +} + +func (x *ListOrchestrationClustersResponse) GetOrchestrationClusters() []*OrchestrationCluster { + if x != nil { + return x.OrchestrationClusters + } + return nil +} + +func (x *ListOrchestrationClustersResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListOrchestrationClustersResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Message for getting a OrchestrationCluster. +type GetOrchestrationClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the resource + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetOrchestrationClusterRequest) Reset() { + *x = GetOrchestrationClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetOrchestrationClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetOrchestrationClusterRequest) ProtoMessage() {} + +func (x *GetOrchestrationClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetOrchestrationClusterRequest.ProtoReflect.Descriptor instead. +func (*GetOrchestrationClusterRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{8} +} + +func (x *GetOrchestrationClusterRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Message for creating a OrchestrationCluster. +type CreateOrchestrationClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Value for parent. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. Id of the requesting object + // If auto-generating Id server-side, remove this field and + // orchestration_cluster_id from the method_signature of Create RPC + OrchestrationClusterId string `protobuf:"bytes,2,opt,name=orchestration_cluster_id,json=orchestrationClusterId,proto3" json:"orchestration_cluster_id,omitempty"` + // Required. The resource being created + OrchestrationCluster *OrchestrationCluster `protobuf:"bytes,3,opt,name=orchestration_cluster,json=orchestrationCluster,proto3" json:"orchestration_cluster,omitempty"` + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *CreateOrchestrationClusterRequest) Reset() { + *x = CreateOrchestrationClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateOrchestrationClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateOrchestrationClusterRequest) ProtoMessage() {} + +func (x *CreateOrchestrationClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateOrchestrationClusterRequest.ProtoReflect.Descriptor instead. +func (*CreateOrchestrationClusterRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{9} +} + +func (x *CreateOrchestrationClusterRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateOrchestrationClusterRequest) GetOrchestrationClusterId() string { + if x != nil { + return x.OrchestrationClusterId + } + return "" +} + +func (x *CreateOrchestrationClusterRequest) GetOrchestrationCluster() *OrchestrationCluster { + if x != nil { + return x.OrchestrationCluster + } + return nil +} + +func (x *CreateOrchestrationClusterRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Message for deleting a OrchestrationCluster. +type DeleteOrchestrationClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the resource + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *DeleteOrchestrationClusterRequest) Reset() { + *x = DeleteOrchestrationClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteOrchestrationClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteOrchestrationClusterRequest) ProtoMessage() {} + +func (x *DeleteOrchestrationClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteOrchestrationClusterRequest.ProtoReflect.Descriptor instead. +func (*DeleteOrchestrationClusterRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{10} +} + +func (x *DeleteOrchestrationClusterRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteOrchestrationClusterRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Message for requesting list of EdgeSlms +type ListEdgeSlmsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Parent value for ListEdgeSlmsRequest + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Requested page size. Server may return fewer items than requested. + // If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A token identifying a page of results the server should return. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Filtering results + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Hint for how to order the results + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListEdgeSlmsRequest) Reset() { + *x = ListEdgeSlmsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEdgeSlmsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEdgeSlmsRequest) ProtoMessage() {} + +func (x *ListEdgeSlmsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEdgeSlmsRequest.ProtoReflect.Descriptor instead. +func (*ListEdgeSlmsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{11} +} + +func (x *ListEdgeSlmsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListEdgeSlmsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListEdgeSlmsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListEdgeSlmsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListEdgeSlmsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Message for response to listing EdgeSlms. +type ListEdgeSlmsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of EdgeSlm + EdgeSlms []*EdgeSlm `protobuf:"bytes,1,rep,name=edge_slms,json=edgeSlms,proto3" json:"edge_slms,omitempty"` + // A token identifying a page of results the server should return. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Locations that could not be reached. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListEdgeSlmsResponse) Reset() { + *x = ListEdgeSlmsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListEdgeSlmsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListEdgeSlmsResponse) ProtoMessage() {} + +func (x *ListEdgeSlmsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListEdgeSlmsResponse.ProtoReflect.Descriptor instead. +func (*ListEdgeSlmsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{12} +} + +func (x *ListEdgeSlmsResponse) GetEdgeSlms() []*EdgeSlm { + if x != nil { + return x.EdgeSlms + } + return nil +} + +func (x *ListEdgeSlmsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListEdgeSlmsResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Message for getting a EdgeSlm. +type GetEdgeSlmRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the resource + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetEdgeSlmRequest) Reset() { + *x = GetEdgeSlmRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetEdgeSlmRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEdgeSlmRequest) ProtoMessage() {} + +func (x *GetEdgeSlmRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEdgeSlmRequest.ProtoReflect.Descriptor instead. +func (*GetEdgeSlmRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{13} +} + +func (x *GetEdgeSlmRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Message for creating a EdgeSlm. +type CreateEdgeSlmRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Value for parent. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. Id of the requesting object + // If auto-generating Id server-side, remove this field and + // edge_slm_id from the method_signature of Create RPC + EdgeSlmId string `protobuf:"bytes,2,opt,name=edge_slm_id,json=edgeSlmId,proto3" json:"edge_slm_id,omitempty"` + // Required. The resource being created + EdgeSlm *EdgeSlm `protobuf:"bytes,3,opt,name=edge_slm,json=edgeSlm,proto3" json:"edge_slm,omitempty"` + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *CreateEdgeSlmRequest) Reset() { + *x = CreateEdgeSlmRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateEdgeSlmRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEdgeSlmRequest) ProtoMessage() {} + +func (x *CreateEdgeSlmRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateEdgeSlmRequest.ProtoReflect.Descriptor instead. +func (*CreateEdgeSlmRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{14} +} + +func (x *CreateEdgeSlmRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateEdgeSlmRequest) GetEdgeSlmId() string { + if x != nil { + return x.EdgeSlmId + } + return "" +} + +func (x *CreateEdgeSlmRequest) GetEdgeSlm() *EdgeSlm { + if x != nil { + return x.EdgeSlm + } + return nil +} + +func (x *CreateEdgeSlmRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Message for deleting a EdgeSlm. +type DeleteEdgeSlmRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the resource + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and + // the request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *DeleteEdgeSlmRequest) Reset() { + *x = DeleteEdgeSlmRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteEdgeSlmRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteEdgeSlmRequest) ProtoMessage() {} + +func (x *DeleteEdgeSlmRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteEdgeSlmRequest.ProtoReflect.Descriptor instead. +func (*DeleteEdgeSlmRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{15} +} + +func (x *DeleteEdgeSlmRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteEdgeSlmRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request object for `CreateBlueprint`. +type CreateBlueprintRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of parent resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The name of the blueprint. + BlueprintId string `protobuf:"bytes,2,opt,name=blueprint_id,json=blueprintId,proto3" json:"blueprint_id,omitempty"` + // Required. The `Blueprint` to create. + Blueprint *Blueprint `protobuf:"bytes,3,opt,name=blueprint,proto3" json:"blueprint,omitempty"` +} + +func (x *CreateBlueprintRequest) Reset() { + *x = CreateBlueprintRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateBlueprintRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateBlueprintRequest) ProtoMessage() {} + +func (x *CreateBlueprintRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateBlueprintRequest.ProtoReflect.Descriptor instead. +func (*CreateBlueprintRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{16} +} + +func (x *CreateBlueprintRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateBlueprintRequest) GetBlueprintId() string { + if x != nil { + return x.BlueprintId + } + return "" +} + +func (x *CreateBlueprintRequest) GetBlueprint() *Blueprint { + if x != nil { + return x.Blueprint + } + return nil +} + +// Request object for `UpdateBlueprint`. +type UpdateBlueprintRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The `blueprint` to update. + Blueprint *Blueprint `protobuf:"bytes,1,opt,name=blueprint,proto3" json:"blueprint,omitempty"` + // Required. Update mask is used to specify the fields to be overwritten in + // the `blueprint` resource by the update. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateBlueprintRequest) Reset() { + *x = UpdateBlueprintRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateBlueprintRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateBlueprintRequest) ProtoMessage() {} + +func (x *UpdateBlueprintRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateBlueprintRequest.ProtoReflect.Descriptor instead. +func (*UpdateBlueprintRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{17} +} + +func (x *UpdateBlueprintRequest) GetBlueprint() *Blueprint { + if x != nil { + return x.Blueprint + } + return nil +} + +func (x *UpdateBlueprintRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request object for `GetBlueprint`. +type GetBlueprintRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the blueprint. + // Case 1: If the name provided in the request is + // {blueprint_id}@{revision_id}, then the revision with revision_id will be + // returned. Case 2: If the name provided in the request is {blueprint}, then + // the current state of the blueprint is returned. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Defines the type of view of the blueprint. + // When field is not present BLUEPRINT_VIEW_BASIC is considered as default. + View BlueprintView `protobuf:"varint,2,opt,name=view,proto3,enum=google.cloud.telcoautomation.v1.BlueprintView" json:"view,omitempty"` +} + +func (x *GetBlueprintRequest) Reset() { + *x = GetBlueprintRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetBlueprintRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBlueprintRequest) ProtoMessage() {} + +func (x *GetBlueprintRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetBlueprintRequest.ProtoReflect.Descriptor instead. +func (*GetBlueprintRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{18} +} + +func (x *GetBlueprintRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetBlueprintRequest) GetView() BlueprintView { + if x != nil { + return x.View + } + return BlueprintView_BLUEPRINT_VIEW_UNSPECIFIED +} + +// Request object for `DeleteBlueprint`. +type DeleteBlueprintRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of blueprint to delete. + // Blueprint name should be in the format {blueprint_id}, if + // {blueprint_id}@{revision_id} is passed then the API throws invalid + // argument. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteBlueprintRequest) Reset() { + *x = DeleteBlueprintRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteBlueprintRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteBlueprintRequest) ProtoMessage() {} + +func (x *DeleteBlueprintRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteBlueprintRequest.ProtoReflect.Descriptor instead. +func (*DeleteBlueprintRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{19} +} + +func (x *DeleteBlueprintRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request object for `ListBlueprints`. +type ListBlueprintsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of parent orchestration cluster resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Filtering only supports equality on blueprint state. + // It should be in the form: "state = DRAFT". `OR` operator can be used to + // get response for multiple states. e.g. "state = DRAFT OR state = PROPOSED". + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. The maximum number of blueprints to return per page. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The page token, received from a previous ListBlueprints call. + // It can be provided to retrieve the subsequent page. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListBlueprintsRequest) Reset() { + *x = ListBlueprintsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListBlueprintsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBlueprintsRequest) ProtoMessage() {} + +func (x *ListBlueprintsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListBlueprintsRequest.ProtoReflect.Descriptor instead. +func (*ListBlueprintsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{20} +} + +func (x *ListBlueprintsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListBlueprintsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListBlueprintsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListBlueprintsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response object for `ListBlueprints`. +type ListBlueprintsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of requested blueprints. + Blueprints []*Blueprint `protobuf:"bytes,1,rep,name=blueprints,proto3" json:"blueprints,omitempty"` + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListBlueprintsResponse) Reset() { + *x = ListBlueprintsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListBlueprintsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBlueprintsResponse) ProtoMessage() {} + +func (x *ListBlueprintsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListBlueprintsResponse.ProtoReflect.Descriptor instead. +func (*ListBlueprintsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{21} +} + +func (x *ListBlueprintsResponse) GetBlueprints() []*Blueprint { + if x != nil { + return x.Blueprints + } + return nil +} + +func (x *ListBlueprintsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request object for `ApproveBlueprint`. +type ApproveBlueprintRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the blueprint to approve. The blueprint must be in + // Proposed state. A new revision is committed on approval. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *ApproveBlueprintRequest) Reset() { + *x = ApproveBlueprintRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApproveBlueprintRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApproveBlueprintRequest) ProtoMessage() {} + +func (x *ApproveBlueprintRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApproveBlueprintRequest.ProtoReflect.Descriptor instead. +func (*ApproveBlueprintRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{22} +} + +func (x *ApproveBlueprintRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request object for `ProposeBlueprint`. +type ProposeBlueprintRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the blueprint being proposed. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *ProposeBlueprintRequest) Reset() { + *x = ProposeBlueprintRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProposeBlueprintRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProposeBlueprintRequest) ProtoMessage() {} + +func (x *ProposeBlueprintRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProposeBlueprintRequest.ProtoReflect.Descriptor instead. +func (*ProposeBlueprintRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{23} +} + +func (x *ProposeBlueprintRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request object for `RejectBlueprint`. +type RejectBlueprintRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the blueprint being rejected. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *RejectBlueprintRequest) Reset() { + *x = RejectBlueprintRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RejectBlueprintRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejectBlueprintRequest) ProtoMessage() {} + +func (x *RejectBlueprintRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejectBlueprintRequest.ProtoReflect.Descriptor instead. +func (*RejectBlueprintRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{24} +} + +func (x *RejectBlueprintRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request object for `ListBlueprintRevisions`. +type ListBlueprintRevisionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the blueprint to list revisions for. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The maximum number of revisions to return per page. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The page token, received from a previous ListBlueprintRevisions call + // It can be provided to retrieve the subsequent page. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListBlueprintRevisionsRequest) Reset() { + *x = ListBlueprintRevisionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListBlueprintRevisionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBlueprintRevisionsRequest) ProtoMessage() {} + +func (x *ListBlueprintRevisionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListBlueprintRevisionsRequest.ProtoReflect.Descriptor instead. +func (*ListBlueprintRevisionsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{25} +} + +func (x *ListBlueprintRevisionsRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListBlueprintRevisionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListBlueprintRevisionsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response object for `ListBlueprintRevisions`. +type ListBlueprintRevisionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The revisions of the blueprint. + Blueprints []*Blueprint `protobuf:"bytes,1,rep,name=blueprints,proto3" json:"blueprints,omitempty"` + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListBlueprintRevisionsResponse) Reset() { + *x = ListBlueprintRevisionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListBlueprintRevisionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBlueprintRevisionsResponse) ProtoMessage() {} + +func (x *ListBlueprintRevisionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListBlueprintRevisionsResponse.ProtoReflect.Descriptor instead. +func (*ListBlueprintRevisionsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{26} +} + +func (x *ListBlueprintRevisionsResponse) GetBlueprints() []*Blueprint { + if x != nil { + return x.Blueprints + } + return nil +} + +func (x *ListBlueprintRevisionsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request object for `SearchBlueprintRevisions`. +type SearchBlueprintRevisionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of parent orchestration cluster resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. Supported queries: + // 1. "" : Lists all revisions across all blueprints. + // 2. "latest=true" : Lists latest revisions across all blueprints. + // 3. "name=" : Lists all revisions of blueprint with name + // . + // 4. "name= latest=true": Lists latest revision of blueprint with name + // + Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + // Optional. The maximum number of blueprints revisions to return per page. + // max page size = 100, default page size = 20. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The page token, received from a previous search call. + // It can be provided to retrieve the subsequent page. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *SearchBlueprintRevisionsRequest) Reset() { + *x = SearchBlueprintRevisionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchBlueprintRevisionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchBlueprintRevisionsRequest) ProtoMessage() {} + +func (x *SearchBlueprintRevisionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchBlueprintRevisionsRequest.ProtoReflect.Descriptor instead. +func (*SearchBlueprintRevisionsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{27} +} + +func (x *SearchBlueprintRevisionsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *SearchBlueprintRevisionsRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *SearchBlueprintRevisionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *SearchBlueprintRevisionsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response object for `SearchBlueprintRevisions`. +type SearchBlueprintRevisionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of requested blueprint revisions. + Blueprints []*Blueprint `protobuf:"bytes,1,rep,name=blueprints,proto3" json:"blueprints,omitempty"` + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *SearchBlueprintRevisionsResponse) Reset() { + *x = SearchBlueprintRevisionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchBlueprintRevisionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchBlueprintRevisionsResponse) ProtoMessage() {} + +func (x *SearchBlueprintRevisionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchBlueprintRevisionsResponse.ProtoReflect.Descriptor instead. +func (*SearchBlueprintRevisionsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{28} +} + +func (x *SearchBlueprintRevisionsResponse) GetBlueprints() []*Blueprint { + if x != nil { + return x.Blueprints + } + return nil +} + +func (x *SearchBlueprintRevisionsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request object for `DiscardBlueprintChanges`. +type DiscardBlueprintChangesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the blueprint of which changes are being discarded. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DiscardBlueprintChangesRequest) Reset() { + *x = DiscardBlueprintChangesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscardBlueprintChangesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscardBlueprintChangesRequest) ProtoMessage() {} + +func (x *DiscardBlueprintChangesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscardBlueprintChangesRequest.ProtoReflect.Descriptor instead. +func (*DiscardBlueprintChangesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{29} +} + +func (x *DiscardBlueprintChangesRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Response object for `DiscardBlueprintChanges`. +type DiscardBlueprintChangesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DiscardBlueprintChangesResponse) Reset() { + *x = DiscardBlueprintChangesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscardBlueprintChangesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscardBlueprintChangesResponse) ProtoMessage() {} + +func (x *DiscardBlueprintChangesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscardBlueprintChangesResponse.ProtoReflect.Descriptor instead. +func (*DiscardBlueprintChangesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{30} +} + +// Request object for `ListPublicBlueprints`. +type ListPublicBlueprintsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Parent value of public blueprint. + // Format should be - + // "projects/{project_id}/locations/{location_name}". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. A token identifying a page of results the server should return. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListPublicBlueprintsRequest) Reset() { + *x = ListPublicBlueprintsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPublicBlueprintsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPublicBlueprintsRequest) ProtoMessage() {} + +func (x *ListPublicBlueprintsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPublicBlueprintsRequest.ProtoReflect.Descriptor instead. +func (*ListPublicBlueprintsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{31} +} + +func (x *ListPublicBlueprintsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListPublicBlueprintsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListPublicBlueprintsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response object for `ListPublicBlueprints`. +type ListPublicBlueprintsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of public blueprints to return. + PublicBlueprints []*PublicBlueprint `protobuf:"bytes,1,rep,name=public_blueprints,json=publicBlueprints,proto3" json:"public_blueprints,omitempty"` + // Output only. A token identifying a page of results the server should + // return. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListPublicBlueprintsResponse) Reset() { + *x = ListPublicBlueprintsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListPublicBlueprintsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPublicBlueprintsResponse) ProtoMessage() {} + +func (x *ListPublicBlueprintsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPublicBlueprintsResponse.ProtoReflect.Descriptor instead. +func (*ListPublicBlueprintsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{32} +} + +func (x *ListPublicBlueprintsResponse) GetPublicBlueprints() []*PublicBlueprint { + if x != nil { + return x.PublicBlueprints + } + return nil +} + +func (x *ListPublicBlueprintsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request object for `GetPublicBlueprint`. +type GetPublicBlueprintRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the public blueprint. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetPublicBlueprintRequest) Reset() { + *x = GetPublicBlueprintRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPublicBlueprintRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPublicBlueprintRequest) ProtoMessage() {} + +func (x *GetPublicBlueprintRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPublicBlueprintRequest.ProtoReflect.Descriptor instead. +func (*GetPublicBlueprintRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{33} +} + +func (x *GetPublicBlueprintRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request object for `CreateDeployment`. +type CreateDeploymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of parent resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The name of the deployment. + DeploymentId string `protobuf:"bytes,2,opt,name=deployment_id,json=deploymentId,proto3" json:"deployment_id,omitempty"` + // Required. The `Deployment` to create. + Deployment *Deployment `protobuf:"bytes,3,opt,name=deployment,proto3" json:"deployment,omitempty"` +} + +func (x *CreateDeploymentRequest) Reset() { + *x = CreateDeploymentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDeploymentRequest) ProtoMessage() {} + +func (x *CreateDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateDeploymentRequest.ProtoReflect.Descriptor instead. +func (*CreateDeploymentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{34} +} + +func (x *CreateDeploymentRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateDeploymentRequest) GetDeploymentId() string { + if x != nil { + return x.DeploymentId + } + return "" +} + +func (x *CreateDeploymentRequest) GetDeployment() *Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +// Request object for `UpdateDeployment`. +type UpdateDeploymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The `deployment` to update. + Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Required. Update mask is used to specify the fields to be overwritten in + // the `deployment` resource by the update. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateDeploymentRequest) Reset() { + *x = UpdateDeploymentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateDeploymentRequest) ProtoMessage() {} + +func (x *UpdateDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateDeploymentRequest.ProtoReflect.Descriptor instead. +func (*UpdateDeploymentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{35} +} + +func (x *UpdateDeploymentRequest) GetDeployment() *Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *UpdateDeploymentRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request object for `GetDeployment`. +type GetDeploymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the deployment. + // Case 1: If the name provided in the request is + // {deployment_id}@{revision_id}, then the revision with revision_id will be + // returned. + // Case 2: If the name provided in the request is {deployment}, then + // the current state of the deployment is returned. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. Defines the type of view of the deployment. + // When field is not present VIEW_BASIC is considered as default. + View DeploymentView `protobuf:"varint,2,opt,name=view,proto3,enum=google.cloud.telcoautomation.v1.DeploymentView" json:"view,omitempty"` +} + +func (x *GetDeploymentRequest) Reset() { + *x = GetDeploymentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDeploymentRequest) ProtoMessage() {} + +func (x *GetDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDeploymentRequest.ProtoReflect.Descriptor instead. +func (*GetDeploymentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{36} +} + +func (x *GetDeploymentRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetDeploymentRequest) GetView() DeploymentView { + if x != nil { + return x.View + } + return DeploymentView_DEPLOYMENT_VIEW_UNSPECIFIED +} + +// Request object for `RemoveDeployment`. +type RemoveDeploymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of deployment to initiate delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *RemoveDeploymentRequest) Reset() { + *x = RemoveDeploymentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveDeploymentRequest) ProtoMessage() {} + +func (x *RemoveDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveDeploymentRequest.ProtoReflect.Descriptor instead. +func (*RemoveDeploymentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{37} +} + +func (x *RemoveDeploymentRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request object for `ListDeployments`. +type ListDeploymentsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of parent orchestration cluster resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. Filtering only supports equality on deployment state. + // It should be in the form: "state = DRAFT". `OR` operator can be used to + // get response for multiple states. e.g. "state = DRAFT OR state = APPLIED". + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Optional. The maximum number of deployments to return per page. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The page token, received from a previous ListDeployments call. + // It can be provided to retrieve the subsequent page. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListDeploymentsRequest) Reset() { + *x = ListDeploymentsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDeploymentsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDeploymentsRequest) ProtoMessage() {} + +func (x *ListDeploymentsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListDeploymentsRequest.ProtoReflect.Descriptor instead. +func (*ListDeploymentsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{38} +} + +func (x *ListDeploymentsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListDeploymentsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListDeploymentsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListDeploymentsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response object for `ListDeployments`. +type ListDeploymentsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of requested deployments. + Deployments []*Deployment `protobuf:"bytes,1,rep,name=deployments,proto3" json:"deployments,omitempty"` + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListDeploymentsResponse) Reset() { + *x = ListDeploymentsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDeploymentsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDeploymentsResponse) ProtoMessage() {} + +func (x *ListDeploymentsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListDeploymentsResponse.ProtoReflect.Descriptor instead. +func (*ListDeploymentsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{39} +} + +func (x *ListDeploymentsResponse) GetDeployments() []*Deployment { + if x != nil { + return x.Deployments + } + return nil +} + +func (x *ListDeploymentsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request for listing all revisions of a deployment. +type ListDeploymentRevisionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the deployment to list revisions for. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. The maximum number of revisions to return per page. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The page token, received from a previous ListDeploymentRevisions + // call Provide this to retrieve the subsequent page. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListDeploymentRevisionsRequest) Reset() { + *x = ListDeploymentRevisionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDeploymentRevisionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDeploymentRevisionsRequest) ProtoMessage() {} + +func (x *ListDeploymentRevisionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListDeploymentRevisionsRequest.ProtoReflect.Descriptor instead. +func (*ListDeploymentRevisionsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{40} +} + +func (x *ListDeploymentRevisionsRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListDeploymentRevisionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListDeploymentRevisionsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// List of deployment revisions for a given deployment. +type ListDeploymentRevisionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The revisions of the deployment. + Deployments []*Deployment `protobuf:"bytes,1,rep,name=deployments,proto3" json:"deployments,omitempty"` + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListDeploymentRevisionsResponse) Reset() { + *x = ListDeploymentRevisionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListDeploymentRevisionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDeploymentRevisionsResponse) ProtoMessage() {} + +func (x *ListDeploymentRevisionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListDeploymentRevisionsResponse.ProtoReflect.Descriptor instead. +func (*ListDeploymentRevisionsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{41} +} + +func (x *ListDeploymentRevisionsResponse) GetDeployments() []*Deployment { + if x != nil { + return x.Deployments + } + return nil +} + +func (x *ListDeploymentRevisionsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request object for `SearchDeploymentRevisions`. +type SearchDeploymentRevisionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of parent orchestration cluster resource. + // Format should be - + // "projects/{project_id}/locations/{location_name}/orchestrationClusters/{orchestration_cluster}". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. Supported queries: + // 1. "" : Lists all revisions across all deployments. + // 2. "latest=true" : Lists latest revisions across all + // deployments. + // 3. "name=" : Lists all revisions of deployment with name + // . + // 4. "name= latest=true": Lists latest revision of deployment with name + // + Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + // Optional. The maximum number of deployment revisions to return per page. + // max page size = 100, default page size = 20. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The page token, received from a previous search call. + // It can be provided to retrieve the subsequent page. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *SearchDeploymentRevisionsRequest) Reset() { + *x = SearchDeploymentRevisionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchDeploymentRevisionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchDeploymentRevisionsRequest) ProtoMessage() {} + +func (x *SearchDeploymentRevisionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchDeploymentRevisionsRequest.ProtoReflect.Descriptor instead. +func (*SearchDeploymentRevisionsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{42} +} + +func (x *SearchDeploymentRevisionsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *SearchDeploymentRevisionsRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *SearchDeploymentRevisionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *SearchDeploymentRevisionsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response object for `SearchDeploymentRevisions`. +type SearchDeploymentRevisionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of requested deployment revisions. + Deployments []*Deployment `protobuf:"bytes,1,rep,name=deployments,proto3" json:"deployments,omitempty"` + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *SearchDeploymentRevisionsResponse) Reset() { + *x = SearchDeploymentRevisionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchDeploymentRevisionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchDeploymentRevisionsResponse) ProtoMessage() {} + +func (x *SearchDeploymentRevisionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchDeploymentRevisionsResponse.ProtoReflect.Descriptor instead. +func (*SearchDeploymentRevisionsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{43} +} + +func (x *SearchDeploymentRevisionsResponse) GetDeployments() []*Deployment { + if x != nil { + return x.Deployments + } + return nil +} + +func (x *SearchDeploymentRevisionsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request object for `DiscardDeploymentChanges`. +type DiscardDeploymentChangesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the deployment of which changes are being discarded. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DiscardDeploymentChangesRequest) Reset() { + *x = DiscardDeploymentChangesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscardDeploymentChangesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscardDeploymentChangesRequest) ProtoMessage() {} + +func (x *DiscardDeploymentChangesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscardDeploymentChangesRequest.ProtoReflect.Descriptor instead. +func (*DiscardDeploymentChangesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{44} +} + +func (x *DiscardDeploymentChangesRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Response object for `DiscardDeploymentChanges`. +type DiscardDeploymentChangesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DiscardDeploymentChangesResponse) Reset() { + *x = DiscardDeploymentChangesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscardDeploymentChangesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscardDeploymentChangesResponse) ProtoMessage() {} + +func (x *DiscardDeploymentChangesResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscardDeploymentChangesResponse.ProtoReflect.Descriptor instead. +func (*DiscardDeploymentChangesResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{45} +} + +// Request object for `ApplyDeployment`. The resources in given deployment +// gets applied to Orchestration Cluster. A new revision is created when a +// deployment is applied. +type ApplyDeploymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the deployment to apply to orchestration cluster. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *ApplyDeploymentRequest) Reset() { + *x = ApplyDeploymentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyDeploymentRequest) ProtoMessage() {} + +func (x *ApplyDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplyDeploymentRequest.ProtoReflect.Descriptor instead. +func (*ApplyDeploymentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{46} +} + +func (x *ApplyDeploymentRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request object for `ComputeDeploymentStatus`. +type ComputeDeploymentStatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the deployment without revisionID. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *ComputeDeploymentStatusRequest) Reset() { + *x = ComputeDeploymentStatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComputeDeploymentStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeDeploymentStatusRequest) ProtoMessage() {} + +func (x *ComputeDeploymentStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComputeDeploymentStatusRequest.ProtoReflect.Descriptor instead. +func (*ComputeDeploymentStatusRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{47} +} + +func (x *ComputeDeploymentStatusRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Response object for `ComputeDeploymentStatus`. +type ComputeDeploymentStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the deployment. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. Aggregated status of a deployment. + AggregatedStatus Status `protobuf:"varint,2,opt,name=aggregated_status,json=aggregatedStatus,proto3,enum=google.cloud.telcoautomation.v1.Status" json:"aggregated_status,omitempty"` + // Output only. Resource level status details in deployments. + ResourceStatuses []*ResourceStatus `protobuf:"bytes,3,rep,name=resource_statuses,json=resourceStatuses,proto3" json:"resource_statuses,omitempty"` +} + +func (x *ComputeDeploymentStatusResponse) Reset() { + *x = ComputeDeploymentStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComputeDeploymentStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeDeploymentStatusResponse) ProtoMessage() {} + +func (x *ComputeDeploymentStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComputeDeploymentStatusResponse.ProtoReflect.Descriptor instead. +func (*ComputeDeploymentStatusResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{48} +} + +func (x *ComputeDeploymentStatusResponse) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ComputeDeploymentStatusResponse) GetAggregatedStatus() Status { + if x != nil { + return x.AggregatedStatus + } + return Status_STATUS_UNSPECIFIED +} + +func (x *ComputeDeploymentStatusResponse) GetResourceStatuses() []*ResourceStatus { + if x != nil { + return x.ResourceStatuses + } + return nil +} + +// Request object for `RollbackDeployment`. +type RollbackDeploymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the deployment. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The revision id of deployment to roll back to. + RevisionId string `protobuf:"bytes,2,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` +} + +func (x *RollbackDeploymentRequest) Reset() { + *x = RollbackDeploymentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RollbackDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RollbackDeploymentRequest) ProtoMessage() {} + +func (x *RollbackDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RollbackDeploymentRequest.ProtoReflect.Descriptor instead. +func (*RollbackDeploymentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{49} +} + +func (x *RollbackDeploymentRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *RollbackDeploymentRequest) GetRevisionId() string { + if x != nil { + return x.RevisionId + } + return "" +} + +// Represents the metadata of the long-running operation. +type OperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The time the operation was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time the operation finished running. + EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Server-defined resource path for the target of the operation. + Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` + // Output only. Name of the verb executed by the operation. + Verb string `protobuf:"bytes,4,opt,name=verb,proto3" json:"verb,omitempty"` + // Output only. Human-readable status of the operation, if any. + StatusMessage string `protobuf:"bytes,5,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have been cancelled successfully + // have [Operation.error][] value with a + // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to + // `Code.CANCELLED`. + RequestedCancellation bool `protobuf:"varint,6,opt,name=requested_cancellation,json=requestedCancellation,proto3" json:"requested_cancellation,omitempty"` + // Output only. API version used to start the operation. + ApiVersion string `protobuf:"bytes,7,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"` +} + +func (x *OperationMetadata) Reset() { + *x = OperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OperationMetadata) ProtoMessage() {} + +func (x *OperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OperationMetadata.ProtoReflect.Descriptor instead. +func (*OperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{50} +} + +func (x *OperationMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *OperationMetadata) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *OperationMetadata) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +func (x *OperationMetadata) GetVerb() string { + if x != nil { + return x.Verb + } + return "" +} + +func (x *OperationMetadata) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +func (x *OperationMetadata) GetRequestedCancellation() bool { + if x != nil { + return x.RequestedCancellation + } + return false +} + +func (x *OperationMetadata) GetApiVersion() string { + if x != nil { + return x.ApiVersion + } + return "" +} + +// Request object for `GetHydratedDeployment`. +type GetHydratedDeploymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the hydrated deployment. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetHydratedDeploymentRequest) Reset() { + *x = GetHydratedDeploymentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetHydratedDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetHydratedDeploymentRequest) ProtoMessage() {} + +func (x *GetHydratedDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetHydratedDeploymentRequest.ProtoReflect.Descriptor instead. +func (*GetHydratedDeploymentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{51} +} + +func (x *GetHydratedDeploymentRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request object for `ListHydratedDeployments`. +type ListHydratedDeploymentsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The deployment managing the hydrated deployments. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The maximum number of hydrated deployments to return. The service + // may return fewer than this value. If unspecified, at most 50 hydrated + // deployments will be returned. The maximum value is 1000. Values above 1000 + // will be set to 1000. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The page token, received from a previous ListHydratedDeployments + // call. Provide this to retrieve the subsequent page. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListHydratedDeploymentsRequest) Reset() { + *x = ListHydratedDeploymentsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListHydratedDeploymentsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListHydratedDeploymentsRequest) ProtoMessage() {} + +func (x *ListHydratedDeploymentsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListHydratedDeploymentsRequest.ProtoReflect.Descriptor instead. +func (*ListHydratedDeploymentsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{52} +} + +func (x *ListHydratedDeploymentsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListHydratedDeploymentsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListHydratedDeploymentsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response object for `ListHydratedDeployments`. +type ListHydratedDeploymentsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of hydrated deployments. + HydratedDeployments []*HydratedDeployment `protobuf:"bytes,1,rep,name=hydrated_deployments,json=hydratedDeployments,proto3" json:"hydrated_deployments,omitempty"` + // A token that can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListHydratedDeploymentsResponse) Reset() { + *x = ListHydratedDeploymentsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListHydratedDeploymentsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListHydratedDeploymentsResponse) ProtoMessage() {} + +func (x *ListHydratedDeploymentsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListHydratedDeploymentsResponse.ProtoReflect.Descriptor instead. +func (*ListHydratedDeploymentsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{53} +} + +func (x *ListHydratedDeploymentsResponse) GetHydratedDeployments() []*HydratedDeployment { + if x != nil { + return x.HydratedDeployments + } + return nil +} + +func (x *ListHydratedDeploymentsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request object for `UpdateHydratedDeployment`. +type UpdateHydratedDeploymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The hydrated deployment to update. + HydratedDeployment *HydratedDeployment `protobuf:"bytes,1,opt,name=hydrated_deployment,json=hydratedDeployment,proto3" json:"hydrated_deployment,omitempty"` + // Required. The list of fields to update. Update mask supports a special + // value `*` which fully replaces (equivalent to PUT) the resource provided. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateHydratedDeploymentRequest) Reset() { + *x = UpdateHydratedDeploymentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateHydratedDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateHydratedDeploymentRequest) ProtoMessage() {} + +func (x *UpdateHydratedDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateHydratedDeploymentRequest.ProtoReflect.Descriptor instead. +func (*UpdateHydratedDeploymentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{54} +} + +func (x *UpdateHydratedDeploymentRequest) GetHydratedDeployment() *HydratedDeployment { + if x != nil { + return x.HydratedDeployment + } + return nil +} + +func (x *UpdateHydratedDeploymentRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request for applying a hydrated deployment. +type ApplyHydratedDeploymentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the hydrated deployment to apply. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *ApplyHydratedDeploymentRequest) Reset() { + *x = ApplyHydratedDeploymentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApplyHydratedDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyHydratedDeploymentRequest) ProtoMessage() {} + +func (x *ApplyHydratedDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplyHydratedDeploymentRequest.ProtoReflect.Descriptor instead. +func (*ApplyHydratedDeploymentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{55} +} + +func (x *ApplyHydratedDeploymentRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Configuration of the cluster management +type ManagementConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The configuration can be one of StandardManagementConfig + // and FullManagementConfig + // + // Types that are assignable to OneofConfig: + // *ManagementConfig_StandardManagementConfig + // *ManagementConfig_FullManagementConfig + OneofConfig isManagementConfig_OneofConfig `protobuf_oneof:"oneof_config"` +} + +func (x *ManagementConfig) Reset() { + *x = ManagementConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ManagementConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ManagementConfig) ProtoMessage() {} + +func (x *ManagementConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ManagementConfig.ProtoReflect.Descriptor instead. +func (*ManagementConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{56} +} + +func (m *ManagementConfig) GetOneofConfig() isManagementConfig_OneofConfig { + if m != nil { + return m.OneofConfig + } + return nil +} + +func (x *ManagementConfig) GetStandardManagementConfig() *StandardManagementConfig { + if x, ok := x.GetOneofConfig().(*ManagementConfig_StandardManagementConfig); ok { + return x.StandardManagementConfig + } + return nil +} + +func (x *ManagementConfig) GetFullManagementConfig() *FullManagementConfig { + if x, ok := x.GetOneofConfig().(*ManagementConfig_FullManagementConfig); ok { + return x.FullManagementConfig + } + return nil +} + +type isManagementConfig_OneofConfig interface { + isManagementConfig_OneofConfig() +} + +type ManagementConfig_StandardManagementConfig struct { + // Configuration of the standard (GKE) cluster management + StandardManagementConfig *StandardManagementConfig `protobuf:"bytes,1,opt,name=standard_management_config,json=standardManagementConfig,proto3,oneof"` +} + +type ManagementConfig_FullManagementConfig struct { + // Configuration of the full (Autopilot) cluster management. Full cluster + // management is a preview feature. + FullManagementConfig *FullManagementConfig `protobuf:"bytes,2,opt,name=full_management_config,json=fullManagementConfig,proto3,oneof"` +} + +func (*ManagementConfig_StandardManagementConfig) isManagementConfig_OneofConfig() {} + +func (*ManagementConfig_FullManagementConfig) isManagementConfig_OneofConfig() {} + +// Configuration of the standard (GKE) cluster management. +type StandardManagementConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Name of the VPC Network to put the GKE cluster and nodes in. The + // VPC will be created if it doesn't exist. + Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` + // Optional. Specifies the subnet that the interface will be part of. Network + // key must be specified and the subnet must be a subnetwork of the specified + // network. + Subnet string `protobuf:"bytes,2,opt,name=subnet,proto3" json:"subnet,omitempty"` + // Optional. The /28 network that the masters will use. It should be free + // within the network. + MasterIpv4CidrBlock string `protobuf:"bytes,3,opt,name=master_ipv4_cidr_block,json=masterIpv4CidrBlock,proto3" json:"master_ipv4_cidr_block,omitempty"` + // Optional. The IP address range for the cluster pod IPs. Set to blank to + // have a range chosen with the default size. Set to /netmask (e.g. /14) to + // have a range chosen with a specific netmask. Set to a CIDR notation + // (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, + // 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. + ClusterCidrBlock string `protobuf:"bytes,4,opt,name=cluster_cidr_block,json=clusterCidrBlock,proto3" json:"cluster_cidr_block,omitempty"` + // Optional. The IP address range for the cluster service IPs. Set to blank to + // have a range chosen with the default size. Set to /netmask (e.g. /14) to + // have a range chosen with a specific netmask. Set to a CIDR notation (e.g. + // 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, + // 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. + ServicesCidrBlock string `protobuf:"bytes,5,opt,name=services_cidr_block,json=servicesCidrBlock,proto3" json:"services_cidr_block,omitempty"` + // Optional. The name of the existing secondary range in the cluster's + // subnetwork to use for pod IP addresses. Alternatively, cluster_cidr_block + // can be used to automatically create a GKE-managed one. + ClusterNamedRange string `protobuf:"bytes,6,opt,name=cluster_named_range,json=clusterNamedRange,proto3" json:"cluster_named_range,omitempty"` + // Optional. The name of the existing secondary range in the cluster's + // subnetwork to use for service ClusterIPs. Alternatively, + // services_cidr_block can be used to automatically create a GKE-managed one. + ServicesNamedRange string `protobuf:"bytes,7,opt,name=services_named_range,json=servicesNamedRange,proto3" json:"services_named_range,omitempty"` + // Optional. Master Authorized Network that supports multiple CIDR blocks. + // Allows access to the k8s master from multiple blocks. It cannot be set at + // the same time with the field man_block. + MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `protobuf:"bytes,8,opt,name=master_authorized_networks_config,json=masterAuthorizedNetworksConfig,proto3" json:"master_authorized_networks_config,omitempty"` +} + +func (x *StandardManagementConfig) Reset() { + *x = StandardManagementConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StandardManagementConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StandardManagementConfig) ProtoMessage() {} + +func (x *StandardManagementConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StandardManagementConfig.ProtoReflect.Descriptor instead. +func (*StandardManagementConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{57} +} + +func (x *StandardManagementConfig) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +func (x *StandardManagementConfig) GetSubnet() string { + if x != nil { + return x.Subnet + } + return "" +} + +func (x *StandardManagementConfig) GetMasterIpv4CidrBlock() string { + if x != nil { + return x.MasterIpv4CidrBlock + } + return "" +} + +func (x *StandardManagementConfig) GetClusterCidrBlock() string { + if x != nil { + return x.ClusterCidrBlock + } + return "" +} + +func (x *StandardManagementConfig) GetServicesCidrBlock() string { + if x != nil { + return x.ServicesCidrBlock + } + return "" +} + +func (x *StandardManagementConfig) GetClusterNamedRange() string { + if x != nil { + return x.ClusterNamedRange + } + return "" +} + +func (x *StandardManagementConfig) GetServicesNamedRange() string { + if x != nil { + return x.ServicesNamedRange + } + return "" +} + +func (x *StandardManagementConfig) GetMasterAuthorizedNetworksConfig() *MasterAuthorizedNetworksConfig { + if x != nil { + return x.MasterAuthorizedNetworksConfig + } + return nil +} + +// Configuration of the full (Autopilot) cluster management +type FullManagementConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. Name of the VPC Network to put the GKE cluster and nodes in. The + // VPC will be created if it doesn't exist. + Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` + // Optional. Specifies the subnet that the interface will be part of. Network + // key must be specified and the subnet must be a subnetwork of the specified + // network. + Subnet string `protobuf:"bytes,2,opt,name=subnet,proto3" json:"subnet,omitempty"` + // Optional. The /28 network that the masters will use. + MasterIpv4CidrBlock string `protobuf:"bytes,3,opt,name=master_ipv4_cidr_block,json=masterIpv4CidrBlock,proto3" json:"master_ipv4_cidr_block,omitempty"` + // Optional. The IP address range for the cluster pod IPs. Set to blank to + // have a range chosen with the default size. Set to /netmask (e.g. /14) to + // have a range chosen with a specific netmask. Set to a CIDR notation + // (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, + // 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. + ClusterCidrBlock string `protobuf:"bytes,4,opt,name=cluster_cidr_block,json=clusterCidrBlock,proto3" json:"cluster_cidr_block,omitempty"` + // Optional. The IP address range for the cluster service IPs. Set to blank to + // have a range chosen with the default size. Set to /netmask (e.g. /14) to + // have a range chosen with a specific netmask. Set to a CIDR notation (e.g. + // 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, + // 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use. + ServicesCidrBlock string `protobuf:"bytes,5,opt,name=services_cidr_block,json=servicesCidrBlock,proto3" json:"services_cidr_block,omitempty"` + // Optional. The name of the existing secondary range in the cluster's + // subnetwork to use for pod IP addresses. Alternatively, cluster_cidr_block + // can be used to automatically create a GKE-managed one. + ClusterNamedRange string `protobuf:"bytes,6,opt,name=cluster_named_range,json=clusterNamedRange,proto3" json:"cluster_named_range,omitempty"` + // Optional. The name of the existing secondary range in the cluster's + // subnetwork to use for service ClusterIPs. Alternatively, + // services_cidr_block can be used to automatically create a GKE-managed one. + ServicesNamedRange string `protobuf:"bytes,7,opt,name=services_named_range,json=servicesNamedRange,proto3" json:"services_named_range,omitempty"` + // Optional. Master Authorized Network that supports multiple CIDR blocks. + // Allows access to the k8s master from multiple blocks. It cannot be set at + // the same time with the field man_block. + MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `protobuf:"bytes,8,opt,name=master_authorized_networks_config,json=masterAuthorizedNetworksConfig,proto3" json:"master_authorized_networks_config,omitempty"` +} + +func (x *FullManagementConfig) Reset() { + *x = FullManagementConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FullManagementConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FullManagementConfig) ProtoMessage() {} + +func (x *FullManagementConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FullManagementConfig.ProtoReflect.Descriptor instead. +func (*FullManagementConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{58} +} + +func (x *FullManagementConfig) GetNetwork() string { + if x != nil { + return x.Network + } + return "" +} + +func (x *FullManagementConfig) GetSubnet() string { + if x != nil { + return x.Subnet + } + return "" +} + +func (x *FullManagementConfig) GetMasterIpv4CidrBlock() string { + if x != nil { + return x.MasterIpv4CidrBlock + } + return "" +} + +func (x *FullManagementConfig) GetClusterCidrBlock() string { + if x != nil { + return x.ClusterCidrBlock + } + return "" +} + +func (x *FullManagementConfig) GetServicesCidrBlock() string { + if x != nil { + return x.ServicesCidrBlock + } + return "" +} + +func (x *FullManagementConfig) GetClusterNamedRange() string { + if x != nil { + return x.ClusterNamedRange + } + return "" +} + +func (x *FullManagementConfig) GetServicesNamedRange() string { + if x != nil { + return x.ServicesNamedRange + } + return "" +} + +func (x *FullManagementConfig) GetMasterAuthorizedNetworksConfig() *MasterAuthorizedNetworksConfig { + if x != nil { + return x.MasterAuthorizedNetworksConfig + } + return nil +} + +// Configuration of the Master Authorized Network that support multiple CIDRs +type MasterAuthorizedNetworksConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. cidr_blocks define up to 50 external networks that could access + // Kubernetes master through HTTPS. + CidrBlocks []*MasterAuthorizedNetworksConfig_CidrBlock `protobuf:"bytes,1,rep,name=cidr_blocks,json=cidrBlocks,proto3" json:"cidr_blocks,omitempty"` +} + +func (x *MasterAuthorizedNetworksConfig) Reset() { + *x = MasterAuthorizedNetworksConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MasterAuthorizedNetworksConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MasterAuthorizedNetworksConfig) ProtoMessage() {} + +func (x *MasterAuthorizedNetworksConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MasterAuthorizedNetworksConfig.ProtoReflect.Descriptor instead. +func (*MasterAuthorizedNetworksConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{59} +} + +func (x *MasterAuthorizedNetworksConfig) GetCidrBlocks() []*MasterAuthorizedNetworksConfig_CidrBlock { + if x != nil { + return x.CidrBlocks + } + return nil +} + +// File represents a yaml file present in a blueprint's package. +type File struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Path of the file in package. + // e.g. `gdce/v1/cluster.yaml` + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + // Optional. The contents of a file in string format. + Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` + // Optional. Signifies whether a file is marked for deletion. + Deleted bool `protobuf:"varint,3,opt,name=deleted,proto3" json:"deleted,omitempty"` + // Optional. Indicates whether changes are allowed to a file. If the field is + // not set, the file cannot be edited. + Editable bool `protobuf:"varint,4,opt,name=editable,proto3" json:"editable,omitempty"` +} + +func (x *File) Reset() { + *x = File{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *File) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*File) ProtoMessage() {} + +func (x *File) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use File.ProtoReflect.Descriptor instead. +func (*File) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{60} +} + +func (x *File) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *File) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +func (x *File) GetDeleted() bool { + if x != nil { + return x.Deleted + } + return false +} + +func (x *File) GetEditable() bool { + if x != nil { + return x.Editable + } + return false +} + +// Status of a deployment resource. +type ResourceStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the resource. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Namespace of the resource. + ResourceNamespace string `protobuf:"bytes,2,opt,name=resource_namespace,json=resourceNamespace,proto3" json:"resource_namespace,omitempty"` + // Group to which the resource belongs to. + Group string `protobuf:"bytes,3,opt,name=group,proto3" json:"group,omitempty"` + // Version of the resource. + Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` + // Kind of the resource. + Kind string `protobuf:"bytes,5,opt,name=kind,proto3" json:"kind,omitempty"` + // Output only. Resource type. + ResourceType ResourceType `protobuf:"varint,6,opt,name=resource_type,json=resourceType,proto3,enum=google.cloud.telcoautomation.v1.ResourceType" json:"resource_type,omitempty"` + // Output only. Status of the resource. + Status Status `protobuf:"varint,7,opt,name=status,proto3,enum=google.cloud.telcoautomation.v1.Status" json:"status,omitempty"` + // Output only. Detailed status of NFDeploy. + NfDeployStatus *NFDeployStatus `protobuf:"bytes,8,opt,name=nf_deploy_status,json=nfDeployStatus,proto3" json:"nf_deploy_status,omitempty"` +} + +func (x *ResourceStatus) Reset() { + *x = ResourceStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourceStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceStatus) ProtoMessage() {} + +func (x *ResourceStatus) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceStatus.ProtoReflect.Descriptor instead. +func (*ResourceStatus) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{61} +} + +func (x *ResourceStatus) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResourceStatus) GetResourceNamespace() string { + if x != nil { + return x.ResourceNamespace + } + return "" +} + +func (x *ResourceStatus) GetGroup() string { + if x != nil { + return x.Group + } + return "" +} + +func (x *ResourceStatus) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *ResourceStatus) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *ResourceStatus) GetResourceType() ResourceType { + if x != nil { + return x.ResourceType + } + return ResourceType_RESOURCE_TYPE_UNSPECIFIED +} + +func (x *ResourceStatus) GetStatus() Status { + if x != nil { + return x.Status + } + return Status_STATUS_UNSPECIFIED +} + +func (x *ResourceStatus) GetNfDeployStatus() *NFDeployStatus { + if x != nil { + return x.NfDeployStatus + } + return nil +} + +// Deployment status of NFDeploy. +type NFDeployStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Total number of NFs targeted by this deployment + TargetedNfs int32 `protobuf:"varint,1,opt,name=targeted_nfs,json=targetedNfs,proto3" json:"targeted_nfs,omitempty"` + // Output only. Total number of NFs targeted by this deployment with a Ready + // Condition set. + ReadyNfs int32 `protobuf:"varint,2,opt,name=ready_nfs,json=readyNfs,proto3" json:"ready_nfs,omitempty"` + // Output only. Per-Site Status. + Sites []*NFDeploySiteStatus `protobuf:"bytes,3,rep,name=sites,proto3" json:"sites,omitempty"` +} + +func (x *NFDeployStatus) Reset() { + *x = NFDeployStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NFDeployStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NFDeployStatus) ProtoMessage() {} + +func (x *NFDeployStatus) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NFDeployStatus.ProtoReflect.Descriptor instead. +func (*NFDeployStatus) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{62} +} + +func (x *NFDeployStatus) GetTargetedNfs() int32 { + if x != nil { + return x.TargetedNfs + } + return 0 +} + +func (x *NFDeployStatus) GetReadyNfs() int32 { + if x != nil { + return x.ReadyNfs + } + return 0 +} + +func (x *NFDeployStatus) GetSites() []*NFDeploySiteStatus { + if x != nil { + return x.Sites + } + return nil +} + +// Per-Site Status. +type NFDeploySiteStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. Site id. + Site string `protobuf:"bytes,1,opt,name=site,proto3" json:"site,omitempty"` + // Output only. If true, the Site Deletion is in progress. + PendingDeletion bool `protobuf:"varint,2,opt,name=pending_deletion,json=pendingDeletion,proto3" json:"pending_deletion,omitempty"` + // Output only. Hydration status. + Hydration *HydrationStatus `protobuf:"bytes,3,opt,name=hydration,proto3" json:"hydration,omitempty"` + // Output only. Workload status. + Workload *WorkloadStatus `protobuf:"bytes,4,opt,name=workload,proto3" json:"workload,omitempty"` +} + +func (x *NFDeploySiteStatus) Reset() { + *x = NFDeploySiteStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NFDeploySiteStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NFDeploySiteStatus) ProtoMessage() {} + +func (x *NFDeploySiteStatus) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NFDeploySiteStatus.ProtoReflect.Descriptor instead. +func (*NFDeploySiteStatus) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{63} +} + +func (x *NFDeploySiteStatus) GetSite() string { + if x != nil { + return x.Site + } + return "" +} + +func (x *NFDeploySiteStatus) GetPendingDeletion() bool { + if x != nil { + return x.PendingDeletion + } + return false +} + +func (x *NFDeploySiteStatus) GetHydration() *HydrationStatus { + if x != nil { + return x.Hydration + } + return nil +} + +func (x *NFDeploySiteStatus) GetWorkload() *WorkloadStatus { + if x != nil { + return x.Workload + } + return nil +} + +// Hydration status. +type HydrationStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. SiteVersion Hydration is targeting. + SiteVersion *SiteVersion `protobuf:"bytes,1,opt,name=site_version,json=siteVersion,proto3" json:"site_version,omitempty"` + // Output only. Status. + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *HydrationStatus) Reset() { + *x = HydrationStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HydrationStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HydrationStatus) ProtoMessage() {} + +func (x *HydrationStatus) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HydrationStatus.ProtoReflect.Descriptor instead. +func (*HydrationStatus) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{64} +} + +func (x *HydrationStatus) GetSiteVersion() *SiteVersion { + if x != nil { + return x.SiteVersion + } + return nil +} + +func (x *HydrationStatus) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +// SiteVersion Hydration is targeting. +type SiteVersion struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. NF vendor. + NfVendor string `protobuf:"bytes,1,opt,name=nf_vendor,json=nfVendor,proto3" json:"nf_vendor,omitempty"` + // Output only. NF vendor type. + NfType string `protobuf:"bytes,2,opt,name=nf_type,json=nfType,proto3" json:"nf_type,omitempty"` + // Output only. NF version. + NfVersion string `protobuf:"bytes,3,opt,name=nf_version,json=nfVersion,proto3" json:"nf_version,omitempty"` +} + +func (x *SiteVersion) Reset() { + *x = SiteVersion{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SiteVersion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SiteVersion) ProtoMessage() {} + +func (x *SiteVersion) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SiteVersion.ProtoReflect.Descriptor instead. +func (*SiteVersion) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{65} +} + +func (x *SiteVersion) GetNfVendor() string { + if x != nil { + return x.NfVendor + } + return "" +} + +func (x *SiteVersion) GetNfType() string { + if x != nil { + return x.NfType + } + return "" +} + +func (x *SiteVersion) GetNfVersion() string { + if x != nil { + return x.NfVersion + } + return "" +} + +// Workload status. +type WorkloadStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. SiteVersion running in the workload cluster. + SiteVersion *SiteVersion `protobuf:"bytes,1,opt,name=site_version,json=siteVersion,proto3" json:"site_version,omitempty"` + // Output only. Status. + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *WorkloadStatus) Reset() { + *x = WorkloadStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WorkloadStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkloadStatus) ProtoMessage() {} + +func (x *WorkloadStatus) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkloadStatus.ProtoReflect.Descriptor instead. +func (*WorkloadStatus) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{66} +} + +func (x *WorkloadStatus) GetSiteVersion() *SiteVersion { + if x != nil { + return x.SiteVersion + } + return nil +} + +func (x *WorkloadStatus) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +// CidrBlock contains an optional name and one CIDR block. +type MasterAuthorizedNetworksConfig_CidrBlock struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Optional. display_name is an optional field for users to identify CIDR + // blocks. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Optional. cidr_block must be specified in CIDR notation when using + // master_authorized_networks_config. Currently, the user could still use + // the deprecated man_block field, so this field is currently optional, but + // will be required in the future. + CidrBlock string `protobuf:"bytes,2,opt,name=cidr_block,json=cidrBlock,proto3" json:"cidr_block,omitempty"` +} + +func (x *MasterAuthorizedNetworksConfig_CidrBlock) Reset() { + *x = MasterAuthorizedNetworksConfig_CidrBlock{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MasterAuthorizedNetworksConfig_CidrBlock) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MasterAuthorizedNetworksConfig_CidrBlock) ProtoMessage() {} + +func (x *MasterAuthorizedNetworksConfig_CidrBlock) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MasterAuthorizedNetworksConfig_CidrBlock.ProtoReflect.Descriptor instead. +func (*MasterAuthorizedNetworksConfig_CidrBlock) Descriptor() ([]byte, []int) { + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP(), []int{59, 0} +} + +func (x *MasterAuthorizedNetworksConfig_CidrBlock) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *MasterAuthorizedNetworksConfig_CidrBlock) GetCidrBlock() string { + if x != nil { + return x.CidrBlock + } + return "" +} + +var File_google_cloud_telcoautomation_v1_telcoautomation_proto protoreflect.FileDescriptor + +var file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDesc = []byte{ + 0x0a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74, + 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, + 0x31, 0x2f, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x89, 0x06, 0x0a, 0x14, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5e, 0x0a, + 0x11, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x40, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x59, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x0b, + 0x74, 0x6e, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x74, 0x6e, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, + 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, + 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, + 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0a, 0x0a, + 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x3a, 0x90, 0x01, 0xea, 0x41, 0x8c, 0x01, + 0x0a, 0x33, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x55, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6f, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x7d, 0x22, 0xab, 0x07, 0x0a, + 0x07, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x70, 0x0a, 0x15, + 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0xe0, 0x41, 0x05, + 0xfa, 0x41, 0x35, 0x0a, 0x33, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x14, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x40, + 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x74, 0x6e, 0x61, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0a, 0x74, 0x6e, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x64, 0x67, + 0x65, 0x53, 0x6c, 0x6d, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x75, 0x0a, 0x15, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, + 0x61, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x39, 0x0a, + 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, + 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, + 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x22, 0x4f, 0x0a, 0x13, + 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, + 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x44, + 0x43, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x4b, 0x45, 0x10, 0x02, 0x3a, 0x7b, 0xea, + 0x41, 0x78, 0x0a, 0x26, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x12, 0x3b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x65, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x73, 0x2f, 0x7b, 0x65, 0x64, + 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x6d, 0x7d, 0x2a, 0x08, 0x65, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, + 0x73, 0x32, 0x07, 0x65, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x22, 0xa5, 0x09, 0x0a, 0x09, 0x42, + 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0b, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, + 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x14, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x64, 0x0a, 0x0e, 0x61, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x2e, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x40, + 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, + 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x12, 0x53, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x60, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x10, 0x72, 0x6f, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x56, 0x0a, 0x0d, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x41, + 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x01, + 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x50, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, + 0x0a, 0x08, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x03, 0x3a, 0xb3, 0x01, 0xea, + 0x41, 0xaf, 0x01, 0x0a, 0x28, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x6c, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6f, 0x72, + 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x2f, + 0x7b, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x7d, 0x2a, 0x0a, 0x62, 0x6c, 0x75, + 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x32, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x22, 0xc6, 0x03, 0x0a, 0x0f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, + 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x5b, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x10, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0xa3, 0x01, 0xea, 0x41, 0x9f, 0x01, 0x0a, 0x2e, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x4a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, 0x65, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6c, + 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x7d, 0x2a, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x32, 0x0f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0xc3, 0x09, 0x0a, 0x0a, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x27, + 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x19, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x17, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x14, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x40, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x40, + 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x12, 0x31, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, + 0x41, 0x01, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x60, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, + 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x10, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x44, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x09, 0x0a, 0x05, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x41, + 0x50, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, + 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x3a, 0xb8, 0x01, 0xea, 0x41, 0xb4, 0x01, 0x0a, 0x29, 0x74, + 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x6e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x7d, 0x2f, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x2a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x32, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x22, 0xab, 0x04, 0x0a, 0x12, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x54, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x05, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x10, 0x77, 0x6f, 0x72, + 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, + 0x61, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x36, 0x0a, 0x05, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x52, 0x41, + 0x46, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x10, + 0x02, 0x3a, 0xfb, 0x01, 0xea, 0x41, 0xf7, 0x01, 0x0a, 0x31, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x98, 0x01, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x68, 0x79, 0x64, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x7b, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x2a, 0x13, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x32, 0x12, 0x68, 0x79, 0x64, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, + 0xe6, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x35, 0x12, 0x33, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xdb, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, + 0x74, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, + 0x0a, 0x16, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x15, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, + 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x71, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x35, 0x0a, 0x33, + 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcc, 0x02, 0x0a, 0x21, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x53, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x3b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x35, 0x12, 0x33, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x18, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x6f, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x6f, 0x0a, 0x15, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, + 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x98, 0x01, 0x0a, 0x21, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x35, 0x0a, 0x33, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x22, 0xcc, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x64, 0x67, 0x65, + 0x53, 0x6c, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x28, 0x12, 0x26, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x42, 0x79, 0x22, 0xa7, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, + 0x6c, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x65, + 0x64, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x52, 0x08, 0x65, 0x64, 0x67, 0x65, 0x53, 0x6c, + 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, + 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, + 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x57, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x12, 0x26, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, + 0x6c, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x65, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x08, 0x65, + 0x64, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, + 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x65, 0x64, + 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x7e, 0x0a, 0x14, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x16, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x6c, 0x75, + 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x26, + 0x0a, 0x0c, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x62, 0x6c, 0x75, 0x65, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x75, 0x65, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x62, 0x6c, 0x75, 0x65, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0xa9, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4d, 0x0a, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, + 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, + 0x6b, 0x22, 0xa4, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, + 0x28, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x47, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, + 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0x5e, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, + 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x74, 0x65, 0x6c, 0x63, + 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x6c, 0x75, 0x65, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x8c, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x62, 0x6c, + 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x62, 0x6c, 0x75, 0x65, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5f, + 0x0a, 0x17, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, + 0x28, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x5f, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, + 0x0a, 0x28, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x5e, 0x0a, 0x16, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, + 0x0a, 0x28, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xa1, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x75, + 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, + 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xcc, 0x01, 0x0a, 0x1f, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x96, 0x01, 0x0a, 0x20, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4a, 0x0a, 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, + 0x0a, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0x66, 0x0a, 0x1e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x42, 0x6c, + 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x74, 0x65, 0x6c, + 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x6c, 0x75, 0x65, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x44, + 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb3, + 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, + 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x30, 0x12, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, + 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, + 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, + 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x52, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x22, 0x67, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, + 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x30, 0x0a, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, 0x65, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x17, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x12, 0x29, + 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x50, 0x0a, 0x0a, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, + 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xad, 0x01, + 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0a, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, + 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xa7, 0x01, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, + 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0x60, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x16, 0x4c, 0x69, + 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x12, 0x29, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0x90, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, + 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, + 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, + 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0xcd, 0x01, 0x0a, 0x20, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x74, + 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x6c, + 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x9a, 0x01, 0x0a, 0x21, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x68, 0x0a, + 0x1f, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x22, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x63, 0x61, + 0x72, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x16, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x74, 0x65, 0x6c, + 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x67, 0x0a, 0x1e, + 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x2b, 0x0a, 0x29, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xf3, 0x01, 0x0a, 0x1f, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x59, 0x0a, + 0x11, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x61, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x19, + 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2b, 0x0a, + 0x29, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xd5, 0x02, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0b, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x76, 0x65, 0x72, 0x62, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, + 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x16, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x6d, + 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x33, 0x0a, 0x31, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb9, 0x01, + 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x51, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x39, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x33, 0x12, 0x31, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb1, 0x01, 0x0a, 0x1f, 0x4c, 0x69, + 0x73, 0x74, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, + 0x14, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, + 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x13, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xce, 0x01, + 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x69, 0x0a, 0x13, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x0b, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x6f, + 0x0a, 0x1e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x33, 0x0a, 0x31, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x8c, 0x02, 0x0a, 0x10, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x79, 0x0a, 0x1a, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, + 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, + 0x61, 0x72, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x18, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x6d, 0x0a, 0x16, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, + 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x14, 0x66, 0x75, 0x6c, 0x6c, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0e, + 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xf6, + 0x03, 0x0a, 0x18, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x07, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x75, + 0x62, 0x6e, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x16, 0x6d, 0x61, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x6d, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x49, 0x70, 0x76, 0x34, 0x43, 0x69, 0x64, 0x72, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x12, 0x31, 0x0a, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x69, 0x64, + 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x69, 0x64, 0x72, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x43, 0x69, 0x64, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x13, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x35, + 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x64, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x21, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xf2, 0x03, 0x0a, 0x14, 0x46, 0x75, 0x6c, 0x6c, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x1d, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, + 0x1b, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x16, + 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x63, 0x69, 0x64, 0x72, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x13, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x70, 0x76, 0x34, 0x43, 0x69, 0x64, + 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x31, 0x0a, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x43, 0x69, 0x64, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x13, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x43, 0x69, 0x64, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x33, + 0x0a, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x21, 0x6d, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, + 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1e, 0x6d, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xea, 0x01, 0x0a, + 0x1e, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, + 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x6f, 0x0a, 0x0b, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x69, 0x64, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63, 0x69, 0x64, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x1a, 0x57, 0x0a, 0x09, 0x43, 0x69, 0x64, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x26, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x63, 0x69, 0x64, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x7e, 0x0a, 0x04, 0x46, 0x69, 0x6c, + 0x65, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x96, 0x03, 0x0a, 0x0e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x12, 0x57, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, + 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x5e, 0x0a, 0x10, 0x6e, 0x66, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, + 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x46, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0e, 0x6e, 0x66, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0xaa, 0x01, 0x0a, 0x0e, 0x4e, 0x46, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x65, + 0x64, 0x5f, 0x6e, 0x66, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x65, 0x64, 0x4e, 0x66, 0x73, 0x12, 0x20, 0x0a, + 0x09, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x6e, 0x66, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x79, 0x4e, 0x66, 0x73, 0x12, + 0x4e, 0x0a, 0x05, 0x73, 0x69, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x4e, 0x46, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x69, 0x74, 0x65, 0x73, 0x22, + 0x84, 0x02, 0x0a, 0x12, 0x4e, 0x46, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x69, 0x74, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x69, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x73, 0x69, 0x74, 0x65, 0x12, + 0x2e, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, + 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x53, 0x0a, 0x09, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x68, 0x79, 0x64, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x77, 0x6f, + 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x0f, 0x48, 0x79, 0x64, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x54, 0x0a, 0x0c, 0x73, 0x69, + 0x74, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x69, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x73, 0x69, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x71, 0x0a, + 0x0b, 0x53, 0x69, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x09, + 0x6e, 0x66, 0x5f, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x6e, 0x66, 0x56, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x12, 0x1c, + 0x0a, 0x07, 0x6e, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x6e, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0a, + 0x6e, 0x66, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x6e, 0x66, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0x83, 0x01, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x54, 0x0a, 0x0c, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x74, 0x65, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x73, 0x69, + 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x62, 0x0a, 0x0d, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x4c, 0x55, 0x45, 0x50, + 0x52, 0x49, 0x4e, 0x54, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4c, 0x55, 0x45, 0x50, + 0x52, 0x49, 0x4e, 0x54, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, + 0x01, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4c, 0x55, 0x45, 0x50, 0x52, 0x49, 0x4e, 0x54, 0x5f, 0x56, + 0x49, 0x45, 0x57, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x2a, 0x66, 0x0a, 0x0e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1f, 0x0a, 0x1b, + 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, + 0x15, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x49, 0x45, 0x57, + 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x45, 0x50, 0x4c, + 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x46, 0x55, 0x4c, 0x4c, + 0x10, 0x02, 0x2a, 0x5e, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x46, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x5f, 0x52, + 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x45, 0x50, + 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, + 0x10, 0x02, 0x2a, 0x9b, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, + 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x11, 0x0a, + 0x0d, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, + 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, + 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x0a, + 0x2a, 0x6f, 0x0a, 0x0f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, + 0x54, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x59, 0x44, 0x52, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x44, + 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x4d, + 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x10, + 0x03, 0x32, 0xec, 0x43, 0x0a, 0x0f, 0x54, 0x65, 0x6c, 0x63, 0x6f, 0x41, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xee, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, + 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0xda, 0x41, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4f, 0x72, + 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x48, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbe, 0x02, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0xca, 0x41, 0x29, 0x0a, 0x14, 0x4f, 0x72, + 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x35, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6f, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x2c, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x52, 0x3a, 0x15, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, + 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xf6, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x75, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3b, 0x2a, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xba, + 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x73, 0x12, + 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, + 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x64, 0x67, 0x65, + 0x53, 0x6c, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x65, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x73, 0x12, 0xa7, 0x01, 0x0a, 0x0a, + 0x47, 0x65, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x22, 0x3b, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x64, 0x67, 0x65, 0x53, 0x6c, + 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xe2, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, + 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7b, 0xca, + 0x41, 0x1c, 0x0a, 0x07, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x12, 0x11, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, + 0x1b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x6d, + 0x2c, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x6d, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x38, 0x3a, 0x08, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x6d, 0x22, 0x2c, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x65, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x73, 0x12, 0xcf, 0x01, 0x0a, 0x0d, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x12, 0x35, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, + 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, + 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x68, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x2a, 0x2c, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x65, 0x64, 0x67, 0x65, 0x53, 0x6c, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf1, 0x01, 0x0a, + 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x75, 0x65, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x79, 0xda, 0x41, 0x1d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x2c, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x2c, 0x62, 0x6c, 0x75, 0x65, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x09, 0x62, + 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, + 0x12, 0xf3, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6c, 0x75, + 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, + 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x7b, 0xda, 0x41, 0x15, 0x62, 0x6c, + 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x3a, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x32, 0x50, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x62, 0x6c, 0x75, 0x65, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc7, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x42, 0x6c, + 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x75, + 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, + 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x55, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x2f, 0x2a, 0x2f, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, + 0x12, 0xb9, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x75, + 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x55, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x48, 0x2a, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x62, + 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xda, 0x01, 0x0a, + 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x12, + 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, + 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6c, + 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x57, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x48, 0x12, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, + 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x12, 0xda, 0x01, 0x0a, 0x10, 0x41, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x38, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x22, 0x60, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x53, 0x3a, 0x01, 0x2a, 0x22, 0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, + 0x2f, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x12, 0xda, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x70, 0x6f, + 0x73, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, + 0x6f, 0x70, 0x6f, 0x73, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x22, 0x60, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, + 0x3a, 0x01, 0x2a, 0x22, 0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x6c, + 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x6f, 0x70, + 0x6f, 0x73, 0x65, 0x12, 0xd7, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x6c, + 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, + 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x5f, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x01, 0x2a, 0x22, 0x4d, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x12, 0xfe, 0x01, + 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, + 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, + 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x12, 0x54, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x2f, 0x2a, 0x2f, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x8e, + 0x02, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, + 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x6d, 0xda, 0x41, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x12, 0x56, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x3a, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x92, 0x02, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, + 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0xda, 0x41, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x12, 0x57, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xfe, 0x01, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x75, 0x65, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x60, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x53, 0x3a, 0x01, 0x2a, 0x22, 0x4e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, + 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x69, + 0x73, 0x63, 0x61, 0x72, 0x64, 0x12, 0xda, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, 0x65, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, + 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x73, 0x12, 0xc7, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x6c, + 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x43, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, + 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xf8, 0x01, 0x0a, + 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x7d, 0xda, 0x41, 0x1f, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x55, 0x3a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x47, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xfa, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, + 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x22, 0x7f, 0xda, 0x41, 0x16, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x60, 0x3a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x32, 0x52, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, + 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, + 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x56, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x2a, 0x7d, 0x12, 0xc6, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x60, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x01, 0x2a, 0x22, 0x4e, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, + 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0xde, 0x01, 0x0a, 0x0f, + 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, + 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x58, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x82, 0x02, 0x0a, + 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x12, 0x55, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x82, 0x02, 0x0a, 0x18, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x40, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x54, 0x3a, 0x01, 0x2a, 0x22, 0x4f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, + 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x12, 0xd8, 0x01, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, + 0x6c, 0x79, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x22, 0x5f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, + 0x01, 0x2a, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x70, 0x70, 0x6c, + 0x79, 0x12, 0x8c, 0x02, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, + 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x6e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x12, + 0x5f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0xed, 0x01, 0x0a, 0x12, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x22, 0x6e, 0xda, 0x41, 0x10, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x01, 0x2a, 0x22, 0x50, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, + 0x12, 0xf9, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, 0x64, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x6c, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x12, 0x5d, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8c, 0x02, 0x0a, + 0x17, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, + 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x12, 0x5d, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xc5, 0x02, 0x0a, 0x18, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, 0x64, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, + 0xb1, 0x01, 0xda, 0x41, 0x1f, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x88, 0x01, 0x3a, 0x13, 0x68, 0x79, 0x64, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x32, 0x71, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x68, 0x79, 0x64, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x2a, 0x7d, 0x12, 0x86, 0x02, 0x0a, 0x17, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x48, 0x79, 0x64, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, + 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x75, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x68, 0x3a, 0x01, 0x2a, 0x22, 0x63, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, + 0x2a, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x1a, 0x52, 0xca, 0x41, + 0x1e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, + 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x42, 0xf5, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x14, 0x54, 0x65, 0x6c, 0x63, 0x6f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x4d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6c, 0x63, + 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x62, 0x3b, 0x74, 0x65, + 0x6c, 0x63, 0x6f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x62, 0xaa, + 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x54, + 0x65, 0x6c, 0x63, 0x6f, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, + 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x54, 0x65, 0x6c, 0x63, 0x6f, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5c, 0x56, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x54, 0x65, 0x6c, 0x63, 0x6f, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescOnce sync.Once + file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescData = file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDesc +) + +func file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescGZIP() []byte { + file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescOnce.Do(func() { + file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescData) + }) + return file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDescData +} + +var file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes = make([]protoimpl.EnumInfo, 11) +var file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes = make([]protoimpl.MessageInfo, 72) +var file_google_cloud_telcoautomation_v1_telcoautomation_proto_goTypes = []interface{}{ + (BlueprintView)(0), // 0: google.cloud.telcoautomation.v1.BlueprintView + (DeploymentView)(0), // 1: google.cloud.telcoautomation.v1.DeploymentView + (ResourceType)(0), // 2: google.cloud.telcoautomation.v1.ResourceType + (Status)(0), // 3: google.cloud.telcoautomation.v1.Status + (DeploymentLevel)(0), // 4: google.cloud.telcoautomation.v1.DeploymentLevel + (OrchestrationCluster_State)(0), // 5: google.cloud.telcoautomation.v1.OrchestrationCluster.State + (EdgeSlm_State)(0), // 6: google.cloud.telcoautomation.v1.EdgeSlm.State + (EdgeSlm_WorkloadClusterType)(0), // 7: google.cloud.telcoautomation.v1.EdgeSlm.WorkloadClusterType + (Blueprint_ApprovalState)(0), // 8: google.cloud.telcoautomation.v1.Blueprint.ApprovalState + (Deployment_State)(0), // 9: google.cloud.telcoautomation.v1.Deployment.State + (HydratedDeployment_State)(0), // 10: google.cloud.telcoautomation.v1.HydratedDeployment.State + (*OrchestrationCluster)(nil), // 11: google.cloud.telcoautomation.v1.OrchestrationCluster + (*EdgeSlm)(nil), // 12: google.cloud.telcoautomation.v1.EdgeSlm + (*Blueprint)(nil), // 13: google.cloud.telcoautomation.v1.Blueprint + (*PublicBlueprint)(nil), // 14: google.cloud.telcoautomation.v1.PublicBlueprint + (*Deployment)(nil), // 15: google.cloud.telcoautomation.v1.Deployment + (*HydratedDeployment)(nil), // 16: google.cloud.telcoautomation.v1.HydratedDeployment + (*ListOrchestrationClustersRequest)(nil), // 17: google.cloud.telcoautomation.v1.ListOrchestrationClustersRequest + (*ListOrchestrationClustersResponse)(nil), // 18: google.cloud.telcoautomation.v1.ListOrchestrationClustersResponse + (*GetOrchestrationClusterRequest)(nil), // 19: google.cloud.telcoautomation.v1.GetOrchestrationClusterRequest + (*CreateOrchestrationClusterRequest)(nil), // 20: google.cloud.telcoautomation.v1.CreateOrchestrationClusterRequest + (*DeleteOrchestrationClusterRequest)(nil), // 21: google.cloud.telcoautomation.v1.DeleteOrchestrationClusterRequest + (*ListEdgeSlmsRequest)(nil), // 22: google.cloud.telcoautomation.v1.ListEdgeSlmsRequest + (*ListEdgeSlmsResponse)(nil), // 23: google.cloud.telcoautomation.v1.ListEdgeSlmsResponse + (*GetEdgeSlmRequest)(nil), // 24: google.cloud.telcoautomation.v1.GetEdgeSlmRequest + (*CreateEdgeSlmRequest)(nil), // 25: google.cloud.telcoautomation.v1.CreateEdgeSlmRequest + (*DeleteEdgeSlmRequest)(nil), // 26: google.cloud.telcoautomation.v1.DeleteEdgeSlmRequest + (*CreateBlueprintRequest)(nil), // 27: google.cloud.telcoautomation.v1.CreateBlueprintRequest + (*UpdateBlueprintRequest)(nil), // 28: google.cloud.telcoautomation.v1.UpdateBlueprintRequest + (*GetBlueprintRequest)(nil), // 29: google.cloud.telcoautomation.v1.GetBlueprintRequest + (*DeleteBlueprintRequest)(nil), // 30: google.cloud.telcoautomation.v1.DeleteBlueprintRequest + (*ListBlueprintsRequest)(nil), // 31: google.cloud.telcoautomation.v1.ListBlueprintsRequest + (*ListBlueprintsResponse)(nil), // 32: google.cloud.telcoautomation.v1.ListBlueprintsResponse + (*ApproveBlueprintRequest)(nil), // 33: google.cloud.telcoautomation.v1.ApproveBlueprintRequest + (*ProposeBlueprintRequest)(nil), // 34: google.cloud.telcoautomation.v1.ProposeBlueprintRequest + (*RejectBlueprintRequest)(nil), // 35: google.cloud.telcoautomation.v1.RejectBlueprintRequest + (*ListBlueprintRevisionsRequest)(nil), // 36: google.cloud.telcoautomation.v1.ListBlueprintRevisionsRequest + (*ListBlueprintRevisionsResponse)(nil), // 37: google.cloud.telcoautomation.v1.ListBlueprintRevisionsResponse + (*SearchBlueprintRevisionsRequest)(nil), // 38: google.cloud.telcoautomation.v1.SearchBlueprintRevisionsRequest + (*SearchBlueprintRevisionsResponse)(nil), // 39: google.cloud.telcoautomation.v1.SearchBlueprintRevisionsResponse + (*DiscardBlueprintChangesRequest)(nil), // 40: google.cloud.telcoautomation.v1.DiscardBlueprintChangesRequest + (*DiscardBlueprintChangesResponse)(nil), // 41: google.cloud.telcoautomation.v1.DiscardBlueprintChangesResponse + (*ListPublicBlueprintsRequest)(nil), // 42: google.cloud.telcoautomation.v1.ListPublicBlueprintsRequest + (*ListPublicBlueprintsResponse)(nil), // 43: google.cloud.telcoautomation.v1.ListPublicBlueprintsResponse + (*GetPublicBlueprintRequest)(nil), // 44: google.cloud.telcoautomation.v1.GetPublicBlueprintRequest + (*CreateDeploymentRequest)(nil), // 45: google.cloud.telcoautomation.v1.CreateDeploymentRequest + (*UpdateDeploymentRequest)(nil), // 46: google.cloud.telcoautomation.v1.UpdateDeploymentRequest + (*GetDeploymentRequest)(nil), // 47: google.cloud.telcoautomation.v1.GetDeploymentRequest + (*RemoveDeploymentRequest)(nil), // 48: google.cloud.telcoautomation.v1.RemoveDeploymentRequest + (*ListDeploymentsRequest)(nil), // 49: google.cloud.telcoautomation.v1.ListDeploymentsRequest + (*ListDeploymentsResponse)(nil), // 50: google.cloud.telcoautomation.v1.ListDeploymentsResponse + (*ListDeploymentRevisionsRequest)(nil), // 51: google.cloud.telcoautomation.v1.ListDeploymentRevisionsRequest + (*ListDeploymentRevisionsResponse)(nil), // 52: google.cloud.telcoautomation.v1.ListDeploymentRevisionsResponse + (*SearchDeploymentRevisionsRequest)(nil), // 53: google.cloud.telcoautomation.v1.SearchDeploymentRevisionsRequest + (*SearchDeploymentRevisionsResponse)(nil), // 54: google.cloud.telcoautomation.v1.SearchDeploymentRevisionsResponse + (*DiscardDeploymentChangesRequest)(nil), // 55: google.cloud.telcoautomation.v1.DiscardDeploymentChangesRequest + (*DiscardDeploymentChangesResponse)(nil), // 56: google.cloud.telcoautomation.v1.DiscardDeploymentChangesResponse + (*ApplyDeploymentRequest)(nil), // 57: google.cloud.telcoautomation.v1.ApplyDeploymentRequest + (*ComputeDeploymentStatusRequest)(nil), // 58: google.cloud.telcoautomation.v1.ComputeDeploymentStatusRequest + (*ComputeDeploymentStatusResponse)(nil), // 59: google.cloud.telcoautomation.v1.ComputeDeploymentStatusResponse + (*RollbackDeploymentRequest)(nil), // 60: google.cloud.telcoautomation.v1.RollbackDeploymentRequest + (*OperationMetadata)(nil), // 61: google.cloud.telcoautomation.v1.OperationMetadata + (*GetHydratedDeploymentRequest)(nil), // 62: google.cloud.telcoautomation.v1.GetHydratedDeploymentRequest + (*ListHydratedDeploymentsRequest)(nil), // 63: google.cloud.telcoautomation.v1.ListHydratedDeploymentsRequest + (*ListHydratedDeploymentsResponse)(nil), // 64: google.cloud.telcoautomation.v1.ListHydratedDeploymentsResponse + (*UpdateHydratedDeploymentRequest)(nil), // 65: google.cloud.telcoautomation.v1.UpdateHydratedDeploymentRequest + (*ApplyHydratedDeploymentRequest)(nil), // 66: google.cloud.telcoautomation.v1.ApplyHydratedDeploymentRequest + (*ManagementConfig)(nil), // 67: google.cloud.telcoautomation.v1.ManagementConfig + (*StandardManagementConfig)(nil), // 68: google.cloud.telcoautomation.v1.StandardManagementConfig + (*FullManagementConfig)(nil), // 69: google.cloud.telcoautomation.v1.FullManagementConfig + (*MasterAuthorizedNetworksConfig)(nil), // 70: google.cloud.telcoautomation.v1.MasterAuthorizedNetworksConfig + (*File)(nil), // 71: google.cloud.telcoautomation.v1.File + (*ResourceStatus)(nil), // 72: google.cloud.telcoautomation.v1.ResourceStatus + (*NFDeployStatus)(nil), // 73: google.cloud.telcoautomation.v1.NFDeployStatus + (*NFDeploySiteStatus)(nil), // 74: google.cloud.telcoautomation.v1.NFDeploySiteStatus + (*HydrationStatus)(nil), // 75: google.cloud.telcoautomation.v1.HydrationStatus + (*SiteVersion)(nil), // 76: google.cloud.telcoautomation.v1.SiteVersion + (*WorkloadStatus)(nil), // 77: google.cloud.telcoautomation.v1.WorkloadStatus + nil, // 78: google.cloud.telcoautomation.v1.OrchestrationCluster.LabelsEntry + nil, // 79: google.cloud.telcoautomation.v1.EdgeSlm.LabelsEntry + nil, // 80: google.cloud.telcoautomation.v1.Blueprint.LabelsEntry + nil, // 81: google.cloud.telcoautomation.v1.Deployment.LabelsEntry + (*MasterAuthorizedNetworksConfig_CidrBlock)(nil), // 82: google.cloud.telcoautomation.v1.MasterAuthorizedNetworksConfig.CidrBlock + (*timestamppb.Timestamp)(nil), // 83: google.protobuf.Timestamp + (*fieldmaskpb.FieldMask)(nil), // 84: google.protobuf.FieldMask + (*longrunningpb.Operation)(nil), // 85: google.longrunning.Operation + (*emptypb.Empty)(nil), // 86: google.protobuf.Empty +} +var file_google_cloud_telcoautomation_v1_telcoautomation_proto_depIdxs = []int32{ + 67, // 0: google.cloud.telcoautomation.v1.OrchestrationCluster.management_config:type_name -> google.cloud.telcoautomation.v1.ManagementConfig + 83, // 1: google.cloud.telcoautomation.v1.OrchestrationCluster.create_time:type_name -> google.protobuf.Timestamp + 83, // 2: google.cloud.telcoautomation.v1.OrchestrationCluster.update_time:type_name -> google.protobuf.Timestamp + 78, // 3: google.cloud.telcoautomation.v1.OrchestrationCluster.labels:type_name -> google.cloud.telcoautomation.v1.OrchestrationCluster.LabelsEntry + 5, // 4: google.cloud.telcoautomation.v1.OrchestrationCluster.state:type_name -> google.cloud.telcoautomation.v1.OrchestrationCluster.State + 83, // 5: google.cloud.telcoautomation.v1.EdgeSlm.create_time:type_name -> google.protobuf.Timestamp + 83, // 6: google.cloud.telcoautomation.v1.EdgeSlm.update_time:type_name -> google.protobuf.Timestamp + 79, // 7: google.cloud.telcoautomation.v1.EdgeSlm.labels:type_name -> google.cloud.telcoautomation.v1.EdgeSlm.LabelsEntry + 6, // 8: google.cloud.telcoautomation.v1.EdgeSlm.state:type_name -> google.cloud.telcoautomation.v1.EdgeSlm.State + 7, // 9: google.cloud.telcoautomation.v1.EdgeSlm.workload_cluster_type:type_name -> google.cloud.telcoautomation.v1.EdgeSlm.WorkloadClusterType + 83, // 10: google.cloud.telcoautomation.v1.Blueprint.revision_create_time:type_name -> google.protobuf.Timestamp + 8, // 11: google.cloud.telcoautomation.v1.Blueprint.approval_state:type_name -> google.cloud.telcoautomation.v1.Blueprint.ApprovalState + 71, // 12: google.cloud.telcoautomation.v1.Blueprint.files:type_name -> google.cloud.telcoautomation.v1.File + 80, // 13: google.cloud.telcoautomation.v1.Blueprint.labels:type_name -> google.cloud.telcoautomation.v1.Blueprint.LabelsEntry + 83, // 14: google.cloud.telcoautomation.v1.Blueprint.create_time:type_name -> google.protobuf.Timestamp + 83, // 15: google.cloud.telcoautomation.v1.Blueprint.update_time:type_name -> google.protobuf.Timestamp + 4, // 16: google.cloud.telcoautomation.v1.Blueprint.deployment_level:type_name -> google.cloud.telcoautomation.v1.DeploymentLevel + 4, // 17: google.cloud.telcoautomation.v1.PublicBlueprint.deployment_level:type_name -> google.cloud.telcoautomation.v1.DeploymentLevel + 83, // 18: google.cloud.telcoautomation.v1.Deployment.revision_create_time:type_name -> google.protobuf.Timestamp + 9, // 19: google.cloud.telcoautomation.v1.Deployment.state:type_name -> google.cloud.telcoautomation.v1.Deployment.State + 71, // 20: google.cloud.telcoautomation.v1.Deployment.files:type_name -> google.cloud.telcoautomation.v1.File + 81, // 21: google.cloud.telcoautomation.v1.Deployment.labels:type_name -> google.cloud.telcoautomation.v1.Deployment.LabelsEntry + 83, // 22: google.cloud.telcoautomation.v1.Deployment.create_time:type_name -> google.protobuf.Timestamp + 83, // 23: google.cloud.telcoautomation.v1.Deployment.update_time:type_name -> google.protobuf.Timestamp + 4, // 24: google.cloud.telcoautomation.v1.Deployment.deployment_level:type_name -> google.cloud.telcoautomation.v1.DeploymentLevel + 10, // 25: google.cloud.telcoautomation.v1.HydratedDeployment.state:type_name -> google.cloud.telcoautomation.v1.HydratedDeployment.State + 71, // 26: google.cloud.telcoautomation.v1.HydratedDeployment.files:type_name -> google.cloud.telcoautomation.v1.File + 11, // 27: google.cloud.telcoautomation.v1.ListOrchestrationClustersResponse.orchestration_clusters:type_name -> google.cloud.telcoautomation.v1.OrchestrationCluster + 11, // 28: google.cloud.telcoautomation.v1.CreateOrchestrationClusterRequest.orchestration_cluster:type_name -> google.cloud.telcoautomation.v1.OrchestrationCluster + 12, // 29: google.cloud.telcoautomation.v1.ListEdgeSlmsResponse.edge_slms:type_name -> google.cloud.telcoautomation.v1.EdgeSlm + 12, // 30: google.cloud.telcoautomation.v1.CreateEdgeSlmRequest.edge_slm:type_name -> google.cloud.telcoautomation.v1.EdgeSlm + 13, // 31: google.cloud.telcoautomation.v1.CreateBlueprintRequest.blueprint:type_name -> google.cloud.telcoautomation.v1.Blueprint + 13, // 32: google.cloud.telcoautomation.v1.UpdateBlueprintRequest.blueprint:type_name -> google.cloud.telcoautomation.v1.Blueprint + 84, // 33: google.cloud.telcoautomation.v1.UpdateBlueprintRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 34: google.cloud.telcoautomation.v1.GetBlueprintRequest.view:type_name -> google.cloud.telcoautomation.v1.BlueprintView + 13, // 35: google.cloud.telcoautomation.v1.ListBlueprintsResponse.blueprints:type_name -> google.cloud.telcoautomation.v1.Blueprint + 13, // 36: google.cloud.telcoautomation.v1.ListBlueprintRevisionsResponse.blueprints:type_name -> google.cloud.telcoautomation.v1.Blueprint + 13, // 37: google.cloud.telcoautomation.v1.SearchBlueprintRevisionsResponse.blueprints:type_name -> google.cloud.telcoautomation.v1.Blueprint + 14, // 38: google.cloud.telcoautomation.v1.ListPublicBlueprintsResponse.public_blueprints:type_name -> google.cloud.telcoautomation.v1.PublicBlueprint + 15, // 39: google.cloud.telcoautomation.v1.CreateDeploymentRequest.deployment:type_name -> google.cloud.telcoautomation.v1.Deployment + 15, // 40: google.cloud.telcoautomation.v1.UpdateDeploymentRequest.deployment:type_name -> google.cloud.telcoautomation.v1.Deployment + 84, // 41: google.cloud.telcoautomation.v1.UpdateDeploymentRequest.update_mask:type_name -> google.protobuf.FieldMask + 1, // 42: google.cloud.telcoautomation.v1.GetDeploymentRequest.view:type_name -> google.cloud.telcoautomation.v1.DeploymentView + 15, // 43: google.cloud.telcoautomation.v1.ListDeploymentsResponse.deployments:type_name -> google.cloud.telcoautomation.v1.Deployment + 15, // 44: google.cloud.telcoautomation.v1.ListDeploymentRevisionsResponse.deployments:type_name -> google.cloud.telcoautomation.v1.Deployment + 15, // 45: google.cloud.telcoautomation.v1.SearchDeploymentRevisionsResponse.deployments:type_name -> google.cloud.telcoautomation.v1.Deployment + 3, // 46: google.cloud.telcoautomation.v1.ComputeDeploymentStatusResponse.aggregated_status:type_name -> google.cloud.telcoautomation.v1.Status + 72, // 47: google.cloud.telcoautomation.v1.ComputeDeploymentStatusResponse.resource_statuses:type_name -> google.cloud.telcoautomation.v1.ResourceStatus + 83, // 48: google.cloud.telcoautomation.v1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp + 83, // 49: google.cloud.telcoautomation.v1.OperationMetadata.end_time:type_name -> google.protobuf.Timestamp + 16, // 50: google.cloud.telcoautomation.v1.ListHydratedDeploymentsResponse.hydrated_deployments:type_name -> google.cloud.telcoautomation.v1.HydratedDeployment + 16, // 51: google.cloud.telcoautomation.v1.UpdateHydratedDeploymentRequest.hydrated_deployment:type_name -> google.cloud.telcoautomation.v1.HydratedDeployment + 84, // 52: google.cloud.telcoautomation.v1.UpdateHydratedDeploymentRequest.update_mask:type_name -> google.protobuf.FieldMask + 68, // 53: google.cloud.telcoautomation.v1.ManagementConfig.standard_management_config:type_name -> google.cloud.telcoautomation.v1.StandardManagementConfig + 69, // 54: google.cloud.telcoautomation.v1.ManagementConfig.full_management_config:type_name -> google.cloud.telcoautomation.v1.FullManagementConfig + 70, // 55: google.cloud.telcoautomation.v1.StandardManagementConfig.master_authorized_networks_config:type_name -> google.cloud.telcoautomation.v1.MasterAuthorizedNetworksConfig + 70, // 56: google.cloud.telcoautomation.v1.FullManagementConfig.master_authorized_networks_config:type_name -> google.cloud.telcoautomation.v1.MasterAuthorizedNetworksConfig + 82, // 57: google.cloud.telcoautomation.v1.MasterAuthorizedNetworksConfig.cidr_blocks:type_name -> google.cloud.telcoautomation.v1.MasterAuthorizedNetworksConfig.CidrBlock + 2, // 58: google.cloud.telcoautomation.v1.ResourceStatus.resource_type:type_name -> google.cloud.telcoautomation.v1.ResourceType + 3, // 59: google.cloud.telcoautomation.v1.ResourceStatus.status:type_name -> google.cloud.telcoautomation.v1.Status + 73, // 60: google.cloud.telcoautomation.v1.ResourceStatus.nf_deploy_status:type_name -> google.cloud.telcoautomation.v1.NFDeployStatus + 74, // 61: google.cloud.telcoautomation.v1.NFDeployStatus.sites:type_name -> google.cloud.telcoautomation.v1.NFDeploySiteStatus + 75, // 62: google.cloud.telcoautomation.v1.NFDeploySiteStatus.hydration:type_name -> google.cloud.telcoautomation.v1.HydrationStatus + 77, // 63: google.cloud.telcoautomation.v1.NFDeploySiteStatus.workload:type_name -> google.cloud.telcoautomation.v1.WorkloadStatus + 76, // 64: google.cloud.telcoautomation.v1.HydrationStatus.site_version:type_name -> google.cloud.telcoautomation.v1.SiteVersion + 76, // 65: google.cloud.telcoautomation.v1.WorkloadStatus.site_version:type_name -> google.cloud.telcoautomation.v1.SiteVersion + 17, // 66: google.cloud.telcoautomation.v1.TelcoAutomation.ListOrchestrationClusters:input_type -> google.cloud.telcoautomation.v1.ListOrchestrationClustersRequest + 19, // 67: google.cloud.telcoautomation.v1.TelcoAutomation.GetOrchestrationCluster:input_type -> google.cloud.telcoautomation.v1.GetOrchestrationClusterRequest + 20, // 68: google.cloud.telcoautomation.v1.TelcoAutomation.CreateOrchestrationCluster:input_type -> google.cloud.telcoautomation.v1.CreateOrchestrationClusterRequest + 21, // 69: google.cloud.telcoautomation.v1.TelcoAutomation.DeleteOrchestrationCluster:input_type -> google.cloud.telcoautomation.v1.DeleteOrchestrationClusterRequest + 22, // 70: google.cloud.telcoautomation.v1.TelcoAutomation.ListEdgeSlms:input_type -> google.cloud.telcoautomation.v1.ListEdgeSlmsRequest + 24, // 71: google.cloud.telcoautomation.v1.TelcoAutomation.GetEdgeSlm:input_type -> google.cloud.telcoautomation.v1.GetEdgeSlmRequest + 25, // 72: google.cloud.telcoautomation.v1.TelcoAutomation.CreateEdgeSlm:input_type -> google.cloud.telcoautomation.v1.CreateEdgeSlmRequest + 26, // 73: google.cloud.telcoautomation.v1.TelcoAutomation.DeleteEdgeSlm:input_type -> google.cloud.telcoautomation.v1.DeleteEdgeSlmRequest + 27, // 74: google.cloud.telcoautomation.v1.TelcoAutomation.CreateBlueprint:input_type -> google.cloud.telcoautomation.v1.CreateBlueprintRequest + 28, // 75: google.cloud.telcoautomation.v1.TelcoAutomation.UpdateBlueprint:input_type -> google.cloud.telcoautomation.v1.UpdateBlueprintRequest + 29, // 76: google.cloud.telcoautomation.v1.TelcoAutomation.GetBlueprint:input_type -> google.cloud.telcoautomation.v1.GetBlueprintRequest + 30, // 77: google.cloud.telcoautomation.v1.TelcoAutomation.DeleteBlueprint:input_type -> google.cloud.telcoautomation.v1.DeleteBlueprintRequest + 31, // 78: google.cloud.telcoautomation.v1.TelcoAutomation.ListBlueprints:input_type -> google.cloud.telcoautomation.v1.ListBlueprintsRequest + 33, // 79: google.cloud.telcoautomation.v1.TelcoAutomation.ApproveBlueprint:input_type -> google.cloud.telcoautomation.v1.ApproveBlueprintRequest + 34, // 80: google.cloud.telcoautomation.v1.TelcoAutomation.ProposeBlueprint:input_type -> google.cloud.telcoautomation.v1.ProposeBlueprintRequest + 35, // 81: google.cloud.telcoautomation.v1.TelcoAutomation.RejectBlueprint:input_type -> google.cloud.telcoautomation.v1.RejectBlueprintRequest + 36, // 82: google.cloud.telcoautomation.v1.TelcoAutomation.ListBlueprintRevisions:input_type -> google.cloud.telcoautomation.v1.ListBlueprintRevisionsRequest + 38, // 83: google.cloud.telcoautomation.v1.TelcoAutomation.SearchBlueprintRevisions:input_type -> google.cloud.telcoautomation.v1.SearchBlueprintRevisionsRequest + 53, // 84: google.cloud.telcoautomation.v1.TelcoAutomation.SearchDeploymentRevisions:input_type -> google.cloud.telcoautomation.v1.SearchDeploymentRevisionsRequest + 40, // 85: google.cloud.telcoautomation.v1.TelcoAutomation.DiscardBlueprintChanges:input_type -> google.cloud.telcoautomation.v1.DiscardBlueprintChangesRequest + 42, // 86: google.cloud.telcoautomation.v1.TelcoAutomation.ListPublicBlueprints:input_type -> google.cloud.telcoautomation.v1.ListPublicBlueprintsRequest + 44, // 87: google.cloud.telcoautomation.v1.TelcoAutomation.GetPublicBlueprint:input_type -> google.cloud.telcoautomation.v1.GetPublicBlueprintRequest + 45, // 88: google.cloud.telcoautomation.v1.TelcoAutomation.CreateDeployment:input_type -> google.cloud.telcoautomation.v1.CreateDeploymentRequest + 46, // 89: google.cloud.telcoautomation.v1.TelcoAutomation.UpdateDeployment:input_type -> google.cloud.telcoautomation.v1.UpdateDeploymentRequest + 47, // 90: google.cloud.telcoautomation.v1.TelcoAutomation.GetDeployment:input_type -> google.cloud.telcoautomation.v1.GetDeploymentRequest + 48, // 91: google.cloud.telcoautomation.v1.TelcoAutomation.RemoveDeployment:input_type -> google.cloud.telcoautomation.v1.RemoveDeploymentRequest + 49, // 92: google.cloud.telcoautomation.v1.TelcoAutomation.ListDeployments:input_type -> google.cloud.telcoautomation.v1.ListDeploymentsRequest + 51, // 93: google.cloud.telcoautomation.v1.TelcoAutomation.ListDeploymentRevisions:input_type -> google.cloud.telcoautomation.v1.ListDeploymentRevisionsRequest + 55, // 94: google.cloud.telcoautomation.v1.TelcoAutomation.DiscardDeploymentChanges:input_type -> google.cloud.telcoautomation.v1.DiscardDeploymentChangesRequest + 57, // 95: google.cloud.telcoautomation.v1.TelcoAutomation.ApplyDeployment:input_type -> google.cloud.telcoautomation.v1.ApplyDeploymentRequest + 58, // 96: google.cloud.telcoautomation.v1.TelcoAutomation.ComputeDeploymentStatus:input_type -> google.cloud.telcoautomation.v1.ComputeDeploymentStatusRequest + 60, // 97: google.cloud.telcoautomation.v1.TelcoAutomation.RollbackDeployment:input_type -> google.cloud.telcoautomation.v1.RollbackDeploymentRequest + 62, // 98: google.cloud.telcoautomation.v1.TelcoAutomation.GetHydratedDeployment:input_type -> google.cloud.telcoautomation.v1.GetHydratedDeploymentRequest + 63, // 99: google.cloud.telcoautomation.v1.TelcoAutomation.ListHydratedDeployments:input_type -> google.cloud.telcoautomation.v1.ListHydratedDeploymentsRequest + 65, // 100: google.cloud.telcoautomation.v1.TelcoAutomation.UpdateHydratedDeployment:input_type -> google.cloud.telcoautomation.v1.UpdateHydratedDeploymentRequest + 66, // 101: google.cloud.telcoautomation.v1.TelcoAutomation.ApplyHydratedDeployment:input_type -> google.cloud.telcoautomation.v1.ApplyHydratedDeploymentRequest + 18, // 102: google.cloud.telcoautomation.v1.TelcoAutomation.ListOrchestrationClusters:output_type -> google.cloud.telcoautomation.v1.ListOrchestrationClustersResponse + 11, // 103: google.cloud.telcoautomation.v1.TelcoAutomation.GetOrchestrationCluster:output_type -> google.cloud.telcoautomation.v1.OrchestrationCluster + 85, // 104: google.cloud.telcoautomation.v1.TelcoAutomation.CreateOrchestrationCluster:output_type -> google.longrunning.Operation + 85, // 105: google.cloud.telcoautomation.v1.TelcoAutomation.DeleteOrchestrationCluster:output_type -> google.longrunning.Operation + 23, // 106: google.cloud.telcoautomation.v1.TelcoAutomation.ListEdgeSlms:output_type -> google.cloud.telcoautomation.v1.ListEdgeSlmsResponse + 12, // 107: google.cloud.telcoautomation.v1.TelcoAutomation.GetEdgeSlm:output_type -> google.cloud.telcoautomation.v1.EdgeSlm + 85, // 108: google.cloud.telcoautomation.v1.TelcoAutomation.CreateEdgeSlm:output_type -> google.longrunning.Operation + 85, // 109: google.cloud.telcoautomation.v1.TelcoAutomation.DeleteEdgeSlm:output_type -> google.longrunning.Operation + 13, // 110: google.cloud.telcoautomation.v1.TelcoAutomation.CreateBlueprint:output_type -> google.cloud.telcoautomation.v1.Blueprint + 13, // 111: google.cloud.telcoautomation.v1.TelcoAutomation.UpdateBlueprint:output_type -> google.cloud.telcoautomation.v1.Blueprint + 13, // 112: google.cloud.telcoautomation.v1.TelcoAutomation.GetBlueprint:output_type -> google.cloud.telcoautomation.v1.Blueprint + 86, // 113: google.cloud.telcoautomation.v1.TelcoAutomation.DeleteBlueprint:output_type -> google.protobuf.Empty + 32, // 114: google.cloud.telcoautomation.v1.TelcoAutomation.ListBlueprints:output_type -> google.cloud.telcoautomation.v1.ListBlueprintsResponse + 13, // 115: google.cloud.telcoautomation.v1.TelcoAutomation.ApproveBlueprint:output_type -> google.cloud.telcoautomation.v1.Blueprint + 13, // 116: google.cloud.telcoautomation.v1.TelcoAutomation.ProposeBlueprint:output_type -> google.cloud.telcoautomation.v1.Blueprint + 13, // 117: google.cloud.telcoautomation.v1.TelcoAutomation.RejectBlueprint:output_type -> google.cloud.telcoautomation.v1.Blueprint + 37, // 118: google.cloud.telcoautomation.v1.TelcoAutomation.ListBlueprintRevisions:output_type -> google.cloud.telcoautomation.v1.ListBlueprintRevisionsResponse + 39, // 119: google.cloud.telcoautomation.v1.TelcoAutomation.SearchBlueprintRevisions:output_type -> google.cloud.telcoautomation.v1.SearchBlueprintRevisionsResponse + 54, // 120: google.cloud.telcoautomation.v1.TelcoAutomation.SearchDeploymentRevisions:output_type -> google.cloud.telcoautomation.v1.SearchDeploymentRevisionsResponse + 41, // 121: google.cloud.telcoautomation.v1.TelcoAutomation.DiscardBlueprintChanges:output_type -> google.cloud.telcoautomation.v1.DiscardBlueprintChangesResponse + 43, // 122: google.cloud.telcoautomation.v1.TelcoAutomation.ListPublicBlueprints:output_type -> google.cloud.telcoautomation.v1.ListPublicBlueprintsResponse + 14, // 123: google.cloud.telcoautomation.v1.TelcoAutomation.GetPublicBlueprint:output_type -> google.cloud.telcoautomation.v1.PublicBlueprint + 15, // 124: google.cloud.telcoautomation.v1.TelcoAutomation.CreateDeployment:output_type -> google.cloud.telcoautomation.v1.Deployment + 15, // 125: google.cloud.telcoautomation.v1.TelcoAutomation.UpdateDeployment:output_type -> google.cloud.telcoautomation.v1.Deployment + 15, // 126: google.cloud.telcoautomation.v1.TelcoAutomation.GetDeployment:output_type -> google.cloud.telcoautomation.v1.Deployment + 86, // 127: google.cloud.telcoautomation.v1.TelcoAutomation.RemoveDeployment:output_type -> google.protobuf.Empty + 50, // 128: google.cloud.telcoautomation.v1.TelcoAutomation.ListDeployments:output_type -> google.cloud.telcoautomation.v1.ListDeploymentsResponse + 52, // 129: google.cloud.telcoautomation.v1.TelcoAutomation.ListDeploymentRevisions:output_type -> google.cloud.telcoautomation.v1.ListDeploymentRevisionsResponse + 56, // 130: google.cloud.telcoautomation.v1.TelcoAutomation.DiscardDeploymentChanges:output_type -> google.cloud.telcoautomation.v1.DiscardDeploymentChangesResponse + 15, // 131: google.cloud.telcoautomation.v1.TelcoAutomation.ApplyDeployment:output_type -> google.cloud.telcoautomation.v1.Deployment + 59, // 132: google.cloud.telcoautomation.v1.TelcoAutomation.ComputeDeploymentStatus:output_type -> google.cloud.telcoautomation.v1.ComputeDeploymentStatusResponse + 15, // 133: google.cloud.telcoautomation.v1.TelcoAutomation.RollbackDeployment:output_type -> google.cloud.telcoautomation.v1.Deployment + 16, // 134: google.cloud.telcoautomation.v1.TelcoAutomation.GetHydratedDeployment:output_type -> google.cloud.telcoautomation.v1.HydratedDeployment + 64, // 135: google.cloud.telcoautomation.v1.TelcoAutomation.ListHydratedDeployments:output_type -> google.cloud.telcoautomation.v1.ListHydratedDeploymentsResponse + 16, // 136: google.cloud.telcoautomation.v1.TelcoAutomation.UpdateHydratedDeployment:output_type -> google.cloud.telcoautomation.v1.HydratedDeployment + 16, // 137: google.cloud.telcoautomation.v1.TelcoAutomation.ApplyHydratedDeployment:output_type -> google.cloud.telcoautomation.v1.HydratedDeployment + 102, // [102:138] is the sub-list for method output_type + 66, // [66:102] is the sub-list for method input_type + 66, // [66:66] is the sub-list for extension type_name + 66, // [66:66] is the sub-list for extension extendee + 0, // [0:66] is the sub-list for field type_name +} + +func init() { file_google_cloud_telcoautomation_v1_telcoautomation_proto_init() } +func file_google_cloud_telcoautomation_v1_telcoautomation_proto_init() { + if File_google_cloud_telcoautomation_v1_telcoautomation_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrchestrationCluster); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EdgeSlm); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Blueprint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublicBlueprint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Deployment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HydratedDeployment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListOrchestrationClustersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListOrchestrationClustersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOrchestrationClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateOrchestrationClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteOrchestrationClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEdgeSlmsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListEdgeSlmsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetEdgeSlmRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateEdgeSlmRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteEdgeSlmRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateBlueprintRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateBlueprintRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetBlueprintRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteBlueprintRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListBlueprintsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListBlueprintsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApproveBlueprintRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProposeBlueprintRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RejectBlueprintRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListBlueprintRevisionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListBlueprintRevisionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchBlueprintRevisionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchBlueprintRevisionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscardBlueprintChangesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscardBlueprintChangesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPublicBlueprintsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListPublicBlueprintsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPublicBlueprintRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDeploymentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateDeploymentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDeploymentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveDeploymentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDeploymentsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDeploymentsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDeploymentRevisionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDeploymentRevisionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchDeploymentRevisionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchDeploymentRevisionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscardDeploymentChangesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscardDeploymentChangesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyDeploymentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComputeDeploymentStatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComputeDeploymentStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RollbackDeploymentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetHydratedDeploymentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListHydratedDeploymentsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListHydratedDeploymentsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateHydratedDeploymentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApplyHydratedDeploymentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ManagementConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StandardManagementConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FullManagementConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MasterAuthorizedNetworksConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*File); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourceStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NFDeployStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NFDeploySiteStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HydrationStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SiteVersion); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WorkloadStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MasterAuthorizedNetworksConfig_CidrBlock); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes[56].OneofWrappers = []interface{}{ + (*ManagementConfig_StandardManagementConfig)(nil), + (*ManagementConfig_FullManagementConfig)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDesc, + NumEnums: 11, + NumMessages: 72, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_telcoautomation_v1_telcoautomation_proto_goTypes, + DependencyIndexes: file_google_cloud_telcoautomation_v1_telcoautomation_proto_depIdxs, + EnumInfos: file_google_cloud_telcoautomation_v1_telcoautomation_proto_enumTypes, + MessageInfos: file_google_cloud_telcoautomation_v1_telcoautomation_proto_msgTypes, + }.Build() + File_google_cloud_telcoautomation_v1_telcoautomation_proto = out.File + file_google_cloud_telcoautomation_v1_telcoautomation_proto_rawDesc = nil + file_google_cloud_telcoautomation_v1_telcoautomation_proto_goTypes = nil + file_google_cloud_telcoautomation_v1_telcoautomation_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// TelcoAutomationClient is the client API for TelcoAutomation service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type TelcoAutomationClient interface { + // Lists OrchestrationClusters in a given project and location. + ListOrchestrationClusters(ctx context.Context, in *ListOrchestrationClustersRequest, opts ...grpc.CallOption) (*ListOrchestrationClustersResponse, error) + // Gets details of a single OrchestrationCluster. + GetOrchestrationCluster(ctx context.Context, in *GetOrchestrationClusterRequest, opts ...grpc.CallOption) (*OrchestrationCluster, error) + // Creates a new OrchestrationCluster in a given project and location. + CreateOrchestrationCluster(ctx context.Context, in *CreateOrchestrationClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a single OrchestrationCluster. + DeleteOrchestrationCluster(ctx context.Context, in *DeleteOrchestrationClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Lists EdgeSlms in a given project and location. + ListEdgeSlms(ctx context.Context, in *ListEdgeSlmsRequest, opts ...grpc.CallOption) (*ListEdgeSlmsResponse, error) + // Gets details of a single EdgeSlm. + GetEdgeSlm(ctx context.Context, in *GetEdgeSlmRequest, opts ...grpc.CallOption) (*EdgeSlm, error) + // Creates a new EdgeSlm in a given project and location. + CreateEdgeSlm(ctx context.Context, in *CreateEdgeSlmRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Deletes a single EdgeSlm. + DeleteEdgeSlm(ctx context.Context, in *DeleteEdgeSlmRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) + // Creates a blueprint. + CreateBlueprint(ctx context.Context, in *CreateBlueprintRequest, opts ...grpc.CallOption) (*Blueprint, error) + // Updates a blueprint. + UpdateBlueprint(ctx context.Context, in *UpdateBlueprintRequest, opts ...grpc.CallOption) (*Blueprint, error) + // Returns the requested blueprint. + GetBlueprint(ctx context.Context, in *GetBlueprintRequest, opts ...grpc.CallOption) (*Blueprint, error) + // Deletes a blueprint and all its revisions. + DeleteBlueprint(ctx context.Context, in *DeleteBlueprintRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // List all blueprints. + ListBlueprints(ctx context.Context, in *ListBlueprintsRequest, opts ...grpc.CallOption) (*ListBlueprintsResponse, error) + // Approves a blueprint and commits a new revision. + ApproveBlueprint(ctx context.Context, in *ApproveBlueprintRequest, opts ...grpc.CallOption) (*Blueprint, error) + // Proposes a blueprint for approval of changes. + ProposeBlueprint(ctx context.Context, in *ProposeBlueprintRequest, opts ...grpc.CallOption) (*Blueprint, error) + // Rejects a blueprint revision proposal and flips it back to Draft state. + RejectBlueprint(ctx context.Context, in *RejectBlueprintRequest, opts ...grpc.CallOption) (*Blueprint, error) + // List blueprint revisions of a given blueprint. + ListBlueprintRevisions(ctx context.Context, in *ListBlueprintRevisionsRequest, opts ...grpc.CallOption) (*ListBlueprintRevisionsResponse, error) + // Searches across blueprint revisions. + SearchBlueprintRevisions(ctx context.Context, in *SearchBlueprintRevisionsRequest, opts ...grpc.CallOption) (*SearchBlueprintRevisionsResponse, error) + // Searches across deployment revisions. + SearchDeploymentRevisions(ctx context.Context, in *SearchDeploymentRevisionsRequest, opts ...grpc.CallOption) (*SearchDeploymentRevisionsResponse, error) + // Discards the changes in a blueprint and reverts the blueprint to the last + // approved blueprint revision. No changes take place if a blueprint does not + // have revisions. + DiscardBlueprintChanges(ctx context.Context, in *DiscardBlueprintChangesRequest, opts ...grpc.CallOption) (*DiscardBlueprintChangesResponse, error) + // Lists the blueprints in TNA's public catalog. Default page size = 20, + // Max Page Size = 100. + ListPublicBlueprints(ctx context.Context, in *ListPublicBlueprintsRequest, opts ...grpc.CallOption) (*ListPublicBlueprintsResponse, error) + // Returns the requested public blueprint. + GetPublicBlueprint(ctx context.Context, in *GetPublicBlueprintRequest, opts ...grpc.CallOption) (*PublicBlueprint, error) + // Creates a deployment. + CreateDeployment(ctx context.Context, in *CreateDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) + // Updates a deployment. + UpdateDeployment(ctx context.Context, in *UpdateDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) + // Returns the requested deployment. + GetDeployment(ctx context.Context, in *GetDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) + // Removes the deployment by marking it as DELETING. Post which deployment and + // it's revisions gets deleted. + RemoveDeployment(ctx context.Context, in *RemoveDeploymentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // List all deployments. + ListDeployments(ctx context.Context, in *ListDeploymentsRequest, opts ...grpc.CallOption) (*ListDeploymentsResponse, error) + // List deployment revisions of a given deployment. + ListDeploymentRevisions(ctx context.Context, in *ListDeploymentRevisionsRequest, opts ...grpc.CallOption) (*ListDeploymentRevisionsResponse, error) + // Discards the changes in a deployment and reverts the deployment to the last + // approved deployment revision. No changes take place if a deployment does + // not have revisions. + DiscardDeploymentChanges(ctx context.Context, in *DiscardDeploymentChangesRequest, opts ...grpc.CallOption) (*DiscardDeploymentChangesResponse, error) + // Applies the deployment's YAML files to the parent orchestration cluster. + ApplyDeployment(ctx context.Context, in *ApplyDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) + // Returns the requested deployment status. + ComputeDeploymentStatus(ctx context.Context, in *ComputeDeploymentStatusRequest, opts ...grpc.CallOption) (*ComputeDeploymentStatusResponse, error) + // Rollback the active deployment to the given past approved deployment + // revision. + RollbackDeployment(ctx context.Context, in *RollbackDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) + // Returns the requested hydrated deployment. + GetHydratedDeployment(ctx context.Context, in *GetHydratedDeploymentRequest, opts ...grpc.CallOption) (*HydratedDeployment, error) + // List all hydrated deployments present under a deployment. + ListHydratedDeployments(ctx context.Context, in *ListHydratedDeploymentsRequest, opts ...grpc.CallOption) (*ListHydratedDeploymentsResponse, error) + // Updates a hydrated deployment. + UpdateHydratedDeployment(ctx context.Context, in *UpdateHydratedDeploymentRequest, opts ...grpc.CallOption) (*HydratedDeployment, error) + // Applies a hydrated deployment to a workload cluster. + ApplyHydratedDeployment(ctx context.Context, in *ApplyHydratedDeploymentRequest, opts ...grpc.CallOption) (*HydratedDeployment, error) +} + +type telcoAutomationClient struct { + cc grpc.ClientConnInterface +} + +func NewTelcoAutomationClient(cc grpc.ClientConnInterface) TelcoAutomationClient { + return &telcoAutomationClient{cc} +} + +func (c *telcoAutomationClient) ListOrchestrationClusters(ctx context.Context, in *ListOrchestrationClustersRequest, opts ...grpc.CallOption) (*ListOrchestrationClustersResponse, error) { + out := new(ListOrchestrationClustersResponse) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/ListOrchestrationClusters", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) GetOrchestrationCluster(ctx context.Context, in *GetOrchestrationClusterRequest, opts ...grpc.CallOption) (*OrchestrationCluster, error) { + out := new(OrchestrationCluster) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/GetOrchestrationCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) CreateOrchestrationCluster(ctx context.Context, in *CreateOrchestrationClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/CreateOrchestrationCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) DeleteOrchestrationCluster(ctx context.Context, in *DeleteOrchestrationClusterRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/DeleteOrchestrationCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) ListEdgeSlms(ctx context.Context, in *ListEdgeSlmsRequest, opts ...grpc.CallOption) (*ListEdgeSlmsResponse, error) { + out := new(ListEdgeSlmsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/ListEdgeSlms", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) GetEdgeSlm(ctx context.Context, in *GetEdgeSlmRequest, opts ...grpc.CallOption) (*EdgeSlm, error) { + out := new(EdgeSlm) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/GetEdgeSlm", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) CreateEdgeSlm(ctx context.Context, in *CreateEdgeSlmRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/CreateEdgeSlm", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) DeleteEdgeSlm(ctx context.Context, in *DeleteEdgeSlmRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { + out := new(longrunningpb.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/DeleteEdgeSlm", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) CreateBlueprint(ctx context.Context, in *CreateBlueprintRequest, opts ...grpc.CallOption) (*Blueprint, error) { + out := new(Blueprint) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/CreateBlueprint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) UpdateBlueprint(ctx context.Context, in *UpdateBlueprintRequest, opts ...grpc.CallOption) (*Blueprint, error) { + out := new(Blueprint) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/UpdateBlueprint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) GetBlueprint(ctx context.Context, in *GetBlueprintRequest, opts ...grpc.CallOption) (*Blueprint, error) { + out := new(Blueprint) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/GetBlueprint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) DeleteBlueprint(ctx context.Context, in *DeleteBlueprintRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/DeleteBlueprint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) ListBlueprints(ctx context.Context, in *ListBlueprintsRequest, opts ...grpc.CallOption) (*ListBlueprintsResponse, error) { + out := new(ListBlueprintsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/ListBlueprints", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) ApproveBlueprint(ctx context.Context, in *ApproveBlueprintRequest, opts ...grpc.CallOption) (*Blueprint, error) { + out := new(Blueprint) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/ApproveBlueprint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) ProposeBlueprint(ctx context.Context, in *ProposeBlueprintRequest, opts ...grpc.CallOption) (*Blueprint, error) { + out := new(Blueprint) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/ProposeBlueprint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) RejectBlueprint(ctx context.Context, in *RejectBlueprintRequest, opts ...grpc.CallOption) (*Blueprint, error) { + out := new(Blueprint) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/RejectBlueprint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) ListBlueprintRevisions(ctx context.Context, in *ListBlueprintRevisionsRequest, opts ...grpc.CallOption) (*ListBlueprintRevisionsResponse, error) { + out := new(ListBlueprintRevisionsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/ListBlueprintRevisions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) SearchBlueprintRevisions(ctx context.Context, in *SearchBlueprintRevisionsRequest, opts ...grpc.CallOption) (*SearchBlueprintRevisionsResponse, error) { + out := new(SearchBlueprintRevisionsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/SearchBlueprintRevisions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) SearchDeploymentRevisions(ctx context.Context, in *SearchDeploymentRevisionsRequest, opts ...grpc.CallOption) (*SearchDeploymentRevisionsResponse, error) { + out := new(SearchDeploymentRevisionsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/SearchDeploymentRevisions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) DiscardBlueprintChanges(ctx context.Context, in *DiscardBlueprintChangesRequest, opts ...grpc.CallOption) (*DiscardBlueprintChangesResponse, error) { + out := new(DiscardBlueprintChangesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/DiscardBlueprintChanges", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) ListPublicBlueprints(ctx context.Context, in *ListPublicBlueprintsRequest, opts ...grpc.CallOption) (*ListPublicBlueprintsResponse, error) { + out := new(ListPublicBlueprintsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/ListPublicBlueprints", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) GetPublicBlueprint(ctx context.Context, in *GetPublicBlueprintRequest, opts ...grpc.CallOption) (*PublicBlueprint, error) { + out := new(PublicBlueprint) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/GetPublicBlueprint", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) CreateDeployment(ctx context.Context, in *CreateDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) { + out := new(Deployment) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/CreateDeployment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) UpdateDeployment(ctx context.Context, in *UpdateDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) { + out := new(Deployment) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/UpdateDeployment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) GetDeployment(ctx context.Context, in *GetDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) { + out := new(Deployment) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/GetDeployment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) RemoveDeployment(ctx context.Context, in *RemoveDeploymentRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/RemoveDeployment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) ListDeployments(ctx context.Context, in *ListDeploymentsRequest, opts ...grpc.CallOption) (*ListDeploymentsResponse, error) { + out := new(ListDeploymentsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/ListDeployments", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) ListDeploymentRevisions(ctx context.Context, in *ListDeploymentRevisionsRequest, opts ...grpc.CallOption) (*ListDeploymentRevisionsResponse, error) { + out := new(ListDeploymentRevisionsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/ListDeploymentRevisions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) DiscardDeploymentChanges(ctx context.Context, in *DiscardDeploymentChangesRequest, opts ...grpc.CallOption) (*DiscardDeploymentChangesResponse, error) { + out := new(DiscardDeploymentChangesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/DiscardDeploymentChanges", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) ApplyDeployment(ctx context.Context, in *ApplyDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) { + out := new(Deployment) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/ApplyDeployment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) ComputeDeploymentStatus(ctx context.Context, in *ComputeDeploymentStatusRequest, opts ...grpc.CallOption) (*ComputeDeploymentStatusResponse, error) { + out := new(ComputeDeploymentStatusResponse) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/ComputeDeploymentStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) RollbackDeployment(ctx context.Context, in *RollbackDeploymentRequest, opts ...grpc.CallOption) (*Deployment, error) { + out := new(Deployment) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/RollbackDeployment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) GetHydratedDeployment(ctx context.Context, in *GetHydratedDeploymentRequest, opts ...grpc.CallOption) (*HydratedDeployment, error) { + out := new(HydratedDeployment) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/GetHydratedDeployment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) ListHydratedDeployments(ctx context.Context, in *ListHydratedDeploymentsRequest, opts ...grpc.CallOption) (*ListHydratedDeploymentsResponse, error) { + out := new(ListHydratedDeploymentsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/ListHydratedDeployments", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) UpdateHydratedDeployment(ctx context.Context, in *UpdateHydratedDeploymentRequest, opts ...grpc.CallOption) (*HydratedDeployment, error) { + out := new(HydratedDeployment) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/UpdateHydratedDeployment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *telcoAutomationClient) ApplyHydratedDeployment(ctx context.Context, in *ApplyHydratedDeploymentRequest, opts ...grpc.CallOption) (*HydratedDeployment, error) { + out := new(HydratedDeployment) + err := c.cc.Invoke(ctx, "/google.cloud.telcoautomation.v1.TelcoAutomation/ApplyHydratedDeployment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// TelcoAutomationServer is the server API for TelcoAutomation service. +type TelcoAutomationServer interface { + // Lists OrchestrationClusters in a given project and location. + ListOrchestrationClusters(context.Context, *ListOrchestrationClustersRequest) (*ListOrchestrationClustersResponse, error) + // Gets details of a single OrchestrationCluster. + GetOrchestrationCluster(context.Context, *GetOrchestrationClusterRequest) (*OrchestrationCluster, error) + // Creates a new OrchestrationCluster in a given project and location. + CreateOrchestrationCluster(context.Context, *CreateOrchestrationClusterRequest) (*longrunningpb.Operation, error) + // Deletes a single OrchestrationCluster. + DeleteOrchestrationCluster(context.Context, *DeleteOrchestrationClusterRequest) (*longrunningpb.Operation, error) + // Lists EdgeSlms in a given project and location. + ListEdgeSlms(context.Context, *ListEdgeSlmsRequest) (*ListEdgeSlmsResponse, error) + // Gets details of a single EdgeSlm. + GetEdgeSlm(context.Context, *GetEdgeSlmRequest) (*EdgeSlm, error) + // Creates a new EdgeSlm in a given project and location. + CreateEdgeSlm(context.Context, *CreateEdgeSlmRequest) (*longrunningpb.Operation, error) + // Deletes a single EdgeSlm. + DeleteEdgeSlm(context.Context, *DeleteEdgeSlmRequest) (*longrunningpb.Operation, error) + // Creates a blueprint. + CreateBlueprint(context.Context, *CreateBlueprintRequest) (*Blueprint, error) + // Updates a blueprint. + UpdateBlueprint(context.Context, *UpdateBlueprintRequest) (*Blueprint, error) + // Returns the requested blueprint. + GetBlueprint(context.Context, *GetBlueprintRequest) (*Blueprint, error) + // Deletes a blueprint and all its revisions. + DeleteBlueprint(context.Context, *DeleteBlueprintRequest) (*emptypb.Empty, error) + // List all blueprints. + ListBlueprints(context.Context, *ListBlueprintsRequest) (*ListBlueprintsResponse, error) + // Approves a blueprint and commits a new revision. + ApproveBlueprint(context.Context, *ApproveBlueprintRequest) (*Blueprint, error) + // Proposes a blueprint for approval of changes. + ProposeBlueprint(context.Context, *ProposeBlueprintRequest) (*Blueprint, error) + // Rejects a blueprint revision proposal and flips it back to Draft state. + RejectBlueprint(context.Context, *RejectBlueprintRequest) (*Blueprint, error) + // List blueprint revisions of a given blueprint. + ListBlueprintRevisions(context.Context, *ListBlueprintRevisionsRequest) (*ListBlueprintRevisionsResponse, error) + // Searches across blueprint revisions. + SearchBlueprintRevisions(context.Context, *SearchBlueprintRevisionsRequest) (*SearchBlueprintRevisionsResponse, error) + // Searches across deployment revisions. + SearchDeploymentRevisions(context.Context, *SearchDeploymentRevisionsRequest) (*SearchDeploymentRevisionsResponse, error) + // Discards the changes in a blueprint and reverts the blueprint to the last + // approved blueprint revision. No changes take place if a blueprint does not + // have revisions. + DiscardBlueprintChanges(context.Context, *DiscardBlueprintChangesRequest) (*DiscardBlueprintChangesResponse, error) + // Lists the blueprints in TNA's public catalog. Default page size = 20, + // Max Page Size = 100. + ListPublicBlueprints(context.Context, *ListPublicBlueprintsRequest) (*ListPublicBlueprintsResponse, error) + // Returns the requested public blueprint. + GetPublicBlueprint(context.Context, *GetPublicBlueprintRequest) (*PublicBlueprint, error) + // Creates a deployment. + CreateDeployment(context.Context, *CreateDeploymentRequest) (*Deployment, error) + // Updates a deployment. + UpdateDeployment(context.Context, *UpdateDeploymentRequest) (*Deployment, error) + // Returns the requested deployment. + GetDeployment(context.Context, *GetDeploymentRequest) (*Deployment, error) + // Removes the deployment by marking it as DELETING. Post which deployment and + // it's revisions gets deleted. + RemoveDeployment(context.Context, *RemoveDeploymentRequest) (*emptypb.Empty, error) + // List all deployments. + ListDeployments(context.Context, *ListDeploymentsRequest) (*ListDeploymentsResponse, error) + // List deployment revisions of a given deployment. + ListDeploymentRevisions(context.Context, *ListDeploymentRevisionsRequest) (*ListDeploymentRevisionsResponse, error) + // Discards the changes in a deployment and reverts the deployment to the last + // approved deployment revision. No changes take place if a deployment does + // not have revisions. + DiscardDeploymentChanges(context.Context, *DiscardDeploymentChangesRequest) (*DiscardDeploymentChangesResponse, error) + // Applies the deployment's YAML files to the parent orchestration cluster. + ApplyDeployment(context.Context, *ApplyDeploymentRequest) (*Deployment, error) + // Returns the requested deployment status. + ComputeDeploymentStatus(context.Context, *ComputeDeploymentStatusRequest) (*ComputeDeploymentStatusResponse, error) + // Rollback the active deployment to the given past approved deployment + // revision. + RollbackDeployment(context.Context, *RollbackDeploymentRequest) (*Deployment, error) + // Returns the requested hydrated deployment. + GetHydratedDeployment(context.Context, *GetHydratedDeploymentRequest) (*HydratedDeployment, error) + // List all hydrated deployments present under a deployment. + ListHydratedDeployments(context.Context, *ListHydratedDeploymentsRequest) (*ListHydratedDeploymentsResponse, error) + // Updates a hydrated deployment. + UpdateHydratedDeployment(context.Context, *UpdateHydratedDeploymentRequest) (*HydratedDeployment, error) + // Applies a hydrated deployment to a workload cluster. + ApplyHydratedDeployment(context.Context, *ApplyHydratedDeploymentRequest) (*HydratedDeployment, error) +} + +// UnimplementedTelcoAutomationServer can be embedded to have forward compatible implementations. +type UnimplementedTelcoAutomationServer struct { +} + +func (*UnimplementedTelcoAutomationServer) ListOrchestrationClusters(context.Context, *ListOrchestrationClustersRequest) (*ListOrchestrationClustersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListOrchestrationClusters not implemented") +} +func (*UnimplementedTelcoAutomationServer) GetOrchestrationCluster(context.Context, *GetOrchestrationClusterRequest) (*OrchestrationCluster, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetOrchestrationCluster not implemented") +} +func (*UnimplementedTelcoAutomationServer) CreateOrchestrationCluster(context.Context, *CreateOrchestrationClusterRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateOrchestrationCluster not implemented") +} +func (*UnimplementedTelcoAutomationServer) DeleteOrchestrationCluster(context.Context, *DeleteOrchestrationClusterRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteOrchestrationCluster not implemented") +} +func (*UnimplementedTelcoAutomationServer) ListEdgeSlms(context.Context, *ListEdgeSlmsRequest) (*ListEdgeSlmsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEdgeSlms not implemented") +} +func (*UnimplementedTelcoAutomationServer) GetEdgeSlm(context.Context, *GetEdgeSlmRequest) (*EdgeSlm, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEdgeSlm not implemented") +} +func (*UnimplementedTelcoAutomationServer) CreateEdgeSlm(context.Context, *CreateEdgeSlmRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateEdgeSlm not implemented") +} +func (*UnimplementedTelcoAutomationServer) DeleteEdgeSlm(context.Context, *DeleteEdgeSlmRequest) (*longrunningpb.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteEdgeSlm not implemented") +} +func (*UnimplementedTelcoAutomationServer) CreateBlueprint(context.Context, *CreateBlueprintRequest) (*Blueprint, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateBlueprint not implemented") +} +func (*UnimplementedTelcoAutomationServer) UpdateBlueprint(context.Context, *UpdateBlueprintRequest) (*Blueprint, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateBlueprint not implemented") +} +func (*UnimplementedTelcoAutomationServer) GetBlueprint(context.Context, *GetBlueprintRequest) (*Blueprint, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetBlueprint not implemented") +} +func (*UnimplementedTelcoAutomationServer) DeleteBlueprint(context.Context, *DeleteBlueprintRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteBlueprint not implemented") +} +func (*UnimplementedTelcoAutomationServer) ListBlueprints(context.Context, *ListBlueprintsRequest) (*ListBlueprintsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListBlueprints not implemented") +} +func (*UnimplementedTelcoAutomationServer) ApproveBlueprint(context.Context, *ApproveBlueprintRequest) (*Blueprint, error) { + return nil, status.Errorf(codes.Unimplemented, "method ApproveBlueprint not implemented") +} +func (*UnimplementedTelcoAutomationServer) ProposeBlueprint(context.Context, *ProposeBlueprintRequest) (*Blueprint, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProposeBlueprint not implemented") +} +func (*UnimplementedTelcoAutomationServer) RejectBlueprint(context.Context, *RejectBlueprintRequest) (*Blueprint, error) { + return nil, status.Errorf(codes.Unimplemented, "method RejectBlueprint not implemented") +} +func (*UnimplementedTelcoAutomationServer) ListBlueprintRevisions(context.Context, *ListBlueprintRevisionsRequest) (*ListBlueprintRevisionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListBlueprintRevisions not implemented") +} +func (*UnimplementedTelcoAutomationServer) SearchBlueprintRevisions(context.Context, *SearchBlueprintRevisionsRequest) (*SearchBlueprintRevisionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchBlueprintRevisions not implemented") +} +func (*UnimplementedTelcoAutomationServer) SearchDeploymentRevisions(context.Context, *SearchDeploymentRevisionsRequest) (*SearchDeploymentRevisionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchDeploymentRevisions not implemented") +} +func (*UnimplementedTelcoAutomationServer) DiscardBlueprintChanges(context.Context, *DiscardBlueprintChangesRequest) (*DiscardBlueprintChangesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DiscardBlueprintChanges not implemented") +} +func (*UnimplementedTelcoAutomationServer) ListPublicBlueprints(context.Context, *ListPublicBlueprintsRequest) (*ListPublicBlueprintsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPublicBlueprints not implemented") +} +func (*UnimplementedTelcoAutomationServer) GetPublicBlueprint(context.Context, *GetPublicBlueprintRequest) (*PublicBlueprint, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPublicBlueprint not implemented") +} +func (*UnimplementedTelcoAutomationServer) CreateDeployment(context.Context, *CreateDeploymentRequest) (*Deployment, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateDeployment not implemented") +} +func (*UnimplementedTelcoAutomationServer) UpdateDeployment(context.Context, *UpdateDeploymentRequest) (*Deployment, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateDeployment not implemented") +} +func (*UnimplementedTelcoAutomationServer) GetDeployment(context.Context, *GetDeploymentRequest) (*Deployment, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDeployment not implemented") +} +func (*UnimplementedTelcoAutomationServer) RemoveDeployment(context.Context, *RemoveDeploymentRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveDeployment not implemented") +} +func (*UnimplementedTelcoAutomationServer) ListDeployments(context.Context, *ListDeploymentsRequest) (*ListDeploymentsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDeployments not implemented") +} +func (*UnimplementedTelcoAutomationServer) ListDeploymentRevisions(context.Context, *ListDeploymentRevisionsRequest) (*ListDeploymentRevisionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListDeploymentRevisions not implemented") +} +func (*UnimplementedTelcoAutomationServer) DiscardDeploymentChanges(context.Context, *DiscardDeploymentChangesRequest) (*DiscardDeploymentChangesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DiscardDeploymentChanges not implemented") +} +func (*UnimplementedTelcoAutomationServer) ApplyDeployment(context.Context, *ApplyDeploymentRequest) (*Deployment, error) { + return nil, status.Errorf(codes.Unimplemented, "method ApplyDeployment not implemented") +} +func (*UnimplementedTelcoAutomationServer) ComputeDeploymentStatus(context.Context, *ComputeDeploymentStatusRequest) (*ComputeDeploymentStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ComputeDeploymentStatus not implemented") +} +func (*UnimplementedTelcoAutomationServer) RollbackDeployment(context.Context, *RollbackDeploymentRequest) (*Deployment, error) { + return nil, status.Errorf(codes.Unimplemented, "method RollbackDeployment not implemented") +} +func (*UnimplementedTelcoAutomationServer) GetHydratedDeployment(context.Context, *GetHydratedDeploymentRequest) (*HydratedDeployment, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetHydratedDeployment not implemented") +} +func (*UnimplementedTelcoAutomationServer) ListHydratedDeployments(context.Context, *ListHydratedDeploymentsRequest) (*ListHydratedDeploymentsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListHydratedDeployments not implemented") +} +func (*UnimplementedTelcoAutomationServer) UpdateHydratedDeployment(context.Context, *UpdateHydratedDeploymentRequest) (*HydratedDeployment, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateHydratedDeployment not implemented") +} +func (*UnimplementedTelcoAutomationServer) ApplyHydratedDeployment(context.Context, *ApplyHydratedDeploymentRequest) (*HydratedDeployment, error) { + return nil, status.Errorf(codes.Unimplemented, "method ApplyHydratedDeployment not implemented") +} + +func RegisterTelcoAutomationServer(s *grpc.Server, srv TelcoAutomationServer) { + s.RegisterService(&_TelcoAutomation_serviceDesc, srv) +} + +func _TelcoAutomation_ListOrchestrationClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListOrchestrationClustersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).ListOrchestrationClusters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/ListOrchestrationClusters", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).ListOrchestrationClusters(ctx, req.(*ListOrchestrationClustersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_GetOrchestrationCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetOrchestrationClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).GetOrchestrationCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/GetOrchestrationCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).GetOrchestrationCluster(ctx, req.(*GetOrchestrationClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_CreateOrchestrationCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateOrchestrationClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).CreateOrchestrationCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/CreateOrchestrationCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).CreateOrchestrationCluster(ctx, req.(*CreateOrchestrationClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_DeleteOrchestrationCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteOrchestrationClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).DeleteOrchestrationCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/DeleteOrchestrationCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).DeleteOrchestrationCluster(ctx, req.(*DeleteOrchestrationClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_ListEdgeSlms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEdgeSlmsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).ListEdgeSlms(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/ListEdgeSlms", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).ListEdgeSlms(ctx, req.(*ListEdgeSlmsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_GetEdgeSlm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEdgeSlmRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).GetEdgeSlm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/GetEdgeSlm", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).GetEdgeSlm(ctx, req.(*GetEdgeSlmRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_CreateEdgeSlm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateEdgeSlmRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).CreateEdgeSlm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/CreateEdgeSlm", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).CreateEdgeSlm(ctx, req.(*CreateEdgeSlmRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_DeleteEdgeSlm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteEdgeSlmRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).DeleteEdgeSlm(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/DeleteEdgeSlm", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).DeleteEdgeSlm(ctx, req.(*DeleteEdgeSlmRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_CreateBlueprint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateBlueprintRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).CreateBlueprint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/CreateBlueprint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).CreateBlueprint(ctx, req.(*CreateBlueprintRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_UpdateBlueprint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateBlueprintRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).UpdateBlueprint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/UpdateBlueprint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).UpdateBlueprint(ctx, req.(*UpdateBlueprintRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_GetBlueprint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetBlueprintRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).GetBlueprint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/GetBlueprint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).GetBlueprint(ctx, req.(*GetBlueprintRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_DeleteBlueprint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteBlueprintRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).DeleteBlueprint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/DeleteBlueprint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).DeleteBlueprint(ctx, req.(*DeleteBlueprintRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_ListBlueprints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListBlueprintsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).ListBlueprints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/ListBlueprints", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).ListBlueprints(ctx, req.(*ListBlueprintsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_ApproveBlueprint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ApproveBlueprintRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).ApproveBlueprint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/ApproveBlueprint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).ApproveBlueprint(ctx, req.(*ApproveBlueprintRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_ProposeBlueprint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ProposeBlueprintRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).ProposeBlueprint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/ProposeBlueprint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).ProposeBlueprint(ctx, req.(*ProposeBlueprintRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_RejectBlueprint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RejectBlueprintRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).RejectBlueprint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/RejectBlueprint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).RejectBlueprint(ctx, req.(*RejectBlueprintRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_ListBlueprintRevisions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListBlueprintRevisionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).ListBlueprintRevisions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/ListBlueprintRevisions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).ListBlueprintRevisions(ctx, req.(*ListBlueprintRevisionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_SearchBlueprintRevisions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchBlueprintRevisionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).SearchBlueprintRevisions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/SearchBlueprintRevisions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).SearchBlueprintRevisions(ctx, req.(*SearchBlueprintRevisionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_SearchDeploymentRevisions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchDeploymentRevisionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).SearchDeploymentRevisions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/SearchDeploymentRevisions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).SearchDeploymentRevisions(ctx, req.(*SearchDeploymentRevisionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_DiscardBlueprintChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiscardBlueprintChangesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).DiscardBlueprintChanges(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/DiscardBlueprintChanges", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).DiscardBlueprintChanges(ctx, req.(*DiscardBlueprintChangesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_ListPublicBlueprints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListPublicBlueprintsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).ListPublicBlueprints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/ListPublicBlueprints", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).ListPublicBlueprints(ctx, req.(*ListPublicBlueprintsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_GetPublicBlueprint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPublicBlueprintRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).GetPublicBlueprint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/GetPublicBlueprint", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).GetPublicBlueprint(ctx, req.(*GetPublicBlueprintRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_CreateDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).CreateDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/CreateDeployment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).CreateDeployment(ctx, req.(*CreateDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_UpdateDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).UpdateDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/UpdateDeployment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).UpdateDeployment(ctx, req.(*UpdateDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_GetDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).GetDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/GetDeployment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).GetDeployment(ctx, req.(*GetDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_RemoveDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).RemoveDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/RemoveDeployment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).RemoveDeployment(ctx, req.(*RemoveDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_ListDeployments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDeploymentsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).ListDeployments(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/ListDeployments", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).ListDeployments(ctx, req.(*ListDeploymentsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_ListDeploymentRevisions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDeploymentRevisionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).ListDeploymentRevisions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/ListDeploymentRevisions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).ListDeploymentRevisions(ctx, req.(*ListDeploymentRevisionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_DiscardDeploymentChanges_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DiscardDeploymentChangesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).DiscardDeploymentChanges(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/DiscardDeploymentChanges", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).DiscardDeploymentChanges(ctx, req.(*DiscardDeploymentChangesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_ApplyDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ApplyDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).ApplyDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/ApplyDeployment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).ApplyDeployment(ctx, req.(*ApplyDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_ComputeDeploymentStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ComputeDeploymentStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).ComputeDeploymentStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/ComputeDeploymentStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).ComputeDeploymentStatus(ctx, req.(*ComputeDeploymentStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_RollbackDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RollbackDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).RollbackDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/RollbackDeployment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).RollbackDeployment(ctx, req.(*RollbackDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_GetHydratedDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetHydratedDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).GetHydratedDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/GetHydratedDeployment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).GetHydratedDeployment(ctx, req.(*GetHydratedDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_ListHydratedDeployments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListHydratedDeploymentsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).ListHydratedDeployments(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/ListHydratedDeployments", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).ListHydratedDeployments(ctx, req.(*ListHydratedDeploymentsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_UpdateHydratedDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateHydratedDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).UpdateHydratedDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/UpdateHydratedDeployment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).UpdateHydratedDeployment(ctx, req.(*UpdateHydratedDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TelcoAutomation_ApplyHydratedDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ApplyHydratedDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TelcoAutomationServer).ApplyHydratedDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.telcoautomation.v1.TelcoAutomation/ApplyHydratedDeployment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TelcoAutomationServer).ApplyHydratedDeployment(ctx, req.(*ApplyHydratedDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _TelcoAutomation_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.telcoautomation.v1.TelcoAutomation", + HandlerType: (*TelcoAutomationServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListOrchestrationClusters", + Handler: _TelcoAutomation_ListOrchestrationClusters_Handler, + }, + { + MethodName: "GetOrchestrationCluster", + Handler: _TelcoAutomation_GetOrchestrationCluster_Handler, + }, + { + MethodName: "CreateOrchestrationCluster", + Handler: _TelcoAutomation_CreateOrchestrationCluster_Handler, + }, + { + MethodName: "DeleteOrchestrationCluster", + Handler: _TelcoAutomation_DeleteOrchestrationCluster_Handler, + }, + { + MethodName: "ListEdgeSlms", + Handler: _TelcoAutomation_ListEdgeSlms_Handler, + }, + { + MethodName: "GetEdgeSlm", + Handler: _TelcoAutomation_GetEdgeSlm_Handler, + }, + { + MethodName: "CreateEdgeSlm", + Handler: _TelcoAutomation_CreateEdgeSlm_Handler, + }, + { + MethodName: "DeleteEdgeSlm", + Handler: _TelcoAutomation_DeleteEdgeSlm_Handler, + }, + { + MethodName: "CreateBlueprint", + Handler: _TelcoAutomation_CreateBlueprint_Handler, + }, + { + MethodName: "UpdateBlueprint", + Handler: _TelcoAutomation_UpdateBlueprint_Handler, + }, + { + MethodName: "GetBlueprint", + Handler: _TelcoAutomation_GetBlueprint_Handler, + }, + { + MethodName: "DeleteBlueprint", + Handler: _TelcoAutomation_DeleteBlueprint_Handler, + }, + { + MethodName: "ListBlueprints", + Handler: _TelcoAutomation_ListBlueprints_Handler, + }, + { + MethodName: "ApproveBlueprint", + Handler: _TelcoAutomation_ApproveBlueprint_Handler, + }, + { + MethodName: "ProposeBlueprint", + Handler: _TelcoAutomation_ProposeBlueprint_Handler, + }, + { + MethodName: "RejectBlueprint", + Handler: _TelcoAutomation_RejectBlueprint_Handler, + }, + { + MethodName: "ListBlueprintRevisions", + Handler: _TelcoAutomation_ListBlueprintRevisions_Handler, + }, + { + MethodName: "SearchBlueprintRevisions", + Handler: _TelcoAutomation_SearchBlueprintRevisions_Handler, + }, + { + MethodName: "SearchDeploymentRevisions", + Handler: _TelcoAutomation_SearchDeploymentRevisions_Handler, + }, + { + MethodName: "DiscardBlueprintChanges", + Handler: _TelcoAutomation_DiscardBlueprintChanges_Handler, + }, + { + MethodName: "ListPublicBlueprints", + Handler: _TelcoAutomation_ListPublicBlueprints_Handler, + }, + { + MethodName: "GetPublicBlueprint", + Handler: _TelcoAutomation_GetPublicBlueprint_Handler, + }, + { + MethodName: "CreateDeployment", + Handler: _TelcoAutomation_CreateDeployment_Handler, + }, + { + MethodName: "UpdateDeployment", + Handler: _TelcoAutomation_UpdateDeployment_Handler, + }, + { + MethodName: "GetDeployment", + Handler: _TelcoAutomation_GetDeployment_Handler, + }, + { + MethodName: "RemoveDeployment", + Handler: _TelcoAutomation_RemoveDeployment_Handler, + }, + { + MethodName: "ListDeployments", + Handler: _TelcoAutomation_ListDeployments_Handler, + }, + { + MethodName: "ListDeploymentRevisions", + Handler: _TelcoAutomation_ListDeploymentRevisions_Handler, + }, + { + MethodName: "DiscardDeploymentChanges", + Handler: _TelcoAutomation_DiscardDeploymentChanges_Handler, + }, + { + MethodName: "ApplyDeployment", + Handler: _TelcoAutomation_ApplyDeployment_Handler, + }, + { + MethodName: "ComputeDeploymentStatus", + Handler: _TelcoAutomation_ComputeDeploymentStatus_Handler, + }, + { + MethodName: "RollbackDeployment", + Handler: _TelcoAutomation_RollbackDeployment_Handler, + }, + { + MethodName: "GetHydratedDeployment", + Handler: _TelcoAutomation_GetHydratedDeployment_Handler, + }, + { + MethodName: "ListHydratedDeployments", + Handler: _TelcoAutomation_ListHydratedDeployments_Handler, + }, + { + MethodName: "UpdateHydratedDeployment", + Handler: _TelcoAutomation_UpdateHydratedDeployment_Handler, + }, + { + MethodName: "ApplyHydratedDeployment", + Handler: _TelcoAutomation_ApplyHydratedDeployment_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/telcoautomation/v1/telcoautomation.proto", +} diff --git a/telcoautomation/apiv1/version.go b/telcoautomation/apiv1/version.go new file mode 100644 index 000000000000..ccea8a65b501 --- /dev/null +++ b/telcoautomation/apiv1/version.go @@ -0,0 +1,23 @@ +// Copyright 2023 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. + +// Code generated by gapicgen. DO NOT EDIT. + +package telcoautomation + +import "cloud.google.com/go/telcoautomation/internal" + +func init() { + versionClient = internal.Version +} diff --git a/telcoautomation/go.mod b/telcoautomation/go.mod new file mode 100644 index 000000000000..ec9ade981d61 --- /dev/null +++ b/telcoautomation/go.mod @@ -0,0 +1,33 @@ +module cloud.google.com/go/telcoautomation + +go 1.19 + +require ( + cloud.google.com/go/longrunning v0.5.4 + github.com/googleapis/gax-go/v2 v2.12.0 + google.golang.org/api v0.150.0 + google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 + google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 + google.golang.org/grpc v1.59.0 + google.golang.org/protobuf v1.31.0 +) + +require ( + cloud.google.com/go v0.110.10 // indirect + cloud.google.com/go/compute v1.23.3 // indirect + cloud.google.com/go/compute/metadata v0.2.3 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/google/s2a-go v0.1.7 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect + go.opencensus.io v0.24.0 // indirect + golang.org/x/crypto v0.14.0 // indirect + golang.org/x/net v0.17.0 // indirect + golang.org/x/oauth2 v0.13.0 // indirect + golang.org/x/sync v0.5.0 // indirect + golang.org/x/sys v0.13.0 // indirect + golang.org/x/text v0.13.0 // indirect + golang.org/x/time v0.3.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 // indirect +) diff --git a/telcoautomation/go.sum b/telcoautomation/go.sum new file mode 100644 index 000000000000..608944a4f915 --- /dev/null +++ b/telcoautomation/go.sum @@ -0,0 +1,146 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.110.10 h1:LXy9GEO+timppncPIAZoOj3l58LIU9k+kn48AN7IO3Y= +cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic= +cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= +cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= +cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/longrunning v0.5.4 h1:w8xEcbZodnA2BbW6sVirkkoC+1gP8wS57EUUgGS0GVg= +cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= +github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= +github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= +github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.13.0 h1:jDDenyj+WgFtmV3zYVoi8aE2BwtXFLWOA67ZfNWftiY= +golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.150.0 h1:Z9k22qD289SZ8gCJrk4DrWXkNjtfvKAUo/l1ma8eBYE= +google.golang.org/api v0.150.0/go.mod h1:ccy+MJ6nrYFgE3WgRx/AMXOxOmU8Q4hSa+jjibzhxcg= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 h1:wpZ8pe2x1Q3f2KyT5f8oP/fa9rHAKgFPr/HZdNuS+PQ= +google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:J7XzRzVy1+IPwWHZUzoD0IccYZIrXILAQpc+Qy9CMhY= +google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 h1:JpwMPBpFN3uKhdaekDpiNlImDdkUAyiJ6ez/uxGaUSo= +google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405 h1:AB/lmRny7e2pLhFEYIbl5qkDAUt2h0ZRO4wGPhZf+ik= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231030173426-d783a09b4405/go.mod h1:67X1fPuzjcrkymZzZV1vvkFeTn2Rvc6lYF9MYFGCcwE= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= +google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/telcoautomation/internal/version.go b/telcoautomation/internal/version.go new file mode 100644 index 000000000000..2734cec844c4 --- /dev/null +++ b/telcoautomation/internal/version.go @@ -0,0 +1,20 @@ +// Copyright 2023 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. + +// Code generated by gapicgen. DO NOT EDIT. + +package internal + +// Version is the current tagged release of the library. +const Version = "0.0.0"