diff --git a/majordomo/doc.go b/majordomo/doc.go new file mode 100644 index 00000000..ef9fce3a --- /dev/null +++ b/majordomo/doc.go @@ -0,0 +1,3 @@ +package majordomo + +//go:generate protoc --proto_path=.. --go_out=.. --go-grpc_out=.. --go_opt=paths=source_relative --go-grpc_opt=paths=source_relative majordomo/provisioners.proto majordomo/majordomo.proto diff --git a/majordomo/majordomo.pb.go b/majordomo/majordomo.pb.go new file mode 100644 index 00000000..bce189df --- /dev/null +++ b/majordomo/majordomo.pb.go @@ -0,0 +1,1094 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: majordomo/majordomo.proto + +package majordomo + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + 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) +) + +type TODO struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *TODO) Reset() { + *x = TODO{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_majordomo_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TODO) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TODO) ProtoMessage() {} + +func (x *TODO) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_majordomo_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 TODO.ProtoReflect.Descriptor instead. +func (*TODO) Descriptor() ([]byte, []int) { + return file_majordomo_majordomo_proto_rawDescGZIP(), []int{0} +} + +type LoginRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AuthorityId string `protobuf:"bytes,1,opt,name=authority_id,json=authorityId,proto3" json:"authority_id,omitempty"` + Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` + Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` + PemCertificateRequest string `protobuf:"bytes,4,opt,name=pem_certificate_request,json=pemCertificateRequest,proto3" json:"pem_certificate_request,omitempty"` +} + +func (x *LoginRequest) Reset() { + *x = LoginRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_majordomo_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginRequest) ProtoMessage() {} + +func (x *LoginRequest) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_majordomo_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 LoginRequest.ProtoReflect.Descriptor instead. +func (*LoginRequest) Descriptor() ([]byte, []int) { + return file_majordomo_majordomo_proto_rawDescGZIP(), []int{1} +} + +func (x *LoginRequest) GetAuthorityId() string { + if x != nil { + return x.AuthorityId + } + return "" +} + +func (x *LoginRequest) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *LoginRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *LoginRequest) GetPemCertificateRequest() string { + if x != nil { + return x.PemCertificateRequest + } + return "" +} + +type LoginResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PemCertificate string `protobuf:"bytes,1,opt,name=pem_certificate,json=pemCertificate,proto3" json:"pem_certificate,omitempty"` + PemCertificateChain string `protobuf:"bytes,2,opt,name=pem_certificate_chain,json=pemCertificateChain,proto3" json:"pem_certificate_chain,omitempty"` +} + +func (x *LoginResponse) Reset() { + *x = LoginResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_majordomo_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginResponse) ProtoMessage() {} + +func (x *LoginResponse) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_majordomo_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 LoginResponse.ProtoReflect.Descriptor instead. +func (*LoginResponse) Descriptor() ([]byte, []int) { + return file_majordomo_majordomo_proto_rawDescGZIP(), []int{2} +} + +func (x *LoginResponse) GetPemCertificate() string { + if x != nil { + return x.PemCertificate + } + return "" +} + +func (x *LoginResponse) GetPemCertificateChain() string { + if x != nil { + return x.PemCertificateChain + } + return "" +} + +type ConfigurationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ConfigurationRequest) Reset() { + *x = ConfigurationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_majordomo_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigurationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigurationRequest) ProtoMessage() {} + +func (x *ConfigurationRequest) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_majordomo_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 ConfigurationRequest.ProtoReflect.Descriptor instead. +func (*ConfigurationRequest) Descriptor() ([]byte, []int) { + return file_majordomo_majordomo_proto_rawDescGZIP(), []int{3} +} + +type ConfigurationResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Provisioners []*Provisioner `protobuf:"bytes,1,rep,name=provisioners,proto3" json:"provisioners,omitempty"` + Admins []*Administrator `protobuf:"bytes,2,rep,name=admins,proto3" json:"admins,omitempty"` +} + +func (x *ConfigurationResponse) Reset() { + *x = ConfigurationResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_majordomo_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigurationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigurationResponse) ProtoMessage() {} + +func (x *ConfigurationResponse) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_majordomo_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 ConfigurationResponse.ProtoReflect.Descriptor instead. +func (*ConfigurationResponse) Descriptor() ([]byte, []int) { + return file_majordomo_majordomo_proto_rawDescGZIP(), []int{4} +} + +func (x *ConfigurationResponse) GetProvisioners() []*Provisioner { + if x != nil { + return x.Provisioners + } + return nil +} + +func (x *ConfigurationResponse) GetAdmins() []*Administrator { + if x != nil { + return x.Admins + } + return nil +} + +type CreateProvisionerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type Provisioner_Type `protobuf:"varint,1,opt,name=type,proto3,enum=majordomo.Provisioner_Type" json:"type,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Details *ProvisionerDetails `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"` + Claims *Claims `protobuf:"bytes,4,opt,name=claims,proto3" json:"claims,omitempty"` +} + +func (x *CreateProvisionerRequest) Reset() { + *x = CreateProvisionerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_majordomo_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProvisionerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProvisionerRequest) ProtoMessage() {} + +func (x *CreateProvisionerRequest) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_majordomo_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 CreateProvisionerRequest.ProtoReflect.Descriptor instead. +func (*CreateProvisionerRequest) Descriptor() ([]byte, []int) { + return file_majordomo_majordomo_proto_rawDescGZIP(), []int{5} +} + +func (x *CreateProvisionerRequest) GetType() Provisioner_Type { + if x != nil { + return x.Type + } + return Provisioner_NOOP +} + +func (x *CreateProvisionerRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateProvisionerRequest) GetDetails() *ProvisionerDetails { + if x != nil { + return x.Details + } + return nil +} + +func (x *CreateProvisionerRequest) GetClaims() *Claims { + if x != nil { + return x.Claims + } + return nil +} + +type DeleteProvisionerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *DeleteProvisionerRequest) Reset() { + *x = DeleteProvisionerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_majordomo_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteProvisionerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteProvisionerRequest) ProtoMessage() {} + +func (x *DeleteProvisionerRequest) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_majordomo_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 DeleteProvisionerRequest.ProtoReflect.Descriptor instead. +func (*DeleteProvisionerRequest) Descriptor() ([]byte, []int) { + return file_majordomo_majordomo_proto_rawDescGZIP(), []int{6} +} + +func (x *DeleteProvisionerRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type CreateAdministratorRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + ProvisionerId string `protobuf:"bytes,2,opt,name=provisioner_id,json=provisionerId,proto3" json:"provisioner_id,omitempty"` + Type Administrator_Type `protobuf:"varint,3,opt,name=type,proto3,enum=majordomo.Administrator_Type" json:"type,omitempty"` +} + +func (x *CreateAdministratorRequest) Reset() { + *x = CreateAdministratorRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_majordomo_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateAdministratorRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAdministratorRequest) ProtoMessage() {} + +func (x *CreateAdministratorRequest) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_majordomo_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateAdministratorRequest.ProtoReflect.Descriptor instead. +func (*CreateAdministratorRequest) Descriptor() ([]byte, []int) { + return file_majordomo_majordomo_proto_rawDescGZIP(), []int{7} +} + +func (x *CreateAdministratorRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateAdministratorRequest) GetProvisionerId() string { + if x != nil { + return x.ProvisionerId + } + return "" +} + +func (x *CreateAdministratorRequest) GetType() Administrator_Type { + if x != nil { + return x.Type + } + return Administrator_UNKNOWN +} + +type DeleteAdministratorRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *DeleteAdministratorRequest) Reset() { + *x = DeleteAdministratorRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_majordomo_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteAdministratorRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteAdministratorRequest) ProtoMessage() {} + +func (x *DeleteAdministratorRequest) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_majordomo_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteAdministratorRequest.ProtoReflect.Descriptor instead. +func (*DeleteAdministratorRequest) Descriptor() ([]byte, []int) { + return file_majordomo_majordomo_proto_rawDescGZIP(), []int{8} +} + +func (x *DeleteAdministratorRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type CertificateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PemCertificate string `protobuf:"bytes,1,opt,name=pem_certificate,json=pemCertificate,proto3" json:"pem_certificate,omitempty"` + PemCertificateChain string `protobuf:"bytes,2,opt,name=pem_certificate_chain,json=pemCertificateChain,proto3" json:"pem_certificate_chain,omitempty"` +} + +func (x *CertificateRequest) Reset() { + *x = CertificateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_majordomo_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CertificateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CertificateRequest) ProtoMessage() {} + +func (x *CertificateRequest) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_majordomo_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 CertificateRequest.ProtoReflect.Descriptor instead. +func (*CertificateRequest) Descriptor() ([]byte, []int) { + return file_majordomo_majordomo_proto_rawDescGZIP(), []int{9} +} + +func (x *CertificateRequest) GetPemCertificate() string { + if x != nil { + return x.PemCertificate + } + return "" +} + +func (x *CertificateRequest) GetPemCertificateChain() string { + if x != nil { + return x.PemCertificateChain + } + return "" +} + +type CertificateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *CertificateResponse) Reset() { + *x = CertificateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_majordomo_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CertificateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CertificateResponse) ProtoMessage() {} + +func (x *CertificateResponse) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_majordomo_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 CertificateResponse.ProtoReflect.Descriptor instead. +func (*CertificateResponse) Descriptor() ([]byte, []int) { + return file_majordomo_majordomo_proto_rawDescGZIP(), []int{10} +} + +func (x *CertificateResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type SSHCertificateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Certificate string `protobuf:"bytes,1,opt,name=certificate,proto3" json:"certificate,omitempty"` +} + +func (x *SSHCertificateRequest) Reset() { + *x = SSHCertificateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_majordomo_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SSHCertificateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SSHCertificateRequest) ProtoMessage() {} + +func (x *SSHCertificateRequest) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_majordomo_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 SSHCertificateRequest.ProtoReflect.Descriptor instead. +func (*SSHCertificateRequest) Descriptor() ([]byte, []int) { + return file_majordomo_majordomo_proto_rawDescGZIP(), []int{11} +} + +func (x *SSHCertificateRequest) GetCertificate() string { + if x != nil { + return x.Certificate + } + return "" +} + +type SSHCertificateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *SSHCertificateResponse) Reset() { + *x = SSHCertificateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_majordomo_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SSHCertificateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SSHCertificateResponse) ProtoMessage() {} + +func (x *SSHCertificateResponse) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_majordomo_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 SSHCertificateResponse.ProtoReflect.Descriptor instead. +func (*SSHCertificateResponse) Descriptor() ([]byte, []int) { + return file_majordomo_majordomo_proto_rawDescGZIP(), []int{12} +} + +func (x *SSHCertificateResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +var File_majordomo_majordomo_proto protoreflect.FileDescriptor + +var file_majordomo_majordomo_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2f, 0x6d, 0x61, 0x6a, 0x6f, + 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x6d, 0x61, 0x6a, + 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x1a, 0x1c, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, + 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x06, 0x0a, 0x04, 0x54, 0x4f, 0x44, 0x4f, 0x22, 0xa1, 0x01, 0x0a, + 0x0c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, + 0x0c, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x65, 0x6d, 0x5f, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x65, 0x6d, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x6c, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x6d, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x65, 0x6d, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x65, + 0x6d, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x65, 0x6d, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x22, 0x16, + 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x85, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3a, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, + 0x6d, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x0c, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x06, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, + 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x22, 0xc3, + 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, + 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, + 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x37, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x06, 0x63, 0x6c, 0x61, + 0x69, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, + 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x52, 0x06, 0x63, 0x6c, + 0x61, 0x69, 0x6d, 0x73, 0x22, 0x2a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x8a, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, + 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 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, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, + 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2c, 0x0a, + 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x71, 0x0a, 0x12, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x6d, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x65, 0x6d, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x65, + 0x6d, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x65, 0x6d, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x22, 0x25, + 0x0a, 0x13, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x39, 0x0a, 0x15, 0x53, 0x53, 0x48, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x22, 0x28, 0x0a, 0x16, 0x53, 0x53, 0x48, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x32, 0xec, 0x06, 0x0a, 0x09, 0x4d, + 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x12, 0x3a, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, + 0x6e, 0x12, 0x17, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x4c, 0x6f, + 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6d, 0x61, 0x6a, + 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, + 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, + 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x13, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x50, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x23, 0x2e, 0x6d, + 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x11, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x23, + 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x13, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x25, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, + 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x56, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x25, 0x2e, 0x6d, 0x61, 0x6a, + 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x18, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x50, 0x0a, 0x0f, 0x50, + 0x6f, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1d, + 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, + 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, + 0x12, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x53, 0x48, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, + 0x53, 0x53, 0x48, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, + 0x6f, 0x2e, 0x53, 0x53, 0x48, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x11, 0x52, 0x65, 0x76, 0x6f, + 0x6b, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x2e, + 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x54, 0x4f, 0x44, 0x4f, 0x1a, 0x0f, + 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x54, 0x4f, 0x44, 0x4f, 0x12, + 0x38, 0x0a, 0x14, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x53, 0x53, 0x48, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, + 0x6f, 0x6d, 0x6f, 0x2e, 0x54, 0x4f, 0x44, 0x4f, 0x1a, 0x0f, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, + 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x54, 0x4f, 0x44, 0x4f, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x73, 0x74, 0x65, + 0x70, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x6d, + 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_majordomo_majordomo_proto_rawDescOnce sync.Once + file_majordomo_majordomo_proto_rawDescData = file_majordomo_majordomo_proto_rawDesc +) + +func file_majordomo_majordomo_proto_rawDescGZIP() []byte { + file_majordomo_majordomo_proto_rawDescOnce.Do(func() { + file_majordomo_majordomo_proto_rawDescData = protoimpl.X.CompressGZIP(file_majordomo_majordomo_proto_rawDescData) + }) + return file_majordomo_majordomo_proto_rawDescData +} + +var file_majordomo_majordomo_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_majordomo_majordomo_proto_goTypes = []interface{}{ + (*TODO)(nil), // 0: majordomo.TODO + (*LoginRequest)(nil), // 1: majordomo.LoginRequest + (*LoginResponse)(nil), // 2: majordomo.LoginResponse + (*ConfigurationRequest)(nil), // 3: majordomo.ConfigurationRequest + (*ConfigurationResponse)(nil), // 4: majordomo.ConfigurationResponse + (*CreateProvisionerRequest)(nil), // 5: majordomo.CreateProvisionerRequest + (*DeleteProvisionerRequest)(nil), // 6: majordomo.DeleteProvisionerRequest + (*CreateAdministratorRequest)(nil), // 7: majordomo.CreateAdministratorRequest + (*DeleteAdministratorRequest)(nil), // 8: majordomo.DeleteAdministratorRequest + (*CertificateRequest)(nil), // 9: majordomo.CertificateRequest + (*CertificateResponse)(nil), // 10: majordomo.CertificateResponse + (*SSHCertificateRequest)(nil), // 11: majordomo.SSHCertificateRequest + (*SSHCertificateResponse)(nil), // 12: majordomo.SSHCertificateResponse + (*Provisioner)(nil), // 13: majordomo.Provisioner + (*Administrator)(nil), // 14: majordomo.Administrator + (Provisioner_Type)(0), // 15: majordomo.Provisioner.Type + (*ProvisionerDetails)(nil), // 16: majordomo.ProvisionerDetails + (*Claims)(nil), // 17: majordomo.Claims + (Administrator_Type)(0), // 18: majordomo.Administrator.Type +} +var file_majordomo_majordomo_proto_depIdxs = []int32{ + 13, // 0: majordomo.ConfigurationResponse.provisioners:type_name -> majordomo.Provisioner + 14, // 1: majordomo.ConfigurationResponse.admins:type_name -> majordomo.Administrator + 15, // 2: majordomo.CreateProvisionerRequest.type:type_name -> majordomo.Provisioner.Type + 16, // 3: majordomo.CreateProvisionerRequest.details:type_name -> majordomo.ProvisionerDetails + 17, // 4: majordomo.CreateProvisionerRequest.claims:type_name -> majordomo.Claims + 18, // 5: majordomo.CreateAdministratorRequest.type:type_name -> majordomo.Administrator.Type + 1, // 6: majordomo.Majordomo.Login:input_type -> majordomo.LoginRequest + 3, // 7: majordomo.Majordomo.GetConfiguration:input_type -> majordomo.ConfigurationRequest + 3, // 8: majordomo.Majordomo.StreamConfiguration:input_type -> majordomo.ConfigurationRequest + 5, // 9: majordomo.Majordomo.CreateProvisioner:input_type -> majordomo.CreateProvisionerRequest + 6, // 10: majordomo.Majordomo.DeleteProvisioner:input_type -> majordomo.DeleteProvisionerRequest + 7, // 11: majordomo.Majordomo.CreateAdministrator:input_type -> majordomo.CreateAdministratorRequest + 8, // 12: majordomo.Majordomo.DeleteAdministrator:input_type -> majordomo.DeleteAdministratorRequest + 9, // 13: majordomo.Majordomo.PostCertificate:input_type -> majordomo.CertificateRequest + 11, // 14: majordomo.Majordomo.PostSSHCertificate:input_type -> majordomo.SSHCertificateRequest + 0, // 15: majordomo.Majordomo.RevokeCertificate:input_type -> majordomo.TODO + 0, // 16: majordomo.Majordomo.RevokeSSHCertificate:input_type -> majordomo.TODO + 2, // 17: majordomo.Majordomo.Login:output_type -> majordomo.LoginResponse + 4, // 18: majordomo.Majordomo.GetConfiguration:output_type -> majordomo.ConfigurationResponse + 4, // 19: majordomo.Majordomo.StreamConfiguration:output_type -> majordomo.ConfigurationResponse + 13, // 20: majordomo.Majordomo.CreateProvisioner:output_type -> majordomo.Provisioner + 13, // 21: majordomo.Majordomo.DeleteProvisioner:output_type -> majordomo.Provisioner + 14, // 22: majordomo.Majordomo.CreateAdministrator:output_type -> majordomo.Administrator + 14, // 23: majordomo.Majordomo.DeleteAdministrator:output_type -> majordomo.Administrator + 10, // 24: majordomo.Majordomo.PostCertificate:output_type -> majordomo.CertificateResponse + 12, // 25: majordomo.Majordomo.PostSSHCertificate:output_type -> majordomo.SSHCertificateResponse + 0, // 26: majordomo.Majordomo.RevokeCertificate:output_type -> majordomo.TODO + 0, // 27: majordomo.Majordomo.RevokeSSHCertificate:output_type -> majordomo.TODO + 17, // [17:28] is the sub-list for method output_type + 6, // [6:17] 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_majordomo_majordomo_proto_init() } +func file_majordomo_majordomo_proto_init() { + if File_majordomo_majordomo_proto != nil { + return + } + file_majordomo_provisioners_proto_init() + if !protoimpl.UnsafeEnabled { + file_majordomo_majordomo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TODO); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_majordomo_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoginRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_majordomo_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoginResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_majordomo_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigurationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_majordomo_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConfigurationResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_majordomo_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProvisionerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_majordomo_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteProvisionerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_majordomo_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateAdministratorRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_majordomo_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteAdministratorRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_majordomo_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CertificateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_majordomo_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CertificateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_majordomo_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SSHCertificateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_majordomo_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SSHCertificateResponse); 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_majordomo_majordomo_proto_rawDesc, + NumEnums: 0, + NumMessages: 13, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_majordomo_majordomo_proto_goTypes, + DependencyIndexes: file_majordomo_majordomo_proto_depIdxs, + MessageInfos: file_majordomo_majordomo_proto_msgTypes, + }.Build() + File_majordomo_majordomo_proto = out.File + file_majordomo_majordomo_proto_rawDesc = nil + file_majordomo_majordomo_proto_goTypes = nil + file_majordomo_majordomo_proto_depIdxs = nil +} diff --git a/majordomo/majordomo.proto b/majordomo/majordomo.proto new file mode 100644 index 00000000..bfdf0047 --- /dev/null +++ b/majordomo/majordomo.proto @@ -0,0 +1,102 @@ +syntax = "proto3"; + +package majordomo; + +option go_package = "github.com/smallstep/certificates/majordomo"; + +import "majordomo/provisioners.proto"; + +// Majordomo is the public service used to sync configurations to CA's and post +// certificates. +service Majordomo { + // Login creates signs a given CSR and returns the certificate that will be + // used for authentication. + rpc Login(LoginRequest) returns (LoginResponse); + + // GetConfiguration returns the full configuration of an authority. + rpc GetConfiguration(ConfigurationRequest) returns (ConfigurationResponse); + // StreamConfiguration streams the full configuration of an authority. This + // method is not yet supported. + rpc StreamConfiguration(ConfigurationRequest) returns (stream ConfigurationResponse); + + // CreateProvisioner adds a new provisioner to the majordomo authority and + // returns the proto representation. + rpc CreateProvisioner(CreateProvisionerRequest) returns (Provisioner); + // DeleteProvisioner deletes a previously created provisioner. + rpc DeleteProvisioner(DeleteProvisionerRequest) returns (Provisioner); + + // CreateAdministrator adds a new admin user to the majordomo authority. + // Admin users can add or delete provisioners. + rpc CreateAdministrator(CreateAdministratorRequest) returns (Administrator); + // DeleteAdministrator deletes a previously created admin user. + rpc DeleteAdministrator(DeleteAdministratorRequest) returns (Administrator); + + // PostCertificate sends a signed X.509 certificate to majordomo. + rpc PostCertificate(CertificateRequest) returns (CertificateResponse); + // PostSSHCertificate sends a signed SSH certificate to majordomo. + rpc PostSSHCertificate(SSHCertificateRequest) returns (SSHCertificateResponse); + // RevokeCertificate marks an X.509 certificate as revoked. + rpc RevokeCertificate(TODO) returns (TODO); + // RevokeSSHCertificate marks an SSH certificate as revoked. + rpc RevokeSSHCertificate(TODO) returns (TODO); +} + +message TODO {} + +message LoginRequest { + string authority_id = 1; + string username = 2; + string password = 3; + string pem_certificate_request = 4; +} + +message LoginResponse { + string pem_certificate = 1; + string pem_certificate_chain = 2; +} + +message ConfigurationRequest { + // todo +} + +message ConfigurationResponse { + repeated Provisioner provisioners = 1; + repeated Administrator admins = 2; +} + +message CreateProvisionerRequest { + Provisioner.Type type = 1; + string name = 2; + ProvisionerDetails details = 3; + Claims claims = 4; +} + +message DeleteProvisionerRequest { + string id = 1; +} + +message CreateAdministratorRequest { + string name = 1; + string provisioner_id = 2; + Administrator.Type type = 3; +} + +message DeleteAdministratorRequest { + string id = 1; +} +message CertificateRequest { + string pem_certificate = 1; + string pem_certificate_chain = 2; +} + +message CertificateResponse { + string id = 1; +} + +message SSHCertificateRequest { + string certificate = 1; +} + +message SSHCertificateResponse { + string id = 1; +} diff --git a/majordomo/majordomo_grpc.pb.go b/majordomo/majordomo_grpc.pb.go new file mode 100644 index 00000000..44fd648d --- /dev/null +++ b/majordomo/majordomo_grpc.pb.go @@ -0,0 +1,519 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package majordomo + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// 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.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// MajordomoClient is the client API for Majordomo 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. +type MajordomoClient interface { + // Login creates signs a given CSR and returns the certificate that will be + // used for authentication. + Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error) + // GetConfiguration returns the full configuration of an authority. + GetConfiguration(ctx context.Context, in *ConfigurationRequest, opts ...grpc.CallOption) (*ConfigurationResponse, error) + // StreamConfiguration streams the full configuration of an authority. This + // method is not yet supported. + StreamConfiguration(ctx context.Context, in *ConfigurationRequest, opts ...grpc.CallOption) (Majordomo_StreamConfigurationClient, error) + // CreateProvisioner adds a new provisioner to the majordomo authority and + // returns the proto representation. + CreateProvisioner(ctx context.Context, in *CreateProvisionerRequest, opts ...grpc.CallOption) (*Provisioner, error) + // DeleteProvisioner deletes a previously created provisioner. + DeleteProvisioner(ctx context.Context, in *DeleteProvisionerRequest, opts ...grpc.CallOption) (*Provisioner, error) + // CreateAdministrator adds a new admin user to the majordomo authority. + // Admin users can add or delete provisioners. + CreateAdministrator(ctx context.Context, in *CreateAdministratorRequest, opts ...grpc.CallOption) (*Administrator, error) + // DeleteAdministrator deletes a previously created admin user. + DeleteAdministrator(ctx context.Context, in *DeleteAdministratorRequest, opts ...grpc.CallOption) (*Administrator, error) + // PostCertificate sends a signed X.509 certificate to majordomo. + PostCertificate(ctx context.Context, in *CertificateRequest, opts ...grpc.CallOption) (*CertificateResponse, error) + // PostSSHCertificate sends a signed SSH certificate to majordomo. + PostSSHCertificate(ctx context.Context, in *SSHCertificateRequest, opts ...grpc.CallOption) (*SSHCertificateResponse, error) + // RevokeCertificate marks an X.509 certificate as revoked. + RevokeCertificate(ctx context.Context, in *TODO, opts ...grpc.CallOption) (*TODO, error) + // RevokeSSHCertificate marks an SSH certificate as revoked. + RevokeSSHCertificate(ctx context.Context, in *TODO, opts ...grpc.CallOption) (*TODO, error) +} + +type majordomoClient struct { + cc grpc.ClientConnInterface +} + +func NewMajordomoClient(cc grpc.ClientConnInterface) MajordomoClient { + return &majordomoClient{cc} +} + +func (c *majordomoClient) Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error) { + out := new(LoginResponse) + err := c.cc.Invoke(ctx, "/majordomo.Majordomo/Login", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *majordomoClient) GetConfiguration(ctx context.Context, in *ConfigurationRequest, opts ...grpc.CallOption) (*ConfigurationResponse, error) { + out := new(ConfigurationResponse) + err := c.cc.Invoke(ctx, "/majordomo.Majordomo/GetConfiguration", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *majordomoClient) StreamConfiguration(ctx context.Context, in *ConfigurationRequest, opts ...grpc.CallOption) (Majordomo_StreamConfigurationClient, error) { + stream, err := c.cc.NewStream(ctx, &Majordomo_ServiceDesc.Streams[0], "/majordomo.Majordomo/StreamConfiguration", opts...) + if err != nil { + return nil, err + } + x := &majordomoStreamConfigurationClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type Majordomo_StreamConfigurationClient interface { + Recv() (*ConfigurationResponse, error) + grpc.ClientStream +} + +type majordomoStreamConfigurationClient struct { + grpc.ClientStream +} + +func (x *majordomoStreamConfigurationClient) Recv() (*ConfigurationResponse, error) { + m := new(ConfigurationResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *majordomoClient) CreateProvisioner(ctx context.Context, in *CreateProvisionerRequest, opts ...grpc.CallOption) (*Provisioner, error) { + out := new(Provisioner) + err := c.cc.Invoke(ctx, "/majordomo.Majordomo/CreateProvisioner", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *majordomoClient) DeleteProvisioner(ctx context.Context, in *DeleteProvisionerRequest, opts ...grpc.CallOption) (*Provisioner, error) { + out := new(Provisioner) + err := c.cc.Invoke(ctx, "/majordomo.Majordomo/DeleteProvisioner", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *majordomoClient) CreateAdministrator(ctx context.Context, in *CreateAdministratorRequest, opts ...grpc.CallOption) (*Administrator, error) { + out := new(Administrator) + err := c.cc.Invoke(ctx, "/majordomo.Majordomo/CreateAdministrator", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *majordomoClient) DeleteAdministrator(ctx context.Context, in *DeleteAdministratorRequest, opts ...grpc.CallOption) (*Administrator, error) { + out := new(Administrator) + err := c.cc.Invoke(ctx, "/majordomo.Majordomo/DeleteAdministrator", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *majordomoClient) PostCertificate(ctx context.Context, in *CertificateRequest, opts ...grpc.CallOption) (*CertificateResponse, error) { + out := new(CertificateResponse) + err := c.cc.Invoke(ctx, "/majordomo.Majordomo/PostCertificate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *majordomoClient) PostSSHCertificate(ctx context.Context, in *SSHCertificateRequest, opts ...grpc.CallOption) (*SSHCertificateResponse, error) { + out := new(SSHCertificateResponse) + err := c.cc.Invoke(ctx, "/majordomo.Majordomo/PostSSHCertificate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *majordomoClient) RevokeCertificate(ctx context.Context, in *TODO, opts ...grpc.CallOption) (*TODO, error) { + out := new(TODO) + err := c.cc.Invoke(ctx, "/majordomo.Majordomo/RevokeCertificate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *majordomoClient) RevokeSSHCertificate(ctx context.Context, in *TODO, opts ...grpc.CallOption) (*TODO, error) { + out := new(TODO) + err := c.cc.Invoke(ctx, "/majordomo.Majordomo/RevokeSSHCertificate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MajordomoServer is the server API for Majordomo service. +// All implementations must embed UnimplementedMajordomoServer +// for forward compatibility +type MajordomoServer interface { + // Login creates signs a given CSR and returns the certificate that will be + // used for authentication. + Login(context.Context, *LoginRequest) (*LoginResponse, error) + // GetConfiguration returns the full configuration of an authority. + GetConfiguration(context.Context, *ConfigurationRequest) (*ConfigurationResponse, error) + // StreamConfiguration streams the full configuration of an authority. This + // method is not yet supported. + StreamConfiguration(*ConfigurationRequest, Majordomo_StreamConfigurationServer) error + // CreateProvisioner adds a new provisioner to the majordomo authority and + // returns the proto representation. + CreateProvisioner(context.Context, *CreateProvisionerRequest) (*Provisioner, error) + // DeleteProvisioner deletes a previously created provisioner. + DeleteProvisioner(context.Context, *DeleteProvisionerRequest) (*Provisioner, error) + // CreateAdministrator adds a new admin user to the majordomo authority. + // Admin users can add or delete provisioners. + CreateAdministrator(context.Context, *CreateAdministratorRequest) (*Administrator, error) + // DeleteAdministrator deletes a previously created admin user. + DeleteAdministrator(context.Context, *DeleteAdministratorRequest) (*Administrator, error) + // PostCertificate sends a signed X.509 certificate to majordomo. + PostCertificate(context.Context, *CertificateRequest) (*CertificateResponse, error) + // PostSSHCertificate sends a signed SSH certificate to majordomo. + PostSSHCertificate(context.Context, *SSHCertificateRequest) (*SSHCertificateResponse, error) + // RevokeCertificate marks an X.509 certificate as revoked. + RevokeCertificate(context.Context, *TODO) (*TODO, error) + // RevokeSSHCertificate marks an SSH certificate as revoked. + RevokeSSHCertificate(context.Context, *TODO) (*TODO, error) + mustEmbedUnimplementedMajordomoServer() +} + +// UnimplementedMajordomoServer must be embedded to have forward compatible implementations. +type UnimplementedMajordomoServer struct { +} + +func (UnimplementedMajordomoServer) Login(context.Context, *LoginRequest) (*LoginResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Login not implemented") +} +func (UnimplementedMajordomoServer) GetConfiguration(context.Context, *ConfigurationRequest) (*ConfigurationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetConfiguration not implemented") +} +func (UnimplementedMajordomoServer) StreamConfiguration(*ConfigurationRequest, Majordomo_StreamConfigurationServer) error { + return status.Errorf(codes.Unimplemented, "method StreamConfiguration not implemented") +} +func (UnimplementedMajordomoServer) CreateProvisioner(context.Context, *CreateProvisionerRequest) (*Provisioner, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProvisioner not implemented") +} +func (UnimplementedMajordomoServer) DeleteProvisioner(context.Context, *DeleteProvisionerRequest) (*Provisioner, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteProvisioner not implemented") +} +func (UnimplementedMajordomoServer) CreateAdministrator(context.Context, *CreateAdministratorRequest) (*Administrator, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateAdministrator not implemented") +} +func (UnimplementedMajordomoServer) DeleteAdministrator(context.Context, *DeleteAdministratorRequest) (*Administrator, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteAdministrator not implemented") +} +func (UnimplementedMajordomoServer) PostCertificate(context.Context, *CertificateRequest) (*CertificateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostCertificate not implemented") +} +func (UnimplementedMajordomoServer) PostSSHCertificate(context.Context, *SSHCertificateRequest) (*SSHCertificateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostSSHCertificate not implemented") +} +func (UnimplementedMajordomoServer) RevokeCertificate(context.Context, *TODO) (*TODO, error) { + return nil, status.Errorf(codes.Unimplemented, "method RevokeCertificate not implemented") +} +func (UnimplementedMajordomoServer) RevokeSSHCertificate(context.Context, *TODO) (*TODO, error) { + return nil, status.Errorf(codes.Unimplemented, "method RevokeSSHCertificate not implemented") +} +func (UnimplementedMajordomoServer) mustEmbedUnimplementedMajordomoServer() {} + +// UnsafeMajordomoServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to MajordomoServer will +// result in compilation errors. +type UnsafeMajordomoServer interface { + mustEmbedUnimplementedMajordomoServer() +} + +func RegisterMajordomoServer(s grpc.ServiceRegistrar, srv MajordomoServer) { + s.RegisterService(&Majordomo_ServiceDesc, srv) +} + +func _Majordomo_Login_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(LoginRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MajordomoServer).Login(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/majordomo.Majordomo/Login", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MajordomoServer).Login(ctx, req.(*LoginRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Majordomo_GetConfiguration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfigurationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MajordomoServer).GetConfiguration(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/majordomo.Majordomo/GetConfiguration", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MajordomoServer).GetConfiguration(ctx, req.(*ConfigurationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Majordomo_StreamConfiguration_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(ConfigurationRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(MajordomoServer).StreamConfiguration(m, &majordomoStreamConfigurationServer{stream}) +} + +type Majordomo_StreamConfigurationServer interface { + Send(*ConfigurationResponse) error + grpc.ServerStream +} + +type majordomoStreamConfigurationServer struct { + grpc.ServerStream +} + +func (x *majordomoStreamConfigurationServer) Send(m *ConfigurationResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _Majordomo_CreateProvisioner_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateProvisionerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MajordomoServer).CreateProvisioner(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/majordomo.Majordomo/CreateProvisioner", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MajordomoServer).CreateProvisioner(ctx, req.(*CreateProvisionerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Majordomo_DeleteProvisioner_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteProvisionerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MajordomoServer).DeleteProvisioner(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/majordomo.Majordomo/DeleteProvisioner", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MajordomoServer).DeleteProvisioner(ctx, req.(*DeleteProvisionerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Majordomo_CreateAdministrator_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateAdministratorRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MajordomoServer).CreateAdministrator(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/majordomo.Majordomo/CreateAdministrator", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MajordomoServer).CreateAdministrator(ctx, req.(*CreateAdministratorRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Majordomo_DeleteAdministrator_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteAdministratorRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MajordomoServer).DeleteAdministrator(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/majordomo.Majordomo/DeleteAdministrator", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MajordomoServer).DeleteAdministrator(ctx, req.(*DeleteAdministratorRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Majordomo_PostCertificate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CertificateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MajordomoServer).PostCertificate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/majordomo.Majordomo/PostCertificate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MajordomoServer).PostCertificate(ctx, req.(*CertificateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Majordomo_PostSSHCertificate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SSHCertificateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MajordomoServer).PostSSHCertificate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/majordomo.Majordomo/PostSSHCertificate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MajordomoServer).PostSSHCertificate(ctx, req.(*SSHCertificateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Majordomo_RevokeCertificate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TODO) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MajordomoServer).RevokeCertificate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/majordomo.Majordomo/RevokeCertificate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MajordomoServer).RevokeCertificate(ctx, req.(*TODO)) + } + return interceptor(ctx, in, info, handler) +} + +func _Majordomo_RevokeSSHCertificate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TODO) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MajordomoServer).RevokeSSHCertificate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/majordomo.Majordomo/RevokeSSHCertificate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MajordomoServer).RevokeSSHCertificate(ctx, req.(*TODO)) + } + return interceptor(ctx, in, info, handler) +} + +// Majordomo_ServiceDesc is the grpc.ServiceDesc for Majordomo service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Majordomo_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "majordomo.Majordomo", + HandlerType: (*MajordomoServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Login", + Handler: _Majordomo_Login_Handler, + }, + { + MethodName: "GetConfiguration", + Handler: _Majordomo_GetConfiguration_Handler, + }, + { + MethodName: "CreateProvisioner", + Handler: _Majordomo_CreateProvisioner_Handler, + }, + { + MethodName: "DeleteProvisioner", + Handler: _Majordomo_DeleteProvisioner_Handler, + }, + { + MethodName: "CreateAdministrator", + Handler: _Majordomo_CreateAdministrator_Handler, + }, + { + MethodName: "DeleteAdministrator", + Handler: _Majordomo_DeleteAdministrator_Handler, + }, + { + MethodName: "PostCertificate", + Handler: _Majordomo_PostCertificate_Handler, + }, + { + MethodName: "PostSSHCertificate", + Handler: _Majordomo_PostSSHCertificate_Handler, + }, + { + MethodName: "RevokeCertificate", + Handler: _Majordomo_RevokeCertificate_Handler, + }, + { + MethodName: "RevokeSSHCertificate", + Handler: _Majordomo_RevokeSSHCertificate_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "StreamConfiguration", + Handler: _Majordomo_StreamConfiguration_Handler, + ServerStreams: true, + }, + }, + Metadata: "majordomo/majordomo.proto", +} diff --git a/majordomo/provisioners.pb.go b/majordomo/provisioners.pb.go new file mode 100644 index 00000000..ccdd6f2f --- /dev/null +++ b/majordomo/provisioners.pb.go @@ -0,0 +1,1875 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.26.0 +// protoc v3.15.8 +// source: majordomo/provisioners.proto + +package majordomo + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + 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) +) + +type Administrator_Type int32 + +const ( + Administrator_UNKNOWN Administrator_Type = 0 + Administrator_ADMIN Administrator_Type = 1 + Administrator_SUPER_ADMIN Administrator_Type = 2 +) + +// Enum value maps for Administrator_Type. +var ( + Administrator_Type_name = map[int32]string{ + 0: "UNKNOWN", + 1: "ADMIN", + 2: "SUPER_ADMIN", + } + Administrator_Type_value = map[string]int32{ + "UNKNOWN": 0, + "ADMIN": 1, + "SUPER_ADMIN": 2, + } +) + +func (x Administrator_Type) Enum() *Administrator_Type { + p := new(Administrator_Type) + *p = x + return p +} + +func (x Administrator_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Administrator_Type) Descriptor() protoreflect.EnumDescriptor { + return file_majordomo_provisioners_proto_enumTypes[0].Descriptor() +} + +func (Administrator_Type) Type() protoreflect.EnumType { + return &file_majordomo_provisioners_proto_enumTypes[0] +} + +func (x Administrator_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Administrator_Type.Descriptor instead. +func (Administrator_Type) EnumDescriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{0, 0} +} + +type Provisioner_Type int32 + +const ( + Provisioner_NOOP Provisioner_Type = 0 + Provisioner_JWK Provisioner_Type = 1 + Provisioner_OIDC Provisioner_Type = 2 + Provisioner_GCP Provisioner_Type = 3 + Provisioner_AWS Provisioner_Type = 4 + Provisioner_AZURE Provisioner_Type = 5 + Provisioner_ACME Provisioner_Type = 6 + Provisioner_X5C Provisioner_Type = 7 + Provisioner_K8SSA Provisioner_Type = 8 + Provisioner_SSHPOP Provisioner_Type = 9 +) + +// Enum value maps for Provisioner_Type. +var ( + Provisioner_Type_name = map[int32]string{ + 0: "NOOP", + 1: "JWK", + 2: "OIDC", + 3: "GCP", + 4: "AWS", + 5: "AZURE", + 6: "ACME", + 7: "X5C", + 8: "K8SSA", + 9: "SSHPOP", + } + Provisioner_Type_value = map[string]int32{ + "NOOP": 0, + "JWK": 1, + "OIDC": 2, + "GCP": 3, + "AWS": 4, + "AZURE": 5, + "ACME": 6, + "X5C": 7, + "K8SSA": 8, + "SSHPOP": 9, + } +) + +func (x Provisioner_Type) Enum() *Provisioner_Type { + p := new(Provisioner_Type) + *p = x + return p +} + +func (x Provisioner_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Provisioner_Type) Descriptor() protoreflect.EnumDescriptor { + return file_majordomo_provisioners_proto_enumTypes[1].Descriptor() +} + +func (Provisioner_Type) Type() protoreflect.EnumType { + return &file_majordomo_provisioners_proto_enumTypes[1] +} + +func (x Provisioner_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Provisioner_Type.Descriptor instead. +func (Provisioner_Type) EnumDescriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{1, 0} +} + +type Administrator struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + AuthorityId string `protobuf:"bytes,2,opt,name=authority_id,json=authorityId,proto3" json:"authority_id,omitempty"` + Subject string `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"` + ProvisionerId string `protobuf:"bytes,4,opt,name=provisioner_id,json=provisionerId,proto3" json:"provisioner_id,omitempty"` + Type Administrator_Type `protobuf:"varint,5,opt,name=type,proto3,enum=majordomo.Administrator_Type" json:"type,omitempty"` +} + +func (x *Administrator) Reset() { + *x = Administrator{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Administrator) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Administrator) ProtoMessage() {} + +func (x *Administrator) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_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 Administrator.ProtoReflect.Descriptor instead. +func (*Administrator) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{0} +} + +func (x *Administrator) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Administrator) GetAuthorityId() string { + if x != nil { + return x.AuthorityId + } + return "" +} + +func (x *Administrator) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *Administrator) GetProvisionerId() string { + if x != nil { + return x.ProvisionerId + } + return "" +} + +func (x *Administrator) GetType() Administrator_Type { + if x != nil { + return x.Type + } + return Administrator_UNKNOWN +} + +type Provisioner struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + AuthorityId string `protobuf:"bytes,2,opt,name=authority_id,json=authorityId,proto3" json:"authority_id,omitempty"` + Type Provisioner_Type `protobuf:"varint,3,opt,name=type,proto3,enum=majordomo.Provisioner_Type" json:"type,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + Details *ProvisionerDetails `protobuf:"bytes,5,opt,name=details,proto3" json:"details,omitempty"` + Claims *Claims `protobuf:"bytes,6,opt,name=claims,proto3" json:"claims,omitempty"` + X509Template []byte `protobuf:"bytes,7,opt,name=x509_template,json=x509Template,proto3" json:"x509_template,omitempty"` + X509TemplateData []byte `protobuf:"bytes,8,opt,name=x509_template_data,json=x509TemplateData,proto3" json:"x509_template_data,omitempty"` + SshTemplate []byte `protobuf:"bytes,9,opt,name=ssh_template,json=sshTemplate,proto3" json:"ssh_template,omitempty"` + SshTemplateData []byte `protobuf:"bytes,10,opt,name=ssh_template_data,json=sshTemplateData,proto3" json:"ssh_template_data,omitempty"` +} + +func (x *Provisioner) Reset() { + *x = Provisioner{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Provisioner) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Provisioner) ProtoMessage() {} + +func (x *Provisioner) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_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 Provisioner.ProtoReflect.Descriptor instead. +func (*Provisioner) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{1} +} + +func (x *Provisioner) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Provisioner) GetAuthorityId() string { + if x != nil { + return x.AuthorityId + } + return "" +} + +func (x *Provisioner) GetType() Provisioner_Type { + if x != nil { + return x.Type + } + return Provisioner_NOOP +} + +func (x *Provisioner) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Provisioner) GetDetails() *ProvisionerDetails { + if x != nil { + return x.Details + } + return nil +} + +func (x *Provisioner) GetClaims() *Claims { + if x != nil { + return x.Claims + } + return nil +} + +func (x *Provisioner) GetX509Template() []byte { + if x != nil { + return x.X509Template + } + return nil +} + +func (x *Provisioner) GetX509TemplateData() []byte { + if x != nil { + return x.X509TemplateData + } + return nil +} + +func (x *Provisioner) GetSshTemplate() []byte { + if x != nil { + return x.SshTemplate + } + return nil +} + +func (x *Provisioner) GetSshTemplateData() []byte { + if x != nil { + return x.SshTemplateData + } + return nil +} + +type ProvisionerDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Data: + // *ProvisionerDetails_JWK + // *ProvisionerDetails_OIDC + // *ProvisionerDetails_GCP + // *ProvisionerDetails_AWS + // *ProvisionerDetails_Azure + // *ProvisionerDetails_ACME + // *ProvisionerDetails_X5C + // *ProvisionerDetails_K8SSA + // *ProvisionerDetails_SSHPOP + Data isProvisionerDetails_Data `protobuf_oneof:"data"` +} + +func (x *ProvisionerDetails) Reset() { + *x = ProvisionerDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProvisionerDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProvisionerDetails) ProtoMessage() {} + +func (x *ProvisionerDetails) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_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 ProvisionerDetails.ProtoReflect.Descriptor instead. +func (*ProvisionerDetails) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{2} +} + +func (m *ProvisionerDetails) GetData() isProvisionerDetails_Data { + if m != nil { + return m.Data + } + return nil +} + +func (x *ProvisionerDetails) GetJWK() *JWKProvisioner { + if x, ok := x.GetData().(*ProvisionerDetails_JWK); ok { + return x.JWK + } + return nil +} + +func (x *ProvisionerDetails) GetOIDC() *OIDCProvisioner { + if x, ok := x.GetData().(*ProvisionerDetails_OIDC); ok { + return x.OIDC + } + return nil +} + +func (x *ProvisionerDetails) GetGCP() *GCPProvisioner { + if x, ok := x.GetData().(*ProvisionerDetails_GCP); ok { + return x.GCP + } + return nil +} + +func (x *ProvisionerDetails) GetAWS() *AWSProvisioner { + if x, ok := x.GetData().(*ProvisionerDetails_AWS); ok { + return x.AWS + } + return nil +} + +func (x *ProvisionerDetails) GetAzure() *AzureProvisioner { + if x, ok := x.GetData().(*ProvisionerDetails_Azure); ok { + return x.Azure + } + return nil +} + +func (x *ProvisionerDetails) GetACME() *ACMEProvisioner { + if x, ok := x.GetData().(*ProvisionerDetails_ACME); ok { + return x.ACME + } + return nil +} + +func (x *ProvisionerDetails) GetX5C() *X5CProvisioner { + if x, ok := x.GetData().(*ProvisionerDetails_X5C); ok { + return x.X5C + } + return nil +} + +func (x *ProvisionerDetails) GetK8SSA() *K8SSAProvisioner { + if x, ok := x.GetData().(*ProvisionerDetails_K8SSA); ok { + return x.K8SSA + } + return nil +} + +func (x *ProvisionerDetails) GetSSHPOP() *SSHPOPProvisioner { + if x, ok := x.GetData().(*ProvisionerDetails_SSHPOP); ok { + return x.SSHPOP + } + return nil +} + +type isProvisionerDetails_Data interface { + isProvisionerDetails_Data() +} + +type ProvisionerDetails_JWK struct { + JWK *JWKProvisioner `protobuf:"bytes,20,opt,name=JWK,proto3,oneof"` +} + +type ProvisionerDetails_OIDC struct { + OIDC *OIDCProvisioner `protobuf:"bytes,21,opt,name=OIDC,proto3,oneof"` +} + +type ProvisionerDetails_GCP struct { + GCP *GCPProvisioner `protobuf:"bytes,22,opt,name=GCP,proto3,oneof"` +} + +type ProvisionerDetails_AWS struct { + AWS *AWSProvisioner `protobuf:"bytes,23,opt,name=AWS,proto3,oneof"` +} + +type ProvisionerDetails_Azure struct { + Azure *AzureProvisioner `protobuf:"bytes,24,opt,name=Azure,proto3,oneof"` +} + +type ProvisionerDetails_ACME struct { + ACME *ACMEProvisioner `protobuf:"bytes,25,opt,name=ACME,proto3,oneof"` +} + +type ProvisionerDetails_X5C struct { + X5C *X5CProvisioner `protobuf:"bytes,26,opt,name=X5C,proto3,oneof"` +} + +type ProvisionerDetails_K8SSA struct { + K8SSA *K8SSAProvisioner `protobuf:"bytes,27,opt,name=K8sSA,proto3,oneof"` +} + +type ProvisionerDetails_SSHPOP struct { + SSHPOP *SSHPOPProvisioner `protobuf:"bytes,28,opt,name=SSHPOP,proto3,oneof"` +} + +func (*ProvisionerDetails_JWK) isProvisionerDetails_Data() {} + +func (*ProvisionerDetails_OIDC) isProvisionerDetails_Data() {} + +func (*ProvisionerDetails_GCP) isProvisionerDetails_Data() {} + +func (*ProvisionerDetails_AWS) isProvisionerDetails_Data() {} + +func (*ProvisionerDetails_Azure) isProvisionerDetails_Data() {} + +func (*ProvisionerDetails_ACME) isProvisionerDetails_Data() {} + +func (*ProvisionerDetails_X5C) isProvisionerDetails_Data() {} + +func (*ProvisionerDetails_K8SSA) isProvisionerDetails_Data() {} + +func (*ProvisionerDetails_SSHPOP) isProvisionerDetails_Data() {} + +type ProvisionerList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Provisioners []*Provisioner `protobuf:"bytes,1,rep,name=provisioners,proto3" json:"provisioners,omitempty"` +} + +func (x *ProvisionerList) Reset() { + *x = ProvisionerList{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProvisionerList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProvisionerList) ProtoMessage() {} + +func (x *ProvisionerList) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_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 ProvisionerList.ProtoReflect.Descriptor instead. +func (*ProvisionerList) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{3} +} + +func (x *ProvisionerList) GetProvisioners() []*Provisioner { + if x != nil { + return x.Provisioners + } + return nil +} + +type Claims struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + X509 *X509Claims `protobuf:"bytes,1,opt,name=x509,proto3" json:"x509,omitempty"` + Ssh *SSHClaims `protobuf:"bytes,2,opt,name=ssh,proto3" json:"ssh,omitempty"` + DisableRenewal bool `protobuf:"varint,3,opt,name=disable_renewal,json=disableRenewal,proto3" json:"disable_renewal,omitempty"` +} + +func (x *Claims) Reset() { + *x = Claims{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Claims) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Claims) ProtoMessage() {} + +func (x *Claims) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_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 Claims.ProtoReflect.Descriptor instead. +func (*Claims) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{4} +} + +func (x *Claims) GetX509() *X509Claims { + if x != nil { + return x.X509 + } + return nil +} + +func (x *Claims) GetSsh() *SSHClaims { + if x != nil { + return x.Ssh + } + return nil +} + +func (x *Claims) GetDisableRenewal() bool { + if x != nil { + return x.DisableRenewal + } + return false +} + +type X509Claims struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Durations *Durations `protobuf:"bytes,2,opt,name=durations,proto3" json:"durations,omitempty"` +} + +func (x *X509Claims) Reset() { + *x = X509Claims{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *X509Claims) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*X509Claims) ProtoMessage() {} + +func (x *X509Claims) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_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 X509Claims.ProtoReflect.Descriptor instead. +func (*X509Claims) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{5} +} + +func (x *X509Claims) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *X509Claims) GetDurations() *Durations { + if x != nil { + return x.Durations + } + return nil +} + +type SSHClaims struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + UserDurations *Durations `protobuf:"bytes,2,opt,name=user_durations,json=userDurations,proto3" json:"user_durations,omitempty"` + HostDurations *Durations `protobuf:"bytes,3,opt,name=host_durations,json=hostDurations,proto3" json:"host_durations,omitempty"` +} + +func (x *SSHClaims) Reset() { + *x = SSHClaims{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SSHClaims) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SSHClaims) ProtoMessage() {} + +func (x *SSHClaims) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_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 SSHClaims.ProtoReflect.Descriptor instead. +func (*SSHClaims) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{6} +} + +func (x *SSHClaims) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *SSHClaims) GetUserDurations() *Durations { + if x != nil { + return x.UserDurations + } + return nil +} + +func (x *SSHClaims) GetHostDurations() *Durations { + if x != nil { + return x.HostDurations + } + return nil +} + +type Durations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Default string `protobuf:"bytes,1,opt,name=default,proto3" json:"default,omitempty"` + Min string `protobuf:"bytes,2,opt,name=min,proto3" json:"min,omitempty"` + Max string `protobuf:"bytes,3,opt,name=max,proto3" json:"max,omitempty"` +} + +func (x *Durations) Reset() { + *x = Durations{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Durations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Durations) ProtoMessage() {} + +func (x *Durations) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Durations.ProtoReflect.Descriptor instead. +func (*Durations) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{7} +} + +func (x *Durations) GetDefault() string { + if x != nil { + return x.Default + } + return "" +} + +func (x *Durations) GetMin() string { + if x != nil { + return x.Min + } + return "" +} + +func (x *Durations) GetMax() string { + if x != nil { + return x.Max + } + return "" +} + +type JWKProvisioner struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + EncryptedPrivateKey []byte `protobuf:"bytes,2,opt,name=encrypted_private_key,json=encryptedPrivateKey,proto3" json:"encrypted_private_key,omitempty"` +} + +func (x *JWKProvisioner) Reset() { + *x = JWKProvisioner{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWKProvisioner) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWKProvisioner) ProtoMessage() {} + +func (x *JWKProvisioner) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWKProvisioner.ProtoReflect.Descriptor instead. +func (*JWKProvisioner) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{8} +} + +func (x *JWKProvisioner) GetPublicKey() []byte { + if x != nil { + return x.PublicKey + } + return nil +} + +func (x *JWKProvisioner) GetEncryptedPrivateKey() []byte { + if x != nil { + return x.EncryptedPrivateKey + } + return nil +} + +type OIDCProvisioner struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` + ConfigurationEndpoint string `protobuf:"bytes,3,opt,name=configuration_endpoint,json=configurationEndpoint,proto3" json:"configuration_endpoint,omitempty"` + Admins []string `protobuf:"bytes,4,rep,name=admins,proto3" json:"admins,omitempty"` + Domains []string `protobuf:"bytes,5,rep,name=domains,proto3" json:"domains,omitempty"` + Groups []string `protobuf:"bytes,6,rep,name=groups,proto3" json:"groups,omitempty"` + ListenAddress string `protobuf:"bytes,7,opt,name=listen_address,json=listenAddress,proto3" json:"listen_address,omitempty"` + TenantId string `protobuf:"bytes,8,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` +} + +func (x *OIDCProvisioner) Reset() { + *x = OIDCProvisioner{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OIDCProvisioner) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OIDCProvisioner) ProtoMessage() {} + +func (x *OIDCProvisioner) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_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 OIDCProvisioner.ProtoReflect.Descriptor instead. +func (*OIDCProvisioner) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{9} +} + +func (x *OIDCProvisioner) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *OIDCProvisioner) GetClientSecret() string { + if x != nil { + return x.ClientSecret + } + return "" +} + +func (x *OIDCProvisioner) GetConfigurationEndpoint() string { + if x != nil { + return x.ConfigurationEndpoint + } + return "" +} + +func (x *OIDCProvisioner) GetAdmins() []string { + if x != nil { + return x.Admins + } + return nil +} + +func (x *OIDCProvisioner) GetDomains() []string { + if x != nil { + return x.Domains + } + return nil +} + +func (x *OIDCProvisioner) GetGroups() []string { + if x != nil { + return x.Groups + } + return nil +} + +func (x *OIDCProvisioner) GetListenAddress() string { + if x != nil { + return x.ListenAddress + } + return "" +} + +func (x *OIDCProvisioner) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +type GCPProvisioner struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServiceAccounts []string `protobuf:"bytes,1,rep,name=service_accounts,json=serviceAccounts,proto3" json:"service_accounts,omitempty"` + ProjectIds []string `protobuf:"bytes,2,rep,name=project_ids,json=projectIds,proto3" json:"project_ids,omitempty"` + DisableCustomSans bool `protobuf:"varint,3,opt,name=disable_custom_sans,json=disableCustomSans,proto3" json:"disable_custom_sans,omitempty"` + DisableTrustOnFirstUse bool `protobuf:"varint,4,opt,name=disable_trust_on_first_use,json=disableTrustOnFirstUse,proto3" json:"disable_trust_on_first_use,omitempty"` + InstanceAge string `protobuf:"bytes,5,opt,name=instance_age,json=instanceAge,proto3" json:"instance_age,omitempty"` +} + +func (x *GCPProvisioner) Reset() { + *x = GCPProvisioner{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GCPProvisioner) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GCPProvisioner) ProtoMessage() {} + +func (x *GCPProvisioner) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_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 GCPProvisioner.ProtoReflect.Descriptor instead. +func (*GCPProvisioner) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{10} +} + +func (x *GCPProvisioner) GetServiceAccounts() []string { + if x != nil { + return x.ServiceAccounts + } + return nil +} + +func (x *GCPProvisioner) GetProjectIds() []string { + if x != nil { + return x.ProjectIds + } + return nil +} + +func (x *GCPProvisioner) GetDisableCustomSans() bool { + if x != nil { + return x.DisableCustomSans + } + return false +} + +func (x *GCPProvisioner) GetDisableTrustOnFirstUse() bool { + if x != nil { + return x.DisableTrustOnFirstUse + } + return false +} + +func (x *GCPProvisioner) GetInstanceAge() string { + if x != nil { + return x.InstanceAge + } + return "" +} + +type AWSProvisioner struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Accounts []string `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` + DisableCustomSans bool `protobuf:"varint,2,opt,name=disable_custom_sans,json=disableCustomSans,proto3" json:"disable_custom_sans,omitempty"` + DisableTrustOnFirstUse bool `protobuf:"varint,3,opt,name=disable_trust_on_first_use,json=disableTrustOnFirstUse,proto3" json:"disable_trust_on_first_use,omitempty"` + InstanceAge string `protobuf:"bytes,4,opt,name=instance_age,json=instanceAge,proto3" json:"instance_age,omitempty"` +} + +func (x *AWSProvisioner) Reset() { + *x = AWSProvisioner{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AWSProvisioner) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AWSProvisioner) ProtoMessage() {} + +func (x *AWSProvisioner) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_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 AWSProvisioner.ProtoReflect.Descriptor instead. +func (*AWSProvisioner) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{11} +} + +func (x *AWSProvisioner) GetAccounts() []string { + if x != nil { + return x.Accounts + } + return nil +} + +func (x *AWSProvisioner) GetDisableCustomSans() bool { + if x != nil { + return x.DisableCustomSans + } + return false +} + +func (x *AWSProvisioner) GetDisableTrustOnFirstUse() bool { + if x != nil { + return x.DisableTrustOnFirstUse + } + return false +} + +func (x *AWSProvisioner) GetInstanceAge() string { + if x != nil { + return x.InstanceAge + } + return "" +} + +type AzureProvisioner struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` + ResourceGroups []string `protobuf:"bytes,2,rep,name=resource_groups,json=resourceGroups,proto3" json:"resource_groups,omitempty"` + Audience string `protobuf:"bytes,3,opt,name=audience,proto3" json:"audience,omitempty"` + DisableCustomSans bool `protobuf:"varint,4,opt,name=disable_custom_sans,json=disableCustomSans,proto3" json:"disable_custom_sans,omitempty"` + DisableTrustOnFirstUse bool `protobuf:"varint,5,opt,name=disable_trust_on_first_use,json=disableTrustOnFirstUse,proto3" json:"disable_trust_on_first_use,omitempty"` +} + +func (x *AzureProvisioner) Reset() { + *x = AzureProvisioner{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AzureProvisioner) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureProvisioner) ProtoMessage() {} + +func (x *AzureProvisioner) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_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 AzureProvisioner.ProtoReflect.Descriptor instead. +func (*AzureProvisioner) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{12} +} + +func (x *AzureProvisioner) GetTenantId() string { + if x != nil { + return x.TenantId + } + return "" +} + +func (x *AzureProvisioner) GetResourceGroups() []string { + if x != nil { + return x.ResourceGroups + } + return nil +} + +func (x *AzureProvisioner) GetAudience() string { + if x != nil { + return x.Audience + } + return "" +} + +func (x *AzureProvisioner) GetDisableCustomSans() bool { + if x != nil { + return x.DisableCustomSans + } + return false +} + +func (x *AzureProvisioner) GetDisableTrustOnFirstUse() bool { + if x != nil { + return x.DisableTrustOnFirstUse + } + return false +} + +type ACMEProvisioner struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ForceCn bool `protobuf:"varint,1,opt,name=force_cn,json=forceCn,proto3" json:"force_cn,omitempty"` +} + +func (x *ACMEProvisioner) Reset() { + *x = ACMEProvisioner{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ACMEProvisioner) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ACMEProvisioner) ProtoMessage() {} + +func (x *ACMEProvisioner) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ACMEProvisioner.ProtoReflect.Descriptor instead. +func (*ACMEProvisioner) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{13} +} + +func (x *ACMEProvisioner) GetForceCn() bool { + if x != nil { + return x.ForceCn + } + return false +} + +type X5CProvisioner struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Roots [][]byte `protobuf:"bytes,1,rep,name=roots,proto3" json:"roots,omitempty"` +} + +func (x *X5CProvisioner) Reset() { + *x = X5CProvisioner{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *X5CProvisioner) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*X5CProvisioner) ProtoMessage() {} + +func (x *X5CProvisioner) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use X5CProvisioner.ProtoReflect.Descriptor instead. +func (*X5CProvisioner) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{14} +} + +func (x *X5CProvisioner) GetRoots() [][]byte { + if x != nil { + return x.Roots + } + return nil +} + +type K8SSAProvisioner struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PublicKeys [][]byte `protobuf:"bytes,1,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty"` +} + +func (x *K8SSAProvisioner) Reset() { + *x = K8SSAProvisioner{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *K8SSAProvisioner) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*K8SSAProvisioner) ProtoMessage() {} + +func (x *K8SSAProvisioner) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use K8SSAProvisioner.ProtoReflect.Descriptor instead. +func (*K8SSAProvisioner) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{15} +} + +func (x *K8SSAProvisioner) GetPublicKeys() [][]byte { + if x != nil { + return x.PublicKeys + } + return nil +} + +type SSHPOPProvisioner struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SSHPOPProvisioner) Reset() { + *x = SSHPOPProvisioner{} + if protoimpl.UnsafeEnabled { + mi := &file_majordomo_provisioners_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SSHPOPProvisioner) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SSHPOPProvisioner) ProtoMessage() {} + +func (x *SSHPOPProvisioner) ProtoReflect() protoreflect.Message { + mi := &file_majordomo_provisioners_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SSHPOPProvisioner.ProtoReflect.Descriptor instead. +func (*SSHPOPProvisioner) Descriptor() ([]byte, []int) { + return file_majordomo_provisioners_proto_rawDescGZIP(), []int{16} +} + +var File_majordomo_provisioners_proto protoreflect.FileDescriptor + +var file_majordomo_provisioners_proto_rawDesc = []byte{ + 0x0a, 0x1c, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, + 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x22, 0xe7, 0x01, 0x0a, 0x0d, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, + 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x69, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x22, 0x2f, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, + 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x44, 0x4d, 0x49, 0x4e, + 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x55, 0x50, 0x45, 0x52, 0x5f, 0x41, 0x44, 0x4d, 0x49, + 0x4e, 0x10, 0x02, 0x22, 0xf7, 0x03, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, + 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x2e, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, + 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, + 0x2e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x52, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x12, + 0x23, 0x0a, 0x0d, 0x78, 0x35, 0x30, 0x39, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x78, 0x35, 0x30, 0x39, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x78, 0x35, 0x30, 0x39, 0x5f, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x10, 0x78, 0x35, 0x30, 0x39, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x73, 0x68, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x73, 0x68, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x73, 0x68, 0x5f, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0f, 0x73, 0x73, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x22, 0x6a, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4f, + 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4a, 0x57, 0x4b, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, + 0x4f, 0x49, 0x44, 0x43, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x43, 0x50, 0x10, 0x03, 0x12, + 0x07, 0x0a, 0x03, 0x41, 0x57, 0x53, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x5a, 0x55, 0x52, + 0x45, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x43, 0x4d, 0x45, 0x10, 0x06, 0x12, 0x07, 0x0a, + 0x03, 0x58, 0x35, 0x43, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x4b, 0x38, 0x53, 0x53, 0x41, 0x10, + 0x08, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x53, 0x48, 0x50, 0x4f, 0x50, 0x10, 0x09, 0x22, 0xde, 0x03, + 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2d, 0x0a, 0x03, 0x4a, 0x57, 0x4b, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x4a, 0x57, + 0x4b, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x03, + 0x4a, 0x57, 0x4b, 0x12, 0x30, 0x0a, 0x04, 0x4f, 0x49, 0x44, 0x43, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x4f, 0x49, + 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, + 0x04, 0x4f, 0x49, 0x44, 0x43, 0x12, 0x2d, 0x0a, 0x03, 0x47, 0x43, 0x50, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x47, + 0x43, 0x50, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, + 0x03, 0x47, 0x43, 0x50, 0x12, 0x2d, 0x0a, 0x03, 0x41, 0x57, 0x53, 0x18, 0x17, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x41, 0x57, + 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x03, + 0x41, 0x57, 0x53, 0x12, 0x33, 0x0a, 0x05, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x18, 0x18, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x41, + 0x7a, 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x05, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x41, 0x43, 0x4d, 0x45, + 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, + 0x6d, 0x6f, 0x2e, 0x41, 0x43, 0x4d, 0x45, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x41, 0x43, 0x4d, 0x45, 0x12, 0x2d, 0x0a, 0x03, 0x58, 0x35, + 0x43, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, + 0x6f, 0x6d, 0x6f, 0x2e, 0x58, 0x35, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x65, 0x72, 0x48, 0x00, 0x52, 0x03, 0x58, 0x35, 0x43, 0x12, 0x33, 0x0a, 0x05, 0x4b, 0x38, 0x73, + 0x53, 0x41, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, + 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x4b, 0x38, 0x73, 0x53, 0x41, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x05, 0x4b, 0x38, 0x73, 0x53, 0x41, 0x12, 0x36, + 0x0a, 0x06, 0x53, 0x53, 0x48, 0x50, 0x4f, 0x50, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x53, 0x53, 0x48, 0x50, 0x4f, + 0x50, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, + 0x53, 0x53, 0x48, 0x50, 0x4f, 0x50, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4d, + 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, + 0x6f, 0x6d, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x52, + 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x73, 0x22, 0x84, 0x01, + 0x0a, 0x06, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x12, 0x29, 0x0a, 0x04, 0x78, 0x35, 0x30, 0x39, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, + 0x6d, 0x6f, 0x2e, 0x58, 0x35, 0x30, 0x39, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x52, 0x04, 0x78, + 0x35, 0x30, 0x39, 0x12, 0x26, 0x0a, 0x03, 0x73, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x53, 0x53, 0x48, + 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x52, 0x03, 0x73, 0x73, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x6e, + 0x65, 0x77, 0x61, 0x6c, 0x22, 0x5a, 0x0a, 0x0a, 0x58, 0x35, 0x30, 0x39, 0x43, 0x6c, 0x61, 0x69, + 0x6d, 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, 0x12, 0x32, 0x0a, 0x09, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x09, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x22, 0x9f, 0x01, 0x0a, 0x09, 0x53, 0x53, 0x48, 0x43, 0x6c, 0x61, 0x69, 0x6d, 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, 0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0x49, 0x0a, 0x09, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x22, 0x63, 0x0a, + 0x0e, 0x4a, 0x57, 0x4b, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x32, + 0x0a, 0x15, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, + 0x65, 0x79, 0x22, 0x98, 0x02, 0x0a, 0x0f, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x06, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x73, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xeb, 0x01, + 0x0a, 0x0e, 0x47, 0x43, 0x50, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, + 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x13, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, + 0x61, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x61, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x1a, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x6f, 0x6e, + 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x4f, 0x6e, + 0x46, 0x69, 0x72, 0x73, 0x74, 0x55, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x67, 0x65, 0x22, 0xbb, 0x01, 0x0a, 0x0e, + 0x41, 0x57, 0x53, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x61, 0x6e, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x61, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x1a, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x75, 0x73, 0x74, 0x4f, 0x6e, 0x46, 0x69, + 0x72, 0x73, 0x74, 0x55, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x67, 0x65, 0x22, 0xe0, 0x01, 0x0a, 0x10, 0x41, 0x7a, + 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x1b, + 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x73, 0x61, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x61, 0x6e, 0x73, + 0x12, 0x3a, 0x0a, 0x1a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x75, + 0x73, 0x74, 0x4f, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x55, 0x73, 0x65, 0x22, 0x2c, 0x0a, 0x0f, + 0x41, 0x43, 0x4d, 0x45, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, + 0x19, 0x0a, 0x08, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6e, 0x22, 0x26, 0x0a, 0x0e, 0x58, 0x35, + 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, + 0x72, 0x6f, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x6f, 0x6f, + 0x74, 0x73, 0x22, 0x33, 0x0a, 0x10, 0x4b, 0x38, 0x73, 0x53, 0x41, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x53, 0x48, 0x50, 0x4f, + 0x50, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x42, 0x2d, 0x5a, 0x2b, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6d, 0x61, 0x6c, 0x6c, + 0x73, 0x74, 0x65, 0x70, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x73, 0x2f, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x64, 0x6f, 0x6d, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_majordomo_provisioners_proto_rawDescOnce sync.Once + file_majordomo_provisioners_proto_rawDescData = file_majordomo_provisioners_proto_rawDesc +) + +func file_majordomo_provisioners_proto_rawDescGZIP() []byte { + file_majordomo_provisioners_proto_rawDescOnce.Do(func() { + file_majordomo_provisioners_proto_rawDescData = protoimpl.X.CompressGZIP(file_majordomo_provisioners_proto_rawDescData) + }) + return file_majordomo_provisioners_proto_rawDescData +} + +var file_majordomo_provisioners_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_majordomo_provisioners_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_majordomo_provisioners_proto_goTypes = []interface{}{ + (Administrator_Type)(0), // 0: majordomo.Administrator.Type + (Provisioner_Type)(0), // 1: majordomo.Provisioner.Type + (*Administrator)(nil), // 2: majordomo.Administrator + (*Provisioner)(nil), // 3: majordomo.Provisioner + (*ProvisionerDetails)(nil), // 4: majordomo.ProvisionerDetails + (*ProvisionerList)(nil), // 5: majordomo.ProvisionerList + (*Claims)(nil), // 6: majordomo.Claims + (*X509Claims)(nil), // 7: majordomo.X509Claims + (*SSHClaims)(nil), // 8: majordomo.SSHClaims + (*Durations)(nil), // 9: majordomo.Durations + (*JWKProvisioner)(nil), // 10: majordomo.JWKProvisioner + (*OIDCProvisioner)(nil), // 11: majordomo.OIDCProvisioner + (*GCPProvisioner)(nil), // 12: majordomo.GCPProvisioner + (*AWSProvisioner)(nil), // 13: majordomo.AWSProvisioner + (*AzureProvisioner)(nil), // 14: majordomo.AzureProvisioner + (*ACMEProvisioner)(nil), // 15: majordomo.ACMEProvisioner + (*X5CProvisioner)(nil), // 16: majordomo.X5CProvisioner + (*K8SSAProvisioner)(nil), // 17: majordomo.K8sSAProvisioner + (*SSHPOPProvisioner)(nil), // 18: majordomo.SSHPOPProvisioner +} +var file_majordomo_provisioners_proto_depIdxs = []int32{ + 0, // 0: majordomo.Administrator.type:type_name -> majordomo.Administrator.Type + 1, // 1: majordomo.Provisioner.type:type_name -> majordomo.Provisioner.Type + 4, // 2: majordomo.Provisioner.details:type_name -> majordomo.ProvisionerDetails + 6, // 3: majordomo.Provisioner.claims:type_name -> majordomo.Claims + 10, // 4: majordomo.ProvisionerDetails.JWK:type_name -> majordomo.JWKProvisioner + 11, // 5: majordomo.ProvisionerDetails.OIDC:type_name -> majordomo.OIDCProvisioner + 12, // 6: majordomo.ProvisionerDetails.GCP:type_name -> majordomo.GCPProvisioner + 13, // 7: majordomo.ProvisionerDetails.AWS:type_name -> majordomo.AWSProvisioner + 14, // 8: majordomo.ProvisionerDetails.Azure:type_name -> majordomo.AzureProvisioner + 15, // 9: majordomo.ProvisionerDetails.ACME:type_name -> majordomo.ACMEProvisioner + 16, // 10: majordomo.ProvisionerDetails.X5C:type_name -> majordomo.X5CProvisioner + 17, // 11: majordomo.ProvisionerDetails.K8sSA:type_name -> majordomo.K8sSAProvisioner + 18, // 12: majordomo.ProvisionerDetails.SSHPOP:type_name -> majordomo.SSHPOPProvisioner + 3, // 13: majordomo.ProvisionerList.provisioners:type_name -> majordomo.Provisioner + 7, // 14: majordomo.Claims.x509:type_name -> majordomo.X509Claims + 8, // 15: majordomo.Claims.ssh:type_name -> majordomo.SSHClaims + 9, // 16: majordomo.X509Claims.durations:type_name -> majordomo.Durations + 9, // 17: majordomo.SSHClaims.user_durations:type_name -> majordomo.Durations + 9, // 18: majordomo.SSHClaims.host_durations:type_name -> majordomo.Durations + 19, // [19:19] is the sub-list for method output_type + 19, // [19:19] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name +} + +func init() { file_majordomo_provisioners_proto_init() } +func file_majordomo_provisioners_proto_init() { + if File_majordomo_provisioners_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_majordomo_provisioners_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Administrator); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Provisioner); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProvisionerDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProvisionerList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Claims); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*X509Claims); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SSHClaims); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Durations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWKProvisioner); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OIDCProvisioner); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GCPProvisioner); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AWSProvisioner); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AzureProvisioner); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ACMEProvisioner); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*X5CProvisioner); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*K8SSAProvisioner); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_majordomo_provisioners_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SSHPOPProvisioner); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_majordomo_provisioners_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*ProvisionerDetails_JWK)(nil), + (*ProvisionerDetails_OIDC)(nil), + (*ProvisionerDetails_GCP)(nil), + (*ProvisionerDetails_AWS)(nil), + (*ProvisionerDetails_Azure)(nil), + (*ProvisionerDetails_ACME)(nil), + (*ProvisionerDetails_X5C)(nil), + (*ProvisionerDetails_K8SSA)(nil), + (*ProvisionerDetails_SSHPOP)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_majordomo_provisioners_proto_rawDesc, + NumEnums: 2, + NumMessages: 17, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_majordomo_provisioners_proto_goTypes, + DependencyIndexes: file_majordomo_provisioners_proto_depIdxs, + EnumInfos: file_majordomo_provisioners_proto_enumTypes, + MessageInfos: file_majordomo_provisioners_proto_msgTypes, + }.Build() + File_majordomo_provisioners_proto = out.File + file_majordomo_provisioners_proto_rawDesc = nil + file_majordomo_provisioners_proto_goTypes = nil + file_majordomo_provisioners_proto_depIdxs = nil +} diff --git a/majordomo/provisioners.proto b/majordomo/provisioners.proto new file mode 100644 index 00000000..7dd7f0c1 --- /dev/null +++ b/majordomo/provisioners.proto @@ -0,0 +1,137 @@ +syntax = "proto3"; + +package majordomo; + +option go_package = "github.com/smallstep/certificates/majordomo"; + +message Administrator { + enum Type { + UNKNOWN = 0; + ADMIN = 1; + SUPER_ADMIN = 2; + } + string id = 1; + string authority_id = 2; + string subject = 3; + string provisioner_id = 4; + Type type = 5; +} + +message Provisioner { + enum Type { + NOOP = 0; + JWK = 1; + OIDC = 2; + GCP = 3; + AWS = 4; + AZURE = 5; + ACME = 6; + X5C = 7; + K8SSA = 8; + SSHPOP = 9; + } + string id = 1; + string authority_id = 2; + Type type = 3; + string name = 4; + ProvisionerDetails details = 5; + Claims claims = 6; + bytes x509_template = 7; + bytes x509_template_data = 8; + bytes ssh_template = 9; + bytes ssh_template_data = 10; +} + +message ProvisionerDetails { + oneof data { + JWKProvisioner JWK = 20; + OIDCProvisioner OIDC = 21; + GCPProvisioner GCP = 22; + AWSProvisioner AWS = 23; + AzureProvisioner Azure = 24; + ACMEProvisioner ACME = 25; + X5CProvisioner X5C = 26; + K8sSAProvisioner K8sSA = 27; + SSHPOPProvisioner SSHPOP = 28; + } +} + +message ProvisionerList { + repeated Provisioner provisioners = 1; +} + +message Claims { + X509Claims x509 = 1; + SSHClaims ssh = 2; + bool disable_renewal = 3; +} + +message X509Claims { + bool enabled = 1; + Durations durations = 2; +} + +message SSHClaims { + bool enabled = 1; + Durations user_durations = 2; + Durations host_durations = 3; +} + +message Durations { + string default = 1; + string min = 2; + string max = 3; +} + +message JWKProvisioner { + bytes public_key = 1; + bytes encrypted_private_key = 2; +} + +message OIDCProvisioner { + string client_id = 1; + string client_secret = 2; + string configuration_endpoint = 3; + repeated string admins = 4; + repeated string domains = 5; + repeated string groups = 6; + string listen_address = 7; + string tenant_id = 8; +} + +message GCPProvisioner { + repeated string service_accounts = 1; + repeated string project_ids = 2; + bool disable_custom_sans = 3; + bool disable_trust_on_first_use = 4; + string instance_age = 5; +} + +message AWSProvisioner { + repeated string accounts = 1; + bool disable_custom_sans = 2; + bool disable_trust_on_first_use = 3; + string instance_age = 4; +} + +message AzureProvisioner { + string tenant_id = 1; + repeated string resource_groups = 2; + string audience = 3; + bool disable_custom_sans = 4; + bool disable_trust_on_first_use = 5; +} + +message ACMEProvisioner { + bool force_cn = 1; +} + +message X5CProvisioner { + repeated bytes roots = 1; +} + +message K8sSAProvisioner { + repeated bytes public_keys = 1; +} + +message SSHPOPProvisioner {}