diff --git a/advisorynotifications/apiv1/advisory_notifications_client.go b/advisorynotifications/apiv1/advisory_notifications_client.go index c018d6c1da5..6093b9acad1 100755 --- a/advisorynotifications/apiv1/advisory_notifications_client.go +++ b/advisorynotifications/apiv1/advisory_notifications_client.go @@ -17,6 +17,7 @@ package advisorynotifications import ( + "bytes" "context" "fmt" "io" @@ -45,6 +46,8 @@ var newClientHook clientHook type CallOptions struct { ListNotifications []gax.CallOption GetNotification []gax.CallOption + GetSettings []gax.CallOption + UpdateSettings []gax.CallOption } func defaultGRPCClientOptions() []option.ClientOption { @@ -85,6 +88,8 @@ func defaultCallOptions() *CallOptions { }) }), }, + GetSettings: []gax.CallOption{}, + UpdateSettings: []gax.CallOption{}, } } @@ -112,6 +117,8 @@ func defaultRESTCallOptions() *CallOptions { http.StatusServiceUnavailable) }), }, + GetSettings: []gax.CallOption{}, + UpdateSettings: []gax.CallOption{}, } } @@ -122,6 +129,8 @@ type internalClient interface { Connection() *grpc.ClientConn ListNotifications(context.Context, *advisorynotificationspb.ListNotificationsRequest, ...gax.CallOption) *NotificationIterator GetNotification(context.Context, *advisorynotificationspb.GetNotificationRequest, ...gax.CallOption) (*advisorynotificationspb.Notification, error) + GetSettings(context.Context, *advisorynotificationspb.GetSettingsRequest, ...gax.CallOption) (*advisorynotificationspb.Settings, error) + UpdateSettings(context.Context, *advisorynotificationspb.UpdateSettingsRequest, ...gax.CallOption) (*advisorynotificationspb.Settings, error) } // Client is a client for interacting with Advisory Notifications API. @@ -169,6 +178,16 @@ func (c *Client) GetNotification(ctx context.Context, req *advisorynotifications return c.internalClient.GetNotification(ctx, req, opts...) } +// GetSettings get notification settings. +func (c *Client) GetSettings(ctx context.Context, req *advisorynotificationspb.GetSettingsRequest, opts ...gax.CallOption) (*advisorynotificationspb.Settings, error) { + return c.internalClient.GetSettings(ctx, req, opts...) +} + +// UpdateSettings update notification settings. +func (c *Client) UpdateSettings(ctx context.Context, req *advisorynotificationspb.UpdateSettingsRequest, opts ...gax.CallOption) (*advisorynotificationspb.Settings, error) { + return c.internalClient.UpdateSettings(ctx, req, opts...) +} + // gRPCClient is a client for interacting with Advisory Notifications API over gRPC transport. // // Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. @@ -373,6 +392,42 @@ func (c *gRPCClient) GetNotification(ctx context.Context, req *advisorynotificat return resp, nil } +func (c *gRPCClient) GetSettings(ctx context.Context, req *advisorynotificationspb.GetSettingsRequest, opts ...gax.CallOption) (*advisorynotificationspb.Settings, 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).GetSettings[0:len((*c.CallOptions).GetSettings):len((*c.CallOptions).GetSettings)], opts...) + var resp *advisorynotificationspb.Settings + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.GetSettings(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + +func (c *gRPCClient) UpdateSettings(ctx context.Context, req *advisorynotificationspb.UpdateSettingsRequest, opts ...gax.CallOption) (*advisorynotificationspb.Settings, error) { + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "settings.name", url.QueryEscape(req.GetSettings().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...) + opts = append((*c.CallOptions).UpdateSettings[0:len((*c.CallOptions).UpdateSettings):len((*c.CallOptions).UpdateSettings)], opts...) + var resp *advisorynotificationspb.Settings + err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + var err error + resp, err = c.client.UpdateSettings(ctx, req, settings.GRPC...) + return err + }, opts...) + if err != nil { + return nil, err + } + return resp, nil +} + // ListNotifications lists notifications under a given parent. func (c *restClient) ListNotifications(ctx context.Context, req *advisorynotificationspb.ListNotificationsRequest, opts ...gax.CallOption) *NotificationIterator { it := &NotificationIterator{} @@ -531,6 +586,133 @@ func (c *restClient) GetNotification(ctx context.Context, req *advisorynotificat return resp, nil } +// GetSettings get notification settings. +func (c *restClient) GetSettings(ctx context.Context, req *advisorynotificationspb.GetSettingsRequest, opts ...gax.CallOption) (*advisorynotificationspb.Settings, 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).GetSettings[0:len((*c.CallOptions).GetSettings):len((*c.CallOptions).GetSettings)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &advisorynotificationspb.Settings{} + 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 +} + +// UpdateSettings update notification settings. +func (c *restClient) UpdateSettings(ctx context.Context, req *advisorynotificationspb.UpdateSettingsRequest, opts ...gax.CallOption) (*advisorynotificationspb.Settings, error) { + m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true} + body := req.GetSettings() + 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.GetSettings().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", "settings.name", url.QueryEscape(req.GetSettings().GetName()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).UpdateSettings[0:len((*c.CallOptions).UpdateSettings):len((*c.CallOptions).UpdateSettings)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &advisorynotificationspb.Settings{} + 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 +} + // NotificationIterator manages a stream of *advisorynotificationspb.Notification. type NotificationIterator struct { items []*advisorynotificationspb.Notification diff --git a/advisorynotifications/apiv1/advisory_notifications_client_example_test.go b/advisorynotifications/apiv1/advisory_notifications_client_example_test.go index 5f6f0ea6338..0196b4b3418 100644 --- a/advisorynotifications/apiv1/advisory_notifications_client_example_test.go +++ b/advisorynotifications/apiv1/advisory_notifications_client_example_test.go @@ -113,3 +113,53 @@ func ExampleClient_GetNotification() { // TODO: Use resp. _ = resp } + +func ExampleClient_GetSettings() { + 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 := advisorynotifications.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &advisorynotificationspb.GetSettingsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/advisorynotifications/apiv1/advisorynotificationspb#GetSettingsRequest. + } + resp, err := c.GetSettings(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +func ExampleClient_UpdateSettings() { + 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 := advisorynotifications.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &advisorynotificationspb.UpdateSettingsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/advisorynotifications/apiv1/advisorynotificationspb#UpdateSettingsRequest. + } + resp, err := c.UpdateSettings(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} diff --git a/advisorynotifications/apiv1/advisorynotificationspb/service.pb.go b/advisorynotifications/apiv1/advisorynotificationspb/service.pb.go index 3f42bbca48c..30fbd4d4498 100755 --- a/advisorynotifications/apiv1/advisorynotificationspb/service.pb.go +++ b/advisorynotifications/apiv1/advisorynotificationspb/service.pb.go @@ -866,6 +866,229 @@ func (x *GetNotificationRequest) GetLanguageCode() string { return "" } +// Settings for Advisory Notifications. +type Settings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The resource name of the settings to retrieve. + // Format: + // organizations/{organization}/locations/{location}/settings. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Map of each notification type and its settings to get/set all + // settings at once. The server will validate the value for each notification + // type. + NotificationSettings map[string]*NotificationSettings `protobuf:"bytes,2,rep,name=notification_settings,json=notificationSettings,proto3" json:"notification_settings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Required. Fingerprint for optimistic concurrency returned in Get requests. + // Must be provided for Update requests. If the value provided does not match + // the value known to the server, ABORTED will be thrown, and the client + // should retry the read-modify-write cycle. + Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` +} + +func (x *Settings) Reset() { + *x = Settings{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Settings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Settings) ProtoMessage() {} + +func (x *Settings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_advisorynotifications_v1_service_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 Settings.ProtoReflect.Descriptor instead. +func (*Settings) Descriptor() ([]byte, []int) { + return file_google_cloud_advisorynotifications_v1_service_proto_rawDescGZIP(), []int{9} +} + +func (x *Settings) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Settings) GetNotificationSettings() map[string]*NotificationSettings { + if x != nil { + return x.NotificationSettings + } + return nil +} + +func (x *Settings) GetEtag() string { + if x != nil { + return x.Etag + } + return "" +} + +// Settings for each NotificationType. +type NotificationSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Whether the associated NotificationType is enabled. + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` +} + +func (x *NotificationSettings) Reset() { + *x = NotificationSettings{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotificationSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotificationSettings) ProtoMessage() {} + +func (x *NotificationSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_advisorynotifications_v1_service_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 NotificationSettings.ProtoReflect.Descriptor instead. +func (*NotificationSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_advisorynotifications_v1_service_proto_rawDescGZIP(), []int{10} +} + +func (x *NotificationSettings) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +// Request of GetSettings endpoint. +type GetSettingsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the settings to retrieve. + // Format: + // organizations/{organization}/locations/{location}/settings. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetSettingsRequest) Reset() { + *x = GetSettingsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSettingsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSettingsRequest) ProtoMessage() {} + +func (x *GetSettingsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_advisorynotifications_v1_service_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 GetSettingsRequest.ProtoReflect.Descriptor instead. +func (*GetSettingsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_advisorynotifications_v1_service_proto_rawDescGZIP(), []int{11} +} + +func (x *GetSettingsRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request of UpdateSettings endpoint. +type UpdateSettingsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. New settings. + Settings *Settings `protobuf:"bytes,1,opt,name=settings,proto3" json:"settings,omitempty"` +} + +func (x *UpdateSettingsRequest) Reset() { + *x = UpdateSettingsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateSettingsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateSettingsRequest) ProtoMessage() {} + +func (x *UpdateSettingsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_advisorynotifications_v1_service_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 UpdateSettingsRequest.ProtoReflect.Descriptor instead. +func (*UpdateSettingsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_advisorynotifications_v1_service_proto_rawDescGZIP(), []int{12} +} + +func (x *UpdateSettingsRequest) GetSettings() *Settings { + if x != nil { + return x.Settings + } + return nil +} + // A message body containing text. type Message_Body struct { state protoimpl.MessageState @@ -879,7 +1102,7 @@ type Message_Body struct { func (x *Message_Body) Reset() { *x = Message_Body{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[9] + mi := &file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -892,7 +1115,7 @@ func (x *Message_Body) String() string { func (*Message_Body) ProtoMessage() {} func (x *Message_Body) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[9] + mi := &file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -929,7 +1152,7 @@ type Csv_CsvRow struct { func (x *Csv_CsvRow) Reset() { *x = Csv_CsvRow{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[10] + mi := &file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -942,7 +1165,7 @@ func (x *Csv_CsvRow) String() string { func (*Csv_CsvRow) ProtoMessage() {} func (x *Csv_CsvRow) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[10] + mi := &file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1110,95 +1333,164 @@ var file_google_cloud_advisorynotifications_v1_service_proto_rawDesc = []byte{ 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x2a, 0x4a, 0x0a, - 0x10, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65, - 0x77, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, - 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x2a, 0xa0, 0x01, 0x0a, 0x11, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x22, 0x0a, 0x1e, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x50, - 0x50, 0x4c, 0x49, 0x43, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4c, 0x4f, - 0x43, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x4f, - 0x43, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x2a, 0xda, 0x01, 0x0a, - 0x10, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x2f, 0x0a, 0x2b, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, - 0x54, 0x59, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x43, 0x59, 0x5f, 0x41, 0x44, 0x56, 0x49, 0x53, - 0x4f, 0x52, 0x59, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x53, 0x49, - 0x54, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x22, - 0x0a, 0x1e, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x53, 0x41, - 0x10, 0x03, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x48, 0x52, 0x45, 0x41, 0x54, 0x5f, 0x48, - 0x4f, 0x52, 0x49, 0x5a, 0x4f, 0x4e, 0x53, 0x10, 0x04, 0x32, 0xa9, 0x04, 0x0a, 0x1c, 0x41, 0x64, - 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xdf, 0x01, 0x0a, 0x11, 0x4c, - 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 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, + 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xb9, 0x03, + 0x0a, 0x08, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 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, 0x83, 0x01, 0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x1a, 0x84, 0x01, 0x0a, 0x19, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 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, 0x51, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x47, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xcc, 0x01, 0x0a, - 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, - 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x1a, 0x58, 0xca, 0x41, 0x24, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x6e, 0xea, 0x41, 0x6b, 0x0a, 0x2d, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 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, 0xfc, 0x02, 0xea, 0x41, 0x62, 0x0a, 0x2d, 0x61, 0x64, 0x76, - 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 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, 0x31, 0x6f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x0a, 0x29, 0x63, - 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3a, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x30, 0x0a, 0x14, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x5f, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x49, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x35, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2f, 0x0a, 0x2d, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, + 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x69, 0x0a, 0x15, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2a, 0x4a, 0x0a, 0x10, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x12, 0x21, 0x0a, 0x1d, 0x4e, + 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x49, 0x45, 0x57, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, + 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, + 0x4c, 0x10, 0x02, 0x2a, 0xa0, 0x01, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x4c, 0x4f, 0x43, + 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, + 0x21, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x42, + 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x49, 0x5a, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, + 0x4e, 0x47, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x49, 0x5a, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, + 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x2a, 0xda, 0x01, 0x0a, 0x10, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x4e, + 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2f, + 0x0a, 0x2b, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x52, 0x49, + 0x56, 0x41, 0x43, 0x59, 0x5f, 0x41, 0x44, 0x56, 0x49, 0x53, 0x4f, 0x52, 0x59, 0x10, 0x01, 0x12, + 0x27, 0x0a, 0x23, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x4e, 0x4f, 0x54, 0x49, + 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, + 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x53, 0x41, 0x10, 0x03, 0x12, 0x25, 0x0a, 0x21, + 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x54, 0x48, 0x52, 0x45, 0x41, 0x54, 0x5f, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x4f, 0x4e, + 0x53, 0x10, 0x04, 0x32, 0xbe, 0x07, 0x0a, 0x1c, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0xdf, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, + 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 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, 0x61, 0x64, 0x76, 0x69, 0x73, + 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0xda, + 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xcc, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, + 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, + 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xb9, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x64, - 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, - 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, - 0x62, 0x3b, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x62, 0xaa, 0x02, 0x25, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, - 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, - 0x31, 0xca, 0x02, 0x25, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x5c, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x28, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x64, 0x76, 0x69, 0x73, - 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x22, 0x3e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, + 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x7d, 0x12, 0xd6, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x22, 0x55, 0xda, 0x41, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x32, 0x38, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, + 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x7d, 0x1a, 0x58, 0xca, 0x41, 0x24, 0x61, + 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 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, 0xfc, 0x02, 0xea, 0x41, 0x62, 0x0a, 0x2d, 0x61, 0x64, 0x76, 0x69, + 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 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, 0x31, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x0a, 0x29, 0x63, 0x6f, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, + 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x64, 0x76, + 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, + 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x62, + 0x3b, 0x61, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0x62, 0xaa, 0x02, 0x25, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x25, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x28, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x64, 0x76, 0x69, 0x73, 0x6f, + 0x72, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1214,7 +1506,7 @@ func file_google_cloud_advisorynotifications_v1_service_proto_rawDescGZIP() []by } var file_google_cloud_advisorynotifications_v1_service_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_google_cloud_advisorynotifications_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_google_cloud_advisorynotifications_v1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_google_cloud_advisorynotifications_v1_service_proto_goTypes = []interface{}{ (NotificationView)(0), // 0: google.cloud.advisorynotifications.v1.NotificationView (LocalizationState)(0), // 1: google.cloud.advisorynotifications.v1.LocalizationState @@ -1228,35 +1520,47 @@ var file_google_cloud_advisorynotifications_v1_service_proto_goTypes = []interfa (*ListNotificationsRequest)(nil), // 9: google.cloud.advisorynotifications.v1.ListNotificationsRequest (*ListNotificationsResponse)(nil), // 10: google.cloud.advisorynotifications.v1.ListNotificationsResponse (*GetNotificationRequest)(nil), // 11: google.cloud.advisorynotifications.v1.GetNotificationRequest - (*Message_Body)(nil), // 12: google.cloud.advisorynotifications.v1.Message.Body - (*Csv_CsvRow)(nil), // 13: google.cloud.advisorynotifications.v1.Csv.CsvRow - (*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp + (*Settings)(nil), // 12: google.cloud.advisorynotifications.v1.Settings + (*NotificationSettings)(nil), // 13: google.cloud.advisorynotifications.v1.NotificationSettings + (*GetSettingsRequest)(nil), // 14: google.cloud.advisorynotifications.v1.GetSettingsRequest + (*UpdateSettingsRequest)(nil), // 15: google.cloud.advisorynotifications.v1.UpdateSettingsRequest + (*Message_Body)(nil), // 16: google.cloud.advisorynotifications.v1.Message.Body + (*Csv_CsvRow)(nil), // 17: google.cloud.advisorynotifications.v1.Csv.CsvRow + nil, // 18: google.cloud.advisorynotifications.v1.Settings.NotificationSettingsEntry + (*timestamppb.Timestamp)(nil), // 19: google.protobuf.Timestamp } var file_google_cloud_advisorynotifications_v1_service_proto_depIdxs = []int32{ 5, // 0: google.cloud.advisorynotifications.v1.Notification.subject:type_name -> google.cloud.advisorynotifications.v1.Subject 6, // 1: google.cloud.advisorynotifications.v1.Notification.messages:type_name -> google.cloud.advisorynotifications.v1.Message - 14, // 2: google.cloud.advisorynotifications.v1.Notification.create_time:type_name -> google.protobuf.Timestamp + 19, // 2: google.cloud.advisorynotifications.v1.Notification.create_time:type_name -> google.protobuf.Timestamp 2, // 3: google.cloud.advisorynotifications.v1.Notification.notification_type:type_name -> google.cloud.advisorynotifications.v1.NotificationType 1, // 4: google.cloud.advisorynotifications.v1.Text.localization_state:type_name -> google.cloud.advisorynotifications.v1.LocalizationState 4, // 5: google.cloud.advisorynotifications.v1.Subject.text:type_name -> google.cloud.advisorynotifications.v1.Text - 12, // 6: google.cloud.advisorynotifications.v1.Message.body:type_name -> google.cloud.advisorynotifications.v1.Message.Body + 16, // 6: google.cloud.advisorynotifications.v1.Message.body:type_name -> google.cloud.advisorynotifications.v1.Message.Body 7, // 7: google.cloud.advisorynotifications.v1.Message.attachments:type_name -> google.cloud.advisorynotifications.v1.Attachment - 14, // 8: google.cloud.advisorynotifications.v1.Message.create_time:type_name -> google.protobuf.Timestamp - 14, // 9: google.cloud.advisorynotifications.v1.Message.localization_time:type_name -> google.protobuf.Timestamp + 19, // 8: google.cloud.advisorynotifications.v1.Message.create_time:type_name -> google.protobuf.Timestamp + 19, // 9: google.cloud.advisorynotifications.v1.Message.localization_time:type_name -> google.protobuf.Timestamp 8, // 10: google.cloud.advisorynotifications.v1.Attachment.csv:type_name -> google.cloud.advisorynotifications.v1.Csv - 13, // 11: google.cloud.advisorynotifications.v1.Csv.data_rows:type_name -> google.cloud.advisorynotifications.v1.Csv.CsvRow + 17, // 11: google.cloud.advisorynotifications.v1.Csv.data_rows:type_name -> google.cloud.advisorynotifications.v1.Csv.CsvRow 0, // 12: google.cloud.advisorynotifications.v1.ListNotificationsRequest.view:type_name -> google.cloud.advisorynotifications.v1.NotificationView 3, // 13: google.cloud.advisorynotifications.v1.ListNotificationsResponse.notifications:type_name -> google.cloud.advisorynotifications.v1.Notification - 4, // 14: google.cloud.advisorynotifications.v1.Message.Body.text:type_name -> google.cloud.advisorynotifications.v1.Text - 9, // 15: google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.ListNotifications:input_type -> google.cloud.advisorynotifications.v1.ListNotificationsRequest - 11, // 16: google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.GetNotification:input_type -> google.cloud.advisorynotifications.v1.GetNotificationRequest - 10, // 17: google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.ListNotifications:output_type -> google.cloud.advisorynotifications.v1.ListNotificationsResponse - 3, // 18: google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.GetNotification:output_type -> google.cloud.advisorynotifications.v1.Notification - 17, // [17:19] is the sub-list for method output_type - 15, // [15:17] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 18, // 14: google.cloud.advisorynotifications.v1.Settings.notification_settings:type_name -> google.cloud.advisorynotifications.v1.Settings.NotificationSettingsEntry + 12, // 15: google.cloud.advisorynotifications.v1.UpdateSettingsRequest.settings:type_name -> google.cloud.advisorynotifications.v1.Settings + 4, // 16: google.cloud.advisorynotifications.v1.Message.Body.text:type_name -> google.cloud.advisorynotifications.v1.Text + 13, // 17: google.cloud.advisorynotifications.v1.Settings.NotificationSettingsEntry.value:type_name -> google.cloud.advisorynotifications.v1.NotificationSettings + 9, // 18: google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.ListNotifications:input_type -> google.cloud.advisorynotifications.v1.ListNotificationsRequest + 11, // 19: google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.GetNotification:input_type -> google.cloud.advisorynotifications.v1.GetNotificationRequest + 14, // 20: google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.GetSettings:input_type -> google.cloud.advisorynotifications.v1.GetSettingsRequest + 15, // 21: google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.UpdateSettings:input_type -> google.cloud.advisorynotifications.v1.UpdateSettingsRequest + 10, // 22: google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.ListNotifications:output_type -> google.cloud.advisorynotifications.v1.ListNotificationsResponse + 3, // 23: google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.GetNotification:output_type -> google.cloud.advisorynotifications.v1.Notification + 12, // 24: google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.GetSettings:output_type -> google.cloud.advisorynotifications.v1.Settings + 12, // 25: google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.UpdateSettings:output_type -> google.cloud.advisorynotifications.v1.Settings + 22, // [22:26] is the sub-list for method output_type + 18, // [18:22] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_google_cloud_advisorynotifications_v1_service_proto_init() } @@ -1374,7 +1678,7 @@ func file_google_cloud_advisorynotifications_v1_service_proto_init() { } } file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Message_Body); i { + switch v := v.(*Settings); i { case 0: return &v.state case 1: @@ -1386,6 +1690,54 @@ func file_google_cloud_advisorynotifications_v1_service_proto_init() { } } file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotificationSettings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSettingsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateSettingsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Message_Body); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_advisorynotifications_v1_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Csv_CsvRow); i { case 0: return &v.state @@ -1407,7 +1759,7 @@ func file_google_cloud_advisorynotifications_v1_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_advisorynotifications_v1_service_proto_rawDesc, NumEnums: 3, - NumMessages: 11, + NumMessages: 16, NumExtensions: 0, NumServices: 1, }, @@ -1438,6 +1790,10 @@ type AdvisoryNotificationsServiceClient interface { ListNotifications(ctx context.Context, in *ListNotificationsRequest, opts ...grpc.CallOption) (*ListNotificationsResponse, error) // Gets a notification. GetNotification(ctx context.Context, in *GetNotificationRequest, opts ...grpc.CallOption) (*Notification, error) + // Get notification settings. + GetSettings(ctx context.Context, in *GetSettingsRequest, opts ...grpc.CallOption) (*Settings, error) + // Update notification settings. + UpdateSettings(ctx context.Context, in *UpdateSettingsRequest, opts ...grpc.CallOption) (*Settings, error) } type advisoryNotificationsServiceClient struct { @@ -1466,12 +1822,34 @@ func (c *advisoryNotificationsServiceClient) GetNotification(ctx context.Context return out, nil } +func (c *advisoryNotificationsServiceClient) GetSettings(ctx context.Context, in *GetSettingsRequest, opts ...grpc.CallOption) (*Settings, error) { + out := new(Settings) + err := c.cc.Invoke(ctx, "/google.cloud.advisorynotifications.v1.AdvisoryNotificationsService/GetSettings", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *advisoryNotificationsServiceClient) UpdateSettings(ctx context.Context, in *UpdateSettingsRequest, opts ...grpc.CallOption) (*Settings, error) { + out := new(Settings) + err := c.cc.Invoke(ctx, "/google.cloud.advisorynotifications.v1.AdvisoryNotificationsService/UpdateSettings", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // AdvisoryNotificationsServiceServer is the server API for AdvisoryNotificationsService service. type AdvisoryNotificationsServiceServer interface { // Lists notifications under a given parent. ListNotifications(context.Context, *ListNotificationsRequest) (*ListNotificationsResponse, error) // Gets a notification. GetNotification(context.Context, *GetNotificationRequest) (*Notification, error) + // Get notification settings. + GetSettings(context.Context, *GetSettingsRequest) (*Settings, error) + // Update notification settings. + UpdateSettings(context.Context, *UpdateSettingsRequest) (*Settings, error) } // UnimplementedAdvisoryNotificationsServiceServer can be embedded to have forward compatible implementations. @@ -1484,6 +1862,12 @@ func (*UnimplementedAdvisoryNotificationsServiceServer) ListNotifications(contex func (*UnimplementedAdvisoryNotificationsServiceServer) GetNotification(context.Context, *GetNotificationRequest) (*Notification, error) { return nil, status.Errorf(codes.Unimplemented, "method GetNotification not implemented") } +func (*UnimplementedAdvisoryNotificationsServiceServer) GetSettings(context.Context, *GetSettingsRequest) (*Settings, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSettings not implemented") +} +func (*UnimplementedAdvisoryNotificationsServiceServer) UpdateSettings(context.Context, *UpdateSettingsRequest) (*Settings, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateSettings not implemented") +} func RegisterAdvisoryNotificationsServiceServer(s *grpc.Server, srv AdvisoryNotificationsServiceServer) { s.RegisterService(&_AdvisoryNotificationsService_serviceDesc, srv) @@ -1525,6 +1909,42 @@ func _AdvisoryNotificationsService_GetNotification_Handler(srv interface{}, ctx return interceptor(ctx, in, info, handler) } +func _AdvisoryNotificationsService_GetSettings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetSettingsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdvisoryNotificationsServiceServer).GetSettings(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.advisorynotifications.v1.AdvisoryNotificationsService/GetSettings", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdvisoryNotificationsServiceServer).GetSettings(ctx, req.(*GetSettingsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdvisoryNotificationsService_UpdateSettings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateSettingsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdvisoryNotificationsServiceServer).UpdateSettings(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.advisorynotifications.v1.AdvisoryNotificationsService/UpdateSettings", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdvisoryNotificationsServiceServer).UpdateSettings(ctx, req.(*UpdateSettingsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _AdvisoryNotificationsService_serviceDesc = grpc.ServiceDesc{ ServiceName: "google.cloud.advisorynotifications.v1.AdvisoryNotificationsService", HandlerType: (*AdvisoryNotificationsServiceServer)(nil), @@ -1537,6 +1957,14 @@ var _AdvisoryNotificationsService_serviceDesc = grpc.ServiceDesc{ MethodName: "GetNotification", Handler: _AdvisoryNotificationsService_GetNotification_Handler, }, + { + MethodName: "GetSettings", + Handler: _AdvisoryNotificationsService_GetSettings_Handler, + }, + { + MethodName: "UpdateSettings", + Handler: _AdvisoryNotificationsService_UpdateSettings_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "google/cloud/advisorynotifications/v1/service.proto", diff --git a/advisorynotifications/apiv1/gapic_metadata.json b/advisorynotifications/apiv1/gapic_metadata.json index 17caa406263..2f002b6b94d 100644 --- a/advisorynotifications/apiv1/gapic_metadata.json +++ b/advisorynotifications/apiv1/gapic_metadata.json @@ -15,10 +15,20 @@ "GetNotification" ] }, + "GetSettings": { + "methods": [ + "GetSettings" + ] + }, "ListNotifications": { "methods": [ "ListNotifications" ] + }, + "UpdateSettings": { + "methods": [ + "UpdateSettings" + ] } } }, @@ -30,10 +40,20 @@ "GetNotification" ] }, + "GetSettings": { + "methods": [ + "GetSettings" + ] + }, "ListNotifications": { "methods": [ "ListNotifications" ] + }, + "UpdateSettings": { + "methods": [ + "UpdateSettings" + ] } } } diff --git a/internal/generated/snippets/advisorynotifications/apiv1/Client/GetSettings/main.go b/internal/generated/snippets/advisorynotifications/apiv1/Client/GetSettings/main.go new file mode 100644 index 00000000000..a3ccad0e117 --- /dev/null +++ b/internal/generated/snippets/advisorynotifications/apiv1/Client/GetSettings/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 advisorynotifications_v1_generated_AdvisoryNotificationsService_GetSettings_sync] + +package main + +import ( + "context" + + advisorynotifications "cloud.google.com/go/advisorynotifications/apiv1" + advisorynotificationspb "cloud.google.com/go/advisorynotifications/apiv1/advisorynotificationspb" +) + +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 := advisorynotifications.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &advisorynotificationspb.GetSettingsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/advisorynotifications/apiv1/advisorynotificationspb#GetSettingsRequest. + } + resp, err := c.GetSettings(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END advisorynotifications_v1_generated_AdvisoryNotificationsService_GetSettings_sync] diff --git a/internal/generated/snippets/advisorynotifications/apiv1/Client/UpdateSettings/main.go b/internal/generated/snippets/advisorynotifications/apiv1/Client/UpdateSettings/main.go new file mode 100644 index 00000000000..5780e751327 --- /dev/null +++ b/internal/generated/snippets/advisorynotifications/apiv1/Client/UpdateSettings/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 advisorynotifications_v1_generated_AdvisoryNotificationsService_UpdateSettings_sync] + +package main + +import ( + "context" + + advisorynotifications "cloud.google.com/go/advisorynotifications/apiv1" + advisorynotificationspb "cloud.google.com/go/advisorynotifications/apiv1/advisorynotificationspb" +) + +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 := advisorynotifications.NewClient(ctx) + if err != nil { + // TODO: Handle error. + } + defer c.Close() + + req := &advisorynotificationspb.UpdateSettingsRequest{ + // TODO: Fill request struct fields. + // See https://pkg.go.dev/cloud.google.com/go/advisorynotifications/apiv1/advisorynotificationspb#UpdateSettingsRequest. + } + resp, err := c.UpdateSettings(ctx, req) + if err != nil { + // TODO: Handle error. + } + // TODO: Use resp. + _ = resp +} + +// [END advisorynotifications_v1_generated_AdvisoryNotificationsService_UpdateSettings_sync] diff --git a/internal/generated/snippets/advisorynotifications/apiv1/snippet_metadata.google.cloud.advisorynotifications.v1.json b/internal/generated/snippets/advisorynotifications/apiv1/snippet_metadata.google.cloud.advisorynotifications.v1.json index 2eeb5d697f4..7e537481817 100644 --- a/internal/generated/snippets/advisorynotifications/apiv1/snippet_metadata.google.cloud.advisorynotifications.v1.json +++ b/internal/generated/snippets/advisorynotifications/apiv1/snippet_metadata.google.cloud.advisorynotifications.v1.json @@ -57,6 +57,52 @@ } ] }, + { + "regionTag": "advisorynotifications_v1_generated_AdvisoryNotificationsService_GetSettings_sync", + "title": "advisorynotifications GetSettings Sample", + "description": "GetSettings get notification settings.", + "file": "Client/GetSettings/main.go", + "language": "GO", + "clientMethod": { + "shortName": "GetSettings", + "fullName": "google.cloud.advisorynotifications.v1.Client.GetSettings", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "advisorynotificationspb.GetSettingsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*advisorynotificationspb.Settings", + "client": { + "shortName": "Client", + "fullName": "google.cloud.advisorynotifications.v1.Client" + }, + "method": { + "shortName": "GetSettings", + "fullName": "google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.GetSettings", + "service": { + "shortName": "AdvisoryNotificationsService", + "fullName": "google.cloud.advisorynotifications.v1.AdvisoryNotificationsService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] + }, { "regionTag": "advisorynotifications_v1_generated_AdvisoryNotificationsService_ListNotifications_sync", "title": "advisorynotifications ListNotifications Sample", @@ -102,6 +148,52 @@ "type": "FULL" } ] + }, + { + "regionTag": "advisorynotifications_v1_generated_AdvisoryNotificationsService_UpdateSettings_sync", + "title": "advisorynotifications UpdateSettings Sample", + "description": "UpdateSettings update notification settings.", + "file": "Client/UpdateSettings/main.go", + "language": "GO", + "clientMethod": { + "shortName": "UpdateSettings", + "fullName": "google.cloud.advisorynotifications.v1.Client.UpdateSettings", + "parameters": [ + { + "type": "context.Context", + "name": "ctx" + }, + { + "type": "advisorynotificationspb.UpdateSettingsRequest", + "name": "req" + }, + { + "type": "...gax.CallOption", + "name": "opts" + } + ], + "resultType": "*advisorynotificationspb.Settings", + "client": { + "shortName": "Client", + "fullName": "google.cloud.advisorynotifications.v1.Client" + }, + "method": { + "shortName": "UpdateSettings", + "fullName": "google.cloud.advisorynotifications.v1.AdvisoryNotificationsService.UpdateSettings", + "service": { + "shortName": "AdvisoryNotificationsService", + "fullName": "google.cloud.advisorynotifications.v1.AdvisoryNotificationsService" + } + } + }, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 18, + "end": 53, + "type": "FULL" + } + ] } ] } \ No newline at end of file