From 21bd240a6600dd30fa24749c53a8e6e831725438 Mon Sep 17 00:00:00 2001 From: Marco Dinis Date: Fri, 30 Aug 2024 10:41:46 +0100 Subject: [PATCH] Add User Integration Tasks resource - protos --- .../v1/user_integration_tasks.pb.go | 554 ++++++++++++++ .../v1/user_integration_tasks_service.pb.go | 689 ++++++++++++++++++ .../user_integration_tasks_service_grpc.pb.go | 343 +++++++++ .../v1/user_integration_tasks.proto | 84 +++ .../v1/user_integration_tasks_service.proto | 83 +++ 5 files changed, 1753 insertions(+) create mode 100644 api/gen/proto/go/teleport/userintegrationtasks/v1/user_integration_tasks.pb.go create mode 100644 api/gen/proto/go/teleport/userintegrationtasks/v1/user_integration_tasks_service.pb.go create mode 100644 api/gen/proto/go/teleport/userintegrationtasks/v1/user_integration_tasks_service_grpc.pb.go create mode 100644 api/proto/teleport/userintegrationtasks/v1/user_integration_tasks.proto create mode 100644 api/proto/teleport/userintegrationtasks/v1/user_integration_tasks_service.proto diff --git a/api/gen/proto/go/teleport/userintegrationtasks/v1/user_integration_tasks.pb.go b/api/gen/proto/go/teleport/userintegrationtasks/v1/user_integration_tasks.pb.go new file mode 100644 index 0000000000000..e058ad99e474d --- /dev/null +++ b/api/gen/proto/go/teleport/userintegrationtasks/v1/user_integration_tasks.pb.go @@ -0,0 +1,554 @@ +// Copyright 2024 Gravitational, Inc +// +// 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.34.2 +// protoc (unknown) +// source: teleport/userintegrationtasks/v1/user_integration_tasks.proto + +package userintegrationtasksv1 + +import ( + v1 "github.com/gravitational/teleport/api/gen/proto/go/teleport/header/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" +) + +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) +) + +// UserIntegrationTask is a resource that represents an action to be completed by the user. +// UserIntegrationTasks are a unit of work for users to act upon issues related to integrations. +// As an example, when auto-enrolling EC2 instances using the Discovery Service +// a UserIntegrationTask is created to let the user know that something failed on a set of instances. +// The user can then mark the task as resolved after following the recommendation/fixing steps. +type UserIntegrationTask struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The kind of resource represented. + Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` + // Mandatory field for all resources. Not populated for this resource type. + SubKind string `protobuf:"bytes,2,opt,name=sub_kind,json=subKind,proto3" json:"sub_kind,omitempty"` + // The version of the resource being represented. + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + // Common metadata that all resources share. + Metadata *v1.Metadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + // The configured properties of UserIntegrationTask. + Spec *UserIntegrationTaskSpec `protobuf:"bytes,5,opt,name=spec,proto3" json:"spec,omitempty"` +} + +func (x *UserIntegrationTask) Reset() { + *x = UserIntegrationTask{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserIntegrationTask) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserIntegrationTask) ProtoMessage() {} + +func (x *UserIntegrationTask) ProtoReflect() protoreflect.Message { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_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 UserIntegrationTask.ProtoReflect.Descriptor instead. +func (*UserIntegrationTask) Descriptor() ([]byte, []int) { + return file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDescGZIP(), []int{0} +} + +func (x *UserIntegrationTask) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *UserIntegrationTask) GetSubKind() string { + if x != nil { + return x.SubKind + } + return "" +} + +func (x *UserIntegrationTask) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *UserIntegrationTask) GetMetadata() *v1.Metadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *UserIntegrationTask) GetSpec() *UserIntegrationTaskSpec { + if x != nil { + return x.Spec + } + return nil +} + +// UserIntegrationTaskSpec contains the properties of the UserIntegrationTask. +type UserIntegrationTaskSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Integration is the integration name that originated this task. + Integration string `protobuf:"bytes,1,opt,name=integration,proto3" json:"integration,omitempty"` + // TaskType indicates the type of task. + // Examples: discover-ec2, discover-rds, discover-eks + TaskType string `protobuf:"bytes,2,opt,name=task_type,json=taskType,proto3" json:"task_type,omitempty"` + // IssueType is an identifier for the type of issue that happened. + // Example for discover-ec2: SSM_AGENT_NOT_AVAILABLE + IssueType string `protobuf:"bytes,3,opt,name=issue_type,json=issueType,proto3" json:"issue_type,omitempty"` + // DiscoverEC2 contains the AWS EC2 instances that failed to auto enroll into the cluster. + // Present when TaskType is discover-ec2. + DiscoverEc2 *DiscoverEC2 `protobuf:"bytes,4,opt,name=discover_ec2,json=discoverEc2,proto3" json:"discover_ec2,omitempty"` +} + +func (x *UserIntegrationTaskSpec) Reset() { + *x = UserIntegrationTaskSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserIntegrationTaskSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserIntegrationTaskSpec) ProtoMessage() {} + +func (x *UserIntegrationTaskSpec) ProtoReflect() protoreflect.Message { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_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 UserIntegrationTaskSpec.ProtoReflect.Descriptor instead. +func (*UserIntegrationTaskSpec) Descriptor() ([]byte, []int) { + return file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDescGZIP(), []int{1} +} + +func (x *UserIntegrationTaskSpec) GetIntegration() string { + if x != nil { + return x.Integration + } + return "" +} + +func (x *UserIntegrationTaskSpec) GetTaskType() string { + if x != nil { + return x.TaskType + } + return "" +} + +func (x *UserIntegrationTaskSpec) GetIssueType() string { + if x != nil { + return x.IssueType + } + return "" +} + +func (x *UserIntegrationTaskSpec) GetDiscoverEc2() *DiscoverEC2 { + if x != nil { + return x.DiscoverEc2 + } + return nil +} + +// DiscoverEC2 contains the instances that failed to auto-enroll into the cluster. +type DiscoverEC2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Instances maps an instance id to the result of enrolling that instance into teleport. + Instances map[string]*DiscoverEC2Instance `protobuf:"bytes,1,rep,name=instances,proto3" json:"instances,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *DiscoverEC2) Reset() { + *x = DiscoverEC2{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoverEC2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoverEC2) ProtoMessage() {} + +func (x *DiscoverEC2) ProtoReflect() protoreflect.Message { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_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 DiscoverEC2.ProtoReflect.Descriptor instead. +func (*DiscoverEC2) Descriptor() ([]byte, []int) { + return file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDescGZIP(), []int{2} +} + +func (x *DiscoverEC2) GetInstances() map[string]*DiscoverEC2Instance { + if x != nil { + return x.Instances + } + return nil +} + +// DiscoverEC2Instance contains the result of enrolling an AWS EC2 Instance. +type DiscoverEC2Instance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // State indicates the current issue state. + // When the issue is created, it starts with OPEN. + // Users can mark this instance issue as RESOLVED. + // If the issue happens again (eg, new discover iteration faces the same error), it will move to OPEN again. + State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` + // Name is the instance Name. + // Might be empty, if the instance doesn't have the Name tag. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // Region is the AWS Region where this issue is happening. + Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"` + // InvocationURL is the URL that points to the invocation. + // Empty if there was an error before installing the + InvocationUrl string `protobuf:"bytes,4,opt,name=invocation_url,json=invocationUrl,proto3" json:"invocation_url,omitempty"` + // DiscoveryConfig is the discovery config name that originated this instance enrollment. + DiscoveryConfig string `protobuf:"bytes,5,opt,name=discovery_config,json=discoveryConfig,proto3" json:"discovery_config,omitempty"` + // DiscoveryGroup is the DiscoveryGroup name that originated this task. + DiscoveryGroup string `protobuf:"bytes,6,opt,name=discovery_group,json=discoveryGroup,proto3" json:"discovery_group,omitempty"` + // SyncTime is the timestamp when the error was produced. + SyncTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=sync_time,json=syncTime,proto3" json:"sync_time,omitempty"` +} + +func (x *DiscoverEC2Instance) Reset() { + *x = DiscoverEC2Instance{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoverEC2Instance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoverEC2Instance) ProtoMessage() {} + +func (x *DiscoverEC2Instance) ProtoReflect() protoreflect.Message { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_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 DiscoverEC2Instance.ProtoReflect.Descriptor instead. +func (*DiscoverEC2Instance) Descriptor() ([]byte, []int) { + return file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDescGZIP(), []int{3} +} + +func (x *DiscoverEC2Instance) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *DiscoverEC2Instance) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DiscoverEC2Instance) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *DiscoverEC2Instance) GetInvocationUrl() string { + if x != nil { + return x.InvocationUrl + } + return "" +} + +func (x *DiscoverEC2Instance) GetDiscoveryConfig() string { + if x != nil { + return x.DiscoveryConfig + } + return "" +} + +func (x *DiscoverEC2Instance) GetDiscoveryGroup() string { + if x != nil { + return x.DiscoveryGroup + } + return "" +} + +func (x *DiscoverEC2Instance) GetSyncTime() *timestamppb.Timestamp { + if x != nil { + return x.SyncTime + } + return nil +} + +var File_teleport_userintegrationtasks_v1_user_integration_tasks_proto protoreflect.FileDescriptor + +var file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDesc = []byte{ + 0x0a, 0x3d, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2f, + 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x20, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, + 0x31, 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, 0x1a, 0x21, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x01, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x12, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x4d, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, + 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, + 0xc9, 0x01, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, + 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x0c, 0x64, 0x69, 0x73, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x65, 0x63, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x45, 0x43, 0x32, 0x52, 0x0b, + 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x45, 0x63, 0x32, 0x22, 0xde, 0x01, 0x0a, 0x0b, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x45, 0x43, 0x32, 0x12, 0x5a, 0x0a, 0x09, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, + 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x45, 0x43, 0x32, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x73, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 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, 0x4b, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x74, 0x65, 0x6c, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x45, 0x43, 0x32, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8b, 0x02, 0x0a, + 0x13, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x45, 0x43, 0x32, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x29, 0x0a, + 0x10, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x63, + 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, + 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, + 0x52, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x6c, 0x5a, 0x6a, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, + 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2f, 0x76, + 0x31, 0x3b, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDescOnce sync.Once + file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDescData = file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDesc +) + +func file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDescGZIP() []byte { + file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDescOnce.Do(func() { + file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDescData = protoimpl.X.CompressGZIP(file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDescData) + }) + return file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDescData +} + +var file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_goTypes = []any{ + (*UserIntegrationTask)(nil), // 0: teleport.userintegrationtasks.v1.UserIntegrationTask + (*UserIntegrationTaskSpec)(nil), // 1: teleport.userintegrationtasks.v1.UserIntegrationTaskSpec + (*DiscoverEC2)(nil), // 2: teleport.userintegrationtasks.v1.DiscoverEC2 + (*DiscoverEC2Instance)(nil), // 3: teleport.userintegrationtasks.v1.DiscoverEC2Instance + nil, // 4: teleport.userintegrationtasks.v1.DiscoverEC2.InstancesEntry + (*v1.Metadata)(nil), // 5: teleport.header.v1.Metadata + (*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp +} +var file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_depIdxs = []int32{ + 5, // 0: teleport.userintegrationtasks.v1.UserIntegrationTask.metadata:type_name -> teleport.header.v1.Metadata + 1, // 1: teleport.userintegrationtasks.v1.UserIntegrationTask.spec:type_name -> teleport.userintegrationtasks.v1.UserIntegrationTaskSpec + 2, // 2: teleport.userintegrationtasks.v1.UserIntegrationTaskSpec.discover_ec2:type_name -> teleport.userintegrationtasks.v1.DiscoverEC2 + 4, // 3: teleport.userintegrationtasks.v1.DiscoverEC2.instances:type_name -> teleport.userintegrationtasks.v1.DiscoverEC2.InstancesEntry + 6, // 4: teleport.userintegrationtasks.v1.DiscoverEC2Instance.sync_time:type_name -> google.protobuf.Timestamp + 3, // 5: teleport.userintegrationtasks.v1.DiscoverEC2.InstancesEntry.value:type_name -> teleport.userintegrationtasks.v1.DiscoverEC2Instance + 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_teleport_userintegrationtasks_v1_user_integration_tasks_proto_init() } +func file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_init() { + if File_teleport_userintegrationtasks_v1_user_integration_tasks_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*UserIntegrationTask); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*UserIntegrationTaskSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*DiscoverEC2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*DiscoverEC2Instance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_goTypes, + DependencyIndexes: file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_depIdxs, + MessageInfos: file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_msgTypes, + }.Build() + File_teleport_userintegrationtasks_v1_user_integration_tasks_proto = out.File + file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_rawDesc = nil + file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_goTypes = nil + file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_depIdxs = nil +} diff --git a/api/gen/proto/go/teleport/userintegrationtasks/v1/user_integration_tasks_service.pb.go b/api/gen/proto/go/teleport/userintegrationtasks/v1/user_integration_tasks_service.pb.go new file mode 100644 index 0000000000000..beede8c35fad4 --- /dev/null +++ b/api/gen/proto/go/teleport/userintegrationtasks/v1/user_integration_tasks_service.pb.go @@ -0,0 +1,689 @@ +// Copyright 2024 Gravitational, Inc +// +// 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.34.2 +// protoc (unknown) +// source: teleport/userintegrationtasks/v1/user_integration_tasks_service.proto + +package userintegrationtasksv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" +) + +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) +) + +// CreateUserIntegrationTaskRequest is a request to create a User Integration Task. +type CreateUserIntegrationTaskRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserIntegrationTask *UserIntegrationTask `protobuf:"bytes,1,opt,name=user_integration_task,json=userIntegrationTask,proto3" json:"user_integration_task,omitempty"` +} + +func (x *CreateUserIntegrationTaskRequest) Reset() { + *x = CreateUserIntegrationTaskRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateUserIntegrationTaskRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateUserIntegrationTaskRequest) ProtoMessage() {} + +func (x *CreateUserIntegrationTaskRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_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 CreateUserIntegrationTaskRequest.ProtoReflect.Descriptor instead. +func (*CreateUserIntegrationTaskRequest) Descriptor() ([]byte, []int) { + return file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateUserIntegrationTaskRequest) GetUserIntegrationTask() *UserIntegrationTask { + if x != nil { + return x.UserIntegrationTask + } + return nil +} + +// UpsertUserIntegrationTaskRequest is a request to create or update a User Integration Task. +type UpsertUserIntegrationTaskRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserIntegrationTask *UserIntegrationTask `protobuf:"bytes,1,opt,name=user_integration_task,json=userIntegrationTask,proto3" json:"user_integration_task,omitempty"` +} + +func (x *UpsertUserIntegrationTaskRequest) Reset() { + *x = UpsertUserIntegrationTaskRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpsertUserIntegrationTaskRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertUserIntegrationTaskRequest) ProtoMessage() {} + +func (x *UpsertUserIntegrationTaskRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_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 UpsertUserIntegrationTaskRequest.ProtoReflect.Descriptor instead. +func (*UpsertUserIntegrationTaskRequest) Descriptor() ([]byte, []int) { + return file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescGZIP(), []int{1} +} + +func (x *UpsertUserIntegrationTaskRequest) GetUserIntegrationTask() *UserIntegrationTask { + if x != nil { + return x.UserIntegrationTask + } + return nil +} + +// GetUserIntegrationTaskRequest is a request to get a User Integration Task by name. +type GetUserIntegrationTaskRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name is the name of the UserIntegrationTask to get. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetUserIntegrationTaskRequest) Reset() { + *x = GetUserIntegrationTaskRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetUserIntegrationTaskRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserIntegrationTaskRequest) ProtoMessage() {} + +func (x *GetUserIntegrationTaskRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_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 GetUserIntegrationTaskRequest.ProtoReflect.Descriptor instead. +func (*GetUserIntegrationTaskRequest) Descriptor() ([]byte, []int) { + return file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescGZIP(), []int{2} +} + +func (x *GetUserIntegrationTaskRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// ListUserIntegrationTasksRequest is a request to get a list of User Integration Tasks. +type ListUserIntegrationTasksRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // page_size is the maximum number of items to return. + // The server may impose a different page size at its discretion. + PageSize int64 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // page_token is the next_page_token value returned from a previous List request, if any. + PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListUserIntegrationTasksRequest) Reset() { + *x = ListUserIntegrationTasksRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListUserIntegrationTasksRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListUserIntegrationTasksRequest) ProtoMessage() {} + +func (x *ListUserIntegrationTasksRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_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 ListUserIntegrationTasksRequest.ProtoReflect.Descriptor instead. +func (*ListUserIntegrationTasksRequest) Descriptor() ([]byte, []int) { + return file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescGZIP(), []int{3} +} + +func (x *ListUserIntegrationTasksRequest) GetPageSize() int64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListUserIntegrationTasksRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// ListUserIntegrationTasksResponse is a response to ListUserIntegrationTasks. +type ListUserIntegrationTasksResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserIntegrationTasks []*UserIntegrationTask `protobuf:"bytes,1,rep,name=user_integration_tasks,json=userIntegrationTasks,proto3" json:"user_integration_tasks,omitempty"` + // Token to retrieve the next page of results, or empty if there are no + // more results in the list. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListUserIntegrationTasksResponse) Reset() { + *x = ListUserIntegrationTasksResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListUserIntegrationTasksResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListUserIntegrationTasksResponse) ProtoMessage() {} + +func (x *ListUserIntegrationTasksResponse) ProtoReflect() protoreflect.Message { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_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 ListUserIntegrationTasksResponse.ProtoReflect.Descriptor instead. +func (*ListUserIntegrationTasksResponse) Descriptor() ([]byte, []int) { + return file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListUserIntegrationTasksResponse) GetUserIntegrationTasks() []*UserIntegrationTask { + if x != nil { + return x.UserIntegrationTasks + } + return nil +} + +func (x *ListUserIntegrationTasksResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// UpdateUserIntegrationTaskRequest is a request to update an existing User Integration Task. +type UpdateUserIntegrationTaskRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserIntegrationTask *UserIntegrationTask `protobuf:"bytes,1,opt,name=user_integration_task,json=userIntegrationTask,proto3" json:"user_integration_task,omitempty"` +} + +func (x *UpdateUserIntegrationTaskRequest) Reset() { + *x = UpdateUserIntegrationTaskRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateUserIntegrationTaskRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateUserIntegrationTaskRequest) ProtoMessage() {} + +func (x *UpdateUserIntegrationTaskRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_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 UpdateUserIntegrationTaskRequest.ProtoReflect.Descriptor instead. +func (*UpdateUserIntegrationTaskRequest) Descriptor() ([]byte, []int) { + return file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescGZIP(), []int{5} +} + +func (x *UpdateUserIntegrationTaskRequest) GetUserIntegrationTask() *UserIntegrationTask { + if x != nil { + return x.UserIntegrationTask + } + return nil +} + +// DeleteUserIntegrationTaskRequest is a request to delete a User Integration Task. +type DeleteUserIntegrationTaskRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name is the name of the User Integration Task to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteUserIntegrationTaskRequest) Reset() { + *x = DeleteUserIntegrationTaskRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteUserIntegrationTaskRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteUserIntegrationTaskRequest) ProtoMessage() {} + +func (x *DeleteUserIntegrationTaskRequest) ProtoReflect() protoreflect.Message { + mi := &file_teleport_userintegrationtasks_v1_user_integration_tasks_service_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 DeleteUserIntegrationTaskRequest.ProtoReflect.Descriptor instead. +func (*DeleteUserIntegrationTaskRequest) Descriptor() ([]byte, []int) { + return file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescGZIP(), []int{6} +} + +func (x *DeleteUserIntegrationTaskRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +var File_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto protoreflect.FileDescriptor + +var file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDesc = []byte{ + 0x0a, 0x45, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2f, + 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 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, 0x3d, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2f, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x01, 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x69, 0x0a, 0x15, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, + 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x22, 0x8d, 0x01, 0x0a, 0x20, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x69, 0x0a, 0x15, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, + 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x22, 0x33, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5d, 0x0a, 0x1f, 0x4c, 0x69, + 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 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, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb7, 0x01, 0x0a, 0x20, 0x4c, 0x69, + 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, + 0x0a, 0x16, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x14, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 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, 0x8d, 0x01, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x69, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x73, + 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x13, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x73, 0x6b, 0x22, 0x36, 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0x97, 0x07, 0x0a, 0x1a, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x73, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x96, 0x01, 0x0a, 0x19, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x42, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, + 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x73, 0x6b, 0x12, 0x96, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, + 0x6b, 0x12, 0x42, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, + 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, + 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x90, 0x01, 0x0a, + 0x16, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x3f, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, + 0xa1, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x41, 0x2e, 0x74, + 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x42, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x96, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, + 0x6b, 0x12, 0x42, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, + 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, + 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x77, 0x0a, 0x19, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x42, 0x2e, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 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, 0x42, 0x6c, 0x5a, 0x6a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x61, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, + 0x65, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x74, 0x65, 0x6c, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x75, 0x73, 0x65, + 0x72, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x74, 0x61, 0x73, 0x6b, + 0x73, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescOnce sync.Once + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescData = file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDesc +) + +func file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescGZIP() []byte { + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescOnce.Do(func() { + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescData) + }) + return file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDescData +} + +var file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_goTypes = []any{ + (*CreateUserIntegrationTaskRequest)(nil), // 0: teleport.userintegrationtasks.v1.CreateUserIntegrationTaskRequest + (*UpsertUserIntegrationTaskRequest)(nil), // 1: teleport.userintegrationtasks.v1.UpsertUserIntegrationTaskRequest + (*GetUserIntegrationTaskRequest)(nil), // 2: teleport.userintegrationtasks.v1.GetUserIntegrationTaskRequest + (*ListUserIntegrationTasksRequest)(nil), // 3: teleport.userintegrationtasks.v1.ListUserIntegrationTasksRequest + (*ListUserIntegrationTasksResponse)(nil), // 4: teleport.userintegrationtasks.v1.ListUserIntegrationTasksResponse + (*UpdateUserIntegrationTaskRequest)(nil), // 5: teleport.userintegrationtasks.v1.UpdateUserIntegrationTaskRequest + (*DeleteUserIntegrationTaskRequest)(nil), // 6: teleport.userintegrationtasks.v1.DeleteUserIntegrationTaskRequest + (*UserIntegrationTask)(nil), // 7: teleport.userintegrationtasks.v1.UserIntegrationTask + (*emptypb.Empty)(nil), // 8: google.protobuf.Empty +} +var file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_depIdxs = []int32{ + 7, // 0: teleport.userintegrationtasks.v1.CreateUserIntegrationTaskRequest.user_integration_task:type_name -> teleport.userintegrationtasks.v1.UserIntegrationTask + 7, // 1: teleport.userintegrationtasks.v1.UpsertUserIntegrationTaskRequest.user_integration_task:type_name -> teleport.userintegrationtasks.v1.UserIntegrationTask + 7, // 2: teleport.userintegrationtasks.v1.ListUserIntegrationTasksResponse.user_integration_tasks:type_name -> teleport.userintegrationtasks.v1.UserIntegrationTask + 7, // 3: teleport.userintegrationtasks.v1.UpdateUserIntegrationTaskRequest.user_integration_task:type_name -> teleport.userintegrationtasks.v1.UserIntegrationTask + 0, // 4: teleport.userintegrationtasks.v1.UserIntegrationTaskService.CreateUserIntegrationTask:input_type -> teleport.userintegrationtasks.v1.CreateUserIntegrationTaskRequest + 1, // 5: teleport.userintegrationtasks.v1.UserIntegrationTaskService.UpsertUserIntegrationTask:input_type -> teleport.userintegrationtasks.v1.UpsertUserIntegrationTaskRequest + 2, // 6: teleport.userintegrationtasks.v1.UserIntegrationTaskService.GetUserIntegrationTask:input_type -> teleport.userintegrationtasks.v1.GetUserIntegrationTaskRequest + 3, // 7: teleport.userintegrationtasks.v1.UserIntegrationTaskService.ListUserIntegrationTasks:input_type -> teleport.userintegrationtasks.v1.ListUserIntegrationTasksRequest + 5, // 8: teleport.userintegrationtasks.v1.UserIntegrationTaskService.UpdateUserIntegrationTask:input_type -> teleport.userintegrationtasks.v1.UpdateUserIntegrationTaskRequest + 6, // 9: teleport.userintegrationtasks.v1.UserIntegrationTaskService.DeleteUserIntegrationTask:input_type -> teleport.userintegrationtasks.v1.DeleteUserIntegrationTaskRequest + 7, // 10: teleport.userintegrationtasks.v1.UserIntegrationTaskService.CreateUserIntegrationTask:output_type -> teleport.userintegrationtasks.v1.UserIntegrationTask + 7, // 11: teleport.userintegrationtasks.v1.UserIntegrationTaskService.UpsertUserIntegrationTask:output_type -> teleport.userintegrationtasks.v1.UserIntegrationTask + 7, // 12: teleport.userintegrationtasks.v1.UserIntegrationTaskService.GetUserIntegrationTask:output_type -> teleport.userintegrationtasks.v1.UserIntegrationTask + 4, // 13: teleport.userintegrationtasks.v1.UserIntegrationTaskService.ListUserIntegrationTasks:output_type -> teleport.userintegrationtasks.v1.ListUserIntegrationTasksResponse + 7, // 14: teleport.userintegrationtasks.v1.UserIntegrationTaskService.UpdateUserIntegrationTask:output_type -> teleport.userintegrationtasks.v1.UserIntegrationTask + 8, // 15: teleport.userintegrationtasks.v1.UserIntegrationTaskService.DeleteUserIntegrationTask:output_type -> google.protobuf.Empty + 10, // [10:16] is the sub-list for method output_type + 4, // [4:10] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_init() } +func file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_init() { + if File_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto != nil { + return + } + file_teleport_userintegrationtasks_v1_user_integration_tasks_proto_init() + if !protoimpl.UnsafeEnabled { + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*CreateUserIntegrationTaskRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*UpsertUserIntegrationTaskRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*GetUserIntegrationTaskRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*ListUserIntegrationTasksRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*ListUserIntegrationTasksResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*UpdateUserIntegrationTaskRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*DeleteUserIntegrationTaskRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_goTypes, + DependencyIndexes: file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_depIdxs, + MessageInfos: file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_msgTypes, + }.Build() + File_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto = out.File + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_rawDesc = nil + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_goTypes = nil + file_teleport_userintegrationtasks_v1_user_integration_tasks_service_proto_depIdxs = nil +} diff --git a/api/gen/proto/go/teleport/userintegrationtasks/v1/user_integration_tasks_service_grpc.pb.go b/api/gen/proto/go/teleport/userintegrationtasks/v1/user_integration_tasks_service_grpc.pb.go new file mode 100644 index 0000000000000..92b2c41b32f4a --- /dev/null +++ b/api/gen/proto/go/teleport/userintegrationtasks/v1/user_integration_tasks_service_grpc.pb.go @@ -0,0 +1,343 @@ +// Copyright 2024 Gravitational, Inc +// +// 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-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.5.1 +// - protoc (unknown) +// source: teleport/userintegrationtasks/v1/user_integration_tasks_service.proto + +package userintegrationtasksv1 + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + UserIntegrationTaskService_CreateUserIntegrationTask_FullMethodName = "/teleport.userintegrationtasks.v1.UserIntegrationTaskService/CreateUserIntegrationTask" + UserIntegrationTaskService_UpsertUserIntegrationTask_FullMethodName = "/teleport.userintegrationtasks.v1.UserIntegrationTaskService/UpsertUserIntegrationTask" + UserIntegrationTaskService_GetUserIntegrationTask_FullMethodName = "/teleport.userintegrationtasks.v1.UserIntegrationTaskService/GetUserIntegrationTask" + UserIntegrationTaskService_ListUserIntegrationTasks_FullMethodName = "/teleport.userintegrationtasks.v1.UserIntegrationTaskService/ListUserIntegrationTasks" + UserIntegrationTaskService_UpdateUserIntegrationTask_FullMethodName = "/teleport.userintegrationtasks.v1.UserIntegrationTaskService/UpdateUserIntegrationTask" + UserIntegrationTaskService_DeleteUserIntegrationTask_FullMethodName = "/teleport.userintegrationtasks.v1.UserIntegrationTaskService/DeleteUserIntegrationTask" +) + +// UserIntegrationTaskServiceClient is the client API for UserIntegrationTaskService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// UserIntegrationTaskService is a service that provides methods to manage User Integration Tasks. +type UserIntegrationTaskServiceClient interface { + // CreateUserIntegrationTask creates a User Integration Task. + CreateUserIntegrationTask(ctx context.Context, in *CreateUserIntegrationTaskRequest, opts ...grpc.CallOption) (*UserIntegrationTask, error) + // UpsertUserIntegrationTask creates or updates User Integration Task. + UpsertUserIntegrationTask(ctx context.Context, in *UpsertUserIntegrationTaskRequest, opts ...grpc.CallOption) (*UserIntegrationTask, error) + // GetUserIntegrationTask gets a UserIntegrationTask by name. + GetUserIntegrationTask(ctx context.Context, in *GetUserIntegrationTaskRequest, opts ...grpc.CallOption) (*UserIntegrationTask, error) + // ListUserIntegrationTasks returns a list of UserIntegrationTasks. It supports pagination and filters. + ListUserIntegrationTasks(ctx context.Context, in *ListUserIntegrationTasksRequest, opts ...grpc.CallOption) (*ListUserIntegrationTasksResponse, error) + // UpdateUserIntegrationTask updates an existing User Integration Task. + UpdateUserIntegrationTask(ctx context.Context, in *UpdateUserIntegrationTaskRequest, opts ...grpc.CallOption) (*UserIntegrationTask, error) + // DeleteUserIntegrationTask deletes a User Integration Task. + DeleteUserIntegrationTask(ctx context.Context, in *DeleteUserIntegrationTaskRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) +} + +type userIntegrationTaskServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewUserIntegrationTaskServiceClient(cc grpc.ClientConnInterface) UserIntegrationTaskServiceClient { + return &userIntegrationTaskServiceClient{cc} +} + +func (c *userIntegrationTaskServiceClient) CreateUserIntegrationTask(ctx context.Context, in *CreateUserIntegrationTaskRequest, opts ...grpc.CallOption) (*UserIntegrationTask, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UserIntegrationTask) + err := c.cc.Invoke(ctx, UserIntegrationTaskService_CreateUserIntegrationTask_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userIntegrationTaskServiceClient) UpsertUserIntegrationTask(ctx context.Context, in *UpsertUserIntegrationTaskRequest, opts ...grpc.CallOption) (*UserIntegrationTask, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UserIntegrationTask) + err := c.cc.Invoke(ctx, UserIntegrationTaskService_UpsertUserIntegrationTask_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userIntegrationTaskServiceClient) GetUserIntegrationTask(ctx context.Context, in *GetUserIntegrationTaskRequest, opts ...grpc.CallOption) (*UserIntegrationTask, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UserIntegrationTask) + err := c.cc.Invoke(ctx, UserIntegrationTaskService_GetUserIntegrationTask_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userIntegrationTaskServiceClient) ListUserIntegrationTasks(ctx context.Context, in *ListUserIntegrationTasksRequest, opts ...grpc.CallOption) (*ListUserIntegrationTasksResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListUserIntegrationTasksResponse) + err := c.cc.Invoke(ctx, UserIntegrationTaskService_ListUserIntegrationTasks_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userIntegrationTaskServiceClient) UpdateUserIntegrationTask(ctx context.Context, in *UpdateUserIntegrationTaskRequest, opts ...grpc.CallOption) (*UserIntegrationTask, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UserIntegrationTask) + err := c.cc.Invoke(ctx, UserIntegrationTaskService_UpdateUserIntegrationTask_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userIntegrationTaskServiceClient) DeleteUserIntegrationTask(ctx context.Context, in *DeleteUserIntegrationTaskRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, UserIntegrationTaskService_DeleteUserIntegrationTask_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// UserIntegrationTaskServiceServer is the server API for UserIntegrationTaskService service. +// All implementations must embed UnimplementedUserIntegrationTaskServiceServer +// for forward compatibility. +// +// UserIntegrationTaskService is a service that provides methods to manage User Integration Tasks. +type UserIntegrationTaskServiceServer interface { + // CreateUserIntegrationTask creates a User Integration Task. + CreateUserIntegrationTask(context.Context, *CreateUserIntegrationTaskRequest) (*UserIntegrationTask, error) + // UpsertUserIntegrationTask creates or updates User Integration Task. + UpsertUserIntegrationTask(context.Context, *UpsertUserIntegrationTaskRequest) (*UserIntegrationTask, error) + // GetUserIntegrationTask gets a UserIntegrationTask by name. + GetUserIntegrationTask(context.Context, *GetUserIntegrationTaskRequest) (*UserIntegrationTask, error) + // ListUserIntegrationTasks returns a list of UserIntegrationTasks. It supports pagination and filters. + ListUserIntegrationTasks(context.Context, *ListUserIntegrationTasksRequest) (*ListUserIntegrationTasksResponse, error) + // UpdateUserIntegrationTask updates an existing User Integration Task. + UpdateUserIntegrationTask(context.Context, *UpdateUserIntegrationTaskRequest) (*UserIntegrationTask, error) + // DeleteUserIntegrationTask deletes a User Integration Task. + DeleteUserIntegrationTask(context.Context, *DeleteUserIntegrationTaskRequest) (*emptypb.Empty, error) + mustEmbedUnimplementedUserIntegrationTaskServiceServer() +} + +// UnimplementedUserIntegrationTaskServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedUserIntegrationTaskServiceServer struct{} + +func (UnimplementedUserIntegrationTaskServiceServer) CreateUserIntegrationTask(context.Context, *CreateUserIntegrationTaskRequest) (*UserIntegrationTask, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateUserIntegrationTask not implemented") +} +func (UnimplementedUserIntegrationTaskServiceServer) UpsertUserIntegrationTask(context.Context, *UpsertUserIntegrationTaskRequest) (*UserIntegrationTask, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpsertUserIntegrationTask not implemented") +} +func (UnimplementedUserIntegrationTaskServiceServer) GetUserIntegrationTask(context.Context, *GetUserIntegrationTaskRequest) (*UserIntegrationTask, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUserIntegrationTask not implemented") +} +func (UnimplementedUserIntegrationTaskServiceServer) ListUserIntegrationTasks(context.Context, *ListUserIntegrationTasksRequest) (*ListUserIntegrationTasksResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListUserIntegrationTasks not implemented") +} +func (UnimplementedUserIntegrationTaskServiceServer) UpdateUserIntegrationTask(context.Context, *UpdateUserIntegrationTaskRequest) (*UserIntegrationTask, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateUserIntegrationTask not implemented") +} +func (UnimplementedUserIntegrationTaskServiceServer) DeleteUserIntegrationTask(context.Context, *DeleteUserIntegrationTaskRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteUserIntegrationTask not implemented") +} +func (UnimplementedUserIntegrationTaskServiceServer) mustEmbedUnimplementedUserIntegrationTaskServiceServer() { +} +func (UnimplementedUserIntegrationTaskServiceServer) testEmbeddedByValue() {} + +// UnsafeUserIntegrationTaskServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to UserIntegrationTaskServiceServer will +// result in compilation errors. +type UnsafeUserIntegrationTaskServiceServer interface { + mustEmbedUnimplementedUserIntegrationTaskServiceServer() +} + +func RegisterUserIntegrationTaskServiceServer(s grpc.ServiceRegistrar, srv UserIntegrationTaskServiceServer) { + // If the following call pancis, it indicates UnimplementedUserIntegrationTaskServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&UserIntegrationTaskService_ServiceDesc, srv) +} + +func _UserIntegrationTaskService_CreateUserIntegrationTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateUserIntegrationTaskRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserIntegrationTaskServiceServer).CreateUserIntegrationTask(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: UserIntegrationTaskService_CreateUserIntegrationTask_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserIntegrationTaskServiceServer).CreateUserIntegrationTask(ctx, req.(*CreateUserIntegrationTaskRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserIntegrationTaskService_UpsertUserIntegrationTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpsertUserIntegrationTaskRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserIntegrationTaskServiceServer).UpsertUserIntegrationTask(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: UserIntegrationTaskService_UpsertUserIntegrationTask_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserIntegrationTaskServiceServer).UpsertUserIntegrationTask(ctx, req.(*UpsertUserIntegrationTaskRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserIntegrationTaskService_GetUserIntegrationTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserIntegrationTaskRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserIntegrationTaskServiceServer).GetUserIntegrationTask(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: UserIntegrationTaskService_GetUserIntegrationTask_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserIntegrationTaskServiceServer).GetUserIntegrationTask(ctx, req.(*GetUserIntegrationTaskRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserIntegrationTaskService_ListUserIntegrationTasks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListUserIntegrationTasksRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserIntegrationTaskServiceServer).ListUserIntegrationTasks(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: UserIntegrationTaskService_ListUserIntegrationTasks_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserIntegrationTaskServiceServer).ListUserIntegrationTasks(ctx, req.(*ListUserIntegrationTasksRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserIntegrationTaskService_UpdateUserIntegrationTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateUserIntegrationTaskRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserIntegrationTaskServiceServer).UpdateUserIntegrationTask(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: UserIntegrationTaskService_UpdateUserIntegrationTask_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserIntegrationTaskServiceServer).UpdateUserIntegrationTask(ctx, req.(*UpdateUserIntegrationTaskRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserIntegrationTaskService_DeleteUserIntegrationTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteUserIntegrationTaskRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserIntegrationTaskServiceServer).DeleteUserIntegrationTask(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: UserIntegrationTaskService_DeleteUserIntegrationTask_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserIntegrationTaskServiceServer).DeleteUserIntegrationTask(ctx, req.(*DeleteUserIntegrationTaskRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// UserIntegrationTaskService_ServiceDesc is the grpc.ServiceDesc for UserIntegrationTaskService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var UserIntegrationTaskService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "teleport.userintegrationtasks.v1.UserIntegrationTaskService", + HandlerType: (*UserIntegrationTaskServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateUserIntegrationTask", + Handler: _UserIntegrationTaskService_CreateUserIntegrationTask_Handler, + }, + { + MethodName: "UpsertUserIntegrationTask", + Handler: _UserIntegrationTaskService_UpsertUserIntegrationTask_Handler, + }, + { + MethodName: "GetUserIntegrationTask", + Handler: _UserIntegrationTaskService_GetUserIntegrationTask_Handler, + }, + { + MethodName: "ListUserIntegrationTasks", + Handler: _UserIntegrationTaskService_ListUserIntegrationTasks_Handler, + }, + { + MethodName: "UpdateUserIntegrationTask", + Handler: _UserIntegrationTaskService_UpdateUserIntegrationTask_Handler, + }, + { + MethodName: "DeleteUserIntegrationTask", + Handler: _UserIntegrationTaskService_DeleteUserIntegrationTask_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "teleport/userintegrationtasks/v1/user_integration_tasks_service.proto", +} diff --git a/api/proto/teleport/userintegrationtasks/v1/user_integration_tasks.proto b/api/proto/teleport/userintegrationtasks/v1/user_integration_tasks.proto new file mode 100644 index 0000000000000..c3f8247e99b03 --- /dev/null +++ b/api/proto/teleport/userintegrationtasks/v1/user_integration_tasks.proto @@ -0,0 +1,84 @@ +// Copyright 2024 Gravitational, Inc +// +// 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. + +syntax = "proto3"; + +package teleport.userintegrationtasks.v1; + +import "google/protobuf/timestamp.proto"; +import "teleport/header/v1/metadata.proto"; + +option go_package = "github.com/gravitational/teleport/api/gen/proto/go/teleport/userintegrationtasks/v1;userintegrationtasksv1"; + +// UserIntegrationTask is a resource that represents an action to be completed by the user. +// UserIntegrationTasks are a unit of work for users to act upon issues related to integrations. +// As an example, when auto-enrolling EC2 instances using the Discovery Service +// a UserIntegrationTask is created to let the user know that something failed on a set of instances. +// The user can then mark the task as resolved after following the recommendation/fixing steps. +message UserIntegrationTask { + // The kind of resource represented. + string kind = 1; + // Mandatory field for all resources. Not populated for this resource type. + string sub_kind = 2; + // The version of the resource being represented. + string version = 3; + // Common metadata that all resources share. + teleport.header.v1.Metadata metadata = 4; + // The configured properties of UserIntegrationTask. + UserIntegrationTaskSpec spec = 5; +} + +// UserIntegrationTaskSpec contains the properties of the UserIntegrationTask. +message UserIntegrationTaskSpec { + // Integration is the integration name that originated this task. + string integration = 1; + // TaskType indicates the type of task. + // Examples: discover-ec2, discover-rds, discover-eks + string task_type = 2; + // IssueType is an identifier for the type of issue that happened. + // Example for discover-ec2: SSM_AGENT_NOT_AVAILABLE + string issue_type = 3; + // DiscoverEC2 contains the AWS EC2 instances that failed to auto enroll into the cluster. + // Present when TaskType is discover-ec2. + DiscoverEC2 discover_ec2 = 4; +} + +// DiscoverEC2 contains the instances that failed to auto-enroll into the cluster. +message DiscoverEC2 { + // Instances maps an instance id to the result of enrolling that instance into teleport. + map instances = 1; +} + +// DiscoverEC2Instance contains the result of enrolling an AWS EC2 Instance. +message DiscoverEC2Instance { + // State indicates the current issue state. + // When the issue is created, it starts with OPEN. + // Users can mark this instance issue as RESOLVED. + // If the issue happens again (eg, new discover iteration faces the same error), it will move to OPEN again. + string state = 1; + // Name is the instance Name. + // Might be empty, if the instance doesn't have the Name tag. + string name = 2; + // Region is the AWS Region where this issue is happening. + string region = 3; + // InvocationURL is the URL that points to the invocation. + // Empty if there was an error before installing the + string invocation_url = 4; + // DiscoveryConfig is the discovery config name that originated this instance enrollment. + string discovery_config = 5; + // DiscoveryGroup is the DiscoveryGroup name that originated this task. + string discovery_group = 6; + // SyncTime is the timestamp when the error was produced. + google.protobuf.Timestamp sync_time = 7; +} diff --git a/api/proto/teleport/userintegrationtasks/v1/user_integration_tasks_service.proto b/api/proto/teleport/userintegrationtasks/v1/user_integration_tasks_service.proto new file mode 100644 index 0000000000000..0b7d9f040c84b --- /dev/null +++ b/api/proto/teleport/userintegrationtasks/v1/user_integration_tasks_service.proto @@ -0,0 +1,83 @@ +// Copyright 2024 Gravitational, Inc +// +// 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. + +syntax = "proto3"; + +package teleport.userintegrationtasks.v1; + +import "google/protobuf/empty.proto"; +import "teleport/userintegrationtasks/v1/user_integration_tasks.proto"; + +option go_package = "github.com/gravitational/teleport/api/gen/proto/go/teleport/userintegrationtasks/v1;userintegrationtasksv1"; + +// UserIntegrationTaskService is a service that provides methods to manage User Integration Tasks. +service UserIntegrationTaskService { + // CreateUserIntegrationTask creates a User Integration Task. + rpc CreateUserIntegrationTask(CreateUserIntegrationTaskRequest) returns (teleport.userintegrationtasks.v1.UserIntegrationTask); + // UpsertUserIntegrationTask creates or updates User Integration Task. + rpc UpsertUserIntegrationTask(UpsertUserIntegrationTaskRequest) returns (teleport.userintegrationtasks.v1.UserIntegrationTask); + // GetUserIntegrationTask gets a UserIntegrationTask by name. + rpc GetUserIntegrationTask(GetUserIntegrationTaskRequest) returns (teleport.userintegrationtasks.v1.UserIntegrationTask); + // ListUserIntegrationTasks returns a list of UserIntegrationTasks. It supports pagination and filters. + rpc ListUserIntegrationTasks(ListUserIntegrationTasksRequest) returns (ListUserIntegrationTasksResponse); + // UpdateUserIntegrationTask updates an existing User Integration Task. + rpc UpdateUserIntegrationTask(UpdateUserIntegrationTaskRequest) returns (teleport.userintegrationtasks.v1.UserIntegrationTask); + // DeleteUserIntegrationTask deletes a User Integration Task. + rpc DeleteUserIntegrationTask(DeleteUserIntegrationTaskRequest) returns (google.protobuf.Empty); +} + +// CreateUserIntegrationTaskRequest is a request to create a User Integration Task. +message CreateUserIntegrationTaskRequest { + teleport.userintegrationtasks.v1.UserIntegrationTask user_integration_task = 1; +} + +// UpsertUserIntegrationTaskRequest is a request to create or update a User Integration Task. +message UpsertUserIntegrationTaskRequest { + teleport.userintegrationtasks.v1.UserIntegrationTask user_integration_task = 1; +} + +// GetUserIntegrationTaskRequest is a request to get a User Integration Task by name. +message GetUserIntegrationTaskRequest { + // Name is the name of the UserIntegrationTask to get. + string name = 1; +} + +// ListUserIntegrationTasksRequest is a request to get a list of User Integration Tasks. +message ListUserIntegrationTasksRequest { + // page_size is the maximum number of items to return. + // The server may impose a different page size at its discretion. + int64 page_size = 1; + // page_token is the next_page_token value returned from a previous List request, if any. + string page_token = 2; +} + +// ListUserIntegrationTasksResponse is a response to ListUserIntegrationTasks. +message ListUserIntegrationTasksResponse { + repeated teleport.userintegrationtasks.v1.UserIntegrationTask user_integration_tasks = 1; + + // Token to retrieve the next page of results, or empty if there are no + // more results in the list. + string next_page_token = 2; +} + +// UpdateUserIntegrationTaskRequest is a request to update an existing User Integration Task. +message UpdateUserIntegrationTaskRequest { + teleport.userintegrationtasks.v1.UserIntegrationTask user_integration_task = 1; +} + +// DeleteUserIntegrationTaskRequest is a request to delete a User Integration Task. +message DeleteUserIntegrationTaskRequest { + // Name is the name of the User Integration Task to delete. + string name = 1; +}