From 39d7e0a6c4c0af449e713ceb56d9e7899aa36a22 Mon Sep 17 00:00:00 2001 From: Alex Dunmow Date: Sat, 5 Sep 2026 21:14:15 +0800 Subject: [PATCH] chore: checkpoint all working changes --- internal/api/orchestrator/v1/accounts.pb.go | 3506 +++++++ internal/api/orchestrator/v1/auth.pb.go | 3168 ++++++ internal/api/orchestrator/v1/billing.pb.go | 7933 +++++++++++++++ internal/api/orchestrator/v1/dns.pb.go | 2457 +++++ internal/api/orchestrator/v1/domains.pb.go | 3534 +++++++ internal/api/orchestrator/v1/email.pb.go | 448 + internal/api/orchestrator/v1/helpdesk.pb.go | 3376 +++++++ .../api/orchestrator/v1/infrastructure.pb.go | 8558 +++++++++++++++++ internal/api/orchestrator/v1/instances.pb.go | 6238 ++++++++++++ internal/api/orchestrator/v1/invites.pb.go | 959 ++ internal/api/orchestrator/v1/nodes.pb.go | 4736 +++++++++ .../orchestratorv1connect/accounts.connect.go | 648 ++ .../v1/orchestratorv1connect/auth.connect.go | 854 ++ .../orchestratorv1connect/billing.connect.go | 1571 +++ .../v1/orchestratorv1connect/dns.connect.go | 543 ++ .../orchestratorv1connect/domains.connect.go | 698 ++ .../v1/orchestratorv1connect/email.connect.go | 141 + .../orchestratorv1connect/helpdesk.connect.go | 580 ++ .../infrastructure.connect.go | 1554 +++ .../instances.connect.go | 1423 +++ .../orchestratorv1connect/invites.connect.go | 266 + .../v1/orchestratorv1connect/nodes.connect.go | 759 ++ .../platform_backups.connect.go | 402 + .../plugin_builds.connect.go | 115 + .../plugin_registry.connect.go | 1992 ++++ .../v1/orchestratorv1connect/push.connect.go | 210 + .../orchestratorv1connect/registry.connect.go | 266 + .../reporting.connect.go | 392 + .../orchestratorv1connect/settings.connect.go | 208 + .../v1/orchestratorv1connect/sso.connect.go | 142 + .../orchestrator/v1/platform_backups.pb.go | 1742 ++++ .../api/orchestrator/v1/plugin_builds.pb.go | 235 + .../api/orchestrator/v1/plugin_registry.pb.go | 7810 +++++++++++++++ internal/api/orchestrator/v1/push.pb.go | 876 ++ internal/api/orchestrator/v1/registry.pb.go | 1306 +++ internal/api/orchestrator/v1/reporting.pb.go | 2206 +++++ internal/api/orchestrator/v1/settings.pb.go | 539 ++ internal/api/orchestrator/v1/sso.pb.go | 343 + proto | 2 +- 39 files changed, 72735 insertions(+), 1 deletion(-) create mode 100644 internal/api/orchestrator/v1/accounts.pb.go create mode 100644 internal/api/orchestrator/v1/auth.pb.go create mode 100644 internal/api/orchestrator/v1/billing.pb.go create mode 100644 internal/api/orchestrator/v1/dns.pb.go create mode 100644 internal/api/orchestrator/v1/domains.pb.go create mode 100644 internal/api/orchestrator/v1/email.pb.go create mode 100644 internal/api/orchestrator/v1/helpdesk.pb.go create mode 100644 internal/api/orchestrator/v1/infrastructure.pb.go create mode 100644 internal/api/orchestrator/v1/instances.pb.go create mode 100644 internal/api/orchestrator/v1/invites.pb.go create mode 100644 internal/api/orchestrator/v1/nodes.pb.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/accounts.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/auth.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/billing.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/dns.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/domains.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/email.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/helpdesk.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/infrastructure.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/instances.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/invites.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/nodes.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/platform_backups.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/plugin_builds.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/plugin_registry.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/push.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/registry.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/reporting.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/settings.connect.go create mode 100644 internal/api/orchestrator/v1/orchestratorv1connect/sso.connect.go create mode 100644 internal/api/orchestrator/v1/platform_backups.pb.go create mode 100644 internal/api/orchestrator/v1/plugin_builds.pb.go create mode 100644 internal/api/orchestrator/v1/plugin_registry.pb.go create mode 100644 internal/api/orchestrator/v1/push.pb.go create mode 100644 internal/api/orchestrator/v1/registry.pb.go create mode 100644 internal/api/orchestrator/v1/reporting.pb.go create mode 100644 internal/api/orchestrator/v1/settings.pb.go create mode 100644 internal/api/orchestrator/v1/sso.pb.go diff --git a/internal/api/orchestrator/v1/accounts.pb.go b/internal/api/orchestrator/v1/accounts.pb.go new file mode 100644 index 0000000..9b9be49 --- /dev/null +++ b/internal/api/orchestrator/v1/accounts.pb.go @@ -0,0 +1,3506 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/accounts.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Account status +type AccountStatus int32 + +const ( + AccountStatus_ACCOUNT_STATUS_UNSPECIFIED AccountStatus = 0 + AccountStatus_ACCOUNT_STATUS_PENDING AccountStatus = 1 + AccountStatus_ACCOUNT_STATUS_ACTIVE AccountStatus = 2 + AccountStatus_ACCOUNT_STATUS_SUSPENDED AccountStatus = 3 + AccountStatus_ACCOUNT_STATUS_CANCELED AccountStatus = 4 + AccountStatus_ACCOUNT_STATUS_PENDING_DELETION AccountStatus = 5 +) + +// Enum value maps for AccountStatus. +var ( + AccountStatus_name = map[int32]string{ + 0: "ACCOUNT_STATUS_UNSPECIFIED", + 1: "ACCOUNT_STATUS_PENDING", + 2: "ACCOUNT_STATUS_ACTIVE", + 3: "ACCOUNT_STATUS_SUSPENDED", + 4: "ACCOUNT_STATUS_CANCELED", + 5: "ACCOUNT_STATUS_PENDING_DELETION", + } + AccountStatus_value = map[string]int32{ + "ACCOUNT_STATUS_UNSPECIFIED": 0, + "ACCOUNT_STATUS_PENDING": 1, + "ACCOUNT_STATUS_ACTIVE": 2, + "ACCOUNT_STATUS_SUSPENDED": 3, + "ACCOUNT_STATUS_CANCELED": 4, + "ACCOUNT_STATUS_PENDING_DELETION": 5, + } +) + +func (x AccountStatus) Enum() *AccountStatus { + p := new(AccountStatus) + *p = x + return p +} + +func (x AccountStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AccountStatus) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_accounts_proto_enumTypes[0].Descriptor() +} + +func (AccountStatus) Type() protoreflect.EnumType { + return &file_orchestrator_v1_accounts_proto_enumTypes[0] +} + +func (x AccountStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AccountStatus.Descriptor instead. +func (AccountStatus) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{0} +} + +// Account role for team members +type AccountRole int32 + +const ( + AccountRole_ACCOUNT_ROLE_UNSPECIFIED AccountRole = 0 + AccountRole_ACCOUNT_ROLE_MEMBER AccountRole = 1 + AccountRole_ACCOUNT_ROLE_MANAGER AccountRole = 2 + AccountRole_ACCOUNT_ROLE_OWNER AccountRole = 3 +) + +// Enum value maps for AccountRole. +var ( + AccountRole_name = map[int32]string{ + 0: "ACCOUNT_ROLE_UNSPECIFIED", + 1: "ACCOUNT_ROLE_MEMBER", + 2: "ACCOUNT_ROLE_MANAGER", + 3: "ACCOUNT_ROLE_OWNER", + } + AccountRole_value = map[string]int32{ + "ACCOUNT_ROLE_UNSPECIFIED": 0, + "ACCOUNT_ROLE_MEMBER": 1, + "ACCOUNT_ROLE_MANAGER": 2, + "ACCOUNT_ROLE_OWNER": 3, + } +) + +func (x AccountRole) Enum() *AccountRole { + p := new(AccountRole) + *p = x + return p +} + +func (x AccountRole) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AccountRole) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_accounts_proto_enumTypes[1].Descriptor() +} + +func (AccountRole) Type() protoreflect.EnumType { + return &file_orchestrator_v1_accounts_proto_enumTypes[1] +} + +func (x AccountRole) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AccountRole.Descriptor instead. +func (AccountRole) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{1} +} + +type VaultCheckStatus int32 + +const ( + VaultCheckStatus_VAULT_CHECK_STATUS_UNSPECIFIED VaultCheckStatus = 0 + VaultCheckStatus_VAULT_CHECK_STATUS_HEALTHY VaultCheckStatus = 1 + VaultCheckStatus_VAULT_CHECK_STATUS_UNHEALTHY VaultCheckStatus = 2 + VaultCheckStatus_VAULT_CHECK_STATUS_NOT_FOUND VaultCheckStatus = 3 +) + +// Enum value maps for VaultCheckStatus. +var ( + VaultCheckStatus_name = map[int32]string{ + 0: "VAULT_CHECK_STATUS_UNSPECIFIED", + 1: "VAULT_CHECK_STATUS_HEALTHY", + 2: "VAULT_CHECK_STATUS_UNHEALTHY", + 3: "VAULT_CHECK_STATUS_NOT_FOUND", + } + VaultCheckStatus_value = map[string]int32{ + "VAULT_CHECK_STATUS_UNSPECIFIED": 0, + "VAULT_CHECK_STATUS_HEALTHY": 1, + "VAULT_CHECK_STATUS_UNHEALTHY": 2, + "VAULT_CHECK_STATUS_NOT_FOUND": 3, + } +) + +func (x VaultCheckStatus) Enum() *VaultCheckStatus { + p := new(VaultCheckStatus) + *p = x + return p +} + +func (x VaultCheckStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (VaultCheckStatus) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_accounts_proto_enumTypes[2].Descriptor() +} + +func (VaultCheckStatus) Type() protoreflect.EnumType { + return &file_orchestrator_v1_accounts_proto_enumTypes[2] +} + +func (x VaultCheckStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use VaultCheckStatus.Descriptor instead. +func (VaultCheckStatus) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{2} +} + +// AccountUser represents a user's active membership in an account. Pending +// invites are no longer modelled here — see InviteService / PendingInvite. +type AccountUser struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` + FirstName string `protobuf:"bytes,5,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,6,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + Role AccountRole `protobuf:"varint,7,opt,name=role,proto3,enum=orchestrator.v1.AccountRole" json:"role,omitempty"` + HasBillingAccess bool `protobuf:"varint,8,opt,name=has_billing_access,json=hasBillingAccess,proto3" json:"has_billing_access,omitempty"` + LastAccessedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=last_accessed_at,json=lastAccessedAt,proto3,oneof" json:"last_accessed_at,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AccountUser) Reset() { + *x = AccountUser{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AccountUser) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountUser) ProtoMessage() {} + +func (x *AccountUser) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountUser.ProtoReflect.Descriptor instead. +func (*AccountUser) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{0} +} + +func (x *AccountUser) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AccountUser) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *AccountUser) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *AccountUser) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *AccountUser) GetFirstName() string { + if x != nil { + return x.FirstName + } + return "" +} + +func (x *AccountUser) GetLastName() string { + if x != nil { + return x.LastName + } + return "" +} + +func (x *AccountUser) GetRole() AccountRole { + if x != nil { + return x.Role + } + return AccountRole_ACCOUNT_ROLE_UNSPECIFIED +} + +func (x *AccountUser) GetHasBillingAccess() bool { + if x != nil { + return x.HasBillingAccess + } + return false +} + +func (x *AccountUser) GetLastAccessedAt() *timestamppb.Timestamp { + if x != nil { + return x.LastAccessedAt + } + return nil +} + +func (x *AccountUser) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +// Plan represents a subscription tier (per-site billing) +type Plan struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + Tier int32 `protobuf:"varint,5,opt,name=tier,proto3" json:"tier,omitempty"` + MonthlyPriceCents int32 `protobuf:"varint,6,opt,name=monthly_price_cents,json=monthlyPriceCents,proto3" json:"monthly_price_cents,omitempty"` + AnnualPriceCents *int32 `protobuf:"varint,7,opt,name=annual_price_cents,json=annualPriceCents,proto3,oneof" json:"annual_price_cents,omitempty"` + MaxInstances *int32 `protobuf:"varint,8,opt,name=max_instances,json=maxInstances,proto3,oneof" json:"max_instances,omitempty"` // DEPRECATED: Not used in per-site billing + MaxStorageGb *int32 `protobuf:"varint,9,opt,name=max_storage_gb,json=maxStorageGb,proto3,oneof" json:"max_storage_gb,omitempty"` + MaxBandwidthGb *int32 `protobuf:"varint,10,opt,name=max_bandwidth_gb,json=maxBandwidthGb,proto3,oneof" json:"max_bandwidth_gb,omitempty"` + MaxPagesPerInstance *int32 `protobuf:"varint,11,opt,name=max_pages_per_instance,json=maxPagesPerInstance,proto3,oneof" json:"max_pages_per_instance,omitempty"` + MaxMediaStorageGb *int32 `protobuf:"varint,12,opt,name=max_media_storage_gb,json=maxMediaStorageGb,proto3,oneof" json:"max_media_storage_gb,omitempty"` + MaxUsersPerInstance *int32 `protobuf:"varint,13,opt,name=max_users_per_instance,json=maxUsersPerInstance,proto3,oneof" json:"max_users_per_instance,omitempty"` + Features []string `protobuf:"bytes,14,rep,name=features,proto3" json:"features,omitempty"` // Feature keys included in this plan (e.g., "search", "plugins") + IsActive bool `protobuf:"varint,15,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + IsPublic bool `protobuf:"varint,16,opt,name=is_public,json=isPublic,proto3" json:"is_public,omitempty"` + TrialPeriodDays *int32 `protobuf:"varint,18,opt,name=trial_period_days,json=trialPeriodDays,proto3,oneof" json:"trial_period_days,omitempty"` // Trial period in days (default 14) + // Billing configuration (added for pricing page) + IsFreeTier bool `protobuf:"varint,19,opt,name=is_free_tier,json=isFreeTier,proto3" json:"is_free_tier,omitempty"` // Free plan with hard limits + HasHardLimits bool `protobuf:"varint,20,opt,name=has_hard_limits,json=hasHardLimits,proto3" json:"has_hard_limits,omitempty"` // Hard limits (block) vs soft (overage) + IncludedUsers int32 `protobuf:"varint,21,opt,name=included_users,json=includedUsers,proto3" json:"included_users,omitempty"` // Users included in plan + StorageOverageCentsPerGb int32 `protobuf:"varint,22,opt,name=storage_overage_cents_per_gb,json=storageOverageCentsPerGb,proto3" json:"storage_overage_cents_per_gb,omitempty"` // Overage rate for storage + BandwidthOverageCentsPerGb int32 `protobuf:"varint,23,opt,name=bandwidth_overage_cents_per_gb,json=bandwidthOverageCentsPerGb,proto3" json:"bandwidth_overage_cents_per_gb,omitempty"` // Overage rate for bandwidth + UserOverageCents int32 `protobuf:"varint,24,opt,name=user_overage_cents,json=userOverageCents,proto3" json:"user_overage_cents,omitempty"` // Overage rate per additional user + IsContactSales bool `protobuf:"varint,25,opt,name=is_contact_sales,json=isContactSales,proto3" json:"is_contact_sales,omitempty"` // Display "Contact Sales" instead of price + // Email limits + MaxEmailsPerMonth int32 `protobuf:"varint,26,opt,name=max_emails_per_month,json=maxEmailsPerMonth,proto3" json:"max_emails_per_month,omitempty"` // Monthly email quota + EmailOverageCentsPerHundred int32 `protobuf:"varint,27,opt,name=email_overage_cents_per_hundred,json=emailOverageCentsPerHundred,proto3" json:"email_overage_cents_per_hundred,omitempty"` // Overage rate per 100 emails (0 = no overage) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Plan) Reset() { + *x = Plan{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Plan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Plan) ProtoMessage() {} + +func (x *Plan) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Plan.ProtoReflect.Descriptor instead. +func (*Plan) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{1} +} + +func (x *Plan) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Plan) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *Plan) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Plan) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Plan) GetTier() int32 { + if x != nil { + return x.Tier + } + return 0 +} + +func (x *Plan) GetMonthlyPriceCents() int32 { + if x != nil { + return x.MonthlyPriceCents + } + return 0 +} + +func (x *Plan) GetAnnualPriceCents() int32 { + if x != nil && x.AnnualPriceCents != nil { + return *x.AnnualPriceCents + } + return 0 +} + +func (x *Plan) GetMaxInstances() int32 { + if x != nil && x.MaxInstances != nil { + return *x.MaxInstances + } + return 0 +} + +func (x *Plan) GetMaxStorageGb() int32 { + if x != nil && x.MaxStorageGb != nil { + return *x.MaxStorageGb + } + return 0 +} + +func (x *Plan) GetMaxBandwidthGb() int32 { + if x != nil && x.MaxBandwidthGb != nil { + return *x.MaxBandwidthGb + } + return 0 +} + +func (x *Plan) GetMaxPagesPerInstance() int32 { + if x != nil && x.MaxPagesPerInstance != nil { + return *x.MaxPagesPerInstance + } + return 0 +} + +func (x *Plan) GetMaxMediaStorageGb() int32 { + if x != nil && x.MaxMediaStorageGb != nil { + return *x.MaxMediaStorageGb + } + return 0 +} + +func (x *Plan) GetMaxUsersPerInstance() int32 { + if x != nil && x.MaxUsersPerInstance != nil { + return *x.MaxUsersPerInstance + } + return 0 +} + +func (x *Plan) GetFeatures() []string { + if x != nil { + return x.Features + } + return nil +} + +func (x *Plan) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *Plan) GetIsPublic() bool { + if x != nil { + return x.IsPublic + } + return false +} + +func (x *Plan) GetTrialPeriodDays() int32 { + if x != nil && x.TrialPeriodDays != nil { + return *x.TrialPeriodDays + } + return 0 +} + +func (x *Plan) GetIsFreeTier() bool { + if x != nil { + return x.IsFreeTier + } + return false +} + +func (x *Plan) GetHasHardLimits() bool { + if x != nil { + return x.HasHardLimits + } + return false +} + +func (x *Plan) GetIncludedUsers() int32 { + if x != nil { + return x.IncludedUsers + } + return 0 +} + +func (x *Plan) GetStorageOverageCentsPerGb() int32 { + if x != nil { + return x.StorageOverageCentsPerGb + } + return 0 +} + +func (x *Plan) GetBandwidthOverageCentsPerGb() int32 { + if x != nil { + return x.BandwidthOverageCentsPerGb + } + return 0 +} + +func (x *Plan) GetUserOverageCents() int32 { + if x != nil { + return x.UserOverageCents + } + return 0 +} + +func (x *Plan) GetIsContactSales() bool { + if x != nil { + return x.IsContactSales + } + return false +} + +func (x *Plan) GetMaxEmailsPerMonth() int32 { + if x != nil { + return x.MaxEmailsPerMonth + } + return 0 +} + +func (x *Plan) GetEmailOverageCentsPerHundred() int32 { + if x != nil { + return x.EmailOverageCentsPerHundred + } + return 0 +} + +// Account represents a customer organization (billing consolidation entity) +type Account struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"` + OwnerUserId string `protobuf:"bytes,4,opt,name=owner_user_id,json=ownerUserId,proto3" json:"owner_user_id,omitempty"` + BillingEmail string `protobuf:"bytes,5,opt,name=billing_email,json=billingEmail,proto3" json:"billing_email,omitempty"` + BillingName *string `protobuf:"bytes,6,opt,name=billing_name,json=billingName,proto3,oneof" json:"billing_name,omitempty"` + StripeCustomerId *string `protobuf:"bytes,7,opt,name=stripe_customer_id,json=stripeCustomerId,proto3,oneof" json:"stripe_customer_id,omitempty"` // Stripe customer ID for billing + PlanId *string `protobuf:"bytes,8,opt,name=plan_id,json=planId,proto3,oneof" json:"plan_id,omitempty"` // DEPRECATED: Plans are per-instance now + Plan *Plan `protobuf:"bytes,9,opt,name=plan,proto3,oneof" json:"plan,omitempty"` // DEPRECATED: Plans are per-instance now + Status AccountStatus `protobuf:"varint,10,opt,name=status,proto3,enum=orchestrator.v1.AccountStatus" json:"status,omitempty"` + TrialEndsAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=trial_ends_at,json=trialEndsAt,proto3,oneof" json:"trial_ends_at,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + DeletionRequestedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=deletion_requested_at,json=deletionRequestedAt,proto3,oneof" json:"deletion_requested_at,omitempty"` // When deletion was requested (48hr countdown) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Account) Reset() { + *x = Account{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Account) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Account) ProtoMessage() {} + +func (x *Account) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Account.ProtoReflect.Descriptor instead. +func (*Account) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{2} +} + +func (x *Account) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Account) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Account) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *Account) GetOwnerUserId() string { + if x != nil { + return x.OwnerUserId + } + return "" +} + +func (x *Account) GetBillingEmail() string { + if x != nil { + return x.BillingEmail + } + return "" +} + +func (x *Account) GetBillingName() string { + if x != nil && x.BillingName != nil { + return *x.BillingName + } + return "" +} + +func (x *Account) GetStripeCustomerId() string { + if x != nil && x.StripeCustomerId != nil { + return *x.StripeCustomerId + } + return "" +} + +func (x *Account) GetPlanId() string { + if x != nil && x.PlanId != nil { + return *x.PlanId + } + return "" +} + +func (x *Account) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +func (x *Account) GetStatus() AccountStatus { + if x != nil { + return x.Status + } + return AccountStatus_ACCOUNT_STATUS_UNSPECIFIED +} + +func (x *Account) GetTrialEndsAt() *timestamppb.Timestamp { + if x != nil { + return x.TrialEndsAt + } + return nil +} + +func (x *Account) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *Account) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *Account) GetDeletionRequestedAt() *timestamppb.Timestamp { + if x != nil { + return x.DeletionRequestedAt + } + return nil +} + +type CreateAccountRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` + BillingEmail string `protobuf:"bytes,3,opt,name=billing_email,json=billingEmail,proto3" json:"billing_email,omitempty"` + BillingName *string `protobuf:"bytes,4,opt,name=billing_name,json=billingName,proto3,oneof" json:"billing_name,omitempty"` + PlanId *string `protobuf:"bytes,5,opt,name=plan_id,json=planId,proto3,oneof" json:"plan_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateAccountRequest) Reset() { + *x = CreateAccountRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAccountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAccountRequest) ProtoMessage() {} + +func (x *CreateAccountRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateAccountRequest.ProtoReflect.Descriptor instead. +func (*CreateAccountRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{3} +} + +func (x *CreateAccountRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateAccountRequest) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *CreateAccountRequest) GetBillingEmail() string { + if x != nil { + return x.BillingEmail + } + return "" +} + +func (x *CreateAccountRequest) GetBillingName() string { + if x != nil && x.BillingName != nil { + return *x.BillingName + } + return "" +} + +func (x *CreateAccountRequest) GetPlanId() string { + if x != nil && x.PlanId != nil { + return *x.PlanId + } + return "" +} + +type CreateAccountResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Account *Account `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateAccountResponse) Reset() { + *x = CreateAccountResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAccountResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAccountResponse) ProtoMessage() {} + +func (x *CreateAccountResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateAccountResponse.ProtoReflect.Descriptor instead. +func (*CreateAccountResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{4} +} + +func (x *CreateAccountResponse) GetAccount() *Account { + if x != nil { + return x.Account + } + return nil +} + +type GetAccountRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountRequest) Reset() { + *x = GetAccountRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountRequest) ProtoMessage() {} + +func (x *GetAccountRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAccountRequest.ProtoReflect.Descriptor instead. +func (*GetAccountRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{5} +} + +func (x *GetAccountRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetAccountResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Account *Account `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountResponse) Reset() { + *x = GetAccountResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountResponse) ProtoMessage() {} + +func (x *GetAccountResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAccountResponse.ProtoReflect.Descriptor instead. +func (*GetAccountResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{6} +} + +func (x *GetAccountResponse) GetAccount() *Account { + if x != nil { + return x.Account + } + return nil +} + +type ListAccountsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status *AccountStatus `protobuf:"varint,1,opt,name=status,proto3,enum=orchestrator.v1.AccountStatus,oneof" json:"status,omitempty"` + PlanId *string `protobuf:"bytes,2,opt,name=plan_id,json=planId,proto3,oneof" json:"plan_id,omitempty"` + Search *string `protobuf:"bytes,3,opt,name=search,proto3,oneof" json:"search,omitempty"` + Page int32 `protobuf:"varint,4,opt,name=page,proto3" json:"page,omitempty"` + PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAccountsRequest) Reset() { + *x = ListAccountsRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAccountsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAccountsRequest) ProtoMessage() {} + +func (x *ListAccountsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAccountsRequest.ProtoReflect.Descriptor instead. +func (*ListAccountsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{7} +} + +func (x *ListAccountsRequest) GetStatus() AccountStatus { + if x != nil && x.Status != nil { + return *x.Status + } + return AccountStatus_ACCOUNT_STATUS_UNSPECIFIED +} + +func (x *ListAccountsRequest) GetPlanId() string { + if x != nil && x.PlanId != nil { + return *x.PlanId + } + return "" +} + +func (x *ListAccountsRequest) GetSearch() string { + if x != nil && x.Search != nil { + return *x.Search + } + return "" +} + +func (x *ListAccountsRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListAccountsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +type ListAccountsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Accounts []*Account `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` + Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAccountsResponse) Reset() { + *x = ListAccountsResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAccountsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAccountsResponse) ProtoMessage() {} + +func (x *ListAccountsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAccountsResponse.ProtoReflect.Descriptor instead. +func (*ListAccountsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{8} +} + +func (x *ListAccountsResponse) GetAccounts() []*Account { + if x != nil { + return x.Accounts + } + return nil +} + +func (x *ListAccountsResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type ListMyAccountsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyAccountsRequest) Reset() { + *x = ListMyAccountsRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyAccountsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyAccountsRequest) ProtoMessage() {} + +func (x *ListMyAccountsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyAccountsRequest.ProtoReflect.Descriptor instead. +func (*ListMyAccountsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{9} +} + +type ListMyAccountsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Accounts []*Account `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyAccountsResponse) Reset() { + *x = ListMyAccountsResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyAccountsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyAccountsResponse) ProtoMessage() {} + +func (x *ListMyAccountsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyAccountsResponse.ProtoReflect.Descriptor instead. +func (*ListMyAccountsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{10} +} + +func (x *ListMyAccountsResponse) GetAccounts() []*Account { + if x != nil { + return x.Accounts + } + return nil +} + +type UpdateAccountRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` + BillingEmail *string `protobuf:"bytes,3,opt,name=billing_email,json=billingEmail,proto3,oneof" json:"billing_email,omitempty"` + BillingName *string `protobuf:"bytes,4,opt,name=billing_name,json=billingName,proto3,oneof" json:"billing_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateAccountRequest) Reset() { + *x = UpdateAccountRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateAccountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAccountRequest) ProtoMessage() {} + +func (x *UpdateAccountRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAccountRequest.ProtoReflect.Descriptor instead. +func (*UpdateAccountRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{11} +} + +func (x *UpdateAccountRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateAccountRequest) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *UpdateAccountRequest) GetBillingEmail() string { + if x != nil && x.BillingEmail != nil { + return *x.BillingEmail + } + return "" +} + +func (x *UpdateAccountRequest) GetBillingName() string { + if x != nil && x.BillingName != nil { + return *x.BillingName + } + return "" +} + +type UpdateAccountResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Account *Account `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateAccountResponse) Reset() { + *x = UpdateAccountResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateAccountResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAccountResponse) ProtoMessage() {} + +func (x *UpdateAccountResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAccountResponse.ProtoReflect.Descriptor instead. +func (*UpdateAccountResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{12} +} + +func (x *UpdateAccountResponse) GetAccount() *Account { + if x != nil { + return x.Account + } + return nil +} + +type DeleteAccountRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteAccountRequest) Reset() { + *x = DeleteAccountRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteAccountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteAccountRequest) ProtoMessage() {} + +func (x *DeleteAccountRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteAccountRequest.ProtoReflect.Descriptor instead. +func (*DeleteAccountRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{13} +} + +func (x *DeleteAccountRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DeleteAccountResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteAccountResponse) Reset() { + *x = DeleteAccountResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteAccountResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteAccountResponse) ProtoMessage() {} + +func (x *DeleteAccountResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteAccountResponse.ProtoReflect.Descriptor instead. +func (*DeleteAccountResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{14} +} + +type CancelAccountDeletionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelAccountDeletionRequest) Reset() { + *x = CancelAccountDeletionRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelAccountDeletionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelAccountDeletionRequest) ProtoMessage() {} + +func (x *CancelAccountDeletionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelAccountDeletionRequest.ProtoReflect.Descriptor instead. +func (*CancelAccountDeletionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{15} +} + +func (x *CancelAccountDeletionRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type CancelAccountDeletionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Account *Account `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelAccountDeletionResponse) Reset() { + *x = CancelAccountDeletionResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelAccountDeletionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelAccountDeletionResponse) ProtoMessage() {} + +func (x *CancelAccountDeletionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelAccountDeletionResponse.ProtoReflect.Descriptor instead. +func (*CancelAccountDeletionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{16} +} + +func (x *CancelAccountDeletionResponse) GetAccount() *Account { + if x != nil { + return x.Account + } + return nil +} + +type SuspendAccountRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SuspendAccountRequest) Reset() { + *x = SuspendAccountRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SuspendAccountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SuspendAccountRequest) ProtoMessage() {} + +func (x *SuspendAccountRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SuspendAccountRequest.ProtoReflect.Descriptor instead. +func (*SuspendAccountRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{17} +} + +func (x *SuspendAccountRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *SuspendAccountRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type SuspendAccountResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Account *Account `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SuspendAccountResponse) Reset() { + *x = SuspendAccountResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SuspendAccountResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SuspendAccountResponse) ProtoMessage() {} + +func (x *SuspendAccountResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SuspendAccountResponse.ProtoReflect.Descriptor instead. +func (*SuspendAccountResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{18} +} + +func (x *SuspendAccountResponse) GetAccount() *Account { + if x != nil { + return x.Account + } + return nil +} + +type ReactivateAccountRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReactivateAccountRequest) Reset() { + *x = ReactivateAccountRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReactivateAccountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReactivateAccountRequest) ProtoMessage() {} + +func (x *ReactivateAccountRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReactivateAccountRequest.ProtoReflect.Descriptor instead. +func (*ReactivateAccountRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{19} +} + +func (x *ReactivateAccountRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type ReactivateAccountResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Account *Account `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReactivateAccountResponse) Reset() { + *x = ReactivateAccountResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReactivateAccountResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReactivateAccountResponse) ProtoMessage() {} + +func (x *ReactivateAccountResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReactivateAccountResponse.ProtoReflect.Descriptor instead. +func (*ReactivateAccountResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{20} +} + +func (x *ReactivateAccountResponse) GetAccount() *Account { + if x != nil { + return x.Account + } + return nil +} + +type ListAccountUsersRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAccountUsersRequest) Reset() { + *x = ListAccountUsersRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAccountUsersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAccountUsersRequest) ProtoMessage() {} + +func (x *ListAccountUsersRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAccountUsersRequest.ProtoReflect.Descriptor instead. +func (*ListAccountUsersRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{21} +} + +func (x *ListAccountUsersRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type ListAccountUsersResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Users []*AccountUser `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAccountUsersResponse) Reset() { + *x = ListAccountUsersResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAccountUsersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAccountUsersResponse) ProtoMessage() {} + +func (x *ListAccountUsersResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAccountUsersResponse.ProtoReflect.Descriptor instead. +func (*ListAccountUsersResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{22} +} + +func (x *ListAccountUsersResponse) GetUsers() []*AccountUser { + if x != nil { + return x.Users + } + return nil +} + +type UpdateAccountUserRoleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountUserId string `protobuf:"bytes,1,opt,name=account_user_id,json=accountUserId,proto3" json:"account_user_id,omitempty"` + Role AccountRole `protobuf:"varint,2,opt,name=role,proto3,enum=orchestrator.v1.AccountRole" json:"role,omitempty"` + HasBillingAccess bool `protobuf:"varint,3,opt,name=has_billing_access,json=hasBillingAccess,proto3" json:"has_billing_access,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateAccountUserRoleRequest) Reset() { + *x = UpdateAccountUserRoleRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateAccountUserRoleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAccountUserRoleRequest) ProtoMessage() {} + +func (x *UpdateAccountUserRoleRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAccountUserRoleRequest.ProtoReflect.Descriptor instead. +func (*UpdateAccountUserRoleRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{23} +} + +func (x *UpdateAccountUserRoleRequest) GetAccountUserId() string { + if x != nil { + return x.AccountUserId + } + return "" +} + +func (x *UpdateAccountUserRoleRequest) GetRole() AccountRole { + if x != nil { + return x.Role + } + return AccountRole_ACCOUNT_ROLE_UNSPECIFIED +} + +func (x *UpdateAccountUserRoleRequest) GetHasBillingAccess() bool { + if x != nil { + return x.HasBillingAccess + } + return false +} + +type UpdateAccountUserRoleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountUser *AccountUser `protobuf:"bytes,1,opt,name=account_user,json=accountUser,proto3" json:"account_user,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateAccountUserRoleResponse) Reset() { + *x = UpdateAccountUserRoleResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateAccountUserRoleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAccountUserRoleResponse) ProtoMessage() {} + +func (x *UpdateAccountUserRoleResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAccountUserRoleResponse.ProtoReflect.Descriptor instead. +func (*UpdateAccountUserRoleResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{24} +} + +func (x *UpdateAccountUserRoleResponse) GetAccountUser() *AccountUser { + if x != nil { + return x.AccountUser + } + return nil +} + +type RemoveAccountUserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountUserId string `protobuf:"bytes,1,opt,name=account_user_id,json=accountUserId,proto3" json:"account_user_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveAccountUserRequest) Reset() { + *x = RemoveAccountUserRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveAccountUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveAccountUserRequest) ProtoMessage() {} + +func (x *RemoveAccountUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveAccountUserRequest.ProtoReflect.Descriptor instead. +func (*RemoveAccountUserRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{25} +} + +func (x *RemoveAccountUserRequest) GetAccountUserId() string { + if x != nil { + return x.AccountUserId + } + return "" +} + +type RemoveAccountUserResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveAccountUserResponse) Reset() { + *x = RemoveAccountUserResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveAccountUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveAccountUserResponse) ProtoMessage() {} + +func (x *RemoveAccountUserResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveAccountUserResponse.ProtoReflect.Descriptor instead. +func (*RemoveAccountUserResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{26} +} + +type GetAccountDashboardRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountDashboardRequest) Reset() { + *x = GetAccountDashboardRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountDashboardRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountDashboardRequest) ProtoMessage() {} + +func (x *GetAccountDashboardRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAccountDashboardRequest.ProtoReflect.Descriptor instead. +func (*GetAccountDashboardRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{27} +} + +func (x *GetAccountDashboardRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type GetAccountDashboardResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + TotalStorageBytes int64 `protobuf:"varint,1,opt,name=total_storage_bytes,json=totalStorageBytes,proto3" json:"total_storage_bytes,omitempty"` + TotalBandwidthBytes int64 `protobuf:"varint,2,opt,name=total_bandwidth_bytes,json=totalBandwidthBytes,proto3" json:"total_bandwidth_bytes,omitempty"` + TotalPageviews int64 `protobuf:"varint,3,opt,name=total_pageviews,json=totalPageviews,proto3" json:"total_pageviews,omitempty"` + RunningInstanceCount int32 `protobuf:"varint,4,opt,name=running_instance_count,json=runningInstanceCount,proto3" json:"running_instance_count,omitempty"` + Instances []*AccountInstanceSummary `protobuf:"bytes,5,rep,name=instances,proto3" json:"instances,omitempty"` + RecentActivity []*AuditLogEntry `protobuf:"bytes,6,rep,name=recent_activity,json=recentActivity,proto3" json:"recent_activity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountDashboardResponse) Reset() { + *x = GetAccountDashboardResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountDashboardResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountDashboardResponse) ProtoMessage() {} + +func (x *GetAccountDashboardResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAccountDashboardResponse.ProtoReflect.Descriptor instead. +func (*GetAccountDashboardResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{28} +} + +func (x *GetAccountDashboardResponse) GetTotalStorageBytes() int64 { + if x != nil { + return x.TotalStorageBytes + } + return 0 +} + +func (x *GetAccountDashboardResponse) GetTotalBandwidthBytes() int64 { + if x != nil { + return x.TotalBandwidthBytes + } + return 0 +} + +func (x *GetAccountDashboardResponse) GetTotalPageviews() int64 { + if x != nil { + return x.TotalPageviews + } + return 0 +} + +func (x *GetAccountDashboardResponse) GetRunningInstanceCount() int32 { + if x != nil { + return x.RunningInstanceCount + } + return 0 +} + +func (x *GetAccountDashboardResponse) GetInstances() []*AccountInstanceSummary { + if x != nil { + return x.Instances + } + return nil +} + +func (x *GetAccountDashboardResponse) GetRecentActivity() []*AuditLogEntry { + if x != nil { + return x.RecentActivity + } + return nil +} + +type AccountInstanceSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"` + Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"` + HealthStatus string `protobuf:"bytes,5,opt,name=health_status,json=healthStatus,proto3" json:"health_status,omitempty"` + StorageBytes int64 `protobuf:"varint,6,opt,name=storage_bytes,json=storageBytes,proto3" json:"storage_bytes,omitempty"` + BandwidthBytes int64 `protobuf:"varint,7,opt,name=bandwidth_bytes,json=bandwidthBytes,proto3" json:"bandwidth_bytes,omitempty"` + PrimaryDomain string `protobuf:"bytes,8,opt,name=primary_domain,json=primaryDomain,proto3" json:"primary_domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AccountInstanceSummary) Reset() { + *x = AccountInstanceSummary{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AccountInstanceSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountInstanceSummary) ProtoMessage() {} + +func (x *AccountInstanceSummary) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountInstanceSummary.ProtoReflect.Descriptor instead. +func (*AccountInstanceSummary) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{29} +} + +func (x *AccountInstanceSummary) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AccountInstanceSummary) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AccountInstanceSummary) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *AccountInstanceSummary) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *AccountInstanceSummary) GetHealthStatus() string { + if x != nil { + return x.HealthStatus + } + return "" +} + +func (x *AccountInstanceSummary) GetStorageBytes() int64 { + if x != nil { + return x.StorageBytes + } + return 0 +} + +func (x *AccountInstanceSummary) GetBandwidthBytes() int64 { + if x != nil { + return x.BandwidthBytes + } + return 0 +} + +func (x *AccountInstanceSummary) GetPrimaryDomain() string { + if x != nil { + return x.PrimaryDomain + } + return "" +} + +type AuditLogEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` + Resource string `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"` + ResourceId string `protobuf:"bytes,4,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + UserEmail string `protobuf:"bytes,5,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"` + Details string `protobuf:"bytes,6,opt,name=details,proto3" json:"details,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AuditLogEntry) Reset() { + *x = AuditLogEntry{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AuditLogEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuditLogEntry) ProtoMessage() {} + +func (x *AuditLogEntry) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuditLogEntry.ProtoReflect.Descriptor instead. +func (*AuditLogEntry) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{30} +} + +func (x *AuditLogEntry) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AuditLogEntry) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *AuditLogEntry) GetResource() string { + if x != nil { + return x.Resource + } + return "" +} + +func (x *AuditLogEntry) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +func (x *AuditLogEntry) GetUserEmail() string { + if x != nil { + return x.UserEmail + } + return "" +} + +func (x *AuditLogEntry) GetDetails() string { + if x != nil { + return x.Details + } + return "" +} + +func (x *AuditLogEntry) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type BulkSuspendAccountsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountIds []string `protobuf:"bytes,1,rep,name=account_ids,json=accountIds,proto3" json:"account_ids,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BulkSuspendAccountsRequest) Reset() { + *x = BulkSuspendAccountsRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BulkSuspendAccountsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BulkSuspendAccountsRequest) ProtoMessage() {} + +func (x *BulkSuspendAccountsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BulkSuspendAccountsRequest.ProtoReflect.Descriptor instead. +func (*BulkSuspendAccountsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{31} +} + +func (x *BulkSuspendAccountsRequest) GetAccountIds() []string { + if x != nil { + return x.AccountIds + } + return nil +} + +func (x *BulkSuspendAccountsRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type BulkSuspendAccountsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Results []*BulkOperationResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BulkSuspendAccountsResponse) Reset() { + *x = BulkSuspendAccountsResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BulkSuspendAccountsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BulkSuspendAccountsResponse) ProtoMessage() {} + +func (x *BulkSuspendAccountsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BulkSuspendAccountsResponse.ProtoReflect.Descriptor instead. +func (*BulkSuspendAccountsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{32} +} + +func (x *BulkSuspendAccountsResponse) GetResults() []*BulkOperationResult { + if x != nil { + return x.Results + } + return nil +} + +type BulkReactivateAccountsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountIds []string `protobuf:"bytes,1,rep,name=account_ids,json=accountIds,proto3" json:"account_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BulkReactivateAccountsRequest) Reset() { + *x = BulkReactivateAccountsRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BulkReactivateAccountsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BulkReactivateAccountsRequest) ProtoMessage() {} + +func (x *BulkReactivateAccountsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BulkReactivateAccountsRequest.ProtoReflect.Descriptor instead. +func (*BulkReactivateAccountsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{33} +} + +func (x *BulkReactivateAccountsRequest) GetAccountIds() []string { + if x != nil { + return x.AccountIds + } + return nil +} + +type BulkReactivateAccountsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Results []*BulkOperationResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BulkReactivateAccountsResponse) Reset() { + *x = BulkReactivateAccountsResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BulkReactivateAccountsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BulkReactivateAccountsResponse) ProtoMessage() {} + +func (x *BulkReactivateAccountsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BulkReactivateAccountsResponse.ProtoReflect.Descriptor instead. +func (*BulkReactivateAccountsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{34} +} + +func (x *BulkReactivateAccountsResponse) GetResults() []*BulkOperationResult { + if x != nil { + return x.Results + } + return nil +} + +type BulkOperationResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` + Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BulkOperationResult) Reset() { + *x = BulkOperationResult{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BulkOperationResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BulkOperationResult) ProtoMessage() {} + +func (x *BulkOperationResult) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BulkOperationResult.ProtoReflect.Descriptor instead. +func (*BulkOperationResult) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{35} +} + +func (x *BulkOperationResult) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *BulkOperationResult) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *BulkOperationResult) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +type VaultHealthCheck struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Status VaultCheckStatus `protobuf:"varint,2,opt,name=status,proto3,enum=orchestrator.v1.VaultCheckStatus" json:"status,omitempty"` + Detail string `protobuf:"bytes,3,opt,name=detail,proto3" json:"detail,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VaultHealthCheck) Reset() { + *x = VaultHealthCheck{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VaultHealthCheck) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VaultHealthCheck) ProtoMessage() {} + +func (x *VaultHealthCheck) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VaultHealthCheck.ProtoReflect.Descriptor instead. +func (*VaultHealthCheck) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{36} +} + +func (x *VaultHealthCheck) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *VaultHealthCheck) GetStatus() VaultCheckStatus { + if x != nil { + return x.Status + } + return VaultCheckStatus_VAULT_CHECK_STATUS_UNSPECIFIED +} + +func (x *VaultHealthCheck) GetDetail() string { + if x != nil { + return x.Detail + } + return "" +} + +type InstanceVaultHealth struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + InstanceName string `protobuf:"bytes,2,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` + InstanceSlug string `protobuf:"bytes,3,opt,name=instance_slug,json=instanceSlug,proto3" json:"instance_slug,omitempty"` + SecretPath string `protobuf:"bytes,4,opt,name=secret_path,json=secretPath,proto3" json:"secret_path,omitempty"` + AccessStatus VaultCheckStatus `protobuf:"varint,5,opt,name=access_status,json=accessStatus,proto3,enum=orchestrator.v1.VaultCheckStatus" json:"access_status,omitempty"` + Detail string `protobuf:"bytes,6,opt,name=detail,proto3" json:"detail,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstanceVaultHealth) Reset() { + *x = InstanceVaultHealth{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstanceVaultHealth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceVaultHealth) ProtoMessage() {} + +func (x *InstanceVaultHealth) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceVaultHealth.ProtoReflect.Descriptor instead. +func (*InstanceVaultHealth) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{37} +} + +func (x *InstanceVaultHealth) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *InstanceVaultHealth) GetInstanceName() string { + if x != nil { + return x.InstanceName + } + return "" +} + +func (x *InstanceVaultHealth) GetInstanceSlug() string { + if x != nil { + return x.InstanceSlug + } + return "" +} + +func (x *InstanceVaultHealth) GetSecretPath() string { + if x != nil { + return x.SecretPath + } + return "" +} + +func (x *InstanceVaultHealth) GetAccessStatus() VaultCheckStatus { + if x != nil { + return x.AccessStatus + } + return VaultCheckStatus_VAULT_CHECK_STATUS_UNSPECIFIED +} + +func (x *InstanceVaultHealth) GetDetail() string { + if x != nil { + return x.Detail + } + return "" +} + +type GetAccountVaultHealthRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountVaultHealthRequest) Reset() { + *x = GetAccountVaultHealthRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountVaultHealthRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountVaultHealthRequest) ProtoMessage() {} + +func (x *GetAccountVaultHealthRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAccountVaultHealthRequest.ProtoReflect.Descriptor instead. +func (*GetAccountVaultHealthRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{38} +} + +func (x *GetAccountVaultHealthRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type GetAccountVaultHealthResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + OverallStatus VaultCheckStatus `protobuf:"varint,1,opt,name=overall_status,json=overallStatus,proto3,enum=orchestrator.v1.VaultCheckStatus" json:"overall_status,omitempty"` + AccountSecretPath string `protobuf:"bytes,2,opt,name=account_secret_path,json=accountSecretPath,proto3" json:"account_secret_path,omitempty"` + Checks []*VaultHealthCheck `protobuf:"bytes,3,rep,name=checks,proto3" json:"checks,omitempty"` + Instances []*InstanceVaultHealth `protobuf:"bytes,4,rep,name=instances,proto3" json:"instances,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountVaultHealthResponse) Reset() { + *x = GetAccountVaultHealthResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountVaultHealthResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountVaultHealthResponse) ProtoMessage() {} + +func (x *GetAccountVaultHealthResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAccountVaultHealthResponse.ProtoReflect.Descriptor instead. +func (*GetAccountVaultHealthResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{39} +} + +func (x *GetAccountVaultHealthResponse) GetOverallStatus() VaultCheckStatus { + if x != nil { + return x.OverallStatus + } + return VaultCheckStatus_VAULT_CHECK_STATUS_UNSPECIFIED +} + +func (x *GetAccountVaultHealthResponse) GetAccountSecretPath() string { + if x != nil { + return x.AccountSecretPath + } + return "" +} + +func (x *GetAccountVaultHealthResponse) GetChecks() []*VaultHealthCheck { + if x != nil { + return x.Checks + } + return nil +} + +func (x *GetAccountVaultHealthResponse) GetInstances() []*InstanceVaultHealth { + if x != nil { + return x.Instances + } + return nil +} + +type ResetAccountVaultKeyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetAccountVaultKeyRequest) Reset() { + *x = ResetAccountVaultKeyRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetAccountVaultKeyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetAccountVaultKeyRequest) ProtoMessage() {} + +func (x *ResetAccountVaultKeyRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetAccountVaultKeyRequest.ProtoReflect.Descriptor instead. +func (*ResetAccountVaultKeyRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{40} +} + +func (x *ResetAccountVaultKeyRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type InstanceRestartResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + InstanceName string `protobuf:"bytes,2,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` + InstanceSlug string `protobuf:"bytes,3,opt,name=instance_slug,json=instanceSlug,proto3" json:"instance_slug,omitempty"` + Success bool `protobuf:"varint,4,opt,name=success,proto3" json:"success,omitempty"` + Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstanceRestartResult) Reset() { + *x = InstanceRestartResult{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstanceRestartResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceRestartResult) ProtoMessage() {} + +func (x *InstanceRestartResult) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceRestartResult.ProtoReflect.Descriptor instead. +func (*InstanceRestartResult) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{41} +} + +func (x *InstanceRestartResult) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *InstanceRestartResult) GetInstanceName() string { + if x != nil { + return x.InstanceName + } + return "" +} + +func (x *InstanceRestartResult) GetInstanceSlug() string { + if x != nil { + return x.InstanceSlug + } + return "" +} + +func (x *InstanceRestartResult) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *InstanceRestartResult) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +type ResetAccountVaultKeyResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + NewRoleId string `protobuf:"bytes,2,opt,name=new_role_id,json=newRoleId,proto3" json:"new_role_id,omitempty"` + RestartResults []*InstanceRestartResult `protobuf:"bytes,3,rep,name=restart_results,json=restartResults,proto3" json:"restart_results,omitempty"` + Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetAccountVaultKeyResponse) Reset() { + *x = ResetAccountVaultKeyResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetAccountVaultKeyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetAccountVaultKeyResponse) ProtoMessage() {} + +func (x *ResetAccountVaultKeyResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetAccountVaultKeyResponse.ProtoReflect.Descriptor instead. +func (*ResetAccountVaultKeyResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{42} +} + +func (x *ResetAccountVaultKeyResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *ResetAccountVaultKeyResponse) GetNewRoleId() string { + if x != nil { + return x.NewRoleId + } + return "" +} + +func (x *ResetAccountVaultKeyResponse) GetRestartResults() []*InstanceRestartResult { + if x != nil { + return x.RestartResults + } + return nil +} + +func (x *ResetAccountVaultKeyResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +type RepairAccountVaultRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RepairAccountVaultRequest) Reset() { + *x = RepairAccountVaultRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RepairAccountVaultRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepairAccountVaultRequest) ProtoMessage() {} + +func (x *RepairAccountVaultRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RepairAccountVaultRequest.ProtoReflect.Descriptor instead. +func (*RepairAccountVaultRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{43} +} + +func (x *RepairAccountVaultRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type VaultRepairAction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + WasNeeded bool `protobuf:"varint,2,opt,name=was_needed,json=wasNeeded,proto3" json:"was_needed,omitempty"` + Success bool `protobuf:"varint,3,opt,name=success,proto3" json:"success,omitempty"` + Detail string `protobuf:"bytes,4,opt,name=detail,proto3" json:"detail,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VaultRepairAction) Reset() { + *x = VaultRepairAction{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VaultRepairAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VaultRepairAction) ProtoMessage() {} + +func (x *VaultRepairAction) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VaultRepairAction.ProtoReflect.Descriptor instead. +func (*VaultRepairAction) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{44} +} + +func (x *VaultRepairAction) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *VaultRepairAction) GetWasNeeded() bool { + if x != nil { + return x.WasNeeded + } + return false +} + +func (x *VaultRepairAction) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *VaultRepairAction) GetDetail() string { + if x != nil { + return x.Detail + } + return "" +} + +type RepairAccountVaultResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Repairs []*VaultRepairAction `protobuf:"bytes,2,rep,name=repairs,proto3" json:"repairs,omitempty"` + RestartResults []*InstanceRestartResult `protobuf:"bytes,3,rep,name=restart_results,json=restartResults,proto3" json:"restart_results,omitempty"` + Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RepairAccountVaultResponse) Reset() { + *x = RepairAccountVaultResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RepairAccountVaultResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepairAccountVaultResponse) ProtoMessage() {} + +func (x *RepairAccountVaultResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_accounts_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RepairAccountVaultResponse.ProtoReflect.Descriptor instead. +func (*RepairAccountVaultResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{45} +} + +func (x *RepairAccountVaultResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *RepairAccountVaultResponse) GetRepairs() []*VaultRepairAction { + if x != nil { + return x.Repairs + } + return nil +} + +func (x *RepairAccountVaultResponse) GetRestartResults() []*InstanceRestartResult { + if x != nil { + return x.RestartResults + } + return nil +} + +func (x *RepairAccountVaultResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +var File_orchestrator_v1_accounts_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_accounts_proto_rawDesc = "" + + "\n" + + "\x1eorchestrator/v1/accounts.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa8\x03\n" + + "\vAccountUser\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n" + + "\n" + + "account_id\x18\x02 \x01(\tR\taccountId\x12\x17\n" + + "\auser_id\x18\x03 \x01(\tR\x06userId\x12\x14\n" + + "\x05email\x18\x04 \x01(\tR\x05email\x12\x1d\n" + + "\n" + + "first_name\x18\x05 \x01(\tR\tfirstName\x12\x1b\n" + + "\tlast_name\x18\x06 \x01(\tR\blastName\x120\n" + + "\x04role\x18\a \x01(\x0e2\x1c.orchestrator.v1.AccountRoleR\x04role\x12,\n" + + "\x12has_billing_access\x18\b \x01(\bR\x10hasBillingAccess\x12I\n" + + "\x10last_accessed_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampH\x00R\x0elastAccessedAt\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\x13\n" + + "\x11_last_accessed_atJ\x04\b\t\x10\n" + + "\"\x86\n" + + "\n" + + "\x04Plan\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04slug\x18\x02 \x01(\tR\x04slug\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x04 \x01(\tR\vdescription\x12\x12\n" + + "\x04tier\x18\x05 \x01(\x05R\x04tier\x12.\n" + + "\x13monthly_price_cents\x18\x06 \x01(\x05R\x11monthlyPriceCents\x121\n" + + "\x12annual_price_cents\x18\a \x01(\x05H\x00R\x10annualPriceCents\x88\x01\x01\x12(\n" + + "\rmax_instances\x18\b \x01(\x05H\x01R\fmaxInstances\x88\x01\x01\x12)\n" + + "\x0emax_storage_gb\x18\t \x01(\x05H\x02R\fmaxStorageGb\x88\x01\x01\x12-\n" + + "\x10max_bandwidth_gb\x18\n" + + " \x01(\x05H\x03R\x0emaxBandwidthGb\x88\x01\x01\x128\n" + + "\x16max_pages_per_instance\x18\v \x01(\x05H\x04R\x13maxPagesPerInstance\x88\x01\x01\x124\n" + + "\x14max_media_storage_gb\x18\f \x01(\x05H\x05R\x11maxMediaStorageGb\x88\x01\x01\x128\n" + + "\x16max_users_per_instance\x18\r \x01(\x05H\x06R\x13maxUsersPerInstance\x88\x01\x01\x12\x1a\n" + + "\bfeatures\x18\x0e \x03(\tR\bfeatures\x12\x1b\n" + + "\tis_active\x18\x0f \x01(\bR\bisActive\x12\x1b\n" + + "\tis_public\x18\x10 \x01(\bR\bisPublic\x12/\n" + + "\x11trial_period_days\x18\x12 \x01(\x05H\aR\x0ftrialPeriodDays\x88\x01\x01\x12 \n" + + "\fis_free_tier\x18\x13 \x01(\bR\n" + + "isFreeTier\x12&\n" + + "\x0fhas_hard_limits\x18\x14 \x01(\bR\rhasHardLimits\x12%\n" + + "\x0eincluded_users\x18\x15 \x01(\x05R\rincludedUsers\x12>\n" + + "\x1cstorage_overage_cents_per_gb\x18\x16 \x01(\x05R\x18storageOverageCentsPerGb\x12B\n" + + "\x1ebandwidth_overage_cents_per_gb\x18\x17 \x01(\x05R\x1abandwidthOverageCentsPerGb\x12,\n" + + "\x12user_overage_cents\x18\x18 \x01(\x05R\x10userOverageCents\x12(\n" + + "\x10is_contact_sales\x18\x19 \x01(\bR\x0eisContactSales\x12/\n" + + "\x14max_emails_per_month\x18\x1a \x01(\x05R\x11maxEmailsPerMonth\x12D\n" + + "\x1femail_overage_cents_per_hundred\x18\x1b \x01(\x05R\x1bemailOverageCentsPerHundredB\x15\n" + + "\x13_annual_price_centsB\x10\n" + + "\x0e_max_instancesB\x11\n" + + "\x0f_max_storage_gbB\x13\n" + + "\x11_max_bandwidth_gbB\x19\n" + + "\x17_max_pages_per_instanceB\x17\n" + + "\x15_max_media_storage_gbB\x19\n" + + "\x17_max_users_per_instanceB\x14\n" + + "\x12_trial_period_days\"\xe4\x05\n" + + "\aAccount\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" + + "\x04slug\x18\x03 \x01(\tR\x04slug\x12\"\n" + + "\rowner_user_id\x18\x04 \x01(\tR\vownerUserId\x12#\n" + + "\rbilling_email\x18\x05 \x01(\tR\fbillingEmail\x12&\n" + + "\fbilling_name\x18\x06 \x01(\tH\x00R\vbillingName\x88\x01\x01\x121\n" + + "\x12stripe_customer_id\x18\a \x01(\tH\x01R\x10stripeCustomerId\x88\x01\x01\x12\x1c\n" + + "\aplan_id\x18\b \x01(\tH\x02R\x06planId\x88\x01\x01\x12.\n" + + "\x04plan\x18\t \x01(\v2\x15.orchestrator.v1.PlanH\x03R\x04plan\x88\x01\x01\x126\n" + + "\x06status\x18\n" + + " \x01(\x0e2\x1e.orchestrator.v1.AccountStatusR\x06status\x12C\n" + + "\rtrial_ends_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampH\x04R\vtrialEndsAt\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12S\n" + + "\x15deletion_requested_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampH\x05R\x13deletionRequestedAt\x88\x01\x01B\x0f\n" + + "\r_billing_nameB\x15\n" + + "\x13_stripe_customer_idB\n" + + "\n" + + "\b_plan_idB\a\n" + + "\x05_planB\x10\n" + + "\x0e_trial_ends_atB\x18\n" + + "\x16_deletion_requested_at\"\xc6\x01\n" + + "\x14CreateAccountRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + + "\x04slug\x18\x02 \x01(\tR\x04slug\x12#\n" + + "\rbilling_email\x18\x03 \x01(\tR\fbillingEmail\x12&\n" + + "\fbilling_name\x18\x04 \x01(\tH\x00R\vbillingName\x88\x01\x01\x12\x1c\n" + + "\aplan_id\x18\x05 \x01(\tH\x01R\x06planId\x88\x01\x01B\x0f\n" + + "\r_billing_nameB\n" + + "\n" + + "\b_plan_id\"K\n" + + "\x15CreateAccountResponse\x122\n" + + "\aaccount\x18\x01 \x01(\v2\x18.orchestrator.v1.AccountR\aaccount\"#\n" + + "\x11GetAccountRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"H\n" + + "\x12GetAccountResponse\x122\n" + + "\aaccount\x18\x01 \x01(\v2\x18.orchestrator.v1.AccountR\aaccount\"\xe0\x01\n" + + "\x13ListAccountsRequest\x12;\n" + + "\x06status\x18\x01 \x01(\x0e2\x1e.orchestrator.v1.AccountStatusH\x00R\x06status\x88\x01\x01\x12\x1c\n" + + "\aplan_id\x18\x02 \x01(\tH\x01R\x06planId\x88\x01\x01\x12\x1b\n" + + "\x06search\x18\x03 \x01(\tH\x02R\x06search\x88\x01\x01\x12\x12\n" + + "\x04page\x18\x04 \x01(\x05R\x04page\x12\x1b\n" + + "\tpage_size\x18\x05 \x01(\x05R\bpageSizeB\t\n" + + "\a_statusB\n" + + "\n" + + "\b_plan_idB\t\n" + + "\a_search\"b\n" + + "\x14ListAccountsResponse\x124\n" + + "\baccounts\x18\x01 \x03(\v2\x18.orchestrator.v1.AccountR\baccounts\x12\x14\n" + + "\x05total\x18\x02 \x01(\x05R\x05total\"\x17\n" + + "\x15ListMyAccountsRequest\"N\n" + + "\x16ListMyAccountsResponse\x124\n" + + "\baccounts\x18\x01 \x03(\v2\x18.orchestrator.v1.AccountR\baccounts\"\xbd\x01\n" + + "\x14UpdateAccountRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12(\n" + + "\rbilling_email\x18\x03 \x01(\tH\x01R\fbillingEmail\x88\x01\x01\x12&\n" + + "\fbilling_name\x18\x04 \x01(\tH\x02R\vbillingName\x88\x01\x01B\a\n" + + "\x05_nameB\x10\n" + + "\x0e_billing_emailB\x0f\n" + + "\r_billing_name\"K\n" + + "\x15UpdateAccountResponse\x122\n" + + "\aaccount\x18\x01 \x01(\v2\x18.orchestrator.v1.AccountR\aaccount\"&\n" + + "\x14DeleteAccountRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"\x17\n" + + "\x15DeleteAccountResponse\".\n" + + "\x1cCancelAccountDeletionRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"S\n" + + "\x1dCancelAccountDeletionResponse\x122\n" + + "\aaccount\x18\x01 \x01(\v2\x18.orchestrator.v1.AccountR\aaccount\"?\n" + + "\x15SuspendAccountRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\"L\n" + + "\x16SuspendAccountResponse\x122\n" + + "\aaccount\x18\x01 \x01(\v2\x18.orchestrator.v1.AccountR\aaccount\"*\n" + + "\x18ReactivateAccountRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"O\n" + + "\x19ReactivateAccountResponse\x122\n" + + "\aaccount\x18\x01 \x01(\v2\x18.orchestrator.v1.AccountR\aaccount\"8\n" + + "\x17ListAccountUsersRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"N\n" + + "\x18ListAccountUsersResponse\x122\n" + + "\x05users\x18\x01 \x03(\v2\x1c.orchestrator.v1.AccountUserR\x05users\"\xa6\x01\n" + + "\x1cUpdateAccountUserRoleRequest\x12&\n" + + "\x0faccount_user_id\x18\x01 \x01(\tR\raccountUserId\x120\n" + + "\x04role\x18\x02 \x01(\x0e2\x1c.orchestrator.v1.AccountRoleR\x04role\x12,\n" + + "\x12has_billing_access\x18\x03 \x01(\bR\x10hasBillingAccess\"`\n" + + "\x1dUpdateAccountUserRoleResponse\x12?\n" + + "\faccount_user\x18\x01 \x01(\v2\x1c.orchestrator.v1.AccountUserR\vaccountUser\"B\n" + + "\x18RemoveAccountUserRequest\x12&\n" + + "\x0faccount_user_id\x18\x01 \x01(\tR\raccountUserId\"\x1b\n" + + "\x19RemoveAccountUserResponse\";\n" + + "\x1aGetAccountDashboardRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"\xf0\x02\n" + + "\x1bGetAccountDashboardResponse\x12.\n" + + "\x13total_storage_bytes\x18\x01 \x01(\x03R\x11totalStorageBytes\x122\n" + + "\x15total_bandwidth_bytes\x18\x02 \x01(\x03R\x13totalBandwidthBytes\x12'\n" + + "\x0ftotal_pageviews\x18\x03 \x01(\x03R\x0etotalPageviews\x124\n" + + "\x16running_instance_count\x18\x04 \x01(\x05R\x14runningInstanceCount\x12E\n" + + "\tinstances\x18\x05 \x03(\v2'.orchestrator.v1.AccountInstanceSummaryR\tinstances\x12G\n" + + "\x0frecent_activity\x18\x06 \x03(\v2\x1e.orchestrator.v1.AuditLogEntryR\x0erecentActivity\"\x82\x02\n" + + "\x16AccountInstanceSummary\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" + + "\x04slug\x18\x03 \x01(\tR\x04slug\x12\x16\n" + + "\x06status\x18\x04 \x01(\x05R\x06status\x12#\n" + + "\rhealth_status\x18\x05 \x01(\tR\fhealthStatus\x12#\n" + + "\rstorage_bytes\x18\x06 \x01(\x03R\fstorageBytes\x12'\n" + + "\x0fbandwidth_bytes\x18\a \x01(\x03R\x0ebandwidthBytes\x12%\n" + + "\x0eprimary_domain\x18\b \x01(\tR\rprimaryDomain\"\xe8\x01\n" + + "\rAuditLogEntry\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" + + "\x06action\x18\x02 \x01(\tR\x06action\x12\x1a\n" + + "\bresource\x18\x03 \x01(\tR\bresource\x12\x1f\n" + + "\vresource_id\x18\x04 \x01(\tR\n" + + "resourceId\x12\x1d\n" + + "\n" + + "user_email\x18\x05 \x01(\tR\tuserEmail\x12\x18\n" + + "\adetails\x18\x06 \x01(\tR\adetails\x129\n" + + "\n" + + "created_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\"U\n" + + "\x1aBulkSuspendAccountsRequest\x12\x1f\n" + + "\vaccount_ids\x18\x01 \x03(\tR\n" + + "accountIds\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\"]\n" + + "\x1bBulkSuspendAccountsResponse\x12>\n" + + "\aresults\x18\x01 \x03(\v2$.orchestrator.v1.BulkOperationResultR\aresults\"@\n" + + "\x1dBulkReactivateAccountsRequest\x12\x1f\n" + + "\vaccount_ids\x18\x01 \x03(\tR\n" + + "accountIds\"`\n" + + "\x1eBulkReactivateAccountsResponse\x12>\n" + + "\aresults\x18\x01 \x03(\v2$.orchestrator.v1.BulkOperationResultR\aresults\"U\n" + + "\x13BulkOperationResult\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n" + + "\asuccess\x18\x02 \x01(\bR\asuccess\x12\x14\n" + + "\x05error\x18\x03 \x01(\tR\x05error\"y\n" + + "\x10VaultHealthCheck\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x129\n" + + "\x06status\x18\x02 \x01(\x0e2!.orchestrator.v1.VaultCheckStatusR\x06status\x12\x16\n" + + "\x06detail\x18\x03 \x01(\tR\x06detail\"\x81\x02\n" + + "\x13InstanceVaultHealth\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12#\n" + + "\rinstance_name\x18\x02 \x01(\tR\finstanceName\x12#\n" + + "\rinstance_slug\x18\x03 \x01(\tR\finstanceSlug\x12\x1f\n" + + "\vsecret_path\x18\x04 \x01(\tR\n" + + "secretPath\x12F\n" + + "\raccess_status\x18\x05 \x01(\x0e2!.orchestrator.v1.VaultCheckStatusR\faccessStatus\x12\x16\n" + + "\x06detail\x18\x06 \x01(\tR\x06detail\"=\n" + + "\x1cGetAccountVaultHealthRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"\x98\x02\n" + + "\x1dGetAccountVaultHealthResponse\x12H\n" + + "\x0eoverall_status\x18\x01 \x01(\x0e2!.orchestrator.v1.VaultCheckStatusR\roverallStatus\x12.\n" + + "\x13account_secret_path\x18\x02 \x01(\tR\x11accountSecretPath\x129\n" + + "\x06checks\x18\x03 \x03(\v2!.orchestrator.v1.VaultHealthCheckR\x06checks\x12B\n" + + "\tinstances\x18\x04 \x03(\v2$.orchestrator.v1.InstanceVaultHealthR\tinstances\"<\n" + + "\x1bResetAccountVaultKeyRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"\xb2\x01\n" + + "\x15InstanceRestartResult\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12#\n" + + "\rinstance_name\x18\x02 \x01(\tR\finstanceName\x12#\n" + + "\rinstance_slug\x18\x03 \x01(\tR\finstanceSlug\x12\x18\n" + + "\asuccess\x18\x04 \x01(\bR\asuccess\x12\x14\n" + + "\x05error\x18\x05 \x01(\tR\x05error\"\xbf\x01\n" + + "\x1cResetAccountVaultKeyResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x1e\n" + + "\vnew_role_id\x18\x02 \x01(\tR\tnewRoleId\x12O\n" + + "\x0frestart_results\x18\x03 \x03(\v2&.orchestrator.v1.InstanceRestartResultR\x0erestartResults\x12\x14\n" + + "\x05error\x18\x04 \x01(\tR\x05error\":\n" + + "\x19RepairAccountVaultRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"x\n" + + "\x11VaultRepairAction\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n" + + "\n" + + "was_needed\x18\x02 \x01(\bR\twasNeeded\x12\x18\n" + + "\asuccess\x18\x03 \x01(\bR\asuccess\x12\x16\n" + + "\x06detail\x18\x04 \x01(\tR\x06detail\"\xdb\x01\n" + + "\x1aRepairAccountVaultResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12<\n" + + "\arepairs\x18\x02 \x03(\v2\".orchestrator.v1.VaultRepairActionR\arepairs\x12O\n" + + "\x0frestart_results\x18\x03 \x03(\v2&.orchestrator.v1.InstanceRestartResultR\x0erestartResults\x12\x14\n" + + "\x05error\x18\x04 \x01(\tR\x05error*\xc6\x01\n" + + "\rAccountStatus\x12\x1e\n" + + "\x1aACCOUNT_STATUS_UNSPECIFIED\x10\x00\x12\x1a\n" + + "\x16ACCOUNT_STATUS_PENDING\x10\x01\x12\x19\n" + + "\x15ACCOUNT_STATUS_ACTIVE\x10\x02\x12\x1c\n" + + "\x18ACCOUNT_STATUS_SUSPENDED\x10\x03\x12\x1b\n" + + "\x17ACCOUNT_STATUS_CANCELED\x10\x04\x12#\n" + + "\x1fACCOUNT_STATUS_PENDING_DELETION\x10\x05*v\n" + + "\vAccountRole\x12\x1c\n" + + "\x18ACCOUNT_ROLE_UNSPECIFIED\x10\x00\x12\x17\n" + + "\x13ACCOUNT_ROLE_MEMBER\x10\x01\x12\x18\n" + + "\x14ACCOUNT_ROLE_MANAGER\x10\x02\x12\x16\n" + + "\x12ACCOUNT_ROLE_OWNER\x10\x03*\x9a\x01\n" + + "\x10VaultCheckStatus\x12\"\n" + + "\x1eVAULT_CHECK_STATUS_UNSPECIFIED\x10\x00\x12\x1e\n" + + "\x1aVAULT_CHECK_STATUS_HEALTHY\x10\x01\x12 \n" + + "\x1cVAULT_CHECK_STATUS_UNHEALTHY\x10\x02\x12 \n" + + "\x1cVAULT_CHECK_STATUS_NOT_FOUND\x10\x032\x96\x0f\n" + + "\x0eAccountService\x12^\n" + + "\rCreateAccount\x12%.orchestrator.v1.CreateAccountRequest\x1a&.orchestrator.v1.CreateAccountResponse\x12U\n" + + "\n" + + "GetAccount\x12\".orchestrator.v1.GetAccountRequest\x1a#.orchestrator.v1.GetAccountResponse\x12[\n" + + "\fListAccounts\x12$.orchestrator.v1.ListAccountsRequest\x1a%.orchestrator.v1.ListAccountsResponse\x12a\n" + + "\x0eListMyAccounts\x12&.orchestrator.v1.ListMyAccountsRequest\x1a'.orchestrator.v1.ListMyAccountsResponse\x12^\n" + + "\rUpdateAccount\x12%.orchestrator.v1.UpdateAccountRequest\x1a&.orchestrator.v1.UpdateAccountResponse\x12^\n" + + "\rDeleteAccount\x12%.orchestrator.v1.DeleteAccountRequest\x1a&.orchestrator.v1.DeleteAccountResponse\x12v\n" + + "\x15CancelAccountDeletion\x12-.orchestrator.v1.CancelAccountDeletionRequest\x1a..orchestrator.v1.CancelAccountDeletionResponse\x12a\n" + + "\x0eSuspendAccount\x12&.orchestrator.v1.SuspendAccountRequest\x1a'.orchestrator.v1.SuspendAccountResponse\x12j\n" + + "\x11ReactivateAccount\x12).orchestrator.v1.ReactivateAccountRequest\x1a*.orchestrator.v1.ReactivateAccountResponse\x12g\n" + + "\x10ListAccountUsers\x12(.orchestrator.v1.ListAccountUsersRequest\x1a).orchestrator.v1.ListAccountUsersResponse\x12v\n" + + "\x15UpdateAccountUserRole\x12-.orchestrator.v1.UpdateAccountUserRoleRequest\x1a..orchestrator.v1.UpdateAccountUserRoleResponse\x12j\n" + + "\x11RemoveAccountUser\x12).orchestrator.v1.RemoveAccountUserRequest\x1a*.orchestrator.v1.RemoveAccountUserResponse\x12p\n" + + "\x13GetAccountDashboard\x12+.orchestrator.v1.GetAccountDashboardRequest\x1a,.orchestrator.v1.GetAccountDashboardResponse\x12p\n" + + "\x13BulkSuspendAccounts\x12+.orchestrator.v1.BulkSuspendAccountsRequest\x1a,.orchestrator.v1.BulkSuspendAccountsResponse\x12y\n" + + "\x16BulkReactivateAccounts\x12..orchestrator.v1.BulkReactivateAccountsRequest\x1a/.orchestrator.v1.BulkReactivateAccountsResponse\x12v\n" + + "\x15GetAccountVaultHealth\x12-.orchestrator.v1.GetAccountVaultHealthRequest\x1a..orchestrator.v1.GetAccountVaultHealthResponse\x12s\n" + + "\x14ResetAccountVaultKey\x12,.orchestrator.v1.ResetAccountVaultKeyRequest\x1a-.orchestrator.v1.ResetAccountVaultKeyResponse\x12m\n" + + "\x12RepairAccountVault\x12*.orchestrator.v1.RepairAccountVaultRequest\x1a+.orchestrator.v1.RepairAccountVaultResponseB\xd0\x01\n" + + "\x13com.orchestrator.v1B\rAccountsProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_accounts_proto_rawDescOnce sync.Once + file_orchestrator_v1_accounts_proto_rawDescData []byte +) + +func file_orchestrator_v1_accounts_proto_rawDescGZIP() []byte { + file_orchestrator_v1_accounts_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_accounts_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_accounts_proto_rawDesc), len(file_orchestrator_v1_accounts_proto_rawDesc))) + }) + return file_orchestrator_v1_accounts_proto_rawDescData +} + +var file_orchestrator_v1_accounts_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_orchestrator_v1_accounts_proto_msgTypes = make([]protoimpl.MessageInfo, 46) +var file_orchestrator_v1_accounts_proto_goTypes = []any{ + (AccountStatus)(0), // 0: orchestrator.v1.AccountStatus + (AccountRole)(0), // 1: orchestrator.v1.AccountRole + (VaultCheckStatus)(0), // 2: orchestrator.v1.VaultCheckStatus + (*AccountUser)(nil), // 3: orchestrator.v1.AccountUser + (*Plan)(nil), // 4: orchestrator.v1.Plan + (*Account)(nil), // 5: orchestrator.v1.Account + (*CreateAccountRequest)(nil), // 6: orchestrator.v1.CreateAccountRequest + (*CreateAccountResponse)(nil), // 7: orchestrator.v1.CreateAccountResponse + (*GetAccountRequest)(nil), // 8: orchestrator.v1.GetAccountRequest + (*GetAccountResponse)(nil), // 9: orchestrator.v1.GetAccountResponse + (*ListAccountsRequest)(nil), // 10: orchestrator.v1.ListAccountsRequest + (*ListAccountsResponse)(nil), // 11: orchestrator.v1.ListAccountsResponse + (*ListMyAccountsRequest)(nil), // 12: orchestrator.v1.ListMyAccountsRequest + (*ListMyAccountsResponse)(nil), // 13: orchestrator.v1.ListMyAccountsResponse + (*UpdateAccountRequest)(nil), // 14: orchestrator.v1.UpdateAccountRequest + (*UpdateAccountResponse)(nil), // 15: orchestrator.v1.UpdateAccountResponse + (*DeleteAccountRequest)(nil), // 16: orchestrator.v1.DeleteAccountRequest + (*DeleteAccountResponse)(nil), // 17: orchestrator.v1.DeleteAccountResponse + (*CancelAccountDeletionRequest)(nil), // 18: orchestrator.v1.CancelAccountDeletionRequest + (*CancelAccountDeletionResponse)(nil), // 19: orchestrator.v1.CancelAccountDeletionResponse + (*SuspendAccountRequest)(nil), // 20: orchestrator.v1.SuspendAccountRequest + (*SuspendAccountResponse)(nil), // 21: orchestrator.v1.SuspendAccountResponse + (*ReactivateAccountRequest)(nil), // 22: orchestrator.v1.ReactivateAccountRequest + (*ReactivateAccountResponse)(nil), // 23: orchestrator.v1.ReactivateAccountResponse + (*ListAccountUsersRequest)(nil), // 24: orchestrator.v1.ListAccountUsersRequest + (*ListAccountUsersResponse)(nil), // 25: orchestrator.v1.ListAccountUsersResponse + (*UpdateAccountUserRoleRequest)(nil), // 26: orchestrator.v1.UpdateAccountUserRoleRequest + (*UpdateAccountUserRoleResponse)(nil), // 27: orchestrator.v1.UpdateAccountUserRoleResponse + (*RemoveAccountUserRequest)(nil), // 28: orchestrator.v1.RemoveAccountUserRequest + (*RemoveAccountUserResponse)(nil), // 29: orchestrator.v1.RemoveAccountUserResponse + (*GetAccountDashboardRequest)(nil), // 30: orchestrator.v1.GetAccountDashboardRequest + (*GetAccountDashboardResponse)(nil), // 31: orchestrator.v1.GetAccountDashboardResponse + (*AccountInstanceSummary)(nil), // 32: orchestrator.v1.AccountInstanceSummary + (*AuditLogEntry)(nil), // 33: orchestrator.v1.AuditLogEntry + (*BulkSuspendAccountsRequest)(nil), // 34: orchestrator.v1.BulkSuspendAccountsRequest + (*BulkSuspendAccountsResponse)(nil), // 35: orchestrator.v1.BulkSuspendAccountsResponse + (*BulkReactivateAccountsRequest)(nil), // 36: orchestrator.v1.BulkReactivateAccountsRequest + (*BulkReactivateAccountsResponse)(nil), // 37: orchestrator.v1.BulkReactivateAccountsResponse + (*BulkOperationResult)(nil), // 38: orchestrator.v1.BulkOperationResult + (*VaultHealthCheck)(nil), // 39: orchestrator.v1.VaultHealthCheck + (*InstanceVaultHealth)(nil), // 40: orchestrator.v1.InstanceVaultHealth + (*GetAccountVaultHealthRequest)(nil), // 41: orchestrator.v1.GetAccountVaultHealthRequest + (*GetAccountVaultHealthResponse)(nil), // 42: orchestrator.v1.GetAccountVaultHealthResponse + (*ResetAccountVaultKeyRequest)(nil), // 43: orchestrator.v1.ResetAccountVaultKeyRequest + (*InstanceRestartResult)(nil), // 44: orchestrator.v1.InstanceRestartResult + (*ResetAccountVaultKeyResponse)(nil), // 45: orchestrator.v1.ResetAccountVaultKeyResponse + (*RepairAccountVaultRequest)(nil), // 46: orchestrator.v1.RepairAccountVaultRequest + (*VaultRepairAction)(nil), // 47: orchestrator.v1.VaultRepairAction + (*RepairAccountVaultResponse)(nil), // 48: orchestrator.v1.RepairAccountVaultResponse + (*timestamppb.Timestamp)(nil), // 49: google.protobuf.Timestamp +} +var file_orchestrator_v1_accounts_proto_depIdxs = []int32{ + 1, // 0: orchestrator.v1.AccountUser.role:type_name -> orchestrator.v1.AccountRole + 49, // 1: orchestrator.v1.AccountUser.last_accessed_at:type_name -> google.protobuf.Timestamp + 49, // 2: orchestrator.v1.AccountUser.created_at:type_name -> google.protobuf.Timestamp + 4, // 3: orchestrator.v1.Account.plan:type_name -> orchestrator.v1.Plan + 0, // 4: orchestrator.v1.Account.status:type_name -> orchestrator.v1.AccountStatus + 49, // 5: orchestrator.v1.Account.trial_ends_at:type_name -> google.protobuf.Timestamp + 49, // 6: orchestrator.v1.Account.created_at:type_name -> google.protobuf.Timestamp + 49, // 7: orchestrator.v1.Account.updated_at:type_name -> google.protobuf.Timestamp + 49, // 8: orchestrator.v1.Account.deletion_requested_at:type_name -> google.protobuf.Timestamp + 5, // 9: orchestrator.v1.CreateAccountResponse.account:type_name -> orchestrator.v1.Account + 5, // 10: orchestrator.v1.GetAccountResponse.account:type_name -> orchestrator.v1.Account + 0, // 11: orchestrator.v1.ListAccountsRequest.status:type_name -> orchestrator.v1.AccountStatus + 5, // 12: orchestrator.v1.ListAccountsResponse.accounts:type_name -> orchestrator.v1.Account + 5, // 13: orchestrator.v1.ListMyAccountsResponse.accounts:type_name -> orchestrator.v1.Account + 5, // 14: orchestrator.v1.UpdateAccountResponse.account:type_name -> orchestrator.v1.Account + 5, // 15: orchestrator.v1.CancelAccountDeletionResponse.account:type_name -> orchestrator.v1.Account + 5, // 16: orchestrator.v1.SuspendAccountResponse.account:type_name -> orchestrator.v1.Account + 5, // 17: orchestrator.v1.ReactivateAccountResponse.account:type_name -> orchestrator.v1.Account + 3, // 18: orchestrator.v1.ListAccountUsersResponse.users:type_name -> orchestrator.v1.AccountUser + 1, // 19: orchestrator.v1.UpdateAccountUserRoleRequest.role:type_name -> orchestrator.v1.AccountRole + 3, // 20: orchestrator.v1.UpdateAccountUserRoleResponse.account_user:type_name -> orchestrator.v1.AccountUser + 32, // 21: orchestrator.v1.GetAccountDashboardResponse.instances:type_name -> orchestrator.v1.AccountInstanceSummary + 33, // 22: orchestrator.v1.GetAccountDashboardResponse.recent_activity:type_name -> orchestrator.v1.AuditLogEntry + 49, // 23: orchestrator.v1.AuditLogEntry.created_at:type_name -> google.protobuf.Timestamp + 38, // 24: orchestrator.v1.BulkSuspendAccountsResponse.results:type_name -> orchestrator.v1.BulkOperationResult + 38, // 25: orchestrator.v1.BulkReactivateAccountsResponse.results:type_name -> orchestrator.v1.BulkOperationResult + 2, // 26: orchestrator.v1.VaultHealthCheck.status:type_name -> orchestrator.v1.VaultCheckStatus + 2, // 27: orchestrator.v1.InstanceVaultHealth.access_status:type_name -> orchestrator.v1.VaultCheckStatus + 2, // 28: orchestrator.v1.GetAccountVaultHealthResponse.overall_status:type_name -> orchestrator.v1.VaultCheckStatus + 39, // 29: orchestrator.v1.GetAccountVaultHealthResponse.checks:type_name -> orchestrator.v1.VaultHealthCheck + 40, // 30: orchestrator.v1.GetAccountVaultHealthResponse.instances:type_name -> orchestrator.v1.InstanceVaultHealth + 44, // 31: orchestrator.v1.ResetAccountVaultKeyResponse.restart_results:type_name -> orchestrator.v1.InstanceRestartResult + 47, // 32: orchestrator.v1.RepairAccountVaultResponse.repairs:type_name -> orchestrator.v1.VaultRepairAction + 44, // 33: orchestrator.v1.RepairAccountVaultResponse.restart_results:type_name -> orchestrator.v1.InstanceRestartResult + 6, // 34: orchestrator.v1.AccountService.CreateAccount:input_type -> orchestrator.v1.CreateAccountRequest + 8, // 35: orchestrator.v1.AccountService.GetAccount:input_type -> orchestrator.v1.GetAccountRequest + 10, // 36: orchestrator.v1.AccountService.ListAccounts:input_type -> orchestrator.v1.ListAccountsRequest + 12, // 37: orchestrator.v1.AccountService.ListMyAccounts:input_type -> orchestrator.v1.ListMyAccountsRequest + 14, // 38: orchestrator.v1.AccountService.UpdateAccount:input_type -> orchestrator.v1.UpdateAccountRequest + 16, // 39: orchestrator.v1.AccountService.DeleteAccount:input_type -> orchestrator.v1.DeleteAccountRequest + 18, // 40: orchestrator.v1.AccountService.CancelAccountDeletion:input_type -> orchestrator.v1.CancelAccountDeletionRequest + 20, // 41: orchestrator.v1.AccountService.SuspendAccount:input_type -> orchestrator.v1.SuspendAccountRequest + 22, // 42: orchestrator.v1.AccountService.ReactivateAccount:input_type -> orchestrator.v1.ReactivateAccountRequest + 24, // 43: orchestrator.v1.AccountService.ListAccountUsers:input_type -> orchestrator.v1.ListAccountUsersRequest + 26, // 44: orchestrator.v1.AccountService.UpdateAccountUserRole:input_type -> orchestrator.v1.UpdateAccountUserRoleRequest + 28, // 45: orchestrator.v1.AccountService.RemoveAccountUser:input_type -> orchestrator.v1.RemoveAccountUserRequest + 30, // 46: orchestrator.v1.AccountService.GetAccountDashboard:input_type -> orchestrator.v1.GetAccountDashboardRequest + 34, // 47: orchestrator.v1.AccountService.BulkSuspendAccounts:input_type -> orchestrator.v1.BulkSuspendAccountsRequest + 36, // 48: orchestrator.v1.AccountService.BulkReactivateAccounts:input_type -> orchestrator.v1.BulkReactivateAccountsRequest + 41, // 49: orchestrator.v1.AccountService.GetAccountVaultHealth:input_type -> orchestrator.v1.GetAccountVaultHealthRequest + 43, // 50: orchestrator.v1.AccountService.ResetAccountVaultKey:input_type -> orchestrator.v1.ResetAccountVaultKeyRequest + 46, // 51: orchestrator.v1.AccountService.RepairAccountVault:input_type -> orchestrator.v1.RepairAccountVaultRequest + 7, // 52: orchestrator.v1.AccountService.CreateAccount:output_type -> orchestrator.v1.CreateAccountResponse + 9, // 53: orchestrator.v1.AccountService.GetAccount:output_type -> orchestrator.v1.GetAccountResponse + 11, // 54: orchestrator.v1.AccountService.ListAccounts:output_type -> orchestrator.v1.ListAccountsResponse + 13, // 55: orchestrator.v1.AccountService.ListMyAccounts:output_type -> orchestrator.v1.ListMyAccountsResponse + 15, // 56: orchestrator.v1.AccountService.UpdateAccount:output_type -> orchestrator.v1.UpdateAccountResponse + 17, // 57: orchestrator.v1.AccountService.DeleteAccount:output_type -> orchestrator.v1.DeleteAccountResponse + 19, // 58: orchestrator.v1.AccountService.CancelAccountDeletion:output_type -> orchestrator.v1.CancelAccountDeletionResponse + 21, // 59: orchestrator.v1.AccountService.SuspendAccount:output_type -> orchestrator.v1.SuspendAccountResponse + 23, // 60: orchestrator.v1.AccountService.ReactivateAccount:output_type -> orchestrator.v1.ReactivateAccountResponse + 25, // 61: orchestrator.v1.AccountService.ListAccountUsers:output_type -> orchestrator.v1.ListAccountUsersResponse + 27, // 62: orchestrator.v1.AccountService.UpdateAccountUserRole:output_type -> orchestrator.v1.UpdateAccountUserRoleResponse + 29, // 63: orchestrator.v1.AccountService.RemoveAccountUser:output_type -> orchestrator.v1.RemoveAccountUserResponse + 31, // 64: orchestrator.v1.AccountService.GetAccountDashboard:output_type -> orchestrator.v1.GetAccountDashboardResponse + 35, // 65: orchestrator.v1.AccountService.BulkSuspendAccounts:output_type -> orchestrator.v1.BulkSuspendAccountsResponse + 37, // 66: orchestrator.v1.AccountService.BulkReactivateAccounts:output_type -> orchestrator.v1.BulkReactivateAccountsResponse + 42, // 67: orchestrator.v1.AccountService.GetAccountVaultHealth:output_type -> orchestrator.v1.GetAccountVaultHealthResponse + 45, // 68: orchestrator.v1.AccountService.ResetAccountVaultKey:output_type -> orchestrator.v1.ResetAccountVaultKeyResponse + 48, // 69: orchestrator.v1.AccountService.RepairAccountVault:output_type -> orchestrator.v1.RepairAccountVaultResponse + 52, // [52:70] is the sub-list for method output_type + 34, // [34:52] is the sub-list for method input_type + 34, // [34:34] is the sub-list for extension type_name + 34, // [34:34] is the sub-list for extension extendee + 0, // [0:34] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_accounts_proto_init() } +func file_orchestrator_v1_accounts_proto_init() { + if File_orchestrator_v1_accounts_proto != nil { + return + } + file_orchestrator_v1_accounts_proto_msgTypes[0].OneofWrappers = []any{} + file_orchestrator_v1_accounts_proto_msgTypes[1].OneofWrappers = []any{} + file_orchestrator_v1_accounts_proto_msgTypes[2].OneofWrappers = []any{} + file_orchestrator_v1_accounts_proto_msgTypes[3].OneofWrappers = []any{} + file_orchestrator_v1_accounts_proto_msgTypes[7].OneofWrappers = []any{} + file_orchestrator_v1_accounts_proto_msgTypes[11].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_accounts_proto_rawDesc), len(file_orchestrator_v1_accounts_proto_rawDesc)), + NumEnums: 3, + NumMessages: 46, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_accounts_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_accounts_proto_depIdxs, + EnumInfos: file_orchestrator_v1_accounts_proto_enumTypes, + MessageInfos: file_orchestrator_v1_accounts_proto_msgTypes, + }.Build() + File_orchestrator_v1_accounts_proto = out.File + file_orchestrator_v1_accounts_proto_goTypes = nil + file_orchestrator_v1_accounts_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/auth.pb.go b/internal/api/orchestrator/v1/auth.pb.go new file mode 100644 index 0000000..20004d2 --- /dev/null +++ b/internal/api/orchestrator/v1/auth.pb.go @@ -0,0 +1,3168 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/auth.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Platform role for orchestrator users +type PlatformRole int32 + +const ( + PlatformRole_PLATFORM_ROLE_UNSPECIFIED PlatformRole = 0 + PlatformRole_PLATFORM_ROLE_USER PlatformRole = 1 + PlatformRole_PLATFORM_ROLE_ADMIN PlatformRole = 2 + PlatformRole_PLATFORM_ROLE_SUPERADMIN PlatformRole = 3 +) + +// Enum value maps for PlatformRole. +var ( + PlatformRole_name = map[int32]string{ + 0: "PLATFORM_ROLE_UNSPECIFIED", + 1: "PLATFORM_ROLE_USER", + 2: "PLATFORM_ROLE_ADMIN", + 3: "PLATFORM_ROLE_SUPERADMIN", + } + PlatformRole_value = map[string]int32{ + "PLATFORM_ROLE_UNSPECIFIED": 0, + "PLATFORM_ROLE_USER": 1, + "PLATFORM_ROLE_ADMIN": 2, + "PLATFORM_ROLE_SUPERADMIN": 3, + } +) + +func (x PlatformRole) Enum() *PlatformRole { + p := new(PlatformRole) + *p = x + return p +} + +func (x PlatformRole) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PlatformRole) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_auth_proto_enumTypes[0].Descriptor() +} + +func (PlatformRole) Type() protoreflect.EnumType { + return &file_orchestrator_v1_auth_proto_enumTypes[0] +} + +func (x PlatformRole) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PlatformRole.Descriptor instead. +func (PlatformRole) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{0} +} + +// User represents a platform user +type User struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + FirstName string `protobuf:"bytes,3,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,4,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + Role PlatformRole `protobuf:"varint,5,opt,name=role,proto3,enum=orchestrator.v1.PlatformRole" json:"role,omitempty"` + IsActive bool `protobuf:"varint,6,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + EmailVerifiedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=email_verified_at,json=emailVerifiedAt,proto3,oneof" json:"email_verified_at,omitempty"` + LastLoginAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=last_login_at,json=lastLoginAt,proto3,oneof" json:"last_login_at,omitempty"` + AvatarUrl *string `protobuf:"bytes,9,opt,name=avatar_url,json=avatarUrl,proto3,oneof" json:"avatar_url,omitempty"` + Timezone string `protobuf:"bytes,10,opt,name=timezone,proto3" json:"timezone,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + ShowTotpPrompt bool `protobuf:"varint,13,opt,name=show_totp_prompt,json=showTotpPrompt,proto3" json:"show_totp_prompt,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *User) Reset() { + *x = User{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *User) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*User) ProtoMessage() {} + +func (x *User) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use User.ProtoReflect.Descriptor instead. +func (*User) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{0} +} + +func (x *User) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *User) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *User) GetFirstName() string { + if x != nil { + return x.FirstName + } + return "" +} + +func (x *User) GetLastName() string { + if x != nil { + return x.LastName + } + return "" +} + +func (x *User) GetRole() PlatformRole { + if x != nil { + return x.Role + } + return PlatformRole_PLATFORM_ROLE_UNSPECIFIED +} + +func (x *User) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *User) GetEmailVerifiedAt() *timestamppb.Timestamp { + if x != nil { + return x.EmailVerifiedAt + } + return nil +} + +func (x *User) GetLastLoginAt() *timestamppb.Timestamp { + if x != nil { + return x.LastLoginAt + } + return nil +} + +func (x *User) GetAvatarUrl() string { + if x != nil && x.AvatarUrl != nil { + return *x.AvatarUrl + } + return "" +} + +func (x *User) GetTimezone() string { + if x != nil { + return x.Timezone + } + return "" +} + +func (x *User) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *User) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *User) GetShowTotpPrompt() bool { + if x != nil { + return x.ShowTotpPrompt + } + return false +} + +type LoginRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + // When true, the caller is a native client (mobile app): on success the + // response carries tokens in the body and no cookies are set. + NativeClient bool `protobuf:"varint,3,opt,name=native_client,json=nativeClient,proto3" json:"native_client,omitempty"` + // Optional device label shown in the active-sessions list (native only) + DeviceName *string `protobuf:"bytes,4,opt,name=device_name,json=deviceName,proto3,oneof" json:"device_name,omitempty"` + // "ios" | "android" (native only) + Platform *string `protobuf:"bytes,5,opt,name=platform,proto3,oneof" json:"platform,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LoginRequest) Reset() { + *x = LoginRequest{} + mi := &file_orchestrator_v1_auth_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_orchestrator_v1_auth_proto_msgTypes[1] + if 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_orchestrator_v1_auth_proto_rawDescGZIP(), []int{1} +} + +func (x *LoginRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *LoginRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *LoginRequest) GetNativeClient() bool { + if x != nil { + return x.NativeClient + } + return false +} + +func (x *LoginRequest) GetDeviceName() string { + if x != nil && x.DeviceName != nil { + return *x.DeviceName + } + return "" +} + +func (x *LoginRequest) GetPlatform() string { + if x != nil && x.Platform != nil { + return *x.Platform + } + return "" +} + +// SessionTokens carries body tokens for native clients (no cookies). +type SessionTokens struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Short-lived stateless JWT for `Authorization: Bearer` + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + // Opaque rotating refresh token (server stores only a hash) + RefreshToken string `protobuf:"bytes,2,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"` + AccessExpiresAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=access_expires_at,json=accessExpiresAt,proto3" json:"access_expires_at,omitempty"` + RefreshExpiresAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=refresh_expires_at,json=refreshExpiresAt,proto3" json:"refresh_expires_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SessionTokens) Reset() { + *x = SessionTokens{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SessionTokens) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SessionTokens) ProtoMessage() {} + +func (x *SessionTokens) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SessionTokens.ProtoReflect.Descriptor instead. +func (*SessionTokens) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{2} +} + +func (x *SessionTokens) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +func (x *SessionTokens) GetRefreshToken() string { + if x != nil { + return x.RefreshToken + } + return "" +} + +func (x *SessionTokens) GetAccessExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.AccessExpiresAt + } + return nil +} + +func (x *SessionTokens) GetRefreshExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.RefreshExpiresAt + } + return nil +} + +type LoginResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + User *User `protobuf:"bytes,1,opt,name=user,proto3,oneof" json:"user,omitempty"` + // When true, user must complete 2FA verification + RequiresTwoFactor bool `protobuf:"varint,2,opt,name=requires_two_factor,json=requiresTwoFactor,proto3" json:"requires_two_factor,omitempty"` + // Token for 2FA verification step (short-lived) + TwoFactorToken *string `protobuf:"bytes,3,opt,name=two_factor_token,json=twoFactorToken,proto3,oneof" json:"two_factor_token,omitempty"` + // Set only for native clients (native_client = true) on successful login + Tokens *SessionTokens `protobuf:"bytes,4,opt,name=tokens,proto3,oneof" json:"tokens,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LoginResponse) Reset() { + *x = LoginResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[3] + 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_orchestrator_v1_auth_proto_msgTypes[3] + if 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_orchestrator_v1_auth_proto_rawDescGZIP(), []int{3} +} + +func (x *LoginResponse) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +func (x *LoginResponse) GetRequiresTwoFactor() bool { + if x != nil { + return x.RequiresTwoFactor + } + return false +} + +func (x *LoginResponse) GetTwoFactorToken() string { + if x != nil && x.TwoFactorToken != nil { + return *x.TwoFactorToken + } + return "" +} + +func (x *LoginResponse) GetTokens() *SessionTokens { + if x != nil { + return x.Tokens + } + return nil +} + +type LogoutRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Native path: presence revokes the matching mobile session; cookies are + // untouched. Absent => web cookie logout. + RefreshToken *string `protobuf:"bytes,1,opt,name=refresh_token,json=refreshToken,proto3,oneof" json:"refresh_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LogoutRequest) Reset() { + *x = LogoutRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LogoutRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LogoutRequest) ProtoMessage() {} + +func (x *LogoutRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LogoutRequest.ProtoReflect.Descriptor instead. +func (*LogoutRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{4} +} + +func (x *LogoutRequest) GetRefreshToken() string { + if x != nil && x.RefreshToken != nil { + return *x.RefreshToken + } + return "" +} + +type LogoutResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LogoutResponse) Reset() { + *x = LogoutResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LogoutResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LogoutResponse) ProtoMessage() {} + +func (x *LogoutResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LogoutResponse.ProtoReflect.Descriptor instead. +func (*LogoutResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{5} +} + +type RegisterRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + FirstName string `protobuf:"bytes,3,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,4,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + // Solved self-hosted Cap (trycap.dev) proof-of-work verification token, + // minted by POST /api/captcha/redeem. Platform signup ALWAYS requires it; + // the server rejects a missing/invalid token with FailedPrecondition. The + // token is single-use — a rejected submit must re-solve for a fresh one. + CaptchaToken *string `protobuf:"bytes,5,opt,name=captcha_token,json=captchaToken,proto3,oneof" json:"captcha_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegisterRequest) Reset() { + *x = RegisterRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegisterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterRequest) ProtoMessage() {} + +func (x *RegisterRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterRequest.ProtoReflect.Descriptor instead. +func (*RegisterRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{6} +} + +func (x *RegisterRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *RegisterRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *RegisterRequest) GetFirstName() string { + if x != nil { + return x.FirstName + } + return "" +} + +func (x *RegisterRequest) GetLastName() string { + if x != nil { + return x.LastName + } + return "" +} + +func (x *RegisterRequest) GetCaptchaToken() string { + if x != nil && x.CaptchaToken != nil { + return *x.CaptchaToken + } + return "" +} + +type RegisterResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // User info (partial - email not yet verified) + User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + // True when email verification is required before login + VerificationRequired bool `protobuf:"varint,2,opt,name=verification_required,json=verificationRequired,proto3" json:"verification_required,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegisterResponse) Reset() { + *x = RegisterResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegisterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterResponse) ProtoMessage() {} + +func (x *RegisterResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterResponse.ProtoReflect.Descriptor instead. +func (*RegisterResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{7} +} + +func (x *RegisterResponse) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +func (x *RegisterResponse) GetVerificationRequired() bool { + if x != nil { + return x.VerificationRequired + } + return false +} + +type RefreshSessionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Native path: presence rotates this mobile-session refresh token and + // returns new tokens in the body. Absent => web cookie flow (empty body). + RefreshToken *string `protobuf:"bytes,1,opt,name=refresh_token,json=refreshToken,proto3,oneof" json:"refresh_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RefreshSessionRequest) Reset() { + *x = RefreshSessionRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RefreshSessionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshSessionRequest) ProtoMessage() {} + +func (x *RefreshSessionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshSessionRequest.ProtoReflect.Descriptor instead. +func (*RefreshSessionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{8} +} + +func (x *RefreshSessionRequest) GetRefreshToken() string { + if x != nil && x.RefreshToken != nil { + return *x.RefreshToken + } + return "" +} + +type RefreshSessionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + // Set only on the native path + Tokens *SessionTokens `protobuf:"bytes,2,opt,name=tokens,proto3,oneof" json:"tokens,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RefreshSessionResponse) Reset() { + *x = RefreshSessionResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RefreshSessionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshSessionResponse) ProtoMessage() {} + +func (x *RefreshSessionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshSessionResponse.ProtoReflect.Descriptor instead. +func (*RefreshSessionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{9} +} + +func (x *RefreshSessionResponse) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +func (x *RefreshSessionResponse) GetTokens() *SessionTokens { + if x != nil { + return x.Tokens + } + return nil +} + +type GetCurrentUserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetCurrentUserRequest) Reset() { + *x = GetCurrentUserRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetCurrentUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCurrentUserRequest) ProtoMessage() {} + +func (x *GetCurrentUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetCurrentUserRequest.ProtoReflect.Descriptor instead. +func (*GetCurrentUserRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{10} +} + +type GetCurrentUserResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetCurrentUserResponse) Reset() { + *x = GetCurrentUserResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetCurrentUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCurrentUserResponse) ProtoMessage() {} + +func (x *GetCurrentUserResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetCurrentUserResponse.ProtoReflect.Descriptor instead. +func (*GetCurrentUserResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{11} +} + +func (x *GetCurrentUserResponse) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +type ChangePasswordRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + CurrentPassword string `protobuf:"bytes,1,opt,name=current_password,json=currentPassword,proto3" json:"current_password,omitempty"` + NewPassword string `protobuf:"bytes,2,opt,name=new_password,json=newPassword,proto3" json:"new_password,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChangePasswordRequest) Reset() { + *x = ChangePasswordRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChangePasswordRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangePasswordRequest) ProtoMessage() {} + +func (x *ChangePasswordRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChangePasswordRequest.ProtoReflect.Descriptor instead. +func (*ChangePasswordRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{12} +} + +func (x *ChangePasswordRequest) GetCurrentPassword() string { + if x != nil { + return x.CurrentPassword + } + return "" +} + +func (x *ChangePasswordRequest) GetNewPassword() string { + if x != nil { + return x.NewPassword + } + return "" +} + +type ChangePasswordResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChangePasswordResponse) Reset() { + *x = ChangePasswordResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChangePasswordResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangePasswordResponse) ProtoMessage() {} + +func (x *ChangePasswordResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChangePasswordResponse.ProtoReflect.Descriptor instead. +func (*ChangePasswordResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{13} +} + +type RequestPasswordResetRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestPasswordResetRequest) Reset() { + *x = RequestPasswordResetRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestPasswordResetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestPasswordResetRequest) ProtoMessage() {} + +func (x *RequestPasswordResetRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestPasswordResetRequest.ProtoReflect.Descriptor instead. +func (*RequestPasswordResetRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{14} +} + +func (x *RequestPasswordResetRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +type RequestPasswordResetResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestPasswordResetResponse) Reset() { + *x = RequestPasswordResetResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestPasswordResetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestPasswordResetResponse) ProtoMessage() {} + +func (x *RequestPasswordResetResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestPasswordResetResponse.ProtoReflect.Descriptor instead. +func (*RequestPasswordResetResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{15} +} + +type ResetPasswordRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + NewPassword string `protobuf:"bytes,2,opt,name=new_password,json=newPassword,proto3" json:"new_password,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetPasswordRequest) Reset() { + *x = ResetPasswordRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetPasswordRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetPasswordRequest) ProtoMessage() {} + +func (x *ResetPasswordRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetPasswordRequest.ProtoReflect.Descriptor instead. +func (*ResetPasswordRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{16} +} + +func (x *ResetPasswordRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *ResetPasswordRequest) GetNewPassword() string { + if x != nil { + return x.NewPassword + } + return "" +} + +type ResetPasswordResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetPasswordResponse) Reset() { + *x = ResetPasswordResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetPasswordResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetPasswordResponse) ProtoMessage() {} + +func (x *ResetPasswordResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetPasswordResponse.ProtoReflect.Descriptor instead. +func (*ResetPasswordResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{17} +} + +type VerifyEmailRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyEmailRequest) Reset() { + *x = VerifyEmailRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyEmailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyEmailRequest) ProtoMessage() {} + +func (x *VerifyEmailRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyEmailRequest.ProtoReflect.Descriptor instead. +func (*VerifyEmailRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{18} +} + +func (x *VerifyEmailRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type VerifyEmailResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // User is returned after successful verification (auto-login) + User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyEmailResponse) Reset() { + *x = VerifyEmailResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyEmailResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyEmailResponse) ProtoMessage() {} + +func (x *VerifyEmailResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyEmailResponse.ProtoReflect.Descriptor instead. +func (*VerifyEmailResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{19} +} + +func (x *VerifyEmailResponse) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +type ResendVerificationEmailRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Email address to resend verification to + Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResendVerificationEmailRequest) Reset() { + *x = ResendVerificationEmailRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResendVerificationEmailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResendVerificationEmailRequest) ProtoMessage() {} + +func (x *ResendVerificationEmailRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResendVerificationEmailRequest.ProtoReflect.Descriptor instead. +func (*ResendVerificationEmailRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{20} +} + +func (x *ResendVerificationEmailRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +type ResendVerificationEmailResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResendVerificationEmailResponse) Reset() { + *x = ResendVerificationEmailResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResendVerificationEmailResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResendVerificationEmailResponse) ProtoMessage() {} + +func (x *ResendVerificationEmailResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResendVerificationEmailResponse.ProtoReflect.Descriptor instead. +func (*ResendVerificationEmailResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{21} +} + +type UnlockAccountRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Token from magic link email + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnlockAccountRequest) Reset() { + *x = UnlockAccountRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnlockAccountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnlockAccountRequest) ProtoMessage() {} + +func (x *UnlockAccountRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnlockAccountRequest.ProtoReflect.Descriptor instead. +func (*UnlockAccountRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{22} +} + +func (x *UnlockAccountRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type UnlockAccountResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // User is returned after successful unlock (but not logged in - must login) + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnlockAccountResponse) Reset() { + *x = UnlockAccountResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnlockAccountResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnlockAccountResponse) ProtoMessage() {} + +func (x *UnlockAccountResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnlockAccountResponse.ProtoReflect.Descriptor instead. +func (*UnlockAccountResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{23} +} + +func (x *UnlockAccountResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +type AdminUnlockUserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // User ID to unlock + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminUnlockUserRequest) Reset() { + *x = AdminUnlockUserRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminUnlockUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminUnlockUserRequest) ProtoMessage() {} + +func (x *AdminUnlockUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminUnlockUserRequest.ProtoReflect.Descriptor instead. +func (*AdminUnlockUserRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{24} +} + +func (x *AdminUnlockUserRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +type AdminUnlockUserResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminUnlockUserResponse) Reset() { + *x = AdminUnlockUserResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminUnlockUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminUnlockUserResponse) ProtoMessage() {} + +func (x *AdminUnlockUserResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminUnlockUserResponse.ProtoReflect.Descriptor instead. +func (*AdminUnlockUserResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{25} +} + +type AdminVerifyUserEmailRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // User ID to verify + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminVerifyUserEmailRequest) Reset() { + *x = AdminVerifyUserEmailRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminVerifyUserEmailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminVerifyUserEmailRequest) ProtoMessage() {} + +func (x *AdminVerifyUserEmailRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminVerifyUserEmailRequest.ProtoReflect.Descriptor instead. +func (*AdminVerifyUserEmailRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{26} +} + +func (x *AdminVerifyUserEmailRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +type AdminVerifyUserEmailResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminVerifyUserEmailResponse) Reset() { + *x = AdminVerifyUserEmailResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminVerifyUserEmailResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminVerifyUserEmailResponse) ProtoMessage() {} + +func (x *AdminVerifyUserEmailResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminVerifyUserEmailResponse.ProtoReflect.Descriptor instead. +func (*AdminVerifyUserEmailResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{27} +} + +type SetupTOTPRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetupTOTPRequest) Reset() { + *x = SetupTOTPRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetupTOTPRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetupTOTPRequest) ProtoMessage() {} + +func (x *SetupTOTPRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetupTOTPRequest.ProtoReflect.Descriptor instead. +func (*SetupTOTPRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{28} +} + +type SetupTOTPResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Base32 encoded secret (for manual entry in authenticator app) + Secret string `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` + // Server-generated QR code as PNG bytes + QrCodePng []byte `protobuf:"bytes,2,opt,name=qr_code_png,json=qrCodePng,proto3" json:"qr_code_png,omitempty"` + // 10 plaintext backup codes (show once, user must save) + BackupCodes []string `protobuf:"bytes,3,rep,name=backup_codes,json=backupCodes,proto3" json:"backup_codes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetupTOTPResponse) Reset() { + *x = SetupTOTPResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetupTOTPResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetupTOTPResponse) ProtoMessage() {} + +func (x *SetupTOTPResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetupTOTPResponse.ProtoReflect.Descriptor instead. +func (*SetupTOTPResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{29} +} + +func (x *SetupTOTPResponse) GetSecret() string { + if x != nil { + return x.Secret + } + return "" +} + +func (x *SetupTOTPResponse) GetQrCodePng() []byte { + if x != nil { + return x.QrCodePng + } + return nil +} + +func (x *SetupTOTPResponse) GetBackupCodes() []string { + if x != nil { + return x.BackupCodes + } + return nil +} + +type EnableTOTPRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // 6-digit TOTP code to verify setup is working + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnableTOTPRequest) Reset() { + *x = EnableTOTPRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnableTOTPRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableTOTPRequest) ProtoMessage() {} + +func (x *EnableTOTPRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnableTOTPRequest.ProtoReflect.Descriptor instead. +func (*EnableTOTPRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{30} +} + +func (x *EnableTOTPRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +type EnableTOTPResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnableTOTPResponse) Reset() { + *x = EnableTOTPResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnableTOTPResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableTOTPResponse) ProtoMessage() {} + +func (x *EnableTOTPResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnableTOTPResponse.ProtoReflect.Descriptor instead. +func (*EnableTOTPResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{31} +} + +func (x *EnableTOTPResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +type DisableTOTPRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Password required to disable 2FA + Password string `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DisableTOTPRequest) Reset() { + *x = DisableTOTPRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DisableTOTPRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableTOTPRequest) ProtoMessage() {} + +func (x *DisableTOTPRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisableTOTPRequest.ProtoReflect.Descriptor instead. +func (*DisableTOTPRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{32} +} + +func (x *DisableTOTPRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +type DisableTOTPResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DisableTOTPResponse) Reset() { + *x = DisableTOTPResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DisableTOTPResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableTOTPResponse) ProtoMessage() {} + +func (x *DisableTOTPResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisableTOTPResponse.ProtoReflect.Descriptor instead. +func (*DisableTOTPResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{33} +} + +func (x *DisableTOTPResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +type VerifyLoginTOTPRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Token from LoginResponse.two_factor_token + TwoFactorToken string `protobuf:"bytes,1,opt,name=two_factor_token,json=twoFactorToken,proto3" json:"two_factor_token,omitempty"` + // 6-digit TOTP code or backup code + Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` + // When true, creates a trusted device token to skip 2FA for 30 days + // (web only; ignored for native clients) + TrustDevice bool `protobuf:"varint,3,opt,name=trust_device,json=trustDevice,proto3" json:"trust_device,omitempty"` + // When true, the caller is a native client (mobile app): on success the + // response carries tokens in the body and no cookies are set. + NativeClient bool `protobuf:"varint,4,opt,name=native_client,json=nativeClient,proto3" json:"native_client,omitempty"` + // Optional device label shown in the active-sessions list (native only) + DeviceName *string `protobuf:"bytes,5,opt,name=device_name,json=deviceName,proto3,oneof" json:"device_name,omitempty"` + // "ios" | "android" (native only) + Platform *string `protobuf:"bytes,6,opt,name=platform,proto3,oneof" json:"platform,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyLoginTOTPRequest) Reset() { + *x = VerifyLoginTOTPRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyLoginTOTPRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyLoginTOTPRequest) ProtoMessage() {} + +func (x *VerifyLoginTOTPRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyLoginTOTPRequest.ProtoReflect.Descriptor instead. +func (*VerifyLoginTOTPRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{34} +} + +func (x *VerifyLoginTOTPRequest) GetTwoFactorToken() string { + if x != nil { + return x.TwoFactorToken + } + return "" +} + +func (x *VerifyLoginTOTPRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *VerifyLoginTOTPRequest) GetTrustDevice() bool { + if x != nil { + return x.TrustDevice + } + return false +} + +func (x *VerifyLoginTOTPRequest) GetNativeClient() bool { + if x != nil { + return x.NativeClient + } + return false +} + +func (x *VerifyLoginTOTPRequest) GetDeviceName() string { + if x != nil && x.DeviceName != nil { + return *x.DeviceName + } + return "" +} + +func (x *VerifyLoginTOTPRequest) GetPlatform() string { + if x != nil && x.Platform != nil { + return *x.Platform + } + return "" +} + +type VerifyLoginTOTPResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + // Set only for native clients (native_client = true) + Tokens *SessionTokens `protobuf:"bytes,2,opt,name=tokens,proto3,oneof" json:"tokens,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyLoginTOTPResponse) Reset() { + *x = VerifyLoginTOTPResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyLoginTOTPResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyLoginTOTPResponse) ProtoMessage() {} + +func (x *VerifyLoginTOTPResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyLoginTOTPResponse.ProtoReflect.Descriptor instead. +func (*VerifyLoginTOTPResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{35} +} + +func (x *VerifyLoginTOTPResponse) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +func (x *VerifyLoginTOTPResponse) GetTokens() *SessionTokens { + if x != nil { + return x.Tokens + } + return nil +} + +type GetTOTPStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetTOTPStatusRequest) Reset() { + *x = GetTOTPStatusRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetTOTPStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTOTPStatusRequest) ProtoMessage() {} + +func (x *GetTOTPStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTOTPStatusRequest.ProtoReflect.Descriptor instead. +func (*GetTOTPStatusRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{36} +} + +type GetTOTPStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + EnabledAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=enabled_at,json=enabledAt,proto3,oneof" json:"enabled_at,omitempty"` + BackupCodesRemaining int32 `protobuf:"varint,3,opt,name=backup_codes_remaining,json=backupCodesRemaining,proto3" json:"backup_codes_remaining,omitempty"` + // True if an account the user belongs to requires 2FA + RequiredByAccount bool `protobuf:"varint,4,opt,name=required_by_account,json=requiredByAccount,proto3" json:"required_by_account,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetTOTPStatusResponse) Reset() { + *x = GetTOTPStatusResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetTOTPStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTOTPStatusResponse) ProtoMessage() {} + +func (x *GetTOTPStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTOTPStatusResponse.ProtoReflect.Descriptor instead. +func (*GetTOTPStatusResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{37} +} + +func (x *GetTOTPStatusResponse) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *GetTOTPStatusResponse) GetEnabledAt() *timestamppb.Timestamp { + if x != nil { + return x.EnabledAt + } + return nil +} + +func (x *GetTOTPStatusResponse) GetBackupCodesRemaining() int32 { + if x != nil { + return x.BackupCodesRemaining + } + return 0 +} + +func (x *GetTOTPStatusResponse) GetRequiredByAccount() bool { + if x != nil { + return x.RequiredByAccount + } + return false +} + +type RegenerateBackupCodesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Password required to regenerate codes + Password string `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegenerateBackupCodesRequest) Reset() { + *x = RegenerateBackupCodesRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegenerateBackupCodesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegenerateBackupCodesRequest) ProtoMessage() {} + +func (x *RegenerateBackupCodesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegenerateBackupCodesRequest.ProtoReflect.Descriptor instead. +func (*RegenerateBackupCodesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{38} +} + +func (x *RegenerateBackupCodesRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +type RegenerateBackupCodesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // New plaintext backup codes (show once, user must save) + BackupCodes []string `protobuf:"bytes,1,rep,name=backup_codes,json=backupCodes,proto3" json:"backup_codes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegenerateBackupCodesResponse) Reset() { + *x = RegenerateBackupCodesResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegenerateBackupCodesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegenerateBackupCodesResponse) ProtoMessage() {} + +func (x *RegenerateBackupCodesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegenerateBackupCodesResponse.ProtoReflect.Descriptor instead. +func (*RegenerateBackupCodesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{39} +} + +func (x *RegenerateBackupCodesResponse) GetBackupCodes() []string { + if x != nil { + return x.BackupCodes + } + return nil +} + +type DismissTOTPPromptRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DismissTOTPPromptRequest) Reset() { + *x = DismissTOTPPromptRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DismissTOTPPromptRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DismissTOTPPromptRequest) ProtoMessage() {} + +func (x *DismissTOTPPromptRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DismissTOTPPromptRequest.ProtoReflect.Descriptor instead. +func (*DismissTOTPPromptRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{40} +} + +type DismissTOTPPromptResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DismissTOTPPromptResponse) Reset() { + *x = DismissTOTPPromptResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DismissTOTPPromptResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DismissTOTPPromptResponse) ProtoMessage() {} + +func (x *DismissTOTPPromptResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DismissTOTPPromptResponse.ProtoReflect.Descriptor instead. +func (*DismissTOTPPromptResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{41} +} + +// Trusted Devices - manage devices that skip 2FA +type TrustedDevice struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + DeviceName string `protobuf:"bytes,2,opt,name=device_name,json=deviceName,proto3" json:"device_name,omitempty"` + IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + LastUsedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_used_at,json=lastUsedAt,proto3" json:"last_used_at,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // True if the request's cookie matches this device + IsCurrent bool `protobuf:"varint,6,opt,name=is_current,json=isCurrent,proto3" json:"is_current,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TrustedDevice) Reset() { + *x = TrustedDevice{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TrustedDevice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TrustedDevice) ProtoMessage() {} + +func (x *TrustedDevice) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TrustedDevice.ProtoReflect.Descriptor instead. +func (*TrustedDevice) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{42} +} + +func (x *TrustedDevice) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *TrustedDevice) GetDeviceName() string { + if x != nil { + return x.DeviceName + } + return "" +} + +func (x *TrustedDevice) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *TrustedDevice) GetLastUsedAt() *timestamppb.Timestamp { + if x != nil { + return x.LastUsedAt + } + return nil +} + +func (x *TrustedDevice) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *TrustedDevice) GetIsCurrent() bool { + if x != nil { + return x.IsCurrent + } + return false +} + +type ListTrustedDevicesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListTrustedDevicesRequest) Reset() { + *x = ListTrustedDevicesRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListTrustedDevicesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTrustedDevicesRequest) ProtoMessage() {} + +func (x *ListTrustedDevicesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTrustedDevicesRequest.ProtoReflect.Descriptor instead. +func (*ListTrustedDevicesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{43} +} + +type ListTrustedDevicesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Devices []*TrustedDevice `protobuf:"bytes,1,rep,name=devices,proto3" json:"devices,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListTrustedDevicesResponse) Reset() { + *x = ListTrustedDevicesResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListTrustedDevicesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTrustedDevicesResponse) ProtoMessage() {} + +func (x *ListTrustedDevicesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTrustedDevicesResponse.ProtoReflect.Descriptor instead. +func (*ListTrustedDevicesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{44} +} + +func (x *ListTrustedDevicesResponse) GetDevices() []*TrustedDevice { + if x != nil { + return x.Devices + } + return nil +} + +type RevokeTrustedDeviceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RevokeTrustedDeviceRequest) Reset() { + *x = RevokeTrustedDeviceRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RevokeTrustedDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeTrustedDeviceRequest) ProtoMessage() {} + +func (x *RevokeTrustedDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevokeTrustedDeviceRequest.ProtoReflect.Descriptor instead. +func (*RevokeTrustedDeviceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{45} +} + +func (x *RevokeTrustedDeviceRequest) GetDeviceId() string { + if x != nil { + return x.DeviceId + } + return "" +} + +type RevokeTrustedDeviceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RevokeTrustedDeviceResponse) Reset() { + *x = RevokeTrustedDeviceResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RevokeTrustedDeviceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeTrustedDeviceResponse) ProtoMessage() {} + +func (x *RevokeTrustedDeviceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevokeTrustedDeviceResponse.ProtoReflect.Descriptor instead. +func (*RevokeTrustedDeviceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{46} +} + +type RevokeAllTrustedDevicesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RevokeAllTrustedDevicesRequest) Reset() { + *x = RevokeAllTrustedDevicesRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RevokeAllTrustedDevicesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeAllTrustedDevicesRequest) ProtoMessage() {} + +func (x *RevokeAllTrustedDevicesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevokeAllTrustedDevicesRequest.ProtoReflect.Descriptor instead. +func (*RevokeAllTrustedDevicesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{47} +} + +type RevokeAllTrustedDevicesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RevokeAllTrustedDevicesResponse) Reset() { + *x = RevokeAllTrustedDevicesResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RevokeAllTrustedDevicesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeAllTrustedDevicesResponse) ProtoMessage() {} + +func (x *RevokeAllTrustedDevicesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevokeAllTrustedDevicesResponse.ProtoReflect.Descriptor instead. +func (*RevokeAllTrustedDevicesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{48} +} + +// Mobile Sessions - stateful refresh-token sessions for native clients +type MobileSession struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + DeviceName string `protobuf:"bytes,2,opt,name=device_name,json=deviceName,proto3" json:"device_name,omitempty"` + // "ios" | "android" (as reported by the client) + Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` + IpAddress string `protobuf:"bytes,4,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + LastSeenAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=last_seen_at,json=lastSeenAt,proto3" json:"last_seen_at,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MobileSession) Reset() { + *x = MobileSession{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MobileSession) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MobileSession) ProtoMessage() {} + +func (x *MobileSession) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MobileSession.ProtoReflect.Descriptor instead. +func (*MobileSession) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{49} +} + +func (x *MobileSession) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *MobileSession) GetDeviceName() string { + if x != nil { + return x.DeviceName + } + return "" +} + +func (x *MobileSession) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *MobileSession) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *MobileSession) GetLastSeenAt() *timestamppb.Timestamp { + if x != nil { + return x.LastSeenAt + } + return nil +} + +func (x *MobileSession) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type ListMobileSessionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMobileSessionsRequest) Reset() { + *x = ListMobileSessionsRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMobileSessionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMobileSessionsRequest) ProtoMessage() {} + +func (x *ListMobileSessionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMobileSessionsRequest.ProtoReflect.Descriptor instead. +func (*ListMobileSessionsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{50} +} + +type ListMobileSessionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Sessions []*MobileSession `protobuf:"bytes,1,rep,name=sessions,proto3" json:"sessions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMobileSessionsResponse) Reset() { + *x = ListMobileSessionsResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMobileSessionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMobileSessionsResponse) ProtoMessage() {} + +func (x *ListMobileSessionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMobileSessionsResponse.ProtoReflect.Descriptor instead. +func (*ListMobileSessionsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{51} +} + +func (x *ListMobileSessionsResponse) GetSessions() []*MobileSession { + if x != nil { + return x.Sessions + } + return nil +} + +type RevokeMobileSessionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RevokeMobileSessionRequest) Reset() { + *x = RevokeMobileSessionRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RevokeMobileSessionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeMobileSessionRequest) ProtoMessage() {} + +func (x *RevokeMobileSessionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevokeMobileSessionRequest.ProtoReflect.Descriptor instead. +func (*RevokeMobileSessionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{52} +} + +func (x *RevokeMobileSessionRequest) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +type RevokeMobileSessionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RevokeMobileSessionResponse) Reset() { + *x = RevokeMobileSessionResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RevokeMobileSessionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeMobileSessionResponse) ProtoMessage() {} + +func (x *RevokeMobileSessionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_auth_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevokeMobileSessionResponse.ProtoReflect.Descriptor instead. +func (*RevokeMobileSessionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{53} +} + +var File_orchestrator_v1_auth_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_auth_proto_rawDesc = "" + + "\n" + + "\x1aorchestrator/v1/auth.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe1\x04\n" + + "\x04User\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" + + "\x05email\x18\x02 \x01(\tR\x05email\x12\x1d\n" + + "\n" + + "first_name\x18\x03 \x01(\tR\tfirstName\x12\x1b\n" + + "\tlast_name\x18\x04 \x01(\tR\blastName\x121\n" + + "\x04role\x18\x05 \x01(\x0e2\x1d.orchestrator.v1.PlatformRoleR\x04role\x12\x1b\n" + + "\tis_active\x18\x06 \x01(\bR\bisActive\x12K\n" + + "\x11email_verified_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampH\x00R\x0femailVerifiedAt\x88\x01\x01\x12C\n" + + "\rlast_login_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampH\x01R\vlastLoginAt\x88\x01\x01\x12\"\n" + + "\n" + + "avatar_url\x18\t \x01(\tH\x02R\tavatarUrl\x88\x01\x01\x12\x1a\n" + + "\btimezone\x18\n" + + " \x01(\tR\btimezone\x129\n" + + "\n" + + "created_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12(\n" + + "\x10show_totp_prompt\x18\r \x01(\bR\x0eshowTotpPromptB\x14\n" + + "\x12_email_verified_atB\x10\n" + + "\x0e_last_login_atB\r\n" + + "\v_avatar_url\"\xc9\x01\n" + + "\fLoginRequest\x12\x14\n" + + "\x05email\x18\x01 \x01(\tR\x05email\x12\x1a\n" + + "\bpassword\x18\x02 \x01(\tR\bpassword\x12#\n" + + "\rnative_client\x18\x03 \x01(\bR\fnativeClient\x12$\n" + + "\vdevice_name\x18\x04 \x01(\tH\x00R\n" + + "deviceName\x88\x01\x01\x12\x1f\n" + + "\bplatform\x18\x05 \x01(\tH\x01R\bplatform\x88\x01\x01B\x0e\n" + + "\f_device_nameB\v\n" + + "\t_platform\"\xe9\x01\n" + + "\rSessionTokens\x12!\n" + + "\faccess_token\x18\x01 \x01(\tR\vaccessToken\x12#\n" + + "\rrefresh_token\x18\x02 \x01(\tR\frefreshToken\x12F\n" + + "\x11access_expires_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x0faccessExpiresAt\x12H\n" + + "\x12refresh_expires_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x10refreshExpiresAt\"\x84\x02\n" + + "\rLoginResponse\x12.\n" + + "\x04user\x18\x01 \x01(\v2\x15.orchestrator.v1.UserH\x00R\x04user\x88\x01\x01\x12.\n" + + "\x13requires_two_factor\x18\x02 \x01(\bR\x11requiresTwoFactor\x12-\n" + + "\x10two_factor_token\x18\x03 \x01(\tH\x01R\x0etwoFactorToken\x88\x01\x01\x12;\n" + + "\x06tokens\x18\x04 \x01(\v2\x1e.orchestrator.v1.SessionTokensH\x02R\x06tokens\x88\x01\x01B\a\n" + + "\x05_userB\x13\n" + + "\x11_two_factor_tokenB\t\n" + + "\a_tokens\"K\n" + + "\rLogoutRequest\x12(\n" + + "\rrefresh_token\x18\x01 \x01(\tH\x00R\frefreshToken\x88\x01\x01B\x10\n" + + "\x0e_refresh_token\"\x10\n" + + "\x0eLogoutResponse\"\xbb\x01\n" + + "\x0fRegisterRequest\x12\x14\n" + + "\x05email\x18\x01 \x01(\tR\x05email\x12\x1a\n" + + "\bpassword\x18\x02 \x01(\tR\bpassword\x12\x1d\n" + + "\n" + + "first_name\x18\x03 \x01(\tR\tfirstName\x12\x1b\n" + + "\tlast_name\x18\x04 \x01(\tR\blastName\x12(\n" + + "\rcaptcha_token\x18\x05 \x01(\tH\x00R\fcaptchaToken\x88\x01\x01B\x10\n" + + "\x0e_captcha_token\"r\n" + + "\x10RegisterResponse\x12)\n" + + "\x04user\x18\x01 \x01(\v2\x15.orchestrator.v1.UserR\x04user\x123\n" + + "\x15verification_required\x18\x02 \x01(\bR\x14verificationRequired\"S\n" + + "\x15RefreshSessionRequest\x12(\n" + + "\rrefresh_token\x18\x01 \x01(\tH\x00R\frefreshToken\x88\x01\x01B\x10\n" + + "\x0e_refresh_token\"\x8b\x01\n" + + "\x16RefreshSessionResponse\x12)\n" + + "\x04user\x18\x01 \x01(\v2\x15.orchestrator.v1.UserR\x04user\x12;\n" + + "\x06tokens\x18\x02 \x01(\v2\x1e.orchestrator.v1.SessionTokensH\x00R\x06tokens\x88\x01\x01B\t\n" + + "\a_tokens\"\x17\n" + + "\x15GetCurrentUserRequest\"C\n" + + "\x16GetCurrentUserResponse\x12)\n" + + "\x04user\x18\x01 \x01(\v2\x15.orchestrator.v1.UserR\x04user\"e\n" + + "\x15ChangePasswordRequest\x12)\n" + + "\x10current_password\x18\x01 \x01(\tR\x0fcurrentPassword\x12!\n" + + "\fnew_password\x18\x02 \x01(\tR\vnewPassword\"\x18\n" + + "\x16ChangePasswordResponse\"3\n" + + "\x1bRequestPasswordResetRequest\x12\x14\n" + + "\x05email\x18\x01 \x01(\tR\x05email\"\x1e\n" + + "\x1cRequestPasswordResetResponse\"O\n" + + "\x14ResetPasswordRequest\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x12!\n" + + "\fnew_password\x18\x02 \x01(\tR\vnewPassword\"\x17\n" + + "\x15ResetPasswordResponse\"*\n" + + "\x12VerifyEmailRequest\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\"@\n" + + "\x13VerifyEmailResponse\x12)\n" + + "\x04user\x18\x01 \x01(\v2\x15.orchestrator.v1.UserR\x04user\"6\n" + + "\x1eResendVerificationEmailRequest\x12\x14\n" + + "\x05email\x18\x01 \x01(\tR\x05email\"!\n" + + "\x1fResendVerificationEmailResponse\",\n" + + "\x14UnlockAccountRequest\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\"1\n" + + "\x15UnlockAccountResponse\x12\x18\n" + + "\amessage\x18\x01 \x01(\tR\amessage\"1\n" + + "\x16AdminUnlockUserRequest\x12\x17\n" + + "\auser_id\x18\x01 \x01(\tR\x06userId\"\x19\n" + + "\x17AdminUnlockUserResponse\"6\n" + + "\x1bAdminVerifyUserEmailRequest\x12\x17\n" + + "\auser_id\x18\x01 \x01(\tR\x06userId\"\x1e\n" + + "\x1cAdminVerifyUserEmailResponse\"\x12\n" + + "\x10SetupTOTPRequest\"n\n" + + "\x11SetupTOTPResponse\x12\x16\n" + + "\x06secret\x18\x01 \x01(\tR\x06secret\x12\x1e\n" + + "\vqr_code_png\x18\x02 \x01(\fR\tqrCodePng\x12!\n" + + "\fbackup_codes\x18\x03 \x03(\tR\vbackupCodes\"'\n" + + "\x11EnableTOTPRequest\x12\x12\n" + + "\x04code\x18\x01 \x01(\tR\x04code\".\n" + + "\x12EnableTOTPResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\"0\n" + + "\x12DisableTOTPRequest\x12\x1a\n" + + "\bpassword\x18\x01 \x01(\tR\bpassword\"/\n" + + "\x13DisableTOTPResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\"\x82\x02\n" + + "\x16VerifyLoginTOTPRequest\x12(\n" + + "\x10two_factor_token\x18\x01 \x01(\tR\x0etwoFactorToken\x12\x12\n" + + "\x04code\x18\x02 \x01(\tR\x04code\x12!\n" + + "\ftrust_device\x18\x03 \x01(\bR\vtrustDevice\x12#\n" + + "\rnative_client\x18\x04 \x01(\bR\fnativeClient\x12$\n" + + "\vdevice_name\x18\x05 \x01(\tH\x00R\n" + + "deviceName\x88\x01\x01\x12\x1f\n" + + "\bplatform\x18\x06 \x01(\tH\x01R\bplatform\x88\x01\x01B\x0e\n" + + "\f_device_nameB\v\n" + + "\t_platform\"\x8c\x01\n" + + "\x17VerifyLoginTOTPResponse\x12)\n" + + "\x04user\x18\x01 \x01(\v2\x15.orchestrator.v1.UserR\x04user\x12;\n" + + "\x06tokens\x18\x02 \x01(\v2\x1e.orchestrator.v1.SessionTokensH\x00R\x06tokens\x88\x01\x01B\t\n" + + "\a_tokens\"\x16\n" + + "\x14GetTOTPStatusRequest\"\xe6\x01\n" + + "\x15GetTOTPStatusResponse\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x12>\n" + + "\n" + + "enabled_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\tenabledAt\x88\x01\x01\x124\n" + + "\x16backup_codes_remaining\x18\x03 \x01(\x05R\x14backupCodesRemaining\x12.\n" + + "\x13required_by_account\x18\x04 \x01(\bR\x11requiredByAccountB\r\n" + + "\v_enabled_at\":\n" + + "\x1cRegenerateBackupCodesRequest\x12\x1a\n" + + "\bpassword\x18\x01 \x01(\tR\bpassword\"B\n" + + "\x1dRegenerateBackupCodesResponse\x12!\n" + + "\fbackup_codes\x18\x01 \x03(\tR\vbackupCodes\"\x1a\n" + + "\x18DismissTOTPPromptRequest\"\x1b\n" + + "\x19DismissTOTPPromptResponse\"\xf7\x01\n" + + "\rTrustedDevice\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" + + "\vdevice_name\x18\x02 \x01(\tR\n" + + "deviceName\x12\x1d\n" + + "\n" + + "ip_address\x18\x03 \x01(\tR\tipAddress\x12<\n" + + "\flast_used_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "lastUsedAt\x129\n" + + "\n" + + "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1d\n" + + "\n" + + "is_current\x18\x06 \x01(\bR\tisCurrent\"\x1b\n" + + "\x19ListTrustedDevicesRequest\"V\n" + + "\x1aListTrustedDevicesResponse\x128\n" + + "\adevices\x18\x01 \x03(\v2\x1e.orchestrator.v1.TrustedDeviceR\adevices\"9\n" + + "\x1aRevokeTrustedDeviceRequest\x12\x1b\n" + + "\tdevice_id\x18\x01 \x01(\tR\bdeviceId\"\x1d\n" + + "\x1bRevokeTrustedDeviceResponse\" \n" + + "\x1eRevokeAllTrustedDevicesRequest\"!\n" + + "\x1fRevokeAllTrustedDevicesResponse\"\xf4\x01\n" + + "\rMobileSession\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" + + "\vdevice_name\x18\x02 \x01(\tR\n" + + "deviceName\x12\x1a\n" + + "\bplatform\x18\x03 \x01(\tR\bplatform\x12\x1d\n" + + "\n" + + "ip_address\x18\x04 \x01(\tR\tipAddress\x12<\n" + + "\flast_seen_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "lastSeenAt\x129\n" + + "\n" + + "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\"\x1b\n" + + "\x19ListMobileSessionsRequest\"X\n" + + "\x1aListMobileSessionsResponse\x12:\n" + + "\bsessions\x18\x01 \x03(\v2\x1e.orchestrator.v1.MobileSessionR\bsessions\";\n" + + "\x1aRevokeMobileSessionRequest\x12\x1d\n" + + "\n" + + "session_id\x18\x01 \x01(\tR\tsessionId\"\x1d\n" + + "\x1bRevokeMobileSessionResponse*|\n" + + "\fPlatformRole\x12\x1d\n" + + "\x19PLATFORM_ROLE_UNSPECIFIED\x10\x00\x12\x16\n" + + "\x12PLATFORM_ROLE_USER\x10\x01\x12\x17\n" + + "\x13PLATFORM_ROLE_ADMIN\x10\x02\x12\x1c\n" + + "\x18PLATFORM_ROLE_SUPERADMIN\x10\x032\xf1\x13\n" + + "\vAuthService\x12F\n" + + "\x05Login\x12\x1d.orchestrator.v1.LoginRequest\x1a\x1e.orchestrator.v1.LoginResponse\x12I\n" + + "\x06Logout\x12\x1e.orchestrator.v1.LogoutRequest\x1a\x1f.orchestrator.v1.LogoutResponse\x12O\n" + + "\bRegister\x12 .orchestrator.v1.RegisterRequest\x1a!.orchestrator.v1.RegisterResponse\x12a\n" + + "\x0eRefreshSession\x12&.orchestrator.v1.RefreshSessionRequest\x1a'.orchestrator.v1.RefreshSessionResponse\x12a\n" + + "\x0eGetCurrentUser\x12&.orchestrator.v1.GetCurrentUserRequest\x1a'.orchestrator.v1.GetCurrentUserResponse\x12a\n" + + "\x0eChangePassword\x12&.orchestrator.v1.ChangePasswordRequest\x1a'.orchestrator.v1.ChangePasswordResponse\x12s\n" + + "\x14RequestPasswordReset\x12,.orchestrator.v1.RequestPasswordResetRequest\x1a-.orchestrator.v1.RequestPasswordResetResponse\x12^\n" + + "\rResetPassword\x12%.orchestrator.v1.ResetPasswordRequest\x1a&.orchestrator.v1.ResetPasswordResponse\x12X\n" + + "\vVerifyEmail\x12#.orchestrator.v1.VerifyEmailRequest\x1a$.orchestrator.v1.VerifyEmailResponse\x12|\n" + + "\x17ResendVerificationEmail\x12/.orchestrator.v1.ResendVerificationEmailRequest\x1a0.orchestrator.v1.ResendVerificationEmailResponse\x12^\n" + + "\rUnlockAccount\x12%.orchestrator.v1.UnlockAccountRequest\x1a&.orchestrator.v1.UnlockAccountResponse\x12d\n" + + "\x0fAdminUnlockUser\x12'.orchestrator.v1.AdminUnlockUserRequest\x1a(.orchestrator.v1.AdminUnlockUserResponse\x12s\n" + + "\x14AdminVerifyUserEmail\x12,.orchestrator.v1.AdminVerifyUserEmailRequest\x1a-.orchestrator.v1.AdminVerifyUserEmailResponse\x12R\n" + + "\tSetupTOTP\x12!.orchestrator.v1.SetupTOTPRequest\x1a\".orchestrator.v1.SetupTOTPResponse\x12U\n" + + "\n" + + "EnableTOTP\x12\".orchestrator.v1.EnableTOTPRequest\x1a#.orchestrator.v1.EnableTOTPResponse\x12X\n" + + "\vDisableTOTP\x12#.orchestrator.v1.DisableTOTPRequest\x1a$.orchestrator.v1.DisableTOTPResponse\x12d\n" + + "\x0fVerifyLoginTOTP\x12'.orchestrator.v1.VerifyLoginTOTPRequest\x1a(.orchestrator.v1.VerifyLoginTOTPResponse\x12^\n" + + "\rGetTOTPStatus\x12%.orchestrator.v1.GetTOTPStatusRequest\x1a&.orchestrator.v1.GetTOTPStatusResponse\x12v\n" + + "\x15RegenerateBackupCodes\x12-.orchestrator.v1.RegenerateBackupCodesRequest\x1a..orchestrator.v1.RegenerateBackupCodesResponse\x12j\n" + + "\x11DismissTOTPPrompt\x12).orchestrator.v1.DismissTOTPPromptRequest\x1a*.orchestrator.v1.DismissTOTPPromptResponse\x12m\n" + + "\x12ListTrustedDevices\x12*.orchestrator.v1.ListTrustedDevicesRequest\x1a+.orchestrator.v1.ListTrustedDevicesResponse\x12p\n" + + "\x13RevokeTrustedDevice\x12+.orchestrator.v1.RevokeTrustedDeviceRequest\x1a,.orchestrator.v1.RevokeTrustedDeviceResponse\x12|\n" + + "\x17RevokeAllTrustedDevices\x12/.orchestrator.v1.RevokeAllTrustedDevicesRequest\x1a0.orchestrator.v1.RevokeAllTrustedDevicesResponse\x12m\n" + + "\x12ListMobileSessions\x12*.orchestrator.v1.ListMobileSessionsRequest\x1a+.orchestrator.v1.ListMobileSessionsResponse\x12p\n" + + "\x13RevokeMobileSession\x12+.orchestrator.v1.RevokeMobileSessionRequest\x1a,.orchestrator.v1.RevokeMobileSessionResponseB\xcc\x01\n" + + "\x13com.orchestrator.v1B\tAuthProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_auth_proto_rawDescOnce sync.Once + file_orchestrator_v1_auth_proto_rawDescData []byte +) + +func file_orchestrator_v1_auth_proto_rawDescGZIP() []byte { + file_orchestrator_v1_auth_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_auth_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_auth_proto_rawDesc), len(file_orchestrator_v1_auth_proto_rawDesc))) + }) + return file_orchestrator_v1_auth_proto_rawDescData +} + +var file_orchestrator_v1_auth_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_orchestrator_v1_auth_proto_msgTypes = make([]protoimpl.MessageInfo, 54) +var file_orchestrator_v1_auth_proto_goTypes = []any{ + (PlatformRole)(0), // 0: orchestrator.v1.PlatformRole + (*User)(nil), // 1: orchestrator.v1.User + (*LoginRequest)(nil), // 2: orchestrator.v1.LoginRequest + (*SessionTokens)(nil), // 3: orchestrator.v1.SessionTokens + (*LoginResponse)(nil), // 4: orchestrator.v1.LoginResponse + (*LogoutRequest)(nil), // 5: orchestrator.v1.LogoutRequest + (*LogoutResponse)(nil), // 6: orchestrator.v1.LogoutResponse + (*RegisterRequest)(nil), // 7: orchestrator.v1.RegisterRequest + (*RegisterResponse)(nil), // 8: orchestrator.v1.RegisterResponse + (*RefreshSessionRequest)(nil), // 9: orchestrator.v1.RefreshSessionRequest + (*RefreshSessionResponse)(nil), // 10: orchestrator.v1.RefreshSessionResponse + (*GetCurrentUserRequest)(nil), // 11: orchestrator.v1.GetCurrentUserRequest + (*GetCurrentUserResponse)(nil), // 12: orchestrator.v1.GetCurrentUserResponse + (*ChangePasswordRequest)(nil), // 13: orchestrator.v1.ChangePasswordRequest + (*ChangePasswordResponse)(nil), // 14: orchestrator.v1.ChangePasswordResponse + (*RequestPasswordResetRequest)(nil), // 15: orchestrator.v1.RequestPasswordResetRequest + (*RequestPasswordResetResponse)(nil), // 16: orchestrator.v1.RequestPasswordResetResponse + (*ResetPasswordRequest)(nil), // 17: orchestrator.v1.ResetPasswordRequest + (*ResetPasswordResponse)(nil), // 18: orchestrator.v1.ResetPasswordResponse + (*VerifyEmailRequest)(nil), // 19: orchestrator.v1.VerifyEmailRequest + (*VerifyEmailResponse)(nil), // 20: orchestrator.v1.VerifyEmailResponse + (*ResendVerificationEmailRequest)(nil), // 21: orchestrator.v1.ResendVerificationEmailRequest + (*ResendVerificationEmailResponse)(nil), // 22: orchestrator.v1.ResendVerificationEmailResponse + (*UnlockAccountRequest)(nil), // 23: orchestrator.v1.UnlockAccountRequest + (*UnlockAccountResponse)(nil), // 24: orchestrator.v1.UnlockAccountResponse + (*AdminUnlockUserRequest)(nil), // 25: orchestrator.v1.AdminUnlockUserRequest + (*AdminUnlockUserResponse)(nil), // 26: orchestrator.v1.AdminUnlockUserResponse + (*AdminVerifyUserEmailRequest)(nil), // 27: orchestrator.v1.AdminVerifyUserEmailRequest + (*AdminVerifyUserEmailResponse)(nil), // 28: orchestrator.v1.AdminVerifyUserEmailResponse + (*SetupTOTPRequest)(nil), // 29: orchestrator.v1.SetupTOTPRequest + (*SetupTOTPResponse)(nil), // 30: orchestrator.v1.SetupTOTPResponse + (*EnableTOTPRequest)(nil), // 31: orchestrator.v1.EnableTOTPRequest + (*EnableTOTPResponse)(nil), // 32: orchestrator.v1.EnableTOTPResponse + (*DisableTOTPRequest)(nil), // 33: orchestrator.v1.DisableTOTPRequest + (*DisableTOTPResponse)(nil), // 34: orchestrator.v1.DisableTOTPResponse + (*VerifyLoginTOTPRequest)(nil), // 35: orchestrator.v1.VerifyLoginTOTPRequest + (*VerifyLoginTOTPResponse)(nil), // 36: orchestrator.v1.VerifyLoginTOTPResponse + (*GetTOTPStatusRequest)(nil), // 37: orchestrator.v1.GetTOTPStatusRequest + (*GetTOTPStatusResponse)(nil), // 38: orchestrator.v1.GetTOTPStatusResponse + (*RegenerateBackupCodesRequest)(nil), // 39: orchestrator.v1.RegenerateBackupCodesRequest + (*RegenerateBackupCodesResponse)(nil), // 40: orchestrator.v1.RegenerateBackupCodesResponse + (*DismissTOTPPromptRequest)(nil), // 41: orchestrator.v1.DismissTOTPPromptRequest + (*DismissTOTPPromptResponse)(nil), // 42: orchestrator.v1.DismissTOTPPromptResponse + (*TrustedDevice)(nil), // 43: orchestrator.v1.TrustedDevice + (*ListTrustedDevicesRequest)(nil), // 44: orchestrator.v1.ListTrustedDevicesRequest + (*ListTrustedDevicesResponse)(nil), // 45: orchestrator.v1.ListTrustedDevicesResponse + (*RevokeTrustedDeviceRequest)(nil), // 46: orchestrator.v1.RevokeTrustedDeviceRequest + (*RevokeTrustedDeviceResponse)(nil), // 47: orchestrator.v1.RevokeTrustedDeviceResponse + (*RevokeAllTrustedDevicesRequest)(nil), // 48: orchestrator.v1.RevokeAllTrustedDevicesRequest + (*RevokeAllTrustedDevicesResponse)(nil), // 49: orchestrator.v1.RevokeAllTrustedDevicesResponse + (*MobileSession)(nil), // 50: orchestrator.v1.MobileSession + (*ListMobileSessionsRequest)(nil), // 51: orchestrator.v1.ListMobileSessionsRequest + (*ListMobileSessionsResponse)(nil), // 52: orchestrator.v1.ListMobileSessionsResponse + (*RevokeMobileSessionRequest)(nil), // 53: orchestrator.v1.RevokeMobileSessionRequest + (*RevokeMobileSessionResponse)(nil), // 54: orchestrator.v1.RevokeMobileSessionResponse + (*timestamppb.Timestamp)(nil), // 55: google.protobuf.Timestamp +} +var file_orchestrator_v1_auth_proto_depIdxs = []int32{ + 0, // 0: orchestrator.v1.User.role:type_name -> orchestrator.v1.PlatformRole + 55, // 1: orchestrator.v1.User.email_verified_at:type_name -> google.protobuf.Timestamp + 55, // 2: orchestrator.v1.User.last_login_at:type_name -> google.protobuf.Timestamp + 55, // 3: orchestrator.v1.User.created_at:type_name -> google.protobuf.Timestamp + 55, // 4: orchestrator.v1.User.updated_at:type_name -> google.protobuf.Timestamp + 55, // 5: orchestrator.v1.SessionTokens.access_expires_at:type_name -> google.protobuf.Timestamp + 55, // 6: orchestrator.v1.SessionTokens.refresh_expires_at:type_name -> google.protobuf.Timestamp + 1, // 7: orchestrator.v1.LoginResponse.user:type_name -> orchestrator.v1.User + 3, // 8: orchestrator.v1.LoginResponse.tokens:type_name -> orchestrator.v1.SessionTokens + 1, // 9: orchestrator.v1.RegisterResponse.user:type_name -> orchestrator.v1.User + 1, // 10: orchestrator.v1.RefreshSessionResponse.user:type_name -> orchestrator.v1.User + 3, // 11: orchestrator.v1.RefreshSessionResponse.tokens:type_name -> orchestrator.v1.SessionTokens + 1, // 12: orchestrator.v1.GetCurrentUserResponse.user:type_name -> orchestrator.v1.User + 1, // 13: orchestrator.v1.VerifyEmailResponse.user:type_name -> orchestrator.v1.User + 1, // 14: orchestrator.v1.VerifyLoginTOTPResponse.user:type_name -> orchestrator.v1.User + 3, // 15: orchestrator.v1.VerifyLoginTOTPResponse.tokens:type_name -> orchestrator.v1.SessionTokens + 55, // 16: orchestrator.v1.GetTOTPStatusResponse.enabled_at:type_name -> google.protobuf.Timestamp + 55, // 17: orchestrator.v1.TrustedDevice.last_used_at:type_name -> google.protobuf.Timestamp + 55, // 18: orchestrator.v1.TrustedDevice.created_at:type_name -> google.protobuf.Timestamp + 43, // 19: orchestrator.v1.ListTrustedDevicesResponse.devices:type_name -> orchestrator.v1.TrustedDevice + 55, // 20: orchestrator.v1.MobileSession.last_seen_at:type_name -> google.protobuf.Timestamp + 55, // 21: orchestrator.v1.MobileSession.created_at:type_name -> google.protobuf.Timestamp + 50, // 22: orchestrator.v1.ListMobileSessionsResponse.sessions:type_name -> orchestrator.v1.MobileSession + 2, // 23: orchestrator.v1.AuthService.Login:input_type -> orchestrator.v1.LoginRequest + 5, // 24: orchestrator.v1.AuthService.Logout:input_type -> orchestrator.v1.LogoutRequest + 7, // 25: orchestrator.v1.AuthService.Register:input_type -> orchestrator.v1.RegisterRequest + 9, // 26: orchestrator.v1.AuthService.RefreshSession:input_type -> orchestrator.v1.RefreshSessionRequest + 11, // 27: orchestrator.v1.AuthService.GetCurrentUser:input_type -> orchestrator.v1.GetCurrentUserRequest + 13, // 28: orchestrator.v1.AuthService.ChangePassword:input_type -> orchestrator.v1.ChangePasswordRequest + 15, // 29: orchestrator.v1.AuthService.RequestPasswordReset:input_type -> orchestrator.v1.RequestPasswordResetRequest + 17, // 30: orchestrator.v1.AuthService.ResetPassword:input_type -> orchestrator.v1.ResetPasswordRequest + 19, // 31: orchestrator.v1.AuthService.VerifyEmail:input_type -> orchestrator.v1.VerifyEmailRequest + 21, // 32: orchestrator.v1.AuthService.ResendVerificationEmail:input_type -> orchestrator.v1.ResendVerificationEmailRequest + 23, // 33: orchestrator.v1.AuthService.UnlockAccount:input_type -> orchestrator.v1.UnlockAccountRequest + 25, // 34: orchestrator.v1.AuthService.AdminUnlockUser:input_type -> orchestrator.v1.AdminUnlockUserRequest + 27, // 35: orchestrator.v1.AuthService.AdminVerifyUserEmail:input_type -> orchestrator.v1.AdminVerifyUserEmailRequest + 29, // 36: orchestrator.v1.AuthService.SetupTOTP:input_type -> orchestrator.v1.SetupTOTPRequest + 31, // 37: orchestrator.v1.AuthService.EnableTOTP:input_type -> orchestrator.v1.EnableTOTPRequest + 33, // 38: orchestrator.v1.AuthService.DisableTOTP:input_type -> orchestrator.v1.DisableTOTPRequest + 35, // 39: orchestrator.v1.AuthService.VerifyLoginTOTP:input_type -> orchestrator.v1.VerifyLoginTOTPRequest + 37, // 40: orchestrator.v1.AuthService.GetTOTPStatus:input_type -> orchestrator.v1.GetTOTPStatusRequest + 39, // 41: orchestrator.v1.AuthService.RegenerateBackupCodes:input_type -> orchestrator.v1.RegenerateBackupCodesRequest + 41, // 42: orchestrator.v1.AuthService.DismissTOTPPrompt:input_type -> orchestrator.v1.DismissTOTPPromptRequest + 44, // 43: orchestrator.v1.AuthService.ListTrustedDevices:input_type -> orchestrator.v1.ListTrustedDevicesRequest + 46, // 44: orchestrator.v1.AuthService.RevokeTrustedDevice:input_type -> orchestrator.v1.RevokeTrustedDeviceRequest + 48, // 45: orchestrator.v1.AuthService.RevokeAllTrustedDevices:input_type -> orchestrator.v1.RevokeAllTrustedDevicesRequest + 51, // 46: orchestrator.v1.AuthService.ListMobileSessions:input_type -> orchestrator.v1.ListMobileSessionsRequest + 53, // 47: orchestrator.v1.AuthService.RevokeMobileSession:input_type -> orchestrator.v1.RevokeMobileSessionRequest + 4, // 48: orchestrator.v1.AuthService.Login:output_type -> orchestrator.v1.LoginResponse + 6, // 49: orchestrator.v1.AuthService.Logout:output_type -> orchestrator.v1.LogoutResponse + 8, // 50: orchestrator.v1.AuthService.Register:output_type -> orchestrator.v1.RegisterResponse + 10, // 51: orchestrator.v1.AuthService.RefreshSession:output_type -> orchestrator.v1.RefreshSessionResponse + 12, // 52: orchestrator.v1.AuthService.GetCurrentUser:output_type -> orchestrator.v1.GetCurrentUserResponse + 14, // 53: orchestrator.v1.AuthService.ChangePassword:output_type -> orchestrator.v1.ChangePasswordResponse + 16, // 54: orchestrator.v1.AuthService.RequestPasswordReset:output_type -> orchestrator.v1.RequestPasswordResetResponse + 18, // 55: orchestrator.v1.AuthService.ResetPassword:output_type -> orchestrator.v1.ResetPasswordResponse + 20, // 56: orchestrator.v1.AuthService.VerifyEmail:output_type -> orchestrator.v1.VerifyEmailResponse + 22, // 57: orchestrator.v1.AuthService.ResendVerificationEmail:output_type -> orchestrator.v1.ResendVerificationEmailResponse + 24, // 58: orchestrator.v1.AuthService.UnlockAccount:output_type -> orchestrator.v1.UnlockAccountResponse + 26, // 59: orchestrator.v1.AuthService.AdminUnlockUser:output_type -> orchestrator.v1.AdminUnlockUserResponse + 28, // 60: orchestrator.v1.AuthService.AdminVerifyUserEmail:output_type -> orchestrator.v1.AdminVerifyUserEmailResponse + 30, // 61: orchestrator.v1.AuthService.SetupTOTP:output_type -> orchestrator.v1.SetupTOTPResponse + 32, // 62: orchestrator.v1.AuthService.EnableTOTP:output_type -> orchestrator.v1.EnableTOTPResponse + 34, // 63: orchestrator.v1.AuthService.DisableTOTP:output_type -> orchestrator.v1.DisableTOTPResponse + 36, // 64: orchestrator.v1.AuthService.VerifyLoginTOTP:output_type -> orchestrator.v1.VerifyLoginTOTPResponse + 38, // 65: orchestrator.v1.AuthService.GetTOTPStatus:output_type -> orchestrator.v1.GetTOTPStatusResponse + 40, // 66: orchestrator.v1.AuthService.RegenerateBackupCodes:output_type -> orchestrator.v1.RegenerateBackupCodesResponse + 42, // 67: orchestrator.v1.AuthService.DismissTOTPPrompt:output_type -> orchestrator.v1.DismissTOTPPromptResponse + 45, // 68: orchestrator.v1.AuthService.ListTrustedDevices:output_type -> orchestrator.v1.ListTrustedDevicesResponse + 47, // 69: orchestrator.v1.AuthService.RevokeTrustedDevice:output_type -> orchestrator.v1.RevokeTrustedDeviceResponse + 49, // 70: orchestrator.v1.AuthService.RevokeAllTrustedDevices:output_type -> orchestrator.v1.RevokeAllTrustedDevicesResponse + 52, // 71: orchestrator.v1.AuthService.ListMobileSessions:output_type -> orchestrator.v1.ListMobileSessionsResponse + 54, // 72: orchestrator.v1.AuthService.RevokeMobileSession:output_type -> orchestrator.v1.RevokeMobileSessionResponse + 48, // [48:73] is the sub-list for method output_type + 23, // [23:48] is the sub-list for method input_type + 23, // [23:23] is the sub-list for extension type_name + 23, // [23:23] is the sub-list for extension extendee + 0, // [0:23] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_auth_proto_init() } +func file_orchestrator_v1_auth_proto_init() { + if File_orchestrator_v1_auth_proto != nil { + return + } + file_orchestrator_v1_auth_proto_msgTypes[0].OneofWrappers = []any{} + file_orchestrator_v1_auth_proto_msgTypes[1].OneofWrappers = []any{} + file_orchestrator_v1_auth_proto_msgTypes[3].OneofWrappers = []any{} + file_orchestrator_v1_auth_proto_msgTypes[4].OneofWrappers = []any{} + file_orchestrator_v1_auth_proto_msgTypes[6].OneofWrappers = []any{} + file_orchestrator_v1_auth_proto_msgTypes[8].OneofWrappers = []any{} + file_orchestrator_v1_auth_proto_msgTypes[9].OneofWrappers = []any{} + file_orchestrator_v1_auth_proto_msgTypes[34].OneofWrappers = []any{} + file_orchestrator_v1_auth_proto_msgTypes[35].OneofWrappers = []any{} + file_orchestrator_v1_auth_proto_msgTypes[37].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_auth_proto_rawDesc), len(file_orchestrator_v1_auth_proto_rawDesc)), + NumEnums: 1, + NumMessages: 54, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_auth_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_auth_proto_depIdxs, + EnumInfos: file_orchestrator_v1_auth_proto_enumTypes, + MessageInfos: file_orchestrator_v1_auth_proto_msgTypes, + }.Build() + File_orchestrator_v1_auth_proto = out.File + file_orchestrator_v1_auth_proto_goTypes = nil + file_orchestrator_v1_auth_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/billing.pb.go b/internal/api/orchestrator/v1/billing.pb.go new file mode 100644 index 0000000..cc84888 --- /dev/null +++ b/internal/api/orchestrator/v1/billing.pb.go @@ -0,0 +1,7933 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/billing.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Subscription status +type SubscriptionStatus int32 + +const ( + SubscriptionStatus_SUBSCRIPTION_STATUS_UNSPECIFIED SubscriptionStatus = 0 + SubscriptionStatus_SUBSCRIPTION_STATUS_PENDING SubscriptionStatus = 1 // Subscription created but not yet active + SubscriptionStatus_SUBSCRIPTION_STATUS_ACTIVE SubscriptionStatus = 2 // Subscription is active + SubscriptionStatus_SUBSCRIPTION_STATUS_TRIALING SubscriptionStatus = 3 // In trial period + SubscriptionStatus_SUBSCRIPTION_STATUS_TERMINATED SubscriptionStatus = 4 // Subscription has been terminated + SubscriptionStatus_SUBSCRIPTION_STATUS_CANCELED SubscriptionStatus = 5 // Subscription has been canceled + SubscriptionStatus_SUBSCRIPTION_STATUS_PAST_DUE SubscriptionStatus = 6 // Payment failed, grace period +) + +// Enum value maps for SubscriptionStatus. +var ( + SubscriptionStatus_name = map[int32]string{ + 0: "SUBSCRIPTION_STATUS_UNSPECIFIED", + 1: "SUBSCRIPTION_STATUS_PENDING", + 2: "SUBSCRIPTION_STATUS_ACTIVE", + 3: "SUBSCRIPTION_STATUS_TRIALING", + 4: "SUBSCRIPTION_STATUS_TERMINATED", + 5: "SUBSCRIPTION_STATUS_CANCELED", + 6: "SUBSCRIPTION_STATUS_PAST_DUE", + } + SubscriptionStatus_value = map[string]int32{ + "SUBSCRIPTION_STATUS_UNSPECIFIED": 0, + "SUBSCRIPTION_STATUS_PENDING": 1, + "SUBSCRIPTION_STATUS_ACTIVE": 2, + "SUBSCRIPTION_STATUS_TRIALING": 3, + "SUBSCRIPTION_STATUS_TERMINATED": 4, + "SUBSCRIPTION_STATUS_CANCELED": 5, + "SUBSCRIPTION_STATUS_PAST_DUE": 6, + } +) + +func (x SubscriptionStatus) Enum() *SubscriptionStatus { + p := new(SubscriptionStatus) + *p = x + return p +} + +func (x SubscriptionStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SubscriptionStatus) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_billing_proto_enumTypes[0].Descriptor() +} + +func (SubscriptionStatus) Type() protoreflect.EnumType { + return &file_orchestrator_v1_billing_proto_enumTypes[0] +} + +func (x SubscriptionStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SubscriptionStatus.Descriptor instead. +func (SubscriptionStatus) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{0} +} + +// Subscription represents a per-instance subscription +type Subscription struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Internal orchestrator ID + InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` // Instance this subscription belongs to + AccountId string `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` // Account for billing consolidation + StripeSubscriptionId string `protobuf:"bytes,4,opt,name=stripe_subscription_id,json=stripeSubscriptionId,proto3" json:"stripe_subscription_id,omitempty"` // Stripe subscription ID + StripeCustomerId string `protobuf:"bytes,5,opt,name=stripe_customer_id,json=stripeCustomerId,proto3" json:"stripe_customer_id,omitempty"` // Stripe customer ID + ExternalId string `protobuf:"bytes,6,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"` // External subscription ID ({account_slug}-{instance_slug}) + StripePriceId string `protobuf:"bytes,7,opt,name=stripe_price_id,json=stripePriceId,proto3" json:"stripe_price_id,omitempty"` // Stripe price ID + Plan *Plan `protobuf:"bytes,8,opt,name=plan,proto3,oneof" json:"plan,omitempty"` // Plan details + Status SubscriptionStatus `protobuf:"varint,9,opt,name=status,proto3,enum=orchestrator.v1.SubscriptionStatus" json:"status,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` + TrialEndAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=trial_end_at,json=trialEndAt,proto3,oneof" json:"trial_end_at,omitempty"` // Trial end date + EndingAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=ending_at,json=endingAt,proto3,oneof" json:"ending_at,omitempty"` // Scheduled end date + TerminatedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=terminated_at,json=terminatedAt,proto3,oneof" json:"terminated_at,omitempty"` // Actual termination date + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + CancelAtPeriodEnd bool `protobuf:"varint,16,opt,name=cancel_at_period_end,json=cancelAtPeriodEnd,proto3" json:"cancel_at_period_end,omitempty"` // Scheduled to cancel when the period ends (resumable) + CurrentPeriodEnd *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=current_period_end,json=currentPeriodEnd,proto3,oneof" json:"current_period_end,omitempty"` // End of the current billing period + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Subscription) Reset() { + *x = Subscription{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Subscription) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Subscription) ProtoMessage() {} + +func (x *Subscription) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Subscription.ProtoReflect.Descriptor instead. +func (*Subscription) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{0} +} + +func (x *Subscription) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Subscription) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *Subscription) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *Subscription) GetStripeSubscriptionId() string { + if x != nil { + return x.StripeSubscriptionId + } + return "" +} + +func (x *Subscription) GetStripeCustomerId() string { + if x != nil { + return x.StripeCustomerId + } + return "" +} + +func (x *Subscription) GetExternalId() string { + if x != nil { + return x.ExternalId + } + return "" +} + +func (x *Subscription) GetStripePriceId() string { + if x != nil { + return x.StripePriceId + } + return "" +} + +func (x *Subscription) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +func (x *Subscription) GetStatus() SubscriptionStatus { + if x != nil { + return x.Status + } + return SubscriptionStatus_SUBSCRIPTION_STATUS_UNSPECIFIED +} + +func (x *Subscription) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.StartedAt + } + return nil +} + +func (x *Subscription) GetTrialEndAt() *timestamppb.Timestamp { + if x != nil { + return x.TrialEndAt + } + return nil +} + +func (x *Subscription) GetEndingAt() *timestamppb.Timestamp { + if x != nil { + return x.EndingAt + } + return nil +} + +func (x *Subscription) GetTerminatedAt() *timestamppb.Timestamp { + if x != nil { + return x.TerminatedAt + } + return nil +} + +func (x *Subscription) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *Subscription) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *Subscription) GetCancelAtPeriodEnd() bool { + if x != nil { + return x.CancelAtPeriodEnd + } + return false +} + +func (x *Subscription) GetCurrentPeriodEnd() *timestamppb.Timestamp { + if x != nil { + return x.CurrentPeriodEnd + } + return nil +} + +// InstanceBillingInfo provides billing context for an instance +type InstanceBillingInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + InstanceName string `protobuf:"bytes,2,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` + InstanceSlug string `protobuf:"bytes,3,opt,name=instance_slug,json=instanceSlug,proto3" json:"instance_slug,omitempty"` + Subscription *Subscription `protobuf:"bytes,4,opt,name=subscription,proto3,oneof" json:"subscription,omitempty"` + Usage []*UsageMetric `protobuf:"bytes,5,rep,name=usage,proto3" json:"usage,omitempty"` + MonthlyCostCents int32 `protobuf:"varint,6,opt,name=monthly_cost_cents,json=monthlyCostCents,proto3" json:"monthly_cost_cents,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstanceBillingInfo) Reset() { + *x = InstanceBillingInfo{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstanceBillingInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceBillingInfo) ProtoMessage() {} + +func (x *InstanceBillingInfo) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceBillingInfo.ProtoReflect.Descriptor instead. +func (*InstanceBillingInfo) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{1} +} + +func (x *InstanceBillingInfo) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *InstanceBillingInfo) GetInstanceName() string { + if x != nil { + return x.InstanceName + } + return "" +} + +func (x *InstanceBillingInfo) GetInstanceSlug() string { + if x != nil { + return x.InstanceSlug + } + return "" +} + +func (x *InstanceBillingInfo) GetSubscription() *Subscription { + if x != nil { + return x.Subscription + } + return nil +} + +func (x *InstanceBillingInfo) GetUsage() []*UsageMetric { + if x != nil { + return x.Usage + } + return nil +} + +func (x *InstanceBillingInfo) GetMonthlyCostCents() int32 { + if x != nil { + return x.MonthlyCostCents + } + return 0 +} + +// AccountBillingSummary provides billing overview for an account +type AccountBillingSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + ActiveSubscriptionCount int32 `protobuf:"varint,2,opt,name=active_subscription_count,json=activeSubscriptionCount,proto3" json:"active_subscription_count,omitempty"` + TotalMonthlyCents int32 `protobuf:"varint,3,opt,name=total_monthly_cents,json=totalMonthlyCents,proto3" json:"total_monthly_cents,omitempty"` + Instances []*InstanceBillingInfo `protobuf:"bytes,4,rep,name=instances,proto3" json:"instances,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AccountBillingSummary) Reset() { + *x = AccountBillingSummary{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AccountBillingSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountBillingSummary) ProtoMessage() {} + +func (x *AccountBillingSummary) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountBillingSummary.ProtoReflect.Descriptor instead. +func (*AccountBillingSummary) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{2} +} + +func (x *AccountBillingSummary) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *AccountBillingSummary) GetActiveSubscriptionCount() int32 { + if x != nil { + return x.ActiveSubscriptionCount + } + return 0 +} + +func (x *AccountBillingSummary) GetTotalMonthlyCents() int32 { + if x != nil { + return x.TotalMonthlyCents + } + return 0 +} + +func (x *AccountBillingSummary) GetInstances() []*InstanceBillingInfo { + if x != nil { + return x.Instances + } + return nil +} + +// Invoice represents a billing invoice +type Invoice struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Internal ID + StripeInvoiceId string `protobuf:"bytes,2,opt,name=stripe_invoice_id,json=stripeInvoiceId,proto3" json:"stripe_invoice_id,omitempty"` // Stripe invoice ID + Number string `protobuf:"bytes,3,opt,name=number,proto3" json:"number,omitempty"` // Invoice number + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` // draft, finalized, voided, failed + PaymentStatus string `protobuf:"bytes,5,opt,name=payment_status,json=paymentStatus,proto3" json:"payment_status,omitempty"` // pending, succeeded, failed + AmountCents int64 `protobuf:"varint,6,opt,name=amount_cents,json=amountCents,proto3" json:"amount_cents,omitempty"` // Amount in cents + TotalAmountCents int64 `protobuf:"varint,7,opt,name=total_amount_cents,json=totalAmountCents,proto3" json:"total_amount_cents,omitempty"` // Total including taxes + Currency string `protobuf:"bytes,8,opt,name=currency,proto3" json:"currency,omitempty"` + FileUrl *string `protobuf:"bytes,9,opt,name=file_url,json=fileUrl,proto3,oneof" json:"file_url,omitempty"` // PDF download URL + IssuingDate string `protobuf:"bytes,10,opt,name=issuing_date,json=issuingDate,proto3" json:"issuing_date,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Invoice) Reset() { + *x = Invoice{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Invoice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Invoice) ProtoMessage() {} + +func (x *Invoice) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Invoice.ProtoReflect.Descriptor instead. +func (*Invoice) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{3} +} + +func (x *Invoice) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Invoice) GetStripeInvoiceId() string { + if x != nil { + return x.StripeInvoiceId + } + return "" +} + +func (x *Invoice) GetNumber() string { + if x != nil { + return x.Number + } + return "" +} + +func (x *Invoice) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Invoice) GetPaymentStatus() string { + if x != nil { + return x.PaymentStatus + } + return "" +} + +func (x *Invoice) GetAmountCents() int64 { + if x != nil { + return x.AmountCents + } + return 0 +} + +func (x *Invoice) GetTotalAmountCents() int64 { + if x != nil { + return x.TotalAmountCents + } + return 0 +} + +func (x *Invoice) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *Invoice) GetFileUrl() string { + if x != nil && x.FileUrl != nil { + return *x.FileUrl + } + return "" +} + +func (x *Invoice) GetIssuingDate() string { + if x != nil { + return x.IssuingDate + } + return "" +} + +func (x *Invoice) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +// UsageMetric tracks billable usage for an instance +type UsageMetric struct { + state protoimpl.MessageState `protogen:"open.v1"` + MetricCode string `protobuf:"bytes,1,opt,name=metric_code,json=metricCode,proto3" json:"metric_code,omitempty"` // e.g., "storage_gb", "bandwidth_gb" + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + CurrentValue int64 `protobuf:"varint,3,opt,name=current_value,json=currentValue,proto3" json:"current_value,omitempty"` // Current usage in this billing period + Included int64 `protobuf:"varint,4,opt,name=included,proto3" json:"included,omitempty"` // Included in plan + Overage int64 `protobuf:"varint,5,opt,name=overage,proto3" json:"overage,omitempty"` // Amount over included + OverageRateCents int64 `protobuf:"varint,6,opt,name=overage_rate_cents,json=overageRateCents,proto3" json:"overage_rate_cents,omitempty"` // Rate per unit for overage + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UsageMetric) Reset() { + *x = UsageMetric{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UsageMetric) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UsageMetric) ProtoMessage() {} + +func (x *UsageMetric) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UsageMetric.ProtoReflect.Descriptor instead. +func (*UsageMetric) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{4} +} + +func (x *UsageMetric) GetMetricCode() string { + if x != nil { + return x.MetricCode + } + return "" +} + +func (x *UsageMetric) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UsageMetric) GetCurrentValue() int64 { + if x != nil { + return x.CurrentValue + } + return 0 +} + +func (x *UsageMetric) GetIncluded() int64 { + if x != nil { + return x.Included + } + return 0 +} + +func (x *UsageMetric) GetOverage() int64 { + if x != nil { + return x.Overage + } + return 0 +} + +func (x *UsageMetric) GetOverageRateCents() int64 { + if x != nil { + return x.OverageRateCents + } + return 0 +} + +type ListPlansRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + IncludeInactive bool `protobuf:"varint,1,opt,name=include_inactive,json=includeInactive,proto3" json:"include_inactive,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPlansRequest) Reset() { + *x = ListPlansRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPlansRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPlansRequest) ProtoMessage() {} + +func (x *ListPlansRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPlansRequest.ProtoReflect.Descriptor instead. +func (*ListPlansRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{5} +} + +func (x *ListPlansRequest) GetIncludeInactive() bool { + if x != nil { + return x.IncludeInactive + } + return false +} + +type ListPlansResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plans []*Plan `protobuf:"bytes,1,rep,name=plans,proto3" json:"plans,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPlansResponse) Reset() { + *x = ListPlansResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPlansResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPlansResponse) ProtoMessage() {} + +func (x *ListPlansResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPlansResponse.ProtoReflect.Descriptor instead. +func (*ListPlansResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{6} +} + +func (x *ListPlansResponse) GetPlans() []*Plan { + if x != nil { + return x.Plans + } + return nil +} + +// List all subscriptions for an account (billing overview) +type ListAccountSubscriptionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAccountSubscriptionsRequest) Reset() { + *x = ListAccountSubscriptionsRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAccountSubscriptionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAccountSubscriptionsRequest) ProtoMessage() {} + +func (x *ListAccountSubscriptionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAccountSubscriptionsRequest.ProtoReflect.Descriptor instead. +func (*ListAccountSubscriptionsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{7} +} + +func (x *ListAccountSubscriptionsRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type ListAccountSubscriptionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Summary *AccountBillingSummary `protobuf:"bytes,1,opt,name=summary,proto3" json:"summary,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAccountSubscriptionsResponse) Reset() { + *x = ListAccountSubscriptionsResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAccountSubscriptionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAccountSubscriptionsResponse) ProtoMessage() {} + +func (x *ListAccountSubscriptionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAccountSubscriptionsResponse.ProtoReflect.Descriptor instead. +func (*ListAccountSubscriptionsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{8} +} + +func (x *ListAccountSubscriptionsResponse) GetSummary() *AccountBillingSummary { + if x != nil { + return x.Summary + } + return nil +} + +// Create subscription for an instance +type CreateSubscriptionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` // CHANGED: Now instance-based + PlanCode string `protobuf:"bytes,2,opt,name=plan_code,json=planCode,proto3" json:"plan_code,omitempty"` + BillingTime *string `protobuf:"bytes,3,opt,name=billing_time,json=billingTime,proto3,oneof" json:"billing_time,omitempty"` // "calendar" or "anniversary" + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateSubscriptionRequest) Reset() { + *x = CreateSubscriptionRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSubscriptionRequest) ProtoMessage() {} + +func (x *CreateSubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*CreateSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{9} +} + +func (x *CreateSubscriptionRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *CreateSubscriptionRequest) GetPlanCode() string { + if x != nil { + return x.PlanCode + } + return "" +} + +func (x *CreateSubscriptionRequest) GetBillingTime() string { + if x != nil && x.BillingTime != nil { + return *x.BillingTime + } + return "" +} + +type CreateSubscriptionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Subscription *Subscription `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateSubscriptionResponse) Reset() { + *x = CreateSubscriptionResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateSubscriptionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSubscriptionResponse) ProtoMessage() {} + +func (x *CreateSubscriptionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateSubscriptionResponse.ProtoReflect.Descriptor instead. +func (*CreateSubscriptionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{10} +} + +func (x *CreateSubscriptionResponse) GetSubscription() *Subscription { + if x != nil { + return x.Subscription + } + return nil +} + +// Change plan for an instance's subscription +type ChangePlanRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` // CHANGED: Now instance-based + NewPlanCode string `protobuf:"bytes,2,opt,name=new_plan_code,json=newPlanCode,proto3" json:"new_plan_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChangePlanRequest) Reset() { + *x = ChangePlanRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChangePlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangePlanRequest) ProtoMessage() {} + +func (x *ChangePlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChangePlanRequest.ProtoReflect.Descriptor instead. +func (*ChangePlanRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{11} +} + +func (x *ChangePlanRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *ChangePlanRequest) GetNewPlanCode() string { + if x != nil { + return x.NewPlanCode + } + return "" +} + +type ChangePlanResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Subscription *Subscription `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChangePlanResponse) Reset() { + *x = ChangePlanResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChangePlanResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangePlanResponse) ProtoMessage() {} + +func (x *ChangePlanResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChangePlanResponse.ProtoReflect.Descriptor instead. +func (*ChangePlanResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{12} +} + +func (x *ChangePlanResponse) GetSubscription() *Subscription { + if x != nil { + return x.Subscription + } + return nil +} + +// Cancel instance subscription +type CancelSubscriptionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` // CHANGED: Now instance-based + Reason *string `protobuf:"bytes,2,opt,name=reason,proto3,oneof" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelSubscriptionRequest) Reset() { + *x = CancelSubscriptionRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelSubscriptionRequest) ProtoMessage() {} + +func (x *CancelSubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*CancelSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{13} +} + +func (x *CancelSubscriptionRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *CancelSubscriptionRequest) GetReason() string { + if x != nil && x.Reason != nil { + return *x.Reason + } + return "" +} + +type CancelSubscriptionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Subscription *Subscription `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelSubscriptionResponse) Reset() { + *x = CancelSubscriptionResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelSubscriptionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelSubscriptionResponse) ProtoMessage() {} + +func (x *CancelSubscriptionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelSubscriptionResponse.ProtoReflect.Descriptor instead. +func (*CancelSubscriptionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{14} +} + +func (x *CancelSubscriptionResponse) GetSubscription() *Subscription { + if x != nil { + return x.Subscription + } + return nil +} + +// Resume a subscription scheduled to cancel at period end +type ResumeSubscriptionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + SubscriptionId string `protobuf:"bytes,1,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` // Internal orchestrator subscription ID + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResumeSubscriptionRequest) Reset() { + *x = ResumeSubscriptionRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResumeSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResumeSubscriptionRequest) ProtoMessage() {} + +func (x *ResumeSubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResumeSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*ResumeSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{15} +} + +func (x *ResumeSubscriptionRequest) GetSubscriptionId() string { + if x != nil { + return x.SubscriptionId + } + return "" +} + +type ResumeSubscriptionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Subscription *Subscription `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResumeSubscriptionResponse) Reset() { + *x = ResumeSubscriptionResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResumeSubscriptionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResumeSubscriptionResponse) ProtoMessage() {} + +func (x *ResumeSubscriptionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResumeSubscriptionResponse.ProtoReflect.Descriptor instead. +func (*ResumeSubscriptionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{16} +} + +func (x *ResumeSubscriptionResponse) GetSubscription() *Subscription { + if x != nil { + return x.Subscription + } + return nil +} + +// List invoices for an account (invoices are consolidated at account level) +type ListInvoicesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` // Account-level (invoices consolidated) + Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + Offset int32 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListInvoicesRequest) Reset() { + *x = ListInvoicesRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListInvoicesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListInvoicesRequest) ProtoMessage() {} + +func (x *ListInvoicesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListInvoicesRequest.ProtoReflect.Descriptor instead. +func (*ListInvoicesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{17} +} + +func (x *ListInvoicesRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *ListInvoicesRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListInvoicesRequest) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +type ListInvoicesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Invoices []*Invoice `protobuf:"bytes,1,rep,name=invoices,proto3" json:"invoices,omitempty"` + TotalCount int32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListInvoicesResponse) Reset() { + *x = ListInvoicesResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListInvoicesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListInvoicesResponse) ProtoMessage() {} + +func (x *ListInvoicesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListInvoicesResponse.ProtoReflect.Descriptor instead. +func (*ListInvoicesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{18} +} + +func (x *ListInvoicesResponse) GetInvoices() []*Invoice { + if x != nil { + return x.Invoices + } + return nil +} + +func (x *ListInvoicesResponse) GetTotalCount() int32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +type GetInvoiceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InvoiceId string `protobuf:"bytes,1,opt,name=invoice_id,json=invoiceId,proto3" json:"invoice_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInvoiceRequest) Reset() { + *x = GetInvoiceRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInvoiceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInvoiceRequest) ProtoMessage() {} + +func (x *GetInvoiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInvoiceRequest.ProtoReflect.Descriptor instead. +func (*GetInvoiceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{19} +} + +func (x *GetInvoiceRequest) GetInvoiceId() string { + if x != nil { + return x.InvoiceId + } + return "" +} + +type GetInvoiceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Invoice *Invoice `protobuf:"bytes,1,opt,name=invoice,proto3" json:"invoice,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInvoiceResponse) Reset() { + *x = GetInvoiceResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInvoiceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInvoiceResponse) ProtoMessage() {} + +func (x *GetInvoiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInvoiceResponse.ProtoReflect.Descriptor instead. +func (*GetInvoiceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{20} +} + +func (x *GetInvoiceResponse) GetInvoice() *Invoice { + if x != nil { + return x.Invoice + } + return nil +} + +// Pay an open invoice with the account's default payment method +type RetryInvoicePaymentRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + InvoiceId string `protobuf:"bytes,2,opt,name=invoice_id,json=invoiceId,proto3" json:"invoice_id,omitempty"` // Stripe invoice ID + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RetryInvoicePaymentRequest) Reset() { + *x = RetryInvoicePaymentRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RetryInvoicePaymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetryInvoicePaymentRequest) ProtoMessage() {} + +func (x *RetryInvoicePaymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetryInvoicePaymentRequest.ProtoReflect.Descriptor instead. +func (*RetryInvoicePaymentRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{21} +} + +func (x *RetryInvoicePaymentRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *RetryInvoicePaymentRequest) GetInvoiceId() string { + if x != nil { + return x.InvoiceId + } + return "" +} + +type RetryInvoicePaymentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Invoice *Invoice `protobuf:"bytes,1,opt,name=invoice,proto3" json:"invoice,omitempty"` + // Set when the payment requires 3DS: confirm client-side with + // stripe.handleNextAction({clientSecret}) then refetch. + PaymentIntentClientSecret *string `protobuf:"bytes,2,opt,name=payment_intent_client_secret,json=paymentIntentClientSecret,proto3,oneof" json:"payment_intent_client_secret,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RetryInvoicePaymentResponse) Reset() { + *x = RetryInvoicePaymentResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RetryInvoicePaymentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetryInvoicePaymentResponse) ProtoMessage() {} + +func (x *RetryInvoicePaymentResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetryInvoicePaymentResponse.ProtoReflect.Descriptor instead. +func (*RetryInvoicePaymentResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{22} +} + +func (x *RetryInvoicePaymentResponse) GetInvoice() *Invoice { + if x != nil { + return x.Invoice + } + return nil +} + +func (x *RetryInvoicePaymentResponse) GetPaymentIntentClientSecret() string { + if x != nil && x.PaymentIntentClientSecret != nil { + return *x.PaymentIntentClientSecret + } + return "" +} + +// Get usage for a specific instance +type GetUsageRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` // CHANGED: Now instance-based + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUsageRequest) Reset() { + *x = GetUsageRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUsageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUsageRequest) ProtoMessage() {} + +func (x *GetUsageRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUsageRequest.ProtoReflect.Descriptor instead. +func (*GetUsageRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{23} +} + +func (x *GetUsageRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +type GetUsageResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Metrics []*UsageMetric `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUsageResponse) Reset() { + *x = GetUsageResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUsageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUsageResponse) ProtoMessage() {} + +func (x *GetUsageResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUsageResponse.ProtoReflect.Descriptor instead. +func (*GetUsageResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{24} +} + +func (x *GetUsageResponse) GetMetrics() []*UsageMetric { + if x != nil { + return x.Metrics + } + return nil +} + +// Record usage for an instance +type RecordUsageRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` // CHANGED: Now instance-based + MetricCode string `protobuf:"bytes,2,opt,name=metric_code,json=metricCode,proto3" json:"metric_code,omitempty"` + Value int64 `protobuf:"varint,3,opt,name=value,proto3" json:"value,omitempty"` + Properties map[string]string `protobuf:"bytes,4,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RecordUsageRequest) Reset() { + *x = RecordUsageRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RecordUsageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecordUsageRequest) ProtoMessage() {} + +func (x *RecordUsageRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecordUsageRequest.ProtoReflect.Descriptor instead. +func (*RecordUsageRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{25} +} + +func (x *RecordUsageRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *RecordUsageRequest) GetMetricCode() string { + if x != nil { + return x.MetricCode + } + return "" +} + +func (x *RecordUsageRequest) GetValue() int64 { + if x != nil { + return x.Value + } + return 0 +} + +func (x *RecordUsageRequest) GetProperties() map[string]string { + if x != nil { + return x.Properties + } + return nil +} + +type RecordUsageResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RecordUsageResponse) Reset() { + *x = RecordUsageResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RecordUsageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecordUsageResponse) ProtoMessage() {} + +func (x *RecordUsageResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecordUsageResponse.ProtoReflect.Descriptor instead. +func (*RecordUsageResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{26} +} + +// Public plans for pricing page (no auth) +type ListPublicPlansRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + IncludeContactSales bool `protobuf:"varint,1,opt,name=include_contact_sales,json=includeContactSales,proto3" json:"include_contact_sales,omitempty"` // Include enterprise "Contact Sales" plans + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPublicPlansRequest) Reset() { + *x = ListPublicPlansRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPublicPlansRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPublicPlansRequest) ProtoMessage() {} + +func (x *ListPublicPlansRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPublicPlansRequest.ProtoReflect.Descriptor instead. +func (*ListPublicPlansRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{27} +} + +func (x *ListPublicPlansRequest) GetIncludeContactSales() bool { + if x != nil { + return x.IncludeContactSales + } + return false +} + +type ListPublicPlansResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plans []*Plan `protobuf:"bytes,1,rep,name=plans,proto3" json:"plans,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPublicPlansResponse) Reset() { + *x = ListPublicPlansResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPublicPlansResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPublicPlansResponse) ProtoMessage() {} + +func (x *ListPublicPlansResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPublicPlansResponse.ProtoReflect.Descriptor instead. +func (*ListPublicPlansResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{28} +} + +func (x *ListPublicPlansResponse) GetPlans() []*Plan { + if x != nil { + return x.Plans + } + return nil +} + +// Get instance capabilities (what the plan includes) +type GetInstanceCapabilitiesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceCapabilitiesRequest) Reset() { + *x = GetInstanceCapabilitiesRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceCapabilitiesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceCapabilitiesRequest) ProtoMessage() {} + +func (x *GetInstanceCapabilitiesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceCapabilitiesRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceCapabilitiesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{29} +} + +func (x *GetInstanceCapabilitiesRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +type GetInstanceCapabilitiesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanId string `protobuf:"bytes,1,opt,name=plan_id,json=planId,proto3" json:"plan_id,omitempty"` + PlanName string `protobuf:"bytes,2,opt,name=plan_name,json=planName,proto3" json:"plan_name,omitempty"` + Tier string `protobuf:"bytes,3,opt,name=tier,proto3" json:"tier,omitempty"` // free, starter, pro, business, enterprise + Features []string `protobuf:"bytes,4,rep,name=features,proto3" json:"features,omitempty"` // Features included in the plan + Enabled []*EnabledFeature `protobuf:"bytes,5,rep,name=enabled,proto3" json:"enabled,omitempty"` // Features that have been activated (sidecars provisioned) + HasHardLimits bool `protobuf:"varint,6,opt,name=has_hard_limits,json=hasHardLimits,proto3" json:"has_hard_limits,omitempty"` + StorageGb int32 `protobuf:"varint,7,opt,name=storage_gb,json=storageGb,proto3" json:"storage_gb,omitempty"` + BandwidthGb int32 `protobuf:"varint,8,opt,name=bandwidth_gb,json=bandwidthGb,proto3" json:"bandwidth_gb,omitempty"` + MaxPages int32 `protobuf:"varint,9,opt,name=max_pages,json=maxPages,proto3" json:"max_pages,omitempty"` + MaxUsers int32 `protobuf:"varint,10,opt,name=max_users,json=maxUsers,proto3" json:"max_users,omitempty"` + // Generic entitlement limits (ADR 0007): plan caps/allowances keyed by + // canonical limit name (Stripe `limit_*` metadata, prefix stripped, plus + // mirrored legacy columns). Absent key = fail closed; -1 = unlimited. + Limits map[string]int64 `protobuf:"bytes,11,rep,name=limits,proto3" json:"limits,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceCapabilitiesResponse) Reset() { + *x = GetInstanceCapabilitiesResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceCapabilitiesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceCapabilitiesResponse) ProtoMessage() {} + +func (x *GetInstanceCapabilitiesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceCapabilitiesResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceCapabilitiesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{30} +} + +func (x *GetInstanceCapabilitiesResponse) GetPlanId() string { + if x != nil { + return x.PlanId + } + return "" +} + +func (x *GetInstanceCapabilitiesResponse) GetPlanName() string { + if x != nil { + return x.PlanName + } + return "" +} + +func (x *GetInstanceCapabilitiesResponse) GetTier() string { + if x != nil { + return x.Tier + } + return "" +} + +func (x *GetInstanceCapabilitiesResponse) GetFeatures() []string { + if x != nil { + return x.Features + } + return nil +} + +func (x *GetInstanceCapabilitiesResponse) GetEnabled() []*EnabledFeature { + if x != nil { + return x.Enabled + } + return nil +} + +func (x *GetInstanceCapabilitiesResponse) GetHasHardLimits() bool { + if x != nil { + return x.HasHardLimits + } + return false +} + +func (x *GetInstanceCapabilitiesResponse) GetStorageGb() int32 { + if x != nil { + return x.StorageGb + } + return 0 +} + +func (x *GetInstanceCapabilitiesResponse) GetBandwidthGb() int32 { + if x != nil { + return x.BandwidthGb + } + return 0 +} + +func (x *GetInstanceCapabilitiesResponse) GetMaxPages() int32 { + if x != nil { + return x.MaxPages + } + return 0 +} + +func (x *GetInstanceCapabilitiesResponse) GetMaxUsers() int32 { + if x != nil { + return x.MaxUsers + } + return 0 +} + +func (x *GetInstanceCapabilitiesResponse) GetLimits() map[string]int64 { + if x != nil { + return x.Limits + } + return nil +} + +// EnabledFeature represents an activated sidecar feature +type EnabledFeature struct { + state protoimpl.MessageState `protogen:"open.v1"` + FeatureKey string `protobuf:"bytes,1,opt,name=feature_key,json=featureKey,proto3" json:"feature_key,omitempty"` // e.g., "search" + Config map[string]string `protobuf:"bytes,2,rep,name=config,proto3" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Sidecar connection info (host, port, api_key) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnabledFeature) Reset() { + *x = EnabledFeature{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnabledFeature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnabledFeature) ProtoMessage() {} + +func (x *EnabledFeature) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnabledFeature.ProtoReflect.Descriptor instead. +func (*EnabledFeature) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{31} +} + +func (x *EnabledFeature) GetFeatureKey() string { + if x != nil { + return x.FeatureKey + } + return "" +} + +func (x *EnabledFeature) GetConfig() map[string]string { + if x != nil { + return x.Config + } + return nil +} + +// Enable a sidecar feature +type EnableFeatureRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + FeatureKey string `protobuf:"bytes,2,opt,name=feature_key,json=featureKey,proto3" json:"feature_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnableFeatureRequest) Reset() { + *x = EnableFeatureRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnableFeatureRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableFeatureRequest) ProtoMessage() {} + +func (x *EnableFeatureRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnableFeatureRequest.ProtoReflect.Descriptor instead. +func (*EnableFeatureRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{32} +} + +func (x *EnableFeatureRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *EnableFeatureRequest) GetFeatureKey() string { + if x != nil { + return x.FeatureKey + } + return "" +} + +type EnableFeatureResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Feature *EnabledFeature `protobuf:"bytes,2,opt,name=feature,proto3,oneof" json:"feature,omitempty"` // Connection info for the provisioned sidecar + Error *string `protobuf:"bytes,3,opt,name=error,proto3,oneof" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnableFeatureResponse) Reset() { + *x = EnableFeatureResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnableFeatureResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableFeatureResponse) ProtoMessage() {} + +func (x *EnableFeatureResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnableFeatureResponse.ProtoReflect.Descriptor instead. +func (*EnableFeatureResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{33} +} + +func (x *EnableFeatureResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *EnableFeatureResponse) GetFeature() *EnabledFeature { + if x != nil { + return x.Feature + } + return nil +} + +func (x *EnableFeatureResponse) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +// Disable a sidecar feature +type DisableFeatureRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + FeatureKey string `protobuf:"bytes,2,opt,name=feature_key,json=featureKey,proto3" json:"feature_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DisableFeatureRequest) Reset() { + *x = DisableFeatureRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DisableFeatureRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableFeatureRequest) ProtoMessage() {} + +func (x *DisableFeatureRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisableFeatureRequest.ProtoReflect.Descriptor instead. +func (*DisableFeatureRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{34} +} + +func (x *DisableFeatureRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *DisableFeatureRequest) GetFeatureKey() string { + if x != nil { + return x.FeatureKey + } + return "" +} + +type DisableFeatureResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DisableFeatureResponse) Reset() { + *x = DisableFeatureResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DisableFeatureResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableFeatureResponse) ProtoMessage() {} + +func (x *DisableFeatureResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisableFeatureResponse.ProtoReflect.Descriptor instead. +func (*DisableFeatureResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{35} +} + +func (x *DisableFeatureResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *DisableFeatureResponse) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +// Update features for a plan +type UpdatePlanFeaturesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanId string `protobuf:"bytes,1,opt,name=plan_id,json=planId,proto3" json:"plan_id,omitempty"` + Features []string `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"` // Complete list of features for this plan + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdatePlanFeaturesRequest) Reset() { + *x = UpdatePlanFeaturesRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdatePlanFeaturesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePlanFeaturesRequest) ProtoMessage() {} + +func (x *UpdatePlanFeaturesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePlanFeaturesRequest.ProtoReflect.Descriptor instead. +func (*UpdatePlanFeaturesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{36} +} + +func (x *UpdatePlanFeaturesRequest) GetPlanId() string { + if x != nil { + return x.PlanId + } + return "" +} + +func (x *UpdatePlanFeaturesRequest) GetFeatures() []string { + if x != nil { + return x.Features + } + return nil +} + +type UpdatePlanFeaturesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdatePlanFeaturesResponse) Reset() { + *x = UpdatePlanFeaturesResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdatePlanFeaturesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePlanFeaturesResponse) ProtoMessage() {} + +func (x *UpdatePlanFeaturesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePlanFeaturesResponse.ProtoReflect.Descriptor instead. +func (*UpdatePlanFeaturesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{37} +} + +func (x *UpdatePlanFeaturesResponse) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +// List all available feature keys +type ListAvailableFeaturesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAvailableFeaturesRequest) Reset() { + *x = ListAvailableFeaturesRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAvailableFeaturesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAvailableFeaturesRequest) ProtoMessage() {} + +func (x *ListAvailableFeaturesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAvailableFeaturesRequest.ProtoReflect.Descriptor instead. +func (*ListAvailableFeaturesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{38} +} + +type ListAvailableFeaturesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Features []*FeatureDefinition `protobuf:"bytes,1,rep,name=features,proto3" json:"features,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAvailableFeaturesResponse) Reset() { + *x = ListAvailableFeaturesResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAvailableFeaturesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAvailableFeaturesResponse) ProtoMessage() {} + +func (x *ListAvailableFeaturesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAvailableFeaturesResponse.ProtoReflect.Descriptor instead. +func (*ListAvailableFeaturesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{39} +} + +func (x *ListAvailableFeaturesResponse) GetFeatures() []*FeatureDefinition { + if x != nil { + return x.Features + } + return nil +} + +// Feature definition for admin UI +type FeatureDefinition struct { + state protoimpl.MessageState `protogen:"open.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // e.g., "search", "plugins" + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Display name, e.g., "Full-Text Search" + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` // Description of the feature + RequiresSidecar bool `protobuf:"varint,4,opt,name=requires_sidecar,json=requiresSidecar,proto3" json:"requires_sidecar,omitempty"` // Whether this feature needs a sidecar container + MinTier int32 `protobuf:"varint,5,opt,name=min_tier,json=minTier,proto3" json:"min_tier,omitempty"` // Minimum tier level where this can be enabled (0=free, 1=starter, 2=pro) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FeatureDefinition) Reset() { + *x = FeatureDefinition{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FeatureDefinition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureDefinition) ProtoMessage() {} + +func (x *FeatureDefinition) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FeatureDefinition.ProtoReflect.Descriptor instead. +func (*FeatureDefinition) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{40} +} + +func (x *FeatureDefinition) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *FeatureDefinition) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FeatureDefinition) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *FeatureDefinition) GetRequiresSidecar() bool { + if x != nil { + return x.RequiresSidecar + } + return false +} + +func (x *FeatureDefinition) GetMinTier() int32 { + if x != nil { + return x.MinTier + } + return 0 +} + +type GetPlanRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanId string `protobuf:"bytes,1,opt,name=plan_id,json=planId,proto3" json:"plan_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlanRequest) Reset() { + *x = GetPlanRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlanRequest) ProtoMessage() {} + +func (x *GetPlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlanRequest.ProtoReflect.Descriptor instead. +func (*GetPlanRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{41} +} + +func (x *GetPlanRequest) GetPlanId() string { + if x != nil { + return x.PlanId + } + return "" +} + +type GetPlanResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlanResponse) Reset() { + *x = GetPlanResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlanResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlanResponse) ProtoMessage() {} + +func (x *GetPlanResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlanResponse.ProtoReflect.Descriptor instead. +func (*GetPlanResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{42} +} + +func (x *GetPlanResponse) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +type CreatePlanRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Slug string `protobuf:"bytes,1,opt,name=slug,proto3" json:"slug,omitempty"` // Required, unique identifier + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Required, display name + Description *string `protobuf:"bytes,3,opt,name=description,proto3,oneof" json:"description,omitempty"` + Tier int32 `protobuf:"varint,4,opt,name=tier,proto3" json:"tier,omitempty"` // 0=Free, 1=Starter, 2=Pro, 3=Business, 4=Enterprise + MonthlyPriceCents int32 `protobuf:"varint,5,opt,name=monthly_price_cents,json=monthlyPriceCents,proto3" json:"monthly_price_cents,omitempty"` + AnnualPriceCents *int32 `protobuf:"varint,6,opt,name=annual_price_cents,json=annualPriceCents,proto3,oneof" json:"annual_price_cents,omitempty"` + // Limits + MaxStorageGb *int32 `protobuf:"varint,7,opt,name=max_storage_gb,json=maxStorageGb,proto3,oneof" json:"max_storage_gb,omitempty"` + MaxBandwidthGb *int32 `protobuf:"varint,8,opt,name=max_bandwidth_gb,json=maxBandwidthGb,proto3,oneof" json:"max_bandwidth_gb,omitempty"` + MaxPagesPerInstance *int32 `protobuf:"varint,9,opt,name=max_pages_per_instance,json=maxPagesPerInstance,proto3,oneof" json:"max_pages_per_instance,omitempty"` + MaxUsersPerInstance *int32 `protobuf:"varint,10,opt,name=max_users_per_instance,json=maxUsersPerInstance,proto3,oneof" json:"max_users_per_instance,omitempty"` + MaxEmailsPerMonth *int32 `protobuf:"varint,11,opt,name=max_emails_per_month,json=maxEmailsPerMonth,proto3,oneof" json:"max_emails_per_month,omitempty"` + // Billing configuration + IsFreeTier bool `protobuf:"varint,12,opt,name=is_free_tier,json=isFreeTier,proto3" json:"is_free_tier,omitempty"` + HasHardLimits bool `protobuf:"varint,13,opt,name=has_hard_limits,json=hasHardLimits,proto3" json:"has_hard_limits,omitempty"` + IncludedUsers int32 `protobuf:"varint,14,opt,name=included_users,json=includedUsers,proto3" json:"included_users,omitempty"` + StorageOverageCentsPerGb int32 `protobuf:"varint,15,opt,name=storage_overage_cents_per_gb,json=storageOverageCentsPerGb,proto3" json:"storage_overage_cents_per_gb,omitempty"` + BandwidthOverageCentsPerGb int32 `protobuf:"varint,16,opt,name=bandwidth_overage_cents_per_gb,json=bandwidthOverageCentsPerGb,proto3" json:"bandwidth_overage_cents_per_gb,omitempty"` + UserOverageCents int32 `protobuf:"varint,17,opt,name=user_overage_cents,json=userOverageCents,proto3" json:"user_overage_cents,omitempty"` + EmailOverageCentsPerHundred int32 `protobuf:"varint,18,opt,name=email_overage_cents_per_hundred,json=emailOverageCentsPerHundred,proto3" json:"email_overage_cents_per_hundred,omitempty"` + IsContactSales bool `protobuf:"varint,19,opt,name=is_contact_sales,json=isContactSales,proto3" json:"is_contact_sales,omitempty"` + // Features and status + Features []string `protobuf:"bytes,20,rep,name=features,proto3" json:"features,omitempty"` + TrialPeriodDays *int32 `protobuf:"varint,21,opt,name=trial_period_days,json=trialPeriodDays,proto3,oneof" json:"trial_period_days,omitempty"` + IsActive bool `protobuf:"varint,22,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + IsPublic bool `protobuf:"varint,23,opt,name=is_public,json=isPublic,proto3" json:"is_public,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreatePlanRequest) Reset() { + *x = CreatePlanRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreatePlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePlanRequest) ProtoMessage() {} + +func (x *CreatePlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatePlanRequest.ProtoReflect.Descriptor instead. +func (*CreatePlanRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{43} +} + +func (x *CreatePlanRequest) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *CreatePlanRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreatePlanRequest) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *CreatePlanRequest) GetTier() int32 { + if x != nil { + return x.Tier + } + return 0 +} + +func (x *CreatePlanRequest) GetMonthlyPriceCents() int32 { + if x != nil { + return x.MonthlyPriceCents + } + return 0 +} + +func (x *CreatePlanRequest) GetAnnualPriceCents() int32 { + if x != nil && x.AnnualPriceCents != nil { + return *x.AnnualPriceCents + } + return 0 +} + +func (x *CreatePlanRequest) GetMaxStorageGb() int32 { + if x != nil && x.MaxStorageGb != nil { + return *x.MaxStorageGb + } + return 0 +} + +func (x *CreatePlanRequest) GetMaxBandwidthGb() int32 { + if x != nil && x.MaxBandwidthGb != nil { + return *x.MaxBandwidthGb + } + return 0 +} + +func (x *CreatePlanRequest) GetMaxPagesPerInstance() int32 { + if x != nil && x.MaxPagesPerInstance != nil { + return *x.MaxPagesPerInstance + } + return 0 +} + +func (x *CreatePlanRequest) GetMaxUsersPerInstance() int32 { + if x != nil && x.MaxUsersPerInstance != nil { + return *x.MaxUsersPerInstance + } + return 0 +} + +func (x *CreatePlanRequest) GetMaxEmailsPerMonth() int32 { + if x != nil && x.MaxEmailsPerMonth != nil { + return *x.MaxEmailsPerMonth + } + return 0 +} + +func (x *CreatePlanRequest) GetIsFreeTier() bool { + if x != nil { + return x.IsFreeTier + } + return false +} + +func (x *CreatePlanRequest) GetHasHardLimits() bool { + if x != nil { + return x.HasHardLimits + } + return false +} + +func (x *CreatePlanRequest) GetIncludedUsers() int32 { + if x != nil { + return x.IncludedUsers + } + return 0 +} + +func (x *CreatePlanRequest) GetStorageOverageCentsPerGb() int32 { + if x != nil { + return x.StorageOverageCentsPerGb + } + return 0 +} + +func (x *CreatePlanRequest) GetBandwidthOverageCentsPerGb() int32 { + if x != nil { + return x.BandwidthOverageCentsPerGb + } + return 0 +} + +func (x *CreatePlanRequest) GetUserOverageCents() int32 { + if x != nil { + return x.UserOverageCents + } + return 0 +} + +func (x *CreatePlanRequest) GetEmailOverageCentsPerHundred() int32 { + if x != nil { + return x.EmailOverageCentsPerHundred + } + return 0 +} + +func (x *CreatePlanRequest) GetIsContactSales() bool { + if x != nil { + return x.IsContactSales + } + return false +} + +func (x *CreatePlanRequest) GetFeatures() []string { + if x != nil { + return x.Features + } + return nil +} + +func (x *CreatePlanRequest) GetTrialPeriodDays() int32 { + if x != nil && x.TrialPeriodDays != nil { + return *x.TrialPeriodDays + } + return 0 +} + +func (x *CreatePlanRequest) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *CreatePlanRequest) GetIsPublic() bool { + if x != nil { + return x.IsPublic + } + return false +} + +type CreatePlanResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreatePlanResponse) Reset() { + *x = CreatePlanResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreatePlanResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePlanResponse) ProtoMessage() {} + +func (x *CreatePlanResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatePlanResponse.ProtoReflect.Descriptor instead. +func (*CreatePlanResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{44} +} + +func (x *CreatePlanResponse) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +type UpdatePlanRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanId string `protobuf:"bytes,1,opt,name=plan_id,json=planId,proto3" json:"plan_id,omitempty"` // Required + Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` + Description *string `protobuf:"bytes,3,opt,name=description,proto3,oneof" json:"description,omitempty"` + Tier *int32 `protobuf:"varint,4,opt,name=tier,proto3,oneof" json:"tier,omitempty"` + MonthlyPriceCents *int32 `protobuf:"varint,5,opt,name=monthly_price_cents,json=monthlyPriceCents,proto3,oneof" json:"monthly_price_cents,omitempty"` + AnnualPriceCents *int32 `protobuf:"varint,6,opt,name=annual_price_cents,json=annualPriceCents,proto3,oneof" json:"annual_price_cents,omitempty"` + // Limits + MaxStorageGb *int32 `protobuf:"varint,7,opt,name=max_storage_gb,json=maxStorageGb,proto3,oneof" json:"max_storage_gb,omitempty"` + MaxBandwidthGb *int32 `protobuf:"varint,8,opt,name=max_bandwidth_gb,json=maxBandwidthGb,proto3,oneof" json:"max_bandwidth_gb,omitempty"` + MaxPagesPerInstance *int32 `protobuf:"varint,9,opt,name=max_pages_per_instance,json=maxPagesPerInstance,proto3,oneof" json:"max_pages_per_instance,omitempty"` + MaxUsersPerInstance *int32 `protobuf:"varint,10,opt,name=max_users_per_instance,json=maxUsersPerInstance,proto3,oneof" json:"max_users_per_instance,omitempty"` + MaxEmailsPerMonth *int32 `protobuf:"varint,11,opt,name=max_emails_per_month,json=maxEmailsPerMonth,proto3,oneof" json:"max_emails_per_month,omitempty"` + // Billing configuration + IsFreeTier *bool `protobuf:"varint,12,opt,name=is_free_tier,json=isFreeTier,proto3,oneof" json:"is_free_tier,omitempty"` + HasHardLimits *bool `protobuf:"varint,13,opt,name=has_hard_limits,json=hasHardLimits,proto3,oneof" json:"has_hard_limits,omitempty"` + IncludedUsers *int32 `protobuf:"varint,14,opt,name=included_users,json=includedUsers,proto3,oneof" json:"included_users,omitempty"` + StorageOverageCentsPerGb *int32 `protobuf:"varint,15,opt,name=storage_overage_cents_per_gb,json=storageOverageCentsPerGb,proto3,oneof" json:"storage_overage_cents_per_gb,omitempty"` + BandwidthOverageCentsPerGb *int32 `protobuf:"varint,16,opt,name=bandwidth_overage_cents_per_gb,json=bandwidthOverageCentsPerGb,proto3,oneof" json:"bandwidth_overage_cents_per_gb,omitempty"` + UserOverageCents *int32 `protobuf:"varint,17,opt,name=user_overage_cents,json=userOverageCents,proto3,oneof" json:"user_overage_cents,omitempty"` + EmailOverageCentsPerHundred *int32 `protobuf:"varint,18,opt,name=email_overage_cents_per_hundred,json=emailOverageCentsPerHundred,proto3,oneof" json:"email_overage_cents_per_hundred,omitempty"` + IsContactSales *bool `protobuf:"varint,19,opt,name=is_contact_sales,json=isContactSales,proto3,oneof" json:"is_contact_sales,omitempty"` + // Features and status + Features []string `protobuf:"bytes,20,rep,name=features,proto3" json:"features,omitempty"` + TrialPeriodDays *int32 `protobuf:"varint,21,opt,name=trial_period_days,json=trialPeriodDays,proto3,oneof" json:"trial_period_days,omitempty"` + IsActive *bool `protobuf:"varint,22,opt,name=is_active,json=isActive,proto3,oneof" json:"is_active,omitempty"` + IsPublic *bool `protobuf:"varint,23,opt,name=is_public,json=isPublic,proto3,oneof" json:"is_public,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdatePlanRequest) Reset() { + *x = UpdatePlanRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdatePlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePlanRequest) ProtoMessage() {} + +func (x *UpdatePlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePlanRequest.ProtoReflect.Descriptor instead. +func (*UpdatePlanRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{45} +} + +func (x *UpdatePlanRequest) GetPlanId() string { + if x != nil { + return x.PlanId + } + return "" +} + +func (x *UpdatePlanRequest) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *UpdatePlanRequest) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *UpdatePlanRequest) GetTier() int32 { + if x != nil && x.Tier != nil { + return *x.Tier + } + return 0 +} + +func (x *UpdatePlanRequest) GetMonthlyPriceCents() int32 { + if x != nil && x.MonthlyPriceCents != nil { + return *x.MonthlyPriceCents + } + return 0 +} + +func (x *UpdatePlanRequest) GetAnnualPriceCents() int32 { + if x != nil && x.AnnualPriceCents != nil { + return *x.AnnualPriceCents + } + return 0 +} + +func (x *UpdatePlanRequest) GetMaxStorageGb() int32 { + if x != nil && x.MaxStorageGb != nil { + return *x.MaxStorageGb + } + return 0 +} + +func (x *UpdatePlanRequest) GetMaxBandwidthGb() int32 { + if x != nil && x.MaxBandwidthGb != nil { + return *x.MaxBandwidthGb + } + return 0 +} + +func (x *UpdatePlanRequest) GetMaxPagesPerInstance() int32 { + if x != nil && x.MaxPagesPerInstance != nil { + return *x.MaxPagesPerInstance + } + return 0 +} + +func (x *UpdatePlanRequest) GetMaxUsersPerInstance() int32 { + if x != nil && x.MaxUsersPerInstance != nil { + return *x.MaxUsersPerInstance + } + return 0 +} + +func (x *UpdatePlanRequest) GetMaxEmailsPerMonth() int32 { + if x != nil && x.MaxEmailsPerMonth != nil { + return *x.MaxEmailsPerMonth + } + return 0 +} + +func (x *UpdatePlanRequest) GetIsFreeTier() bool { + if x != nil && x.IsFreeTier != nil { + return *x.IsFreeTier + } + return false +} + +func (x *UpdatePlanRequest) GetHasHardLimits() bool { + if x != nil && x.HasHardLimits != nil { + return *x.HasHardLimits + } + return false +} + +func (x *UpdatePlanRequest) GetIncludedUsers() int32 { + if x != nil && x.IncludedUsers != nil { + return *x.IncludedUsers + } + return 0 +} + +func (x *UpdatePlanRequest) GetStorageOverageCentsPerGb() int32 { + if x != nil && x.StorageOverageCentsPerGb != nil { + return *x.StorageOverageCentsPerGb + } + return 0 +} + +func (x *UpdatePlanRequest) GetBandwidthOverageCentsPerGb() int32 { + if x != nil && x.BandwidthOverageCentsPerGb != nil { + return *x.BandwidthOverageCentsPerGb + } + return 0 +} + +func (x *UpdatePlanRequest) GetUserOverageCents() int32 { + if x != nil && x.UserOverageCents != nil { + return *x.UserOverageCents + } + return 0 +} + +func (x *UpdatePlanRequest) GetEmailOverageCentsPerHundred() int32 { + if x != nil && x.EmailOverageCentsPerHundred != nil { + return *x.EmailOverageCentsPerHundred + } + return 0 +} + +func (x *UpdatePlanRequest) GetIsContactSales() bool { + if x != nil && x.IsContactSales != nil { + return *x.IsContactSales + } + return false +} + +func (x *UpdatePlanRequest) GetFeatures() []string { + if x != nil { + return x.Features + } + return nil +} + +func (x *UpdatePlanRequest) GetTrialPeriodDays() int32 { + if x != nil && x.TrialPeriodDays != nil { + return *x.TrialPeriodDays + } + return 0 +} + +func (x *UpdatePlanRequest) GetIsActive() bool { + if x != nil && x.IsActive != nil { + return *x.IsActive + } + return false +} + +func (x *UpdatePlanRequest) GetIsPublic() bool { + if x != nil && x.IsPublic != nil { + return *x.IsPublic + } + return false +} + +type UpdatePlanResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plan *Plan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdatePlanResponse) Reset() { + *x = UpdatePlanResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdatePlanResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePlanResponse) ProtoMessage() {} + +func (x *UpdatePlanResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePlanResponse.ProtoReflect.Descriptor instead. +func (*UpdatePlanResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{46} +} + +func (x *UpdatePlanResponse) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +type DeletePlanRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanId string `protobuf:"bytes,1,opt,name=plan_id,json=planId,proto3" json:"plan_id,omitempty"` + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` // If true, delete even with active subscriptions + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeletePlanRequest) Reset() { + *x = DeletePlanRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeletePlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePlanRequest) ProtoMessage() {} + +func (x *DeletePlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePlanRequest.ProtoReflect.Descriptor instead. +func (*DeletePlanRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{47} +} + +func (x *DeletePlanRequest) GetPlanId() string { + if x != nil { + return x.PlanId + } + return "" +} + +func (x *DeletePlanRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +type DeletePlanResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + AffectedSubscriptions int32 `protobuf:"varint,2,opt,name=affected_subscriptions,json=affectedSubscriptions,proto3" json:"affected_subscriptions,omitempty"` // Number of subscriptions that were orphaned + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeletePlanResponse) Reset() { + *x = DeletePlanResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeletePlanResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePlanResponse) ProtoMessage() {} + +func (x *DeletePlanResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePlanResponse.ProtoReflect.Descriptor instead. +func (*DeletePlanResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{48} +} + +func (x *DeletePlanResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *DeletePlanResponse) GetAffectedSubscriptions() int32 { + if x != nil { + return x.AffectedSubscriptions + } + return 0 +} + +type GetPlanDeletionImpactRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PlanId string `protobuf:"bytes,1,opt,name=plan_id,json=planId,proto3" json:"plan_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlanDeletionImpactRequest) Reset() { + *x = GetPlanDeletionImpactRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlanDeletionImpactRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlanDeletionImpactRequest) ProtoMessage() {} + +func (x *GetPlanDeletionImpactRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlanDeletionImpactRequest.ProtoReflect.Descriptor instead. +func (*GetPlanDeletionImpactRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{49} +} + +func (x *GetPlanDeletionImpactRequest) GetPlanId() string { + if x != nil { + return x.PlanId + } + return "" +} + +type GetPlanDeletionImpactResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActiveSubscriptions int32 `protobuf:"varint,1,opt,name=active_subscriptions,json=activeSubscriptions,proto3" json:"active_subscriptions,omitempty"` // Subscriptions currently using this plan + TotalSubscriptions int32 `protobuf:"varint,2,opt,name=total_subscriptions,json=totalSubscriptions,proto3" json:"total_subscriptions,omitempty"` // All subscriptions (including historical) + InstanceNames []string `protobuf:"bytes,3,rep,name=instance_names,json=instanceNames,proto3" json:"instance_names,omitempty"` // Names of affected instances (max 10) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlanDeletionImpactResponse) Reset() { + *x = GetPlanDeletionImpactResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlanDeletionImpactResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlanDeletionImpactResponse) ProtoMessage() {} + +func (x *GetPlanDeletionImpactResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlanDeletionImpactResponse.ProtoReflect.Descriptor instead. +func (*GetPlanDeletionImpactResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{50} +} + +func (x *GetPlanDeletionImpactResponse) GetActiveSubscriptions() int32 { + if x != nil { + return x.ActiveSubscriptions + } + return 0 +} + +func (x *GetPlanDeletionImpactResponse) GetTotalSubscriptions() int32 { + if x != nil { + return x.TotalSubscriptions + } + return 0 +} + +func (x *GetPlanDeletionImpactResponse) GetInstanceNames() []string { + if x != nil { + return x.InstanceNames + } + return nil +} + +// A saved card on the account's Stripe customer +type PaymentMethod struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Stripe payment method ID (pm_...) + Brand string `protobuf:"bytes,2,opt,name=brand,proto3" json:"brand,omitempty"` // visa, mastercard, ... + Last4 string `protobuf:"bytes,3,opt,name=last4,proto3" json:"last4,omitempty"` + ExpMonth int32 `protobuf:"varint,4,opt,name=exp_month,json=expMonth,proto3" json:"exp_month,omitempty"` + ExpYear int32 `protobuf:"varint,5,opt,name=exp_year,json=expYear,proto3" json:"exp_year,omitempty"` + IsDefault bool `protobuf:"varint,6,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` // Customer's default payment method + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PaymentMethod) Reset() { + *x = PaymentMethod{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PaymentMethod) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PaymentMethod) ProtoMessage() {} + +func (x *PaymentMethod) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PaymentMethod.ProtoReflect.Descriptor instead. +func (*PaymentMethod) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{51} +} + +func (x *PaymentMethod) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PaymentMethod) GetBrand() string { + if x != nil { + return x.Brand + } + return "" +} + +func (x *PaymentMethod) GetLast4() string { + if x != nil { + return x.Last4 + } + return "" +} + +func (x *PaymentMethod) GetExpMonth() int32 { + if x != nil { + return x.ExpMonth + } + return 0 +} + +func (x *PaymentMethod) GetExpYear() int32 { + if x != nil { + return x.ExpYear + } + return 0 +} + +func (x *PaymentMethod) GetIsDefault() bool { + if x != nil { + return x.IsDefault + } + return false +} + +type CreateSetupIntentRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateSetupIntentRequest) Reset() { + *x = CreateSetupIntentRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateSetupIntentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSetupIntentRequest) ProtoMessage() {} + +func (x *CreateSetupIntentRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateSetupIntentRequest.ProtoReflect.Descriptor instead. +func (*CreateSetupIntentRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{52} +} + +func (x *CreateSetupIntentRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type CreateSetupIntentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + ClientSecret string `protobuf:"bytes,1,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"` // For Payment Element (setup mode) + SetupIntentId string `protobuf:"bytes,2,opt,name=setup_intent_id,json=setupIntentId,proto3" json:"setup_intent_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateSetupIntentResponse) Reset() { + *x = CreateSetupIntentResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateSetupIntentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSetupIntentResponse) ProtoMessage() {} + +func (x *CreateSetupIntentResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateSetupIntentResponse.ProtoReflect.Descriptor instead. +func (*CreateSetupIntentResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{53} +} + +func (x *CreateSetupIntentResponse) GetClientSecret() string { + if x != nil { + return x.ClientSecret + } + return "" +} + +func (x *CreateSetupIntentResponse) GetSetupIntentId() string { + if x != nil { + return x.SetupIntentId + } + return "" +} + +type ListPaymentMethodsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPaymentMethodsRequest) Reset() { + *x = ListPaymentMethodsRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPaymentMethodsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPaymentMethodsRequest) ProtoMessage() {} + +func (x *ListPaymentMethodsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[54] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPaymentMethodsRequest.ProtoReflect.Descriptor instead. +func (*ListPaymentMethodsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{54} +} + +func (x *ListPaymentMethodsRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type ListPaymentMethodsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + PaymentMethods []*PaymentMethod `protobuf:"bytes,1,rep,name=payment_methods,json=paymentMethods,proto3" json:"payment_methods,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPaymentMethodsResponse) Reset() { + *x = ListPaymentMethodsResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPaymentMethodsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPaymentMethodsResponse) ProtoMessage() {} + +func (x *ListPaymentMethodsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[55] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPaymentMethodsResponse.ProtoReflect.Descriptor instead. +func (*ListPaymentMethodsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{55} +} + +func (x *ListPaymentMethodsResponse) GetPaymentMethods() []*PaymentMethod { + if x != nil { + return x.PaymentMethods + } + return nil +} + +type SetDefaultPaymentMethodRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + PaymentMethodId string `protobuf:"bytes,2,opt,name=payment_method_id,json=paymentMethodId,proto3" json:"payment_method_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetDefaultPaymentMethodRequest) Reset() { + *x = SetDefaultPaymentMethodRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetDefaultPaymentMethodRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetDefaultPaymentMethodRequest) ProtoMessage() {} + +func (x *SetDefaultPaymentMethodRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[56] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetDefaultPaymentMethodRequest.ProtoReflect.Descriptor instead. +func (*SetDefaultPaymentMethodRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{56} +} + +func (x *SetDefaultPaymentMethodRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *SetDefaultPaymentMethodRequest) GetPaymentMethodId() string { + if x != nil { + return x.PaymentMethodId + } + return "" +} + +type SetDefaultPaymentMethodResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + PaymentMethods []*PaymentMethod `protobuf:"bytes,1,rep,name=payment_methods,json=paymentMethods,proto3" json:"payment_methods,omitempty"` // Refreshed list + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetDefaultPaymentMethodResponse) Reset() { + *x = SetDefaultPaymentMethodResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetDefaultPaymentMethodResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetDefaultPaymentMethodResponse) ProtoMessage() {} + +func (x *SetDefaultPaymentMethodResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[57] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetDefaultPaymentMethodResponse.ProtoReflect.Descriptor instead. +func (*SetDefaultPaymentMethodResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{57} +} + +func (x *SetDefaultPaymentMethodResponse) GetPaymentMethods() []*PaymentMethod { + if x != nil { + return x.PaymentMethods + } + return nil +} + +type DetachPaymentMethodRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + PaymentMethodId string `protobuf:"bytes,2,opt,name=payment_method_id,json=paymentMethodId,proto3" json:"payment_method_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DetachPaymentMethodRequest) Reset() { + *x = DetachPaymentMethodRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DetachPaymentMethodRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DetachPaymentMethodRequest) ProtoMessage() {} + +func (x *DetachPaymentMethodRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[58] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DetachPaymentMethodRequest.ProtoReflect.Descriptor instead. +func (*DetachPaymentMethodRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{58} +} + +func (x *DetachPaymentMethodRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *DetachPaymentMethodRequest) GetPaymentMethodId() string { + if x != nil { + return x.PaymentMethodId + } + return "" +} + +type DetachPaymentMethodResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + PaymentMethods []*PaymentMethod `protobuf:"bytes,1,rep,name=payment_methods,json=paymentMethods,proto3" json:"payment_methods,omitempty"` // Refreshed list + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DetachPaymentMethodResponse) Reset() { + *x = DetachPaymentMethodResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DetachPaymentMethodResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DetachPaymentMethodResponse) ProtoMessage() {} + +func (x *DetachPaymentMethodResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[59] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DetachPaymentMethodResponse.ProtoReflect.Descriptor instead. +func (*DetachPaymentMethodResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{59} +} + +func (x *DetachPaymentMethodResponse) GetPaymentMethods() []*PaymentMethod { + if x != nil { + return x.PaymentMethods + } + return nil +} + +// Onboarding: create the account-scoped Pro trial subscription after the +// welcome card setup succeeded (requires a default payment method on file) +type CompleteWelcomeCardSetupRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CompleteWelcomeCardSetupRequest) Reset() { + *x = CompleteWelcomeCardSetupRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CompleteWelcomeCardSetupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompleteWelcomeCardSetupRequest) ProtoMessage() {} + +func (x *CompleteWelcomeCardSetupRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[60] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompleteWelcomeCardSetupRequest.ProtoReflect.Descriptor instead. +func (*CompleteWelcomeCardSetupRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{60} +} + +func (x *CompleteWelcomeCardSetupRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type CompleteWelcomeCardSetupResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Subscription *Subscription `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CompleteWelcomeCardSetupResponse) Reset() { + *x = CompleteWelcomeCardSetupResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CompleteWelcomeCardSetupResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompleteWelcomeCardSetupResponse) ProtoMessage() {} + +func (x *CompleteWelcomeCardSetupResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[61] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompleteWelcomeCardSetupResponse.ProtoReflect.Descriptor instead. +func (*CompleteWelcomeCardSetupResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{61} +} + +func (x *CompleteWelcomeCardSetupResponse) GetSubscription() *Subscription { + if x != nil { + return x.Subscription + } + return nil +} + +// Check if account has payment method +type HasPaymentMethodRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HasPaymentMethodRequest) Reset() { + *x = HasPaymentMethodRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HasPaymentMethodRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HasPaymentMethodRequest) ProtoMessage() {} + +func (x *HasPaymentMethodRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[62] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HasPaymentMethodRequest.ProtoReflect.Descriptor instead. +func (*HasPaymentMethodRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{62} +} + +func (x *HasPaymentMethodRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type HasPaymentMethodResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + HasPaymentMethod bool `protobuf:"varint,1,opt,name=has_payment_method,json=hasPaymentMethod,proto3" json:"has_payment_method,omitempty"` + PaymentProvider *string `protobuf:"bytes,2,opt,name=payment_provider,json=paymentProvider,proto3,oneof" json:"payment_provider,omitempty"` // e.g., "stripe" + LastFour *string `protobuf:"bytes,3,opt,name=last_four,json=lastFour,proto3,oneof" json:"last_four,omitempty"` // Last 4 digits of card + Brand *string `protobuf:"bytes,4,opt,name=brand,proto3,oneof" json:"brand,omitempty"` // Card brand (Visa, Mastercard, etc.) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HasPaymentMethodResponse) Reset() { + *x = HasPaymentMethodResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HasPaymentMethodResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HasPaymentMethodResponse) ProtoMessage() {} + +func (x *HasPaymentMethodResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[63] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HasPaymentMethodResponse.ProtoReflect.Descriptor instead. +func (*HasPaymentMethodResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{63} +} + +func (x *HasPaymentMethodResponse) GetHasPaymentMethod() bool { + if x != nil { + return x.HasPaymentMethod + } + return false +} + +func (x *HasPaymentMethodResponse) GetPaymentProvider() string { + if x != nil && x.PaymentProvider != nil { + return *x.PaymentProvider + } + return "" +} + +func (x *HasPaymentMethodResponse) GetLastFour() string { + if x != nil && x.LastFour != nil { + return *x.LastFour + } + return "" +} + +func (x *HasPaymentMethodResponse) GetBrand() string { + if x != nil && x.Brand != nil { + return *x.Brand + } + return "" +} + +// Get Stripe config for frontend +type GetStripeConfigRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetStripeConfigRequest) Reset() { + *x = GetStripeConfigRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetStripeConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStripeConfigRequest) ProtoMessage() {} + +func (x *GetStripeConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[64] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStripeConfigRequest.ProtoReflect.Descriptor instead. +func (*GetStripeConfigRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{64} +} + +type GetStripeConfigResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + PublishableKey string `protobuf:"bytes,1,opt,name=publishable_key,json=publishableKey,proto3" json:"publishable_key,omitempty"` // Stripe publishable key for frontend + StripeConfigured bool `protobuf:"varint,2,opt,name=stripe_configured,json=stripeConfigured,proto3" json:"stripe_configured,omitempty"` // Whether Stripe is configured + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetStripeConfigResponse) Reset() { + *x = GetStripeConfigResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetStripeConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStripeConfigResponse) ProtoMessage() {} + +func (x *GetStripeConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[65] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStripeConfigResponse.ProtoReflect.Descriptor instead. +func (*GetStripeConfigResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{65} +} + +func (x *GetStripeConfigResponse) GetPublishableKey() string { + if x != nil { + return x.PublishableKey + } + return "" +} + +func (x *GetStripeConfigResponse) GetStripeConfigured() bool { + if x != nil { + return x.StripeConfigured + } + return false +} + +// Coupon mirrors a Stripe coupon (Stripe is the source of truth; no local state) +type Coupon struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Stripe coupon ID + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + PercentOff *float64 `protobuf:"fixed64,3,opt,name=percent_off,json=percentOff,proto3,oneof" json:"percent_off,omitempty"` // Percentage discount (mutually exclusive with amount_off) + AmountOffCents *int64 `protobuf:"varint,4,opt,name=amount_off_cents,json=amountOffCents,proto3,oneof" json:"amount_off_cents,omitempty"` // Fixed discount in cents + Currency string `protobuf:"bytes,5,opt,name=currency,proto3" json:"currency,omitempty"` // Currency for amount_off (e.g., "usd") + Duration string `protobuf:"bytes,6,opt,name=duration,proto3" json:"duration,omitempty"` // "once", "repeating", "forever" + DurationInMonths *int32 `protobuf:"varint,7,opt,name=duration_in_months,json=durationInMonths,proto3,oneof" json:"duration_in_months,omitempty"` // Only for duration == "repeating" + TimesRedeemed int64 `protobuf:"varint,8,opt,name=times_redeemed,json=timesRedeemed,proto3" json:"times_redeemed,omitempty"` + Valid bool `protobuf:"varint,9,opt,name=valid,proto3" json:"valid,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Coupon) Reset() { + *x = Coupon{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Coupon) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Coupon) ProtoMessage() {} + +func (x *Coupon) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[66] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Coupon.ProtoReflect.Descriptor instead. +func (*Coupon) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{66} +} + +func (x *Coupon) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Coupon) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Coupon) GetPercentOff() float64 { + if x != nil && x.PercentOff != nil { + return *x.PercentOff + } + return 0 +} + +func (x *Coupon) GetAmountOffCents() int64 { + if x != nil && x.AmountOffCents != nil { + return *x.AmountOffCents + } + return 0 +} + +func (x *Coupon) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *Coupon) GetDuration() string { + if x != nil { + return x.Duration + } + return "" +} + +func (x *Coupon) GetDurationInMonths() int32 { + if x != nil && x.DurationInMonths != nil { + return *x.DurationInMonths + } + return 0 +} + +func (x *Coupon) GetTimesRedeemed() int64 { + if x != nil { + return x.TimesRedeemed + } + return 0 +} + +func (x *Coupon) GetValid() bool { + if x != nil { + return x.Valid + } + return false +} + +func (x *Coupon) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +// Discount is a coupon applied to a subscription +type SubscriptionDiscount struct { + state protoimpl.MessageState `protogen:"open.v1"` + Coupon *Coupon `protobuf:"bytes,1,opt,name=coupon,proto3" json:"coupon,omitempty"` + Start *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start,proto3,oneof" json:"start,omitempty"` + End *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end,proto3,oneof" json:"end,omitempty"` // When the discount stops applying (repeating) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SubscriptionDiscount) Reset() { + *x = SubscriptionDiscount{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SubscriptionDiscount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscriptionDiscount) ProtoMessage() {} + +func (x *SubscriptionDiscount) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[67] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscriptionDiscount.ProtoReflect.Descriptor instead. +func (*SubscriptionDiscount) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{67} +} + +func (x *SubscriptionDiscount) GetCoupon() *Coupon { + if x != nil { + return x.Coupon + } + return nil +} + +func (x *SubscriptionDiscount) GetStart() *timestamppb.Timestamp { + if x != nil { + return x.Start + } + return nil +} + +func (x *SubscriptionDiscount) GetEnd() *timestamppb.Timestamp { + if x != nil { + return x.End + } + return nil +} + +type GetInstanceBillingSummaryRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceBillingSummaryRequest) Reset() { + *x = GetInstanceBillingSummaryRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceBillingSummaryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceBillingSummaryRequest) ProtoMessage() {} + +func (x *GetInstanceBillingSummaryRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[68] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceBillingSummaryRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceBillingSummaryRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{68} +} + +func (x *GetInstanceBillingSummaryRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +type GetInstanceBillingSummaryResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + BillingExempt bool `protobuf:"varint,2,opt,name=billing_exempt,json=billingExempt,proto3" json:"billing_exempt,omitempty"` // Instance is comped (gratis) + Plan *Plan `protobuf:"bytes,3,opt,name=plan,proto3,oneof" json:"plan,omitempty"` // Effective plan (subscription -> instance -> free) + Subscription *Subscription `protobuf:"bytes,4,opt,name=subscription,proto3,oneof" json:"subscription,omitempty"` // Active/trialing subscription, if any + CancelAtPeriodEnd bool `protobuf:"varint,5,opt,name=cancel_at_period_end,json=cancelAtPeriodEnd,proto3" json:"cancel_at_period_end,omitempty"` // Stripe sub scheduled to cancel + Discount *SubscriptionDiscount `protobuf:"bytes,6,opt,name=discount,proto3,oneof" json:"discount,omitempty"` // Active discount on the subscription + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceBillingSummaryResponse) Reset() { + *x = GetInstanceBillingSummaryResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceBillingSummaryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceBillingSummaryResponse) ProtoMessage() {} + +func (x *GetInstanceBillingSummaryResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[69] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceBillingSummaryResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceBillingSummaryResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{69} +} + +func (x *GetInstanceBillingSummaryResponse) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *GetInstanceBillingSummaryResponse) GetBillingExempt() bool { + if x != nil { + return x.BillingExempt + } + return false +} + +func (x *GetInstanceBillingSummaryResponse) GetPlan() *Plan { + if x != nil { + return x.Plan + } + return nil +} + +func (x *GetInstanceBillingSummaryResponse) GetSubscription() *Subscription { + if x != nil { + return x.Subscription + } + return nil +} + +func (x *GetInstanceBillingSummaryResponse) GetCancelAtPeriodEnd() bool { + if x != nil { + return x.CancelAtPeriodEnd + } + return false +} + +func (x *GetInstanceBillingSummaryResponse) GetDiscount() *SubscriptionDiscount { + if x != nil { + return x.Discount + } + return nil +} + +type SetInstanceBillingExemptRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + Exempt bool `protobuf:"varint,2,opt,name=exempt,proto3" json:"exempt,omitempty"` + PlanSlug *string `protobuf:"bytes,3,opt,name=plan_slug,json=planSlug,proto3,oneof" json:"plan_slug,omitempty"` // Required when exempt = true: plan to grant + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetInstanceBillingExemptRequest) Reset() { + *x = SetInstanceBillingExemptRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetInstanceBillingExemptRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetInstanceBillingExemptRequest) ProtoMessage() {} + +func (x *SetInstanceBillingExemptRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[70] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetInstanceBillingExemptRequest.ProtoReflect.Descriptor instead. +func (*SetInstanceBillingExemptRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{70} +} + +func (x *SetInstanceBillingExemptRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *SetInstanceBillingExemptRequest) GetExempt() bool { + if x != nil { + return x.Exempt + } + return false +} + +func (x *SetInstanceBillingExemptRequest) GetPlanSlug() string { + if x != nil && x.PlanSlug != nil { + return *x.PlanSlug + } + return "" +} + +type SetInstanceBillingExemptResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Summary *GetInstanceBillingSummaryResponse `protobuf:"bytes,1,opt,name=summary,proto3" json:"summary,omitempty"` // Post-change state + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetInstanceBillingExemptResponse) Reset() { + *x = SetInstanceBillingExemptResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetInstanceBillingExemptResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetInstanceBillingExemptResponse) ProtoMessage() {} + +func (x *SetInstanceBillingExemptResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[71] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetInstanceBillingExemptResponse.ProtoReflect.Descriptor instead. +func (*SetInstanceBillingExemptResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{71} +} + +func (x *SetInstanceBillingExemptResponse) GetSummary() *GetInstanceBillingSummaryResponse { + if x != nil { + return x.Summary + } + return nil +} + +type SetInstancePlanRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + PlanSlug string `protobuf:"bytes,2,opt,name=plan_slug,json=planSlug,proto3" json:"plan_slug,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetInstancePlanRequest) Reset() { + *x = SetInstancePlanRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetInstancePlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetInstancePlanRequest) ProtoMessage() {} + +func (x *SetInstancePlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[72] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetInstancePlanRequest.ProtoReflect.Descriptor instead. +func (*SetInstancePlanRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{72} +} + +func (x *SetInstancePlanRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *SetInstancePlanRequest) GetPlanSlug() string { + if x != nil { + return x.PlanSlug + } + return "" +} + +type SetInstancePlanResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Summary *GetInstanceBillingSummaryResponse `protobuf:"bytes,1,opt,name=summary,proto3" json:"summary,omitempty"` // Post-change state + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetInstancePlanResponse) Reset() { + *x = SetInstancePlanResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetInstancePlanResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetInstancePlanResponse) ProtoMessage() {} + +func (x *SetInstancePlanResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[73] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetInstancePlanResponse.ProtoReflect.Descriptor instead. +func (*SetInstancePlanResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{73} +} + +func (x *SetInstancePlanResponse) GetSummary() *GetInstanceBillingSummaryResponse { + if x != nil { + return x.Summary + } + return nil +} + +type ListCouponsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListCouponsRequest) Reset() { + *x = ListCouponsRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListCouponsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCouponsRequest) ProtoMessage() {} + +func (x *ListCouponsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[74] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCouponsRequest.ProtoReflect.Descriptor instead. +func (*ListCouponsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{74} +} + +type ListCouponsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Coupons []*Coupon `protobuf:"bytes,1,rep,name=coupons,proto3" json:"coupons,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListCouponsResponse) Reset() { + *x = ListCouponsResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListCouponsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCouponsResponse) ProtoMessage() {} + +func (x *ListCouponsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[75] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCouponsResponse.ProtoReflect.Descriptor instead. +func (*ListCouponsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{75} +} + +func (x *ListCouponsResponse) GetCoupons() []*Coupon { + if x != nil { + return x.Coupons + } + return nil +} + +type CreateCouponRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + PercentOff *float64 `protobuf:"fixed64,2,opt,name=percent_off,json=percentOff,proto3,oneof" json:"percent_off,omitempty"` // Exactly one of percent_off / amount_off_cents + AmountOffCents *int64 `protobuf:"varint,3,opt,name=amount_off_cents,json=amountOffCents,proto3,oneof" json:"amount_off_cents,omitempty"` + Currency *string `protobuf:"bytes,4,opt,name=currency,proto3,oneof" json:"currency,omitempty"` // Required with amount_off_cents (default "usd") + Duration string `protobuf:"bytes,5,opt,name=duration,proto3" json:"duration,omitempty"` // "once", "repeating", "forever" + DurationInMonths *int32 `protobuf:"varint,6,opt,name=duration_in_months,json=durationInMonths,proto3,oneof" json:"duration_in_months,omitempty"` // Required when duration == "repeating" + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateCouponRequest) Reset() { + *x = CreateCouponRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateCouponRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateCouponRequest) ProtoMessage() {} + +func (x *CreateCouponRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[76] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateCouponRequest.ProtoReflect.Descriptor instead. +func (*CreateCouponRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{76} +} + +func (x *CreateCouponRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateCouponRequest) GetPercentOff() float64 { + if x != nil && x.PercentOff != nil { + return *x.PercentOff + } + return 0 +} + +func (x *CreateCouponRequest) GetAmountOffCents() int64 { + if x != nil && x.AmountOffCents != nil { + return *x.AmountOffCents + } + return 0 +} + +func (x *CreateCouponRequest) GetCurrency() string { + if x != nil && x.Currency != nil { + return *x.Currency + } + return "" +} + +func (x *CreateCouponRequest) GetDuration() string { + if x != nil { + return x.Duration + } + return "" +} + +func (x *CreateCouponRequest) GetDurationInMonths() int32 { + if x != nil && x.DurationInMonths != nil { + return *x.DurationInMonths + } + return 0 +} + +type CreateCouponResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Coupon *Coupon `protobuf:"bytes,1,opt,name=coupon,proto3" json:"coupon,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateCouponResponse) Reset() { + *x = CreateCouponResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateCouponResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateCouponResponse) ProtoMessage() {} + +func (x *CreateCouponResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[77] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateCouponResponse.ProtoReflect.Descriptor instead. +func (*CreateCouponResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{77} +} + +func (x *CreateCouponResponse) GetCoupon() *Coupon { + if x != nil { + return x.Coupon + } + return nil +} + +type ApplySubscriptionCouponRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + CouponId string `protobuf:"bytes,2,opt,name=coupon_id,json=couponId,proto3" json:"coupon_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApplySubscriptionCouponRequest) Reset() { + *x = ApplySubscriptionCouponRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApplySubscriptionCouponRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplySubscriptionCouponRequest) ProtoMessage() {} + +func (x *ApplySubscriptionCouponRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[78] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplySubscriptionCouponRequest.ProtoReflect.Descriptor instead. +func (*ApplySubscriptionCouponRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{78} +} + +func (x *ApplySubscriptionCouponRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *ApplySubscriptionCouponRequest) GetCouponId() string { + if x != nil { + return x.CouponId + } + return "" +} + +type ApplySubscriptionCouponResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Summary *GetInstanceBillingSummaryResponse `protobuf:"bytes,1,opt,name=summary,proto3" json:"summary,omitempty"` // Post-change state + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApplySubscriptionCouponResponse) Reset() { + *x = ApplySubscriptionCouponResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApplySubscriptionCouponResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplySubscriptionCouponResponse) ProtoMessage() {} + +func (x *ApplySubscriptionCouponResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[79] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplySubscriptionCouponResponse.ProtoReflect.Descriptor instead. +func (*ApplySubscriptionCouponResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{79} +} + +func (x *ApplySubscriptionCouponResponse) GetSummary() *GetInstanceBillingSummaryResponse { + if x != nil { + return x.Summary + } + return nil +} + +type RemoveSubscriptionCouponRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveSubscriptionCouponRequest) Reset() { + *x = RemoveSubscriptionCouponRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveSubscriptionCouponRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveSubscriptionCouponRequest) ProtoMessage() {} + +func (x *RemoveSubscriptionCouponRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[80] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveSubscriptionCouponRequest.ProtoReflect.Descriptor instead. +func (*RemoveSubscriptionCouponRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{80} +} + +func (x *RemoveSubscriptionCouponRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +type RemoveSubscriptionCouponResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Summary *GetInstanceBillingSummaryResponse `protobuf:"bytes,1,opt,name=summary,proto3" json:"summary,omitempty"` // Post-change state + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveSubscriptionCouponResponse) Reset() { + *x = RemoveSubscriptionCouponResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveSubscriptionCouponResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveSubscriptionCouponResponse) ProtoMessage() {} + +func (x *RemoveSubscriptionCouponResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[81] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveSubscriptionCouponResponse.ProtoReflect.Descriptor instead. +func (*RemoveSubscriptionCouponResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{81} +} + +func (x *RemoveSubscriptionCouponResponse) GetSummary() *GetInstanceBillingSummaryResponse { + if x != nil { + return x.Summary + } + return nil +} + +// An AI add-on plan (plans row with kind='ai_addon') +type AIPlan struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` // ai_light | ai_pro | ai_pro_max + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + MonthlyPriceCents int32 `protobuf:"varint,5,opt,name=monthly_price_cents,json=monthlyPriceCents,proto3" json:"monthly_price_cents,omitempty"` + IncludedTokensMonthly int64 `protobuf:"varint,6,opt,name=included_tokens_monthly,json=includedTokensMonthly,proto3" json:"included_tokens_monthly,omitempty"` // limits.ai_tokens_monthly (-1 = unlimited) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AIPlan) Reset() { + *x = AIPlan{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AIPlan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AIPlan) ProtoMessage() {} + +func (x *AIPlan) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[82] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AIPlan.ProtoReflect.Descriptor instead. +func (*AIPlan) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{82} +} + +func (x *AIPlan) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AIPlan) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *AIPlan) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AIPlan) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *AIPlan) GetMonthlyPriceCents() int32 { + if x != nil { + return x.MonthlyPriceCents + } + return 0 +} + +func (x *AIPlan) GetIncludedTokensMonthly() int64 { + if x != nil { + return x.IncludedTokensMonthly + } + return 0 +} + +type ListAIPlansRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAIPlansRequest) Reset() { + *x = ListAIPlansRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAIPlansRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAIPlansRequest) ProtoMessage() {} + +func (x *ListAIPlansRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[83] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAIPlansRequest.ProtoReflect.Descriptor instead. +func (*ListAIPlansRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{83} +} + +type ListAIPlansResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plans []*AIPlan `protobuf:"bytes,1,rep,name=plans,proto3" json:"plans,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAIPlansResponse) Reset() { + *x = ListAIPlansResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAIPlansResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAIPlansResponse) ProtoMessage() {} + +func (x *ListAIPlansResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[84] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAIPlansResponse.ProtoReflect.Descriptor instead. +func (*ListAIPlansResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{84} +} + +func (x *ListAIPlansResponse) GetPlans() []*AIPlan { + if x != nil { + return x.Plans + } + return nil +} + +type CreateAISubscriptionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + PlanSlug string `protobuf:"bytes,2,opt,name=plan_slug,json=planSlug,proto3" json:"plan_slug,omitempty"` // must name an active ai_addon plan + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateAISubscriptionRequest) Reset() { + *x = CreateAISubscriptionRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAISubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAISubscriptionRequest) ProtoMessage() {} + +func (x *CreateAISubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[85] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateAISubscriptionRequest.ProtoReflect.Descriptor instead. +func (*CreateAISubscriptionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{85} +} + +func (x *CreateAISubscriptionRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *CreateAISubscriptionRequest) GetPlanSlug() string { + if x != nil { + return x.PlanSlug + } + return "" +} + +type CreateAISubscriptionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Settings *AIOverageSettings `protobuf:"bytes,1,opt,name=settings,proto3" json:"settings,omitempty"` + // Set when the first charge requires 3DS: confirm client-side with + // stripe.handleNextAction({clientSecret}) then refetch. + PaymentIntentClientSecret *string `protobuf:"bytes,2,opt,name=payment_intent_client_secret,json=paymentIntentClientSecret,proto3,oneof" json:"payment_intent_client_secret,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateAISubscriptionResponse) Reset() { + *x = CreateAISubscriptionResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateAISubscriptionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateAISubscriptionResponse) ProtoMessage() {} + +func (x *CreateAISubscriptionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[86] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateAISubscriptionResponse.ProtoReflect.Descriptor instead. +func (*CreateAISubscriptionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{86} +} + +func (x *CreateAISubscriptionResponse) GetSettings() *AIOverageSettings { + if x != nil { + return x.Settings + } + return nil +} + +func (x *CreateAISubscriptionResponse) GetPaymentIntentClientSecret() string { + if x != nil && x.PaymentIntentClientSecret != nil { + return *x.PaymentIntentClientSecret + } + return "" +} + +type ChangeAIPlanRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + NewPlanSlug string `protobuf:"bytes,2,opt,name=new_plan_slug,json=newPlanSlug,proto3" json:"new_plan_slug,omitempty"` // must name an active ai_addon plan + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChangeAIPlanRequest) Reset() { + *x = ChangeAIPlanRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChangeAIPlanRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangeAIPlanRequest) ProtoMessage() {} + +func (x *ChangeAIPlanRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[87] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChangeAIPlanRequest.ProtoReflect.Descriptor instead. +func (*ChangeAIPlanRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{87} +} + +func (x *ChangeAIPlanRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *ChangeAIPlanRequest) GetNewPlanSlug() string { + if x != nil { + return x.NewPlanSlug + } + return "" +} + +type ChangeAIPlanResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Settings *AIOverageSettings `protobuf:"bytes,1,opt,name=settings,proto3" json:"settings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChangeAIPlanResponse) Reset() { + *x = ChangeAIPlanResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChangeAIPlanResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangeAIPlanResponse) ProtoMessage() {} + +func (x *ChangeAIPlanResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[88] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChangeAIPlanResponse.ProtoReflect.Descriptor instead. +func (*ChangeAIPlanResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{88} +} + +func (x *ChangeAIPlanResponse) GetSettings() *AIOverageSettings { + if x != nil { + return x.Settings + } + return nil +} + +type CancelAISubscriptionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelAISubscriptionRequest) Reset() { + *x = CancelAISubscriptionRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelAISubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelAISubscriptionRequest) ProtoMessage() {} + +func (x *CancelAISubscriptionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[89] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelAISubscriptionRequest.ProtoReflect.Descriptor instead. +func (*CancelAISubscriptionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{89} +} + +func (x *CancelAISubscriptionRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type CancelAISubscriptionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Settings *AIOverageSettings `protobuf:"bytes,1,opt,name=settings,proto3" json:"settings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelAISubscriptionResponse) Reset() { + *x = CancelAISubscriptionResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelAISubscriptionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelAISubscriptionResponse) ProtoMessage() {} + +func (x *CancelAISubscriptionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[90] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelAISubscriptionResponse.ProtoReflect.Descriptor instead. +func (*CancelAISubscriptionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{90} +} + +func (x *CancelAISubscriptionResponse) GetSettings() *AIOverageSettings { + if x != nil { + return x.Settings + } + return nil +} + +// Prepaid AI credit (ADR 0014): a durable balance of standard-tier tokens, +// never expiring, consumed after the monthly pool (all spend prepaid, ADR 0015). +type AICreditPack struct { + state protoimpl.MessageState `protogen:"open.v1"` + Slug string `protobuf:"bytes,1,opt,name=slug,proto3" json:"slug,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + PriceCents int64 `protobuf:"varint,4,opt,name=price_cents,json=priceCents,proto3" json:"price_cents,omitempty"` // one-time USD price + Tokens int64 `protobuf:"varint,5,opt,name=tokens,proto3" json:"tokens,omitempty"` // standard-tier tokens granted + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AICreditPack) Reset() { + *x = AICreditPack{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AICreditPack) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AICreditPack) ProtoMessage() {} + +func (x *AICreditPack) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[91] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AICreditPack.ProtoReflect.Descriptor instead. +func (*AICreditPack) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{91} +} + +func (x *AICreditPack) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *AICreditPack) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AICreditPack) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *AICreditPack) GetPriceCents() int64 { + if x != nil { + return x.PriceCents + } + return 0 +} + +func (x *AICreditPack) GetTokens() int64 { + if x != nil { + return x.Tokens + } + return 0 +} + +type ListAICreditPacksRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAICreditPacksRequest) Reset() { + *x = ListAICreditPacksRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAICreditPacksRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAICreditPacksRequest) ProtoMessage() {} + +func (x *ListAICreditPacksRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[92] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAICreditPacksRequest.ProtoReflect.Descriptor instead. +func (*ListAICreditPacksRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{92} +} + +type ListAICreditPacksResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Packs []*AICreditPack `protobuf:"bytes,1,rep,name=packs,proto3" json:"packs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAICreditPacksResponse) Reset() { + *x = ListAICreditPacksResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAICreditPacksResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAICreditPacksResponse) ProtoMessage() {} + +func (x *ListAICreditPacksResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[93] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAICreditPacksResponse.ProtoReflect.Descriptor instead. +func (*ListAICreditPacksResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{93} +} + +func (x *ListAICreditPacksResponse) GetPacks() []*AICreditPack { + if x != nil { + return x.Packs + } + return nil +} + +type PurchaseAICreditPackRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + PackSlug string `protobuf:"bytes,2,opt,name=pack_slug,json=packSlug,proto3" json:"pack_slug,omitempty"` + // Client-generated UUID per purchase attempt — the Stripe idempotency key, + // so an RPC retry can't double-charge but repeat purchases work. + PurchaseId string `protobuf:"bytes,3,opt,name=purchase_id,json=purchaseId,proto3" json:"purchase_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PurchaseAICreditPackRequest) Reset() { + *x = PurchaseAICreditPackRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PurchaseAICreditPackRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurchaseAICreditPackRequest) ProtoMessage() {} + +func (x *PurchaseAICreditPackRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[94] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurchaseAICreditPackRequest.ProtoReflect.Descriptor instead. +func (*PurchaseAICreditPackRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{94} +} + +func (x *PurchaseAICreditPackRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *PurchaseAICreditPackRequest) GetPackSlug() string { + if x != nil { + return x.PackSlug + } + return "" +} + +func (x *PurchaseAICreditPackRequest) GetPurchaseId() string { + if x != nil { + return x.PurchaseId + } + return "" +} + +type PurchaseAICreditPackResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + PaymentIntentId string `protobuf:"bytes,1,opt,name=payment_intent_id,json=paymentIntentId,proto3" json:"payment_intent_id,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` // succeeded | requires_action | processing + // Set when the charge requires 3DS: confirm client-side with + // stripe.confirmCardPayment(clientSecret); the grant lands via webhook. + PaymentIntentClientSecret *string `protobuf:"bytes,3,opt,name=payment_intent_client_secret,json=paymentIntentClientSecret,proto3,oneof" json:"payment_intent_client_secret,omitempty"` + BalanceTokens int64 `protobuf:"varint,4,opt,name=balance_tokens,json=balanceTokens,proto3" json:"balance_tokens,omitempty"` // settled balance after any synchronous grant + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PurchaseAICreditPackResponse) Reset() { + *x = PurchaseAICreditPackResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PurchaseAICreditPackResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurchaseAICreditPackResponse) ProtoMessage() {} + +func (x *PurchaseAICreditPackResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[95] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurchaseAICreditPackResponse.ProtoReflect.Descriptor instead. +func (*PurchaseAICreditPackResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{95} +} + +func (x *PurchaseAICreditPackResponse) GetPaymentIntentId() string { + if x != nil { + return x.PaymentIntentId + } + return "" +} + +func (x *PurchaseAICreditPackResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PurchaseAICreditPackResponse) GetPaymentIntentClientSecret() string { + if x != nil && x.PaymentIntentClientSecret != nil { + return *x.PaymentIntentClientSecret + } + return "" +} + +func (x *PurchaseAICreditPackResponse) GetBalanceTokens() int64 { + if x != nil { + return x.BalanceTokens + } + return 0 +} + +type AICreditGrant struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` // stripe_checkout | admin_grant + PackSlug string `protobuf:"bytes,3,opt,name=pack_slug,json=packSlug,proto3" json:"pack_slug,omitempty"` + TokensGranted int64 `protobuf:"varint,4,opt,name=tokens_granted,json=tokensGranted,proto3" json:"tokens_granted,omitempty"` + TokensConsumed int64 `protobuf:"varint,5,opt,name=tokens_consumed,json=tokensConsumed,proto3" json:"tokens_consumed,omitempty"` + Revoked bool `protobuf:"varint,6,opt,name=revoked,proto3" json:"revoked,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Note string `protobuf:"bytes,8,opt,name=note,proto3" json:"note,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AICreditGrant) Reset() { + *x = AICreditGrant{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AICreditGrant) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AICreditGrant) ProtoMessage() {} + +func (x *AICreditGrant) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[96] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AICreditGrant.ProtoReflect.Descriptor instead. +func (*AICreditGrant) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{96} +} + +func (x *AICreditGrant) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AICreditGrant) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *AICreditGrant) GetPackSlug() string { + if x != nil { + return x.PackSlug + } + return "" +} + +func (x *AICreditGrant) GetTokensGranted() int64 { + if x != nil { + return x.TokensGranted + } + return 0 +} + +func (x *AICreditGrant) GetTokensConsumed() int64 { + if x != nil { + return x.TokensConsumed + } + return 0 +} + +func (x *AICreditGrant) GetRevoked() bool { + if x != nil { + return x.Revoked + } + return false +} + +func (x *AICreditGrant) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *AICreditGrant) GetNote() string { + if x != nil { + return x.Note + } + return "" +} + +type GrantAICreditRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + Tokens int64 `protobuf:"varint,2,opt,name=tokens,proto3" json:"tokens,omitempty"` + Note string `protobuf:"bytes,3,opt,name=note,proto3" json:"note,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantAICreditRequest) Reset() { + *x = GrantAICreditRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantAICreditRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantAICreditRequest) ProtoMessage() {} + +func (x *GrantAICreditRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[97] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrantAICreditRequest.ProtoReflect.Descriptor instead. +func (*GrantAICreditRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{97} +} + +func (x *GrantAICreditRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *GrantAICreditRequest) GetTokens() int64 { + if x != nil { + return x.Tokens + } + return 0 +} + +func (x *GrantAICreditRequest) GetNote() string { + if x != nil { + return x.Note + } + return "" +} + +type GrantAICreditResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + GrantId string `protobuf:"bytes,1,opt,name=grant_id,json=grantId,proto3" json:"grant_id,omitempty"` + BalanceTokens int64 `protobuf:"varint,2,opt,name=balance_tokens,json=balanceTokens,proto3" json:"balance_tokens,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantAICreditResponse) Reset() { + *x = GrantAICreditResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantAICreditResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantAICreditResponse) ProtoMessage() {} + +func (x *GrantAICreditResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[98] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrantAICreditResponse.ProtoReflect.Descriptor instead. +func (*GrantAICreditResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{98} +} + +func (x *GrantAICreditResponse) GetGrantId() string { + if x != nil { + return x.GrantId + } + return "" +} + +func (x *GrantAICreditResponse) GetBalanceTokens() int64 { + if x != nil { + return x.BalanceTokens + } + return 0 +} + +type GetAIOverageSettingsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAIOverageSettingsRequest) Reset() { + *x = GetAIOverageSettingsRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAIOverageSettingsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAIOverageSettingsRequest) ProtoMessage() {} + +func (x *GetAIOverageSettingsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[99] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAIOverageSettingsRequest.ProtoReflect.Descriptor instead. +func (*GetAIOverageSettingsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{99} +} + +func (x *GetAIOverageSettingsRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +// The account's AI billing state. Also returned by SetAIOverageSettings. +type AIOverageSettings struct { + state protoimpl.MessageState `protogen:"open.v1"` + HasAiPlan bool `protobuf:"varint,1,opt,name=has_ai_plan,json=hasAiPlan,proto3" json:"has_ai_plan,omitempty"` // active AI subscription (or exempt with plan) + Plan *AIPlan `protobuf:"bytes,2,opt,name=plan,proto3" json:"plan,omitempty"` // set when has_ai_plan + SubscriptionStatus string `protobuf:"bytes,3,opt,name=subscription_status,json=subscriptionStatus,proto3" json:"subscription_status,omitempty"` // active | trialing | past_due | "" (exempt/none) + OverageEnabled bool `protobuf:"varint,4,opt,name=overage_enabled,json=overageEnabled,proto3" json:"overage_enabled,omitempty"` + BudgetCapCents *int64 `protobuf:"varint,5,opt,name=budget_cap_cents,json=budgetCapCents,proto3,oneof" json:"budget_cap_cents,omitempty"` + BillingExempt bool `protobuf:"varint,6,opt,name=billing_exempt,json=billingExempt,proto3" json:"billing_exempt,omitempty"` + SubscriptionId string `protobuf:"bytes,7,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"` // internal id of the AI subscription ("" when exempt/none) + CancelAtPeriodEnd bool `protobuf:"varint,8,opt,name=cancel_at_period_end,json=cancelAtPeriodEnd,proto3" json:"cancel_at_period_end,omitempty"` // scheduled to cancel (resumable via ResumeSubscription) + CurrentPeriodEnd *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=current_period_end,json=currentPeriodEnd,proto3,oneof" json:"current_period_end,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AIOverageSettings) Reset() { + *x = AIOverageSettings{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AIOverageSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AIOverageSettings) ProtoMessage() {} + +func (x *AIOverageSettings) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[100] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AIOverageSettings.ProtoReflect.Descriptor instead. +func (*AIOverageSettings) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{100} +} + +func (x *AIOverageSettings) GetHasAiPlan() bool { + if x != nil { + return x.HasAiPlan + } + return false +} + +func (x *AIOverageSettings) GetPlan() *AIPlan { + if x != nil { + return x.Plan + } + return nil +} + +func (x *AIOverageSettings) GetSubscriptionStatus() string { + if x != nil { + return x.SubscriptionStatus + } + return "" +} + +func (x *AIOverageSettings) GetOverageEnabled() bool { + if x != nil { + return x.OverageEnabled + } + return false +} + +func (x *AIOverageSettings) GetBudgetCapCents() int64 { + if x != nil && x.BudgetCapCents != nil { + return *x.BudgetCapCents + } + return 0 +} + +func (x *AIOverageSettings) GetBillingExempt() bool { + if x != nil { + return x.BillingExempt + } + return false +} + +func (x *AIOverageSettings) GetSubscriptionId() string { + if x != nil { + return x.SubscriptionId + } + return "" +} + +func (x *AIOverageSettings) GetCancelAtPeriodEnd() bool { + if x != nil { + return x.CancelAtPeriodEnd + } + return false +} + +func (x *AIOverageSettings) GetCurrentPeriodEnd() *timestamppb.Timestamp { + if x != nil { + return x.CurrentPeriodEnd + } + return nil +} + +type GetAIOverageSettingsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Settings *AIOverageSettings `protobuf:"bytes,1,opt,name=settings,proto3" json:"settings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAIOverageSettingsResponse) Reset() { + *x = GetAIOverageSettingsResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAIOverageSettingsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAIOverageSettingsResponse) ProtoMessage() {} + +func (x *GetAIOverageSettingsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[101] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAIOverageSettingsResponse.ProtoReflect.Descriptor instead. +func (*GetAIOverageSettingsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{101} +} + +func (x *GetAIOverageSettingsResponse) GetSettings() *AIOverageSettings { + if x != nil { + return x.Settings + } + return nil +} + +type SetAIOverageSettingsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + OverageEnabled bool `protobuf:"varint,2,opt,name=overage_enabled,json=overageEnabled,proto3" json:"overage_enabled,omitempty"` // enabling requires a payment method on file + BudgetCapCents *int64 `protobuf:"varint,3,opt,name=budget_cap_cents,json=budgetCapCents,proto3,oneof" json:"budget_cap_cents,omitempty"` // absent = no cap + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetAIOverageSettingsRequest) Reset() { + *x = SetAIOverageSettingsRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetAIOverageSettingsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetAIOverageSettingsRequest) ProtoMessage() {} + +func (x *SetAIOverageSettingsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[102] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetAIOverageSettingsRequest.ProtoReflect.Descriptor instead. +func (*SetAIOverageSettingsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{102} +} + +func (x *SetAIOverageSettingsRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *SetAIOverageSettingsRequest) GetOverageEnabled() bool { + if x != nil { + return x.OverageEnabled + } + return false +} + +func (x *SetAIOverageSettingsRequest) GetBudgetCapCents() int64 { + if x != nil && x.BudgetCapCents != nil { + return *x.BudgetCapCents + } + return 0 +} + +type SetAIOverageSettingsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Settings *AIOverageSettings `protobuf:"bytes,1,opt,name=settings,proto3" json:"settings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetAIOverageSettingsResponse) Reset() { + *x = SetAIOverageSettingsResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetAIOverageSettingsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetAIOverageSettingsResponse) ProtoMessage() {} + +func (x *SetAIOverageSettingsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[103] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetAIOverageSettingsResponse.ProtoReflect.Descriptor instead. +func (*SetAIOverageSettingsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{103} +} + +func (x *SetAIOverageSettingsResponse) GetSettings() *AIOverageSettings { + if x != nil { + return x.Settings + } + return nil +} + +type SetInstanceAIAccessRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + AiAccess bool `protobuf:"varint,2,opt,name=ai_access,json=aiAccess,proto3" json:"ai_access,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetInstanceAIAccessRequest) Reset() { + *x = SetInstanceAIAccessRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetInstanceAIAccessRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetInstanceAIAccessRequest) ProtoMessage() {} + +func (x *SetInstanceAIAccessRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[104] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetInstanceAIAccessRequest.ProtoReflect.Descriptor instead. +func (*SetInstanceAIAccessRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{104} +} + +func (x *SetInstanceAIAccessRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *SetInstanceAIAccessRequest) GetAiAccess() bool { + if x != nil { + return x.AiAccess + } + return false +} + +type SetInstanceAIAccessResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + AiAccess bool `protobuf:"varint,2,opt,name=ai_access,json=aiAccess,proto3" json:"ai_access,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetInstanceAIAccessResponse) Reset() { + *x = SetInstanceAIAccessResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetInstanceAIAccessResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetInstanceAIAccessResponse) ProtoMessage() {} + +func (x *SetInstanceAIAccessResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[105] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetInstanceAIAccessResponse.ProtoReflect.Descriptor instead. +func (*SetInstanceAIAccessResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{105} +} + +func (x *SetInstanceAIAccessResponse) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *SetInstanceAIAccessResponse) GetAiAccess() bool { + if x != nil { + return x.AiAccess + } + return false +} + +// Account -> AI page messages (WO-047) +type AITierRate struct { + state protoimpl.MessageState `protogen:"open.v1"` + Tier string `protobuf:"bytes,1,opt,name=tier,proto3" json:"tier,omitempty"` + Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` + Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` // populated for platform admins only (ADR 0013) + CentsPerMtok int64 `protobuf:"varint,4,opt,name=cents_per_mtok,json=centsPerMtok,proto3" json:"cents_per_mtok,omitempty"` // blended price per million tokens + Tagline string `protobuf:"bytes,5,opt,name=tagline,proto3" json:"tagline,omitempty"` // customer-facing capability copy (ADR 0013) + Blurb string `protobuf:"bytes,6,opt,name=blurb,proto3" json:"blurb,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AITierRate) Reset() { + *x = AITierRate{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AITierRate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AITierRate) ProtoMessage() {} + +func (x *AITierRate) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[106] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AITierRate.ProtoReflect.Descriptor instead. +func (*AITierRate) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{106} +} + +func (x *AITierRate) GetTier() string { + if x != nil { + return x.Tier + } + return "" +} + +func (x *AITierRate) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *AITierRate) GetModel() string { + if x != nil { + return x.Model + } + return "" +} + +func (x *AITierRate) GetCentsPerMtok() int64 { + if x != nil { + return x.CentsPerMtok + } + return 0 +} + +func (x *AITierRate) GetTagline() string { + if x != nil { + return x.Tagline + } + return "" +} + +func (x *AITierRate) GetBlurb() string { + if x != nil { + return x.Blurb + } + return "" +} + +type AIInstanceUsage struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"` + UsedTokens int64 `protobuf:"varint,4,opt,name=used_tokens,json=usedTokens,proto3" json:"used_tokens,omitempty"` // this calendar month (UTC) + CostMicrocents int64 `protobuf:"varint,5,opt,name=cost_microcents,json=costMicrocents,proto3" json:"cost_microcents,omitempty"` + AiAccess bool `protobuf:"varint,6,opt,name=ai_access,json=aiAccess,proto3" json:"ai_access,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AIInstanceUsage) Reset() { + *x = AIInstanceUsage{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AIInstanceUsage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AIInstanceUsage) ProtoMessage() {} + +func (x *AIInstanceUsage) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[107] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AIInstanceUsage.ProtoReflect.Descriptor instead. +func (*AIInstanceUsage) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{107} +} + +func (x *AIInstanceUsage) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *AIInstanceUsage) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AIInstanceUsage) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *AIInstanceUsage) GetUsedTokens() int64 { + if x != nil { + return x.UsedTokens + } + return 0 +} + +func (x *AIInstanceUsage) GetCostMicrocents() int64 { + if x != nil { + return x.CostMicrocents + } + return 0 +} + +func (x *AIInstanceUsage) GetAiAccess() bool { + if x != nil { + return x.AiAccess + } + return false +} + +type GetAccountAIUsageRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountAIUsageRequest) Reset() { + *x = GetAccountAIUsageRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountAIUsageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountAIUsageRequest) ProtoMessage() {} + +func (x *GetAccountAIUsageRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[108] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAccountAIUsageRequest.ProtoReflect.Descriptor instead. +func (*GetAccountAIUsageRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{108} +} + +func (x *GetAccountAIUsageRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type GetAccountAIUsageResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + HasAiPlan bool `protobuf:"varint,1,opt,name=has_ai_plan,json=hasAiPlan,proto3" json:"has_ai_plan,omitempty"` + Plan *AIPlan `protobuf:"bytes,2,opt,name=plan,proto3" json:"plan,omitempty"` // set when has_ai_plan + SubscriptionStatus string `protobuf:"bytes,3,opt,name=subscription_status,json=subscriptionStatus,proto3" json:"subscription_status,omitempty"` // active | trialing | past_due | "" (exempt/none) + IncludedTokens int64 `protobuf:"varint,4,opt,name=included_tokens,json=includedTokens,proto3" json:"included_tokens,omitempty"` // -1 = unlimited, 0 = no plan / no pool + UsedTokens int64 `protobuf:"varint,5,opt,name=used_tokens,json=usedTokens,proto3" json:"used_tokens,omitempty"` + // Deprecated: Marked as deprecated in orchestrator/v1/billing.proto. + OverageMicrocents int64 `protobuf:"varint,6,opt,name=overage_microcents,json=overageMicrocents,proto3" json:"overage_microcents,omitempty"` // retired (ADR 0015) — no longer populated + // Deprecated: Marked as deprecated in orchestrator/v1/billing.proto. + OverageCents int64 `protobuf:"varint,7,opt,name=overage_cents,json=overageCents,proto3" json:"overage_cents,omitempty"` // retired (ADR 0015) — no longer populated + // Deprecated: Marked as deprecated in orchestrator/v1/billing.proto. + OverageEnabled bool `protobuf:"varint,8,opt,name=overage_enabled,json=overageEnabled,proto3" json:"overage_enabled,omitempty"` // retired (ADR 0015) — no longer populated + // Deprecated: Marked as deprecated in orchestrator/v1/billing.proto. + BudgetCapCents *int64 `protobuf:"varint,9,opt,name=budget_cap_cents,json=budgetCapCents,proto3,oneof" json:"budget_cap_cents,omitempty"` // retired (ADR 0015) + BillingExempt bool `protobuf:"varint,10,opt,name=billing_exempt,json=billingExempt,proto3" json:"billing_exempt,omitempty"` + Blocked string `protobuf:"bytes,11,opt,name=blocked,proto3" json:"blocked,omitempty"` // "" | ai_credits_exhausted + Instances []*AIInstanceUsage `protobuf:"bytes,12,rep,name=instances,proto3" json:"instances,omitempty"` + RateCard []*AITierRate `protobuf:"bytes,13,rep,name=rate_card,json=rateCard,proto3" json:"rate_card,omitempty"` + PeriodStart string `protobuf:"bytes,14,opt,name=period_start,json=periodStart,proto3" json:"period_start,omitempty"` // RFC3339 + PeriodEnd string `protobuf:"bytes,15,opt,name=period_end,json=periodEnd,proto3" json:"period_end,omitempty"` + // Prepaid credit (ADR 0014/0015): all past-pool spend draws this balance. + CreditBalanceTokens int64 `protobuf:"varint,16,opt,name=credit_balance_tokens,json=creditBalanceTokens,proto3" json:"credit_balance_tokens,omitempty"` // net of this month's pending draw + ExtraUsageTokens int64 `protobuf:"varint,17,opt,name=extra_usage_tokens,json=extraUsageTokens,proto3" json:"extra_usage_tokens,omitempty"` // this month's draw (standard-tier tokens) + CreditGrants []*AICreditGrant `protobuf:"bytes,18,rep,name=credit_grants,json=creditGrants,proto3" json:"credit_grants,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAccountAIUsageResponse) Reset() { + *x = GetAccountAIUsageResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAccountAIUsageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAccountAIUsageResponse) ProtoMessage() {} + +func (x *GetAccountAIUsageResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[109] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAccountAIUsageResponse.ProtoReflect.Descriptor instead. +func (*GetAccountAIUsageResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{109} +} + +func (x *GetAccountAIUsageResponse) GetHasAiPlan() bool { + if x != nil { + return x.HasAiPlan + } + return false +} + +func (x *GetAccountAIUsageResponse) GetPlan() *AIPlan { + if x != nil { + return x.Plan + } + return nil +} + +func (x *GetAccountAIUsageResponse) GetSubscriptionStatus() string { + if x != nil { + return x.SubscriptionStatus + } + return "" +} + +func (x *GetAccountAIUsageResponse) GetIncludedTokens() int64 { + if x != nil { + return x.IncludedTokens + } + return 0 +} + +func (x *GetAccountAIUsageResponse) GetUsedTokens() int64 { + if x != nil { + return x.UsedTokens + } + return 0 +} + +// Deprecated: Marked as deprecated in orchestrator/v1/billing.proto. +func (x *GetAccountAIUsageResponse) GetOverageMicrocents() int64 { + if x != nil { + return x.OverageMicrocents + } + return 0 +} + +// Deprecated: Marked as deprecated in orchestrator/v1/billing.proto. +func (x *GetAccountAIUsageResponse) GetOverageCents() int64 { + if x != nil { + return x.OverageCents + } + return 0 +} + +// Deprecated: Marked as deprecated in orchestrator/v1/billing.proto. +func (x *GetAccountAIUsageResponse) GetOverageEnabled() bool { + if x != nil { + return x.OverageEnabled + } + return false +} + +// Deprecated: Marked as deprecated in orchestrator/v1/billing.proto. +func (x *GetAccountAIUsageResponse) GetBudgetCapCents() int64 { + if x != nil && x.BudgetCapCents != nil { + return *x.BudgetCapCents + } + return 0 +} + +func (x *GetAccountAIUsageResponse) GetBillingExempt() bool { + if x != nil { + return x.BillingExempt + } + return false +} + +func (x *GetAccountAIUsageResponse) GetBlocked() string { + if x != nil { + return x.Blocked + } + return "" +} + +func (x *GetAccountAIUsageResponse) GetInstances() []*AIInstanceUsage { + if x != nil { + return x.Instances + } + return nil +} + +func (x *GetAccountAIUsageResponse) GetRateCard() []*AITierRate { + if x != nil { + return x.RateCard + } + return nil +} + +func (x *GetAccountAIUsageResponse) GetPeriodStart() string { + if x != nil { + return x.PeriodStart + } + return "" +} + +func (x *GetAccountAIUsageResponse) GetPeriodEnd() string { + if x != nil { + return x.PeriodEnd + } + return "" +} + +func (x *GetAccountAIUsageResponse) GetCreditBalanceTokens() int64 { + if x != nil { + return x.CreditBalanceTokens + } + return 0 +} + +func (x *GetAccountAIUsageResponse) GetExtraUsageTokens() int64 { + if x != nil { + return x.ExtraUsageTokens + } + return 0 +} + +func (x *GetAccountAIUsageResponse) GetCreditGrants() []*AICreditGrant { + if x != nil { + return x.CreditGrants + } + return nil +} + +type AIConsumptionRow struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + AccountName string `protobuf:"bytes,2,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + Tier string `protobuf:"bytes,3,opt,name=tier,proto3" json:"tier,omitempty"` + Day string `protobuf:"bytes,4,opt,name=day,proto3" json:"day,omitempty"` // YYYY-MM-DD (UTC) + Tokens int64 `protobuf:"varint,5,opt,name=tokens,proto3" json:"tokens,omitempty"` + CostMicrocents int64 `protobuf:"varint,6,opt,name=cost_microcents,json=costMicrocents,proto3" json:"cost_microcents,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AIConsumptionRow) Reset() { + *x = AIConsumptionRow{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AIConsumptionRow) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AIConsumptionRow) ProtoMessage() {} + +func (x *AIConsumptionRow) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[110] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AIConsumptionRow.ProtoReflect.Descriptor instead. +func (*AIConsumptionRow) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{110} +} + +func (x *AIConsumptionRow) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *AIConsumptionRow) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *AIConsumptionRow) GetTier() string { + if x != nil { + return x.Tier + } + return "" +} + +func (x *AIConsumptionRow) GetDay() string { + if x != nil { + return x.Day + } + return "" +} + +func (x *AIConsumptionRow) GetTokens() int64 { + if x != nil { + return x.Tokens + } + return 0 +} + +func (x *AIConsumptionRow) GetCostMicrocents() int64 { + if x != nil { + return x.CostMicrocents + } + return 0 +} + +type GetAIConsumptionReportRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Days int32 `protobuf:"varint,1,opt,name=days,proto3" json:"days,omitempty"` // window; default 30 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAIConsumptionReportRequest) Reset() { + *x = GetAIConsumptionReportRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAIConsumptionReportRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAIConsumptionReportRequest) ProtoMessage() {} + +func (x *GetAIConsumptionReportRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[111] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAIConsumptionReportRequest.ProtoReflect.Descriptor instead. +func (*GetAIConsumptionReportRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{111} +} + +func (x *GetAIConsumptionReportRequest) GetDays() int32 { + if x != nil { + return x.Days + } + return 0 +} + +type GetAIConsumptionReportResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Rows []*AIConsumptionRow `protobuf:"bytes,1,rep,name=rows,proto3" json:"rows,omitempty"` + TotalTokens int64 `protobuf:"varint,2,opt,name=total_tokens,json=totalTokens,proto3" json:"total_tokens,omitempty"` + TotalCostMicrocents int64 `protobuf:"varint,3,opt,name=total_cost_microcents,json=totalCostMicrocents,proto3" json:"total_cost_microcents,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAIConsumptionReportResponse) Reset() { + *x = GetAIConsumptionReportResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAIConsumptionReportResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAIConsumptionReportResponse) ProtoMessage() {} + +func (x *GetAIConsumptionReportResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_billing_proto_msgTypes[112] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAIConsumptionReportResponse.ProtoReflect.Descriptor instead. +func (*GetAIConsumptionReportResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{112} +} + +func (x *GetAIConsumptionReportResponse) GetRows() []*AIConsumptionRow { + if x != nil { + return x.Rows + } + return nil +} + +func (x *GetAIConsumptionReportResponse) GetTotalTokens() int64 { + if x != nil { + return x.TotalTokens + } + return 0 +} + +func (x *GetAIConsumptionReportResponse) GetTotalCostMicrocents() int64 { + if x != nil { + return x.TotalCostMicrocents + } + return 0 +} + +var File_orchestrator_v1_billing_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_billing_proto_rawDesc = "" + + "\n" + + "\x1dorchestrator/v1/billing.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1eorchestrator/v1/accounts.proto\"\xc1\a\n" + + "\fSubscription\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" + + "\vinstance_id\x18\x02 \x01(\tR\n" + + "instanceId\x12\x1d\n" + + "\n" + + "account_id\x18\x03 \x01(\tR\taccountId\x124\n" + + "\x16stripe_subscription_id\x18\x04 \x01(\tR\x14stripeSubscriptionId\x12,\n" + + "\x12stripe_customer_id\x18\x05 \x01(\tR\x10stripeCustomerId\x12\x1f\n" + + "\vexternal_id\x18\x06 \x01(\tR\n" + + "externalId\x12&\n" + + "\x0fstripe_price_id\x18\a \x01(\tR\rstripePriceId\x12.\n" + + "\x04plan\x18\b \x01(\v2\x15.orchestrator.v1.PlanH\x00R\x04plan\x88\x01\x01\x12;\n" + + "\x06status\x18\t \x01(\x0e2#.orchestrator.v1.SubscriptionStatusR\x06status\x129\n" + + "\n" + + "started_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12A\n" + + "\ftrial_end_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampH\x01R\n" + + "trialEndAt\x88\x01\x01\x12<\n" + + "\tending_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampH\x02R\bendingAt\x88\x01\x01\x12D\n" + + "\rterminated_at\x18\r \x01(\v2\x1a.google.protobuf.TimestampH\x03R\fterminatedAt\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12/\n" + + "\x14cancel_at_period_end\x18\x10 \x01(\bR\x11cancelAtPeriodEnd\x12M\n" + + "\x12current_period_end\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampH\x04R\x10currentPeriodEnd\x88\x01\x01B\a\n" + + "\x05_planB\x0f\n" + + "\r_trial_end_atB\f\n" + + "\n" + + "_ending_atB\x10\n" + + "\x0e_terminated_atB\x15\n" + + "\x13_current_period_end\"\xbb\x02\n" + + "\x13InstanceBillingInfo\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12#\n" + + "\rinstance_name\x18\x02 \x01(\tR\finstanceName\x12#\n" + + "\rinstance_slug\x18\x03 \x01(\tR\finstanceSlug\x12F\n" + + "\fsubscription\x18\x04 \x01(\v2\x1d.orchestrator.v1.SubscriptionH\x00R\fsubscription\x88\x01\x01\x122\n" + + "\x05usage\x18\x05 \x03(\v2\x1c.orchestrator.v1.UsageMetricR\x05usage\x12,\n" + + "\x12monthly_cost_cents\x18\x06 \x01(\x05R\x10monthlyCostCentsB\x0f\n" + + "\r_subscription\"\xe6\x01\n" + + "\x15AccountBillingSummary\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12:\n" + + "\x19active_subscription_count\x18\x02 \x01(\x05R\x17activeSubscriptionCount\x12.\n" + + "\x13total_monthly_cents\x18\x03 \x01(\x05R\x11totalMonthlyCents\x12B\n" + + "\tinstances\x18\x04 \x03(\v2$.orchestrator.v1.InstanceBillingInfoR\tinstances\"\x94\x03\n" + + "\aInvoice\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12*\n" + + "\x11stripe_invoice_id\x18\x02 \x01(\tR\x0fstripeInvoiceId\x12\x16\n" + + "\x06number\x18\x03 \x01(\tR\x06number\x12\x16\n" + + "\x06status\x18\x04 \x01(\tR\x06status\x12%\n" + + "\x0epayment_status\x18\x05 \x01(\tR\rpaymentStatus\x12!\n" + + "\famount_cents\x18\x06 \x01(\x03R\vamountCents\x12,\n" + + "\x12total_amount_cents\x18\a \x01(\x03R\x10totalAmountCents\x12\x1a\n" + + "\bcurrency\x18\b \x01(\tR\bcurrency\x12\x1e\n" + + "\bfile_url\x18\t \x01(\tH\x00R\afileUrl\x88\x01\x01\x12!\n" + + "\fissuing_date\x18\n" + + " \x01(\tR\vissuingDate\x129\n" + + "\n" + + "created_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\v\n" + + "\t_file_url\"\xcb\x01\n" + + "\vUsageMetric\x12\x1f\n" + + "\vmetric_code\x18\x01 \x01(\tR\n" + + "metricCode\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12#\n" + + "\rcurrent_value\x18\x03 \x01(\x03R\fcurrentValue\x12\x1a\n" + + "\bincluded\x18\x04 \x01(\x03R\bincluded\x12\x18\n" + + "\aoverage\x18\x05 \x01(\x03R\aoverage\x12,\n" + + "\x12overage_rate_cents\x18\x06 \x01(\x03R\x10overageRateCents\"=\n" + + "\x10ListPlansRequest\x12)\n" + + "\x10include_inactive\x18\x01 \x01(\bR\x0fincludeInactive\"@\n" + + "\x11ListPlansResponse\x12+\n" + + "\x05plans\x18\x01 \x03(\v2\x15.orchestrator.v1.PlanR\x05plans\"@\n" + + "\x1fListAccountSubscriptionsRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"d\n" + + " ListAccountSubscriptionsResponse\x12@\n" + + "\asummary\x18\x01 \x01(\v2&.orchestrator.v1.AccountBillingSummaryR\asummary\"\x92\x01\n" + + "\x19CreateSubscriptionRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1b\n" + + "\tplan_code\x18\x02 \x01(\tR\bplanCode\x12&\n" + + "\fbilling_time\x18\x03 \x01(\tH\x00R\vbillingTime\x88\x01\x01B\x0f\n" + + "\r_billing_time\"_\n" + + "\x1aCreateSubscriptionResponse\x12A\n" + + "\fsubscription\x18\x01 \x01(\v2\x1d.orchestrator.v1.SubscriptionR\fsubscription\"X\n" + + "\x11ChangePlanRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\"\n" + + "\rnew_plan_code\x18\x02 \x01(\tR\vnewPlanCode\"W\n" + + "\x12ChangePlanResponse\x12A\n" + + "\fsubscription\x18\x01 \x01(\v2\x1d.orchestrator.v1.SubscriptionR\fsubscription\"d\n" + + "\x19CancelSubscriptionRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1b\n" + + "\x06reason\x18\x02 \x01(\tH\x00R\x06reason\x88\x01\x01B\t\n" + + "\a_reason\"_\n" + + "\x1aCancelSubscriptionResponse\x12A\n" + + "\fsubscription\x18\x01 \x01(\v2\x1d.orchestrator.v1.SubscriptionR\fsubscription\"D\n" + + "\x19ResumeSubscriptionRequest\x12'\n" + + "\x0fsubscription_id\x18\x01 \x01(\tR\x0esubscriptionId\"_\n" + + "\x1aResumeSubscriptionResponse\x12A\n" + + "\fsubscription\x18\x01 \x01(\v2\x1d.orchestrator.v1.SubscriptionR\fsubscription\"b\n" + + "\x13ListInvoicesRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12\x14\n" + + "\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n" + + "\x06offset\x18\x03 \x01(\x05R\x06offset\"m\n" + + "\x14ListInvoicesResponse\x124\n" + + "\binvoices\x18\x01 \x03(\v2\x18.orchestrator.v1.InvoiceR\binvoices\x12\x1f\n" + + "\vtotal_count\x18\x02 \x01(\x05R\n" + + "totalCount\"2\n" + + "\x11GetInvoiceRequest\x12\x1d\n" + + "\n" + + "invoice_id\x18\x01 \x01(\tR\tinvoiceId\"H\n" + + "\x12GetInvoiceResponse\x122\n" + + "\ainvoice\x18\x01 \x01(\v2\x18.orchestrator.v1.InvoiceR\ainvoice\"Z\n" + + "\x1aRetryInvoicePaymentRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12\x1d\n" + + "\n" + + "invoice_id\x18\x02 \x01(\tR\tinvoiceId\"\xb8\x01\n" + + "\x1bRetryInvoicePaymentResponse\x122\n" + + "\ainvoice\x18\x01 \x01(\v2\x18.orchestrator.v1.InvoiceR\ainvoice\x12D\n" + + "\x1cpayment_intent_client_secret\x18\x02 \x01(\tH\x00R\x19paymentIntentClientSecret\x88\x01\x01B\x1f\n" + + "\x1d_payment_intent_client_secret\"2\n" + + "\x0fGetUsageRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"J\n" + + "\x10GetUsageResponse\x126\n" + + "\ametrics\x18\x01 \x03(\v2\x1c.orchestrator.v1.UsageMetricR\ametrics\"\x80\x02\n" + + "\x12RecordUsageRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1f\n" + + "\vmetric_code\x18\x02 \x01(\tR\n" + + "metricCode\x12\x14\n" + + "\x05value\x18\x03 \x01(\x03R\x05value\x12S\n" + + "\n" + + "properties\x18\x04 \x03(\v23.orchestrator.v1.RecordUsageRequest.PropertiesEntryR\n" + + "properties\x1a=\n" + + "\x0fPropertiesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x15\n" + + "\x13RecordUsageResponse\"L\n" + + "\x16ListPublicPlansRequest\x122\n" + + "\x15include_contact_sales\x18\x01 \x01(\bR\x13includeContactSales\"F\n" + + "\x17ListPublicPlansResponse\x12+\n" + + "\x05plans\x18\x01 \x03(\v2\x15.orchestrator.v1.PlanR\x05plans\"A\n" + + "\x1eGetInstanceCapabilitiesRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"\xf7\x03\n" + + "\x1fGetInstanceCapabilitiesResponse\x12\x17\n" + + "\aplan_id\x18\x01 \x01(\tR\x06planId\x12\x1b\n" + + "\tplan_name\x18\x02 \x01(\tR\bplanName\x12\x12\n" + + "\x04tier\x18\x03 \x01(\tR\x04tier\x12\x1a\n" + + "\bfeatures\x18\x04 \x03(\tR\bfeatures\x129\n" + + "\aenabled\x18\x05 \x03(\v2\x1f.orchestrator.v1.EnabledFeatureR\aenabled\x12&\n" + + "\x0fhas_hard_limits\x18\x06 \x01(\bR\rhasHardLimits\x12\x1d\n" + + "\n" + + "storage_gb\x18\a \x01(\x05R\tstorageGb\x12!\n" + + "\fbandwidth_gb\x18\b \x01(\x05R\vbandwidthGb\x12\x1b\n" + + "\tmax_pages\x18\t \x01(\x05R\bmaxPages\x12\x1b\n" + + "\tmax_users\x18\n" + + " \x01(\x05R\bmaxUsers\x12T\n" + + "\x06limits\x18\v \x03(\v2<.orchestrator.v1.GetInstanceCapabilitiesResponse.LimitsEntryR\x06limits\x1a9\n" + + "\vLimitsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01\"\xb1\x01\n" + + "\x0eEnabledFeature\x12\x1f\n" + + "\vfeature_key\x18\x01 \x01(\tR\n" + + "featureKey\x12C\n" + + "\x06config\x18\x02 \x03(\v2+.orchestrator.v1.EnabledFeature.ConfigEntryR\x06config\x1a9\n" + + "\vConfigEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"X\n" + + "\x14EnableFeatureRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1f\n" + + "\vfeature_key\x18\x02 \x01(\tR\n" + + "featureKey\"\xa2\x01\n" + + "\x15EnableFeatureResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12>\n" + + "\afeature\x18\x02 \x01(\v2\x1f.orchestrator.v1.EnabledFeatureH\x00R\afeature\x88\x01\x01\x12\x19\n" + + "\x05error\x18\x03 \x01(\tH\x01R\x05error\x88\x01\x01B\n" + + "\n" + + "\b_featureB\b\n" + + "\x06_error\"Y\n" + + "\x15DisableFeatureRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1f\n" + + "\vfeature_key\x18\x02 \x01(\tR\n" + + "featureKey\"W\n" + + "\x16DisableFeatureResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x19\n" + + "\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\b\n" + + "\x06_error\"P\n" + + "\x19UpdatePlanFeaturesRequest\x12\x17\n" + + "\aplan_id\x18\x01 \x01(\tR\x06planId\x12\x1a\n" + + "\bfeatures\x18\x02 \x03(\tR\bfeatures\"G\n" + + "\x1aUpdatePlanFeaturesResponse\x12)\n" + + "\x04plan\x18\x01 \x01(\v2\x15.orchestrator.v1.PlanR\x04plan\"\x1e\n" + + "\x1cListAvailableFeaturesRequest\"_\n" + + "\x1dListAvailableFeaturesResponse\x12>\n" + + "\bfeatures\x18\x01 \x03(\v2\".orchestrator.v1.FeatureDefinitionR\bfeatures\"\xa1\x01\n" + + "\x11FeatureDefinition\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x12)\n" + + "\x10requires_sidecar\x18\x04 \x01(\bR\x0frequiresSidecar\x12\x19\n" + + "\bmin_tier\x18\x05 \x01(\x05R\aminTier\")\n" + + "\x0eGetPlanRequest\x12\x17\n" + + "\aplan_id\x18\x01 \x01(\tR\x06planId\"<\n" + + "\x0fGetPlanResponse\x12)\n" + + "\x04plan\x18\x01 \x01(\v2\x15.orchestrator.v1.PlanR\x04plan\"\xab\t\n" + + "\x11CreatePlanRequest\x12\x12\n" + + "\x04slug\x18\x01 \x01(\tR\x04slug\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12%\n" + + "\vdescription\x18\x03 \x01(\tH\x00R\vdescription\x88\x01\x01\x12\x12\n" + + "\x04tier\x18\x04 \x01(\x05R\x04tier\x12.\n" + + "\x13monthly_price_cents\x18\x05 \x01(\x05R\x11monthlyPriceCents\x121\n" + + "\x12annual_price_cents\x18\x06 \x01(\x05H\x01R\x10annualPriceCents\x88\x01\x01\x12)\n" + + "\x0emax_storage_gb\x18\a \x01(\x05H\x02R\fmaxStorageGb\x88\x01\x01\x12-\n" + + "\x10max_bandwidth_gb\x18\b \x01(\x05H\x03R\x0emaxBandwidthGb\x88\x01\x01\x128\n" + + "\x16max_pages_per_instance\x18\t \x01(\x05H\x04R\x13maxPagesPerInstance\x88\x01\x01\x128\n" + + "\x16max_users_per_instance\x18\n" + + " \x01(\x05H\x05R\x13maxUsersPerInstance\x88\x01\x01\x124\n" + + "\x14max_emails_per_month\x18\v \x01(\x05H\x06R\x11maxEmailsPerMonth\x88\x01\x01\x12 \n" + + "\fis_free_tier\x18\f \x01(\bR\n" + + "isFreeTier\x12&\n" + + "\x0fhas_hard_limits\x18\r \x01(\bR\rhasHardLimits\x12%\n" + + "\x0eincluded_users\x18\x0e \x01(\x05R\rincludedUsers\x12>\n" + + "\x1cstorage_overage_cents_per_gb\x18\x0f \x01(\x05R\x18storageOverageCentsPerGb\x12B\n" + + "\x1ebandwidth_overage_cents_per_gb\x18\x10 \x01(\x05R\x1abandwidthOverageCentsPerGb\x12,\n" + + "\x12user_overage_cents\x18\x11 \x01(\x05R\x10userOverageCents\x12D\n" + + "\x1femail_overage_cents_per_hundred\x18\x12 \x01(\x05R\x1bemailOverageCentsPerHundred\x12(\n" + + "\x10is_contact_sales\x18\x13 \x01(\bR\x0eisContactSales\x12\x1a\n" + + "\bfeatures\x18\x14 \x03(\tR\bfeatures\x12/\n" + + "\x11trial_period_days\x18\x15 \x01(\x05H\aR\x0ftrialPeriodDays\x88\x01\x01\x12\x1b\n" + + "\tis_active\x18\x16 \x01(\bR\bisActive\x12\x1b\n" + + "\tis_public\x18\x17 \x01(\bR\bisPublicB\x0e\n" + + "\f_descriptionB\x15\n" + + "\x13_annual_price_centsB\x11\n" + + "\x0f_max_storage_gbB\x13\n" + + "\x11_max_bandwidth_gbB\x19\n" + + "\x17_max_pages_per_instanceB\x19\n" + + "\x17_max_users_per_instanceB\x17\n" + + "\x15_max_emails_per_monthB\x14\n" + + "\x12_trial_period_days\"?\n" + + "\x12CreatePlanResponse\x12)\n" + + "\x04plan\x18\x01 \x01(\v2\x15.orchestrator.v1.PlanR\x04plan\"\x83\f\n" + + "\x11UpdatePlanRequest\x12\x17\n" + + "\aplan_id\x18\x01 \x01(\tR\x06planId\x12\x17\n" + + "\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12%\n" + + "\vdescription\x18\x03 \x01(\tH\x01R\vdescription\x88\x01\x01\x12\x17\n" + + "\x04tier\x18\x04 \x01(\x05H\x02R\x04tier\x88\x01\x01\x123\n" + + "\x13monthly_price_cents\x18\x05 \x01(\x05H\x03R\x11monthlyPriceCents\x88\x01\x01\x121\n" + + "\x12annual_price_cents\x18\x06 \x01(\x05H\x04R\x10annualPriceCents\x88\x01\x01\x12)\n" + + "\x0emax_storage_gb\x18\a \x01(\x05H\x05R\fmaxStorageGb\x88\x01\x01\x12-\n" + + "\x10max_bandwidth_gb\x18\b \x01(\x05H\x06R\x0emaxBandwidthGb\x88\x01\x01\x128\n" + + "\x16max_pages_per_instance\x18\t \x01(\x05H\aR\x13maxPagesPerInstance\x88\x01\x01\x128\n" + + "\x16max_users_per_instance\x18\n" + + " \x01(\x05H\bR\x13maxUsersPerInstance\x88\x01\x01\x124\n" + + "\x14max_emails_per_month\x18\v \x01(\x05H\tR\x11maxEmailsPerMonth\x88\x01\x01\x12%\n" + + "\fis_free_tier\x18\f \x01(\bH\n" + + "R\n" + + "isFreeTier\x88\x01\x01\x12+\n" + + "\x0fhas_hard_limits\x18\r \x01(\bH\vR\rhasHardLimits\x88\x01\x01\x12*\n" + + "\x0eincluded_users\x18\x0e \x01(\x05H\fR\rincludedUsers\x88\x01\x01\x12C\n" + + "\x1cstorage_overage_cents_per_gb\x18\x0f \x01(\x05H\rR\x18storageOverageCentsPerGb\x88\x01\x01\x12G\n" + + "\x1ebandwidth_overage_cents_per_gb\x18\x10 \x01(\x05H\x0eR\x1abandwidthOverageCentsPerGb\x88\x01\x01\x121\n" + + "\x12user_overage_cents\x18\x11 \x01(\x05H\x0fR\x10userOverageCents\x88\x01\x01\x12I\n" + + "\x1femail_overage_cents_per_hundred\x18\x12 \x01(\x05H\x10R\x1bemailOverageCentsPerHundred\x88\x01\x01\x12-\n" + + "\x10is_contact_sales\x18\x13 \x01(\bH\x11R\x0eisContactSales\x88\x01\x01\x12\x1a\n" + + "\bfeatures\x18\x14 \x03(\tR\bfeatures\x12/\n" + + "\x11trial_period_days\x18\x15 \x01(\x05H\x12R\x0ftrialPeriodDays\x88\x01\x01\x12 \n" + + "\tis_active\x18\x16 \x01(\bH\x13R\bisActive\x88\x01\x01\x12 \n" + + "\tis_public\x18\x17 \x01(\bH\x14R\bisPublic\x88\x01\x01B\a\n" + + "\x05_nameB\x0e\n" + + "\f_descriptionB\a\n" + + "\x05_tierB\x16\n" + + "\x14_monthly_price_centsB\x15\n" + + "\x13_annual_price_centsB\x11\n" + + "\x0f_max_storage_gbB\x13\n" + + "\x11_max_bandwidth_gbB\x19\n" + + "\x17_max_pages_per_instanceB\x19\n" + + "\x17_max_users_per_instanceB\x17\n" + + "\x15_max_emails_per_monthB\x0f\n" + + "\r_is_free_tierB\x12\n" + + "\x10_has_hard_limitsB\x11\n" + + "\x0f_included_usersB\x1f\n" + + "\x1d_storage_overage_cents_per_gbB!\n" + + "\x1f_bandwidth_overage_cents_per_gbB\x15\n" + + "\x13_user_overage_centsB\"\n" + + " _email_overage_cents_per_hundredB\x13\n" + + "\x11_is_contact_salesB\x14\n" + + "\x12_trial_period_daysB\f\n" + + "\n" + + "_is_activeB\f\n" + + "\n" + + "_is_public\"?\n" + + "\x12UpdatePlanResponse\x12)\n" + + "\x04plan\x18\x01 \x01(\v2\x15.orchestrator.v1.PlanR\x04plan\"B\n" + + "\x11DeletePlanRequest\x12\x17\n" + + "\aplan_id\x18\x01 \x01(\tR\x06planId\x12\x14\n" + + "\x05force\x18\x02 \x01(\bR\x05force\"e\n" + + "\x12DeletePlanResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x125\n" + + "\x16affected_subscriptions\x18\x02 \x01(\x05R\x15affectedSubscriptions\"7\n" + + "\x1cGetPlanDeletionImpactRequest\x12\x17\n" + + "\aplan_id\x18\x01 \x01(\tR\x06planId\"\xaa\x01\n" + + "\x1dGetPlanDeletionImpactResponse\x121\n" + + "\x14active_subscriptions\x18\x01 \x01(\x05R\x13activeSubscriptions\x12/\n" + + "\x13total_subscriptions\x18\x02 \x01(\x05R\x12totalSubscriptions\x12%\n" + + "\x0einstance_names\x18\x03 \x03(\tR\rinstanceNames\"\xa2\x01\n" + + "\rPaymentMethod\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" + + "\x05brand\x18\x02 \x01(\tR\x05brand\x12\x14\n" + + "\x05last4\x18\x03 \x01(\tR\x05last4\x12\x1b\n" + + "\texp_month\x18\x04 \x01(\x05R\bexpMonth\x12\x19\n" + + "\bexp_year\x18\x05 \x01(\x05R\aexpYear\x12\x1d\n" + + "\n" + + "is_default\x18\x06 \x01(\bR\tisDefault\"9\n" + + "\x18CreateSetupIntentRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"h\n" + + "\x19CreateSetupIntentResponse\x12#\n" + + "\rclient_secret\x18\x01 \x01(\tR\fclientSecret\x12&\n" + + "\x0fsetup_intent_id\x18\x02 \x01(\tR\rsetupIntentId\":\n" + + "\x19ListPaymentMethodsRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"e\n" + + "\x1aListPaymentMethodsResponse\x12G\n" + + "\x0fpayment_methods\x18\x01 \x03(\v2\x1e.orchestrator.v1.PaymentMethodR\x0epaymentMethods\"k\n" + + "\x1eSetDefaultPaymentMethodRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12*\n" + + "\x11payment_method_id\x18\x02 \x01(\tR\x0fpaymentMethodId\"j\n" + + "\x1fSetDefaultPaymentMethodResponse\x12G\n" + + "\x0fpayment_methods\x18\x01 \x03(\v2\x1e.orchestrator.v1.PaymentMethodR\x0epaymentMethods\"g\n" + + "\x1aDetachPaymentMethodRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12*\n" + + "\x11payment_method_id\x18\x02 \x01(\tR\x0fpaymentMethodId\"f\n" + + "\x1bDetachPaymentMethodResponse\x12G\n" + + "\x0fpayment_methods\x18\x01 \x03(\v2\x1e.orchestrator.v1.PaymentMethodR\x0epaymentMethods\"@\n" + + "\x1fCompleteWelcomeCardSetupRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"e\n" + + " CompleteWelcomeCardSetupResponse\x12A\n" + + "\fsubscription\x18\x01 \x01(\v2\x1d.orchestrator.v1.SubscriptionR\fsubscription\"8\n" + + "\x17HasPaymentMethodRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"\xe2\x01\n" + + "\x18HasPaymentMethodResponse\x12,\n" + + "\x12has_payment_method\x18\x01 \x01(\bR\x10hasPaymentMethod\x12.\n" + + "\x10payment_provider\x18\x02 \x01(\tH\x00R\x0fpaymentProvider\x88\x01\x01\x12 \n" + + "\tlast_four\x18\x03 \x01(\tH\x01R\blastFour\x88\x01\x01\x12\x19\n" + + "\x05brand\x18\x04 \x01(\tH\x02R\x05brand\x88\x01\x01B\x13\n" + + "\x11_payment_providerB\f\n" + + "\n" + + "_last_fourB\b\n" + + "\x06_brand\"\x18\n" + + "\x16GetStripeConfigRequest\"o\n" + + "\x17GetStripeConfigResponse\x12'\n" + + "\x0fpublishable_key\x18\x01 \x01(\tR\x0epublishableKey\x12+\n" + + "\x11stripe_configured\x18\x02 \x01(\bR\x10stripeConfigured\"\xa0\x03\n" + + "\x06Coupon\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12$\n" + + "\vpercent_off\x18\x03 \x01(\x01H\x00R\n" + + "percentOff\x88\x01\x01\x12-\n" + + "\x10amount_off_cents\x18\x04 \x01(\x03H\x01R\x0eamountOffCents\x88\x01\x01\x12\x1a\n" + + "\bcurrency\x18\x05 \x01(\tR\bcurrency\x12\x1a\n" + + "\bduration\x18\x06 \x01(\tR\bduration\x121\n" + + "\x12duration_in_months\x18\a \x01(\x05H\x02R\x10durationInMonths\x88\x01\x01\x12%\n" + + "\x0etimes_redeemed\x18\b \x01(\x03R\rtimesRedeemed\x12\x14\n" + + "\x05valid\x18\t \x01(\bR\x05valid\x129\n" + + "\n" + + "created_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\x0e\n" + + "\f_percent_offB\x13\n" + + "\x11_amount_off_centsB\x15\n" + + "\x13_duration_in_months\"\xc3\x01\n" + + "\x14SubscriptionDiscount\x12/\n" + + "\x06coupon\x18\x01 \x01(\v2\x17.orchestrator.v1.CouponR\x06coupon\x125\n" + + "\x05start\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\x05start\x88\x01\x01\x121\n" + + "\x03end\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampH\x01R\x03end\x88\x01\x01B\b\n" + + "\x06_startB\x06\n" + + "\x04_end\"C\n" + + " GetInstanceBillingSummaryRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"\x83\x03\n" + + "!GetInstanceBillingSummaryResponse\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12%\n" + + "\x0ebilling_exempt\x18\x02 \x01(\bR\rbillingExempt\x12.\n" + + "\x04plan\x18\x03 \x01(\v2\x15.orchestrator.v1.PlanH\x00R\x04plan\x88\x01\x01\x12F\n" + + "\fsubscription\x18\x04 \x01(\v2\x1d.orchestrator.v1.SubscriptionH\x01R\fsubscription\x88\x01\x01\x12/\n" + + "\x14cancel_at_period_end\x18\x05 \x01(\bR\x11cancelAtPeriodEnd\x12F\n" + + "\bdiscount\x18\x06 \x01(\v2%.orchestrator.v1.SubscriptionDiscountH\x02R\bdiscount\x88\x01\x01B\a\n" + + "\x05_planB\x0f\n" + + "\r_subscriptionB\v\n" + + "\t_discount\"\x8a\x01\n" + + "\x1fSetInstanceBillingExemptRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x16\n" + + "\x06exempt\x18\x02 \x01(\bR\x06exempt\x12 \n" + + "\tplan_slug\x18\x03 \x01(\tH\x00R\bplanSlug\x88\x01\x01B\f\n" + + "\n" + + "_plan_slug\"p\n" + + " SetInstanceBillingExemptResponse\x12L\n" + + "\asummary\x18\x01 \x01(\v22.orchestrator.v1.GetInstanceBillingSummaryResponseR\asummary\"V\n" + + "\x16SetInstancePlanRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1b\n" + + "\tplan_slug\x18\x02 \x01(\tR\bplanSlug\"g\n" + + "\x17SetInstancePlanResponse\x12L\n" + + "\asummary\x18\x01 \x01(\v22.orchestrator.v1.GetInstanceBillingSummaryResponseR\asummary\"\x14\n" + + "\x12ListCouponsRequest\"H\n" + + "\x13ListCouponsResponse\x121\n" + + "\acoupons\x18\x01 \x03(\v2\x17.orchestrator.v1.CouponR\acoupons\"\xb7\x02\n" + + "\x13CreateCouponRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12$\n" + + "\vpercent_off\x18\x02 \x01(\x01H\x00R\n" + + "percentOff\x88\x01\x01\x12-\n" + + "\x10amount_off_cents\x18\x03 \x01(\x03H\x01R\x0eamountOffCents\x88\x01\x01\x12\x1f\n" + + "\bcurrency\x18\x04 \x01(\tH\x02R\bcurrency\x88\x01\x01\x12\x1a\n" + + "\bduration\x18\x05 \x01(\tR\bduration\x121\n" + + "\x12duration_in_months\x18\x06 \x01(\x05H\x03R\x10durationInMonths\x88\x01\x01B\x0e\n" + + "\f_percent_offB\x13\n" + + "\x11_amount_off_centsB\v\n" + + "\t_currencyB\x15\n" + + "\x13_duration_in_months\"G\n" + + "\x14CreateCouponResponse\x12/\n" + + "\x06coupon\x18\x01 \x01(\v2\x17.orchestrator.v1.CouponR\x06coupon\"^\n" + + "\x1eApplySubscriptionCouponRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1b\n" + + "\tcoupon_id\x18\x02 \x01(\tR\bcouponId\"o\n" + + "\x1fApplySubscriptionCouponResponse\x12L\n" + + "\asummary\x18\x01 \x01(\v22.orchestrator.v1.GetInstanceBillingSummaryResponseR\asummary\"B\n" + + "\x1fRemoveSubscriptionCouponRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"p\n" + + " RemoveSubscriptionCouponResponse\x12L\n" + + "\asummary\x18\x01 \x01(\v22.orchestrator.v1.GetInstanceBillingSummaryResponseR\asummary\"\xca\x01\n" + + "\x06AIPlan\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04slug\x18\x02 \x01(\tR\x04slug\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x04 \x01(\tR\vdescription\x12.\n" + + "\x13monthly_price_cents\x18\x05 \x01(\x05R\x11monthlyPriceCents\x126\n" + + "\x17included_tokens_monthly\x18\x06 \x01(\x03R\x15includedTokensMonthly\"\x14\n" + + "\x12ListAIPlansRequest\"D\n" + + "\x13ListAIPlansResponse\x12-\n" + + "\x05plans\x18\x01 \x03(\v2\x17.orchestrator.v1.AIPlanR\x05plans\"Y\n" + + "\x1bCreateAISubscriptionRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12\x1b\n" + + "\tplan_slug\x18\x02 \x01(\tR\bplanSlug\"\xc5\x01\n" + + "\x1cCreateAISubscriptionResponse\x12>\n" + + "\bsettings\x18\x01 \x01(\v2\".orchestrator.v1.AIOverageSettingsR\bsettings\x12D\n" + + "\x1cpayment_intent_client_secret\x18\x02 \x01(\tH\x00R\x19paymentIntentClientSecret\x88\x01\x01B\x1f\n" + + "\x1d_payment_intent_client_secret\"X\n" + + "\x13ChangeAIPlanRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12\"\n" + + "\rnew_plan_slug\x18\x02 \x01(\tR\vnewPlanSlug\"V\n" + + "\x14ChangeAIPlanResponse\x12>\n" + + "\bsettings\x18\x01 \x01(\v2\".orchestrator.v1.AIOverageSettingsR\bsettings\"<\n" + + "\x1bCancelAISubscriptionRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"^\n" + + "\x1cCancelAISubscriptionResponse\x12>\n" + + "\bsettings\x18\x01 \x01(\v2\".orchestrator.v1.AIOverageSettingsR\bsettings\"\x91\x01\n" + + "\fAICreditPack\x12\x12\n" + + "\x04slug\x18\x01 \x01(\tR\x04slug\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x12\x1f\n" + + "\vprice_cents\x18\x04 \x01(\x03R\n" + + "priceCents\x12\x16\n" + + "\x06tokens\x18\x05 \x01(\x03R\x06tokens\"\x1a\n" + + "\x18ListAICreditPacksRequest\"P\n" + + "\x19ListAICreditPacksResponse\x123\n" + + "\x05packs\x18\x01 \x03(\v2\x1d.orchestrator.v1.AICreditPackR\x05packs\"z\n" + + "\x1bPurchaseAICreditPackRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12\x1b\n" + + "\tpack_slug\x18\x02 \x01(\tR\bpackSlug\x12\x1f\n" + + "\vpurchase_id\x18\x03 \x01(\tR\n" + + "purchaseId\"\xf0\x01\n" + + "\x1cPurchaseAICreditPackResponse\x12*\n" + + "\x11payment_intent_id\x18\x01 \x01(\tR\x0fpaymentIntentId\x12\x16\n" + + "\x06status\x18\x02 \x01(\tR\x06status\x12D\n" + + "\x1cpayment_intent_client_secret\x18\x03 \x01(\tH\x00R\x19paymentIntentClientSecret\x88\x01\x01\x12%\n" + + "\x0ebalance_tokens\x18\x04 \x01(\x03R\rbalanceTokensB\x1f\n" + + "\x1d_payment_intent_client_secret\"\x8d\x02\n" + + "\rAICreditGrant\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" + + "\x06source\x18\x02 \x01(\tR\x06source\x12\x1b\n" + + "\tpack_slug\x18\x03 \x01(\tR\bpackSlug\x12%\n" + + "\x0etokens_granted\x18\x04 \x01(\x03R\rtokensGranted\x12'\n" + + "\x0ftokens_consumed\x18\x05 \x01(\x03R\x0etokensConsumed\x12\x18\n" + + "\arevoked\x18\x06 \x01(\bR\arevoked\x129\n" + + "\n" + + "created_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x12\n" + + "\x04note\x18\b \x01(\tR\x04note\"a\n" + + "\x14GrantAICreditRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12\x16\n" + + "\x06tokens\x18\x02 \x01(\x03R\x06tokens\x12\x12\n" + + "\x04note\x18\x03 \x01(\tR\x04note\"Y\n" + + "\x15GrantAICreditResponse\x12\x19\n" + + "\bgrant_id\x18\x01 \x01(\tR\agrantId\x12%\n" + + "\x0ebalance_tokens\x18\x02 \x01(\x03R\rbalanceTokens\"<\n" + + "\x1bGetAIOverageSettingsRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"\xe5\x03\n" + + "\x11AIOverageSettings\x12\x1e\n" + + "\vhas_ai_plan\x18\x01 \x01(\bR\thasAiPlan\x12+\n" + + "\x04plan\x18\x02 \x01(\v2\x17.orchestrator.v1.AIPlanR\x04plan\x12/\n" + + "\x13subscription_status\x18\x03 \x01(\tR\x12subscriptionStatus\x12'\n" + + "\x0foverage_enabled\x18\x04 \x01(\bR\x0eoverageEnabled\x12-\n" + + "\x10budget_cap_cents\x18\x05 \x01(\x03H\x00R\x0ebudgetCapCents\x88\x01\x01\x12%\n" + + "\x0ebilling_exempt\x18\x06 \x01(\bR\rbillingExempt\x12'\n" + + "\x0fsubscription_id\x18\a \x01(\tR\x0esubscriptionId\x12/\n" + + "\x14cancel_at_period_end\x18\b \x01(\bR\x11cancelAtPeriodEnd\x12M\n" + + "\x12current_period_end\x18\t \x01(\v2\x1a.google.protobuf.TimestampH\x01R\x10currentPeriodEnd\x88\x01\x01B\x13\n" + + "\x11_budget_cap_centsB\x15\n" + + "\x13_current_period_end\"^\n" + + "\x1cGetAIOverageSettingsResponse\x12>\n" + + "\bsettings\x18\x01 \x01(\v2\".orchestrator.v1.AIOverageSettingsR\bsettings\"\xa9\x01\n" + + "\x1bSetAIOverageSettingsRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12'\n" + + "\x0foverage_enabled\x18\x02 \x01(\bR\x0eoverageEnabled\x12-\n" + + "\x10budget_cap_cents\x18\x03 \x01(\x03H\x00R\x0ebudgetCapCents\x88\x01\x01B\x13\n" + + "\x11_budget_cap_cents\"^\n" + + "\x1cSetAIOverageSettingsResponse\x12>\n" + + "\bsettings\x18\x01 \x01(\v2\".orchestrator.v1.AIOverageSettingsR\bsettings\"Z\n" + + "\x1aSetInstanceAIAccessRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1b\n" + + "\tai_access\x18\x02 \x01(\bR\baiAccess\"[\n" + + "\x1bSetInstanceAIAccessResponse\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1b\n" + + "\tai_access\x18\x02 \x01(\bR\baiAccess\"\xa8\x01\n" + + "\n" + + "AITierRate\x12\x12\n" + + "\x04tier\x18\x01 \x01(\tR\x04tier\x12\x1a\n" + + "\bprovider\x18\x02 \x01(\tR\bprovider\x12\x14\n" + + "\x05model\x18\x03 \x01(\tR\x05model\x12$\n" + + "\x0ecents_per_mtok\x18\x04 \x01(\x03R\fcentsPerMtok\x12\x18\n" + + "\atagline\x18\x05 \x01(\tR\atagline\x12\x14\n" + + "\x05blurb\x18\x06 \x01(\tR\x05blurb\"\xc1\x01\n" + + "\x0fAIInstanceUsage\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" + + "\x04slug\x18\x03 \x01(\tR\x04slug\x12\x1f\n" + + "\vused_tokens\x18\x04 \x01(\x03R\n" + + "usedTokens\x12'\n" + + "\x0fcost_microcents\x18\x05 \x01(\x03R\x0ecostMicrocents\x12\x1b\n" + + "\tai_access\x18\x06 \x01(\bR\baiAccess\"9\n" + + "\x18GetAccountAIUsageRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"\xd8\x06\n" + + "\x19GetAccountAIUsageResponse\x12\x1e\n" + + "\vhas_ai_plan\x18\x01 \x01(\bR\thasAiPlan\x12+\n" + + "\x04plan\x18\x02 \x01(\v2\x17.orchestrator.v1.AIPlanR\x04plan\x12/\n" + + "\x13subscription_status\x18\x03 \x01(\tR\x12subscriptionStatus\x12'\n" + + "\x0fincluded_tokens\x18\x04 \x01(\x03R\x0eincludedTokens\x12\x1f\n" + + "\vused_tokens\x18\x05 \x01(\x03R\n" + + "usedTokens\x121\n" + + "\x12overage_microcents\x18\x06 \x01(\x03B\x02\x18\x01R\x11overageMicrocents\x12'\n" + + "\roverage_cents\x18\a \x01(\x03B\x02\x18\x01R\foverageCents\x12+\n" + + "\x0foverage_enabled\x18\b \x01(\bB\x02\x18\x01R\x0eoverageEnabled\x121\n" + + "\x10budget_cap_cents\x18\t \x01(\x03B\x02\x18\x01H\x00R\x0ebudgetCapCents\x88\x01\x01\x12%\n" + + "\x0ebilling_exempt\x18\n" + + " \x01(\bR\rbillingExempt\x12\x18\n" + + "\ablocked\x18\v \x01(\tR\ablocked\x12>\n" + + "\tinstances\x18\f \x03(\v2 .orchestrator.v1.AIInstanceUsageR\tinstances\x128\n" + + "\trate_card\x18\r \x03(\v2\x1b.orchestrator.v1.AITierRateR\brateCard\x12!\n" + + "\fperiod_start\x18\x0e \x01(\tR\vperiodStart\x12\x1d\n" + + "\n" + + "period_end\x18\x0f \x01(\tR\tperiodEnd\x122\n" + + "\x15credit_balance_tokens\x18\x10 \x01(\x03R\x13creditBalanceTokens\x12,\n" + + "\x12extra_usage_tokens\x18\x11 \x01(\x03R\x10extraUsageTokens\x12C\n" + + "\rcredit_grants\x18\x12 \x03(\v2\x1e.orchestrator.v1.AICreditGrantR\fcreditGrantsB\x13\n" + + "\x11_budget_cap_cents\"\xbb\x01\n" + + "\x10AIConsumptionRow\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12!\n" + + "\faccount_name\x18\x02 \x01(\tR\vaccountName\x12\x12\n" + + "\x04tier\x18\x03 \x01(\tR\x04tier\x12\x10\n" + + "\x03day\x18\x04 \x01(\tR\x03day\x12\x16\n" + + "\x06tokens\x18\x05 \x01(\x03R\x06tokens\x12'\n" + + "\x0fcost_microcents\x18\x06 \x01(\x03R\x0ecostMicrocents\"3\n" + + "\x1dGetAIConsumptionReportRequest\x12\x12\n" + + "\x04days\x18\x01 \x01(\x05R\x04days\"\xae\x01\n" + + "\x1eGetAIConsumptionReportResponse\x125\n" + + "\x04rows\x18\x01 \x03(\v2!.orchestrator.v1.AIConsumptionRowR\x04rows\x12!\n" + + "\ftotal_tokens\x18\x02 \x01(\x03R\vtotalTokens\x122\n" + + "\x15total_cost_microcents\x18\x03 \x01(\x03R\x13totalCostMicrocents*\x84\x02\n" + + "\x12SubscriptionStatus\x12#\n" + + "\x1fSUBSCRIPTION_STATUS_UNSPECIFIED\x10\x00\x12\x1f\n" + + "\x1bSUBSCRIPTION_STATUS_PENDING\x10\x01\x12\x1e\n" + + "\x1aSUBSCRIPTION_STATUS_ACTIVE\x10\x02\x12 \n" + + "\x1cSUBSCRIPTION_STATUS_TRIALING\x10\x03\x12\"\n" + + "\x1eSUBSCRIPTION_STATUS_TERMINATED\x10\x04\x12 \n" + + "\x1cSUBSCRIPTION_STATUS_CANCELED\x10\x05\x12 \n" + + "\x1cSUBSCRIPTION_STATUS_PAST_DUE\x10\x062\xa0'\n" + + "\x0eBillingService\x12R\n" + + "\tListPlans\x12!.orchestrator.v1.ListPlansRequest\x1a\".orchestrator.v1.ListPlansResponse\x12d\n" + + "\x0fListPublicPlans\x12'.orchestrator.v1.ListPublicPlansRequest\x1a(.orchestrator.v1.ListPublicPlansResponse\x12\x7f\n" + + "\x18ListAccountSubscriptions\x120.orchestrator.v1.ListAccountSubscriptionsRequest\x1a1.orchestrator.v1.ListAccountSubscriptionsResponse\x12m\n" + + "\x12CreateSubscription\x12*.orchestrator.v1.CreateSubscriptionRequest\x1a+.orchestrator.v1.CreateSubscriptionResponse\x12U\n" + + "\n" + + "ChangePlan\x12\".orchestrator.v1.ChangePlanRequest\x1a#.orchestrator.v1.ChangePlanResponse\x12m\n" + + "\x12CancelSubscription\x12*.orchestrator.v1.CancelSubscriptionRequest\x1a+.orchestrator.v1.CancelSubscriptionResponse\x12m\n" + + "\x12ResumeSubscription\x12*.orchestrator.v1.ResumeSubscriptionRequest\x1a+.orchestrator.v1.ResumeSubscriptionResponse\x12[\n" + + "\fListInvoices\x12$.orchestrator.v1.ListInvoicesRequest\x1a%.orchestrator.v1.ListInvoicesResponse\x12U\n" + + "\n" + + "GetInvoice\x12\".orchestrator.v1.GetInvoiceRequest\x1a#.orchestrator.v1.GetInvoiceResponse\x12p\n" + + "\x13RetryInvoicePayment\x12+.orchestrator.v1.RetryInvoicePaymentRequest\x1a,.orchestrator.v1.RetryInvoicePaymentResponse\x12O\n" + + "\bGetUsage\x12 .orchestrator.v1.GetUsageRequest\x1a!.orchestrator.v1.GetUsageResponse\x12X\n" + + "\vRecordUsage\x12#.orchestrator.v1.RecordUsageRequest\x1a$.orchestrator.v1.RecordUsageResponse\x12|\n" + + "\x17GetInstanceCapabilities\x12/.orchestrator.v1.GetInstanceCapabilitiesRequest\x1a0.orchestrator.v1.GetInstanceCapabilitiesResponse\x12^\n" + + "\rEnableFeature\x12%.orchestrator.v1.EnableFeatureRequest\x1a&.orchestrator.v1.EnableFeatureResponse\x12a\n" + + "\x0eDisableFeature\x12&.orchestrator.v1.DisableFeatureRequest\x1a'.orchestrator.v1.DisableFeatureResponse\x12m\n" + + "\x12UpdatePlanFeatures\x12*.orchestrator.v1.UpdatePlanFeaturesRequest\x1a+.orchestrator.v1.UpdatePlanFeaturesResponse\x12v\n" + + "\x15ListAvailableFeatures\x12-.orchestrator.v1.ListAvailableFeaturesRequest\x1a..orchestrator.v1.ListAvailableFeaturesResponse\x12L\n" + + "\aGetPlan\x12\x1f.orchestrator.v1.GetPlanRequest\x1a .orchestrator.v1.GetPlanResponse\x12U\n" + + "\n" + + "CreatePlan\x12\".orchestrator.v1.CreatePlanRequest\x1a#.orchestrator.v1.CreatePlanResponse\x12U\n" + + "\n" + + "UpdatePlan\x12\".orchestrator.v1.UpdatePlanRequest\x1a#.orchestrator.v1.UpdatePlanResponse\x12U\n" + + "\n" + + "DeletePlan\x12\".orchestrator.v1.DeletePlanRequest\x1a#.orchestrator.v1.DeletePlanResponse\x12v\n" + + "\x15GetPlanDeletionImpact\x12-.orchestrator.v1.GetPlanDeletionImpactRequest\x1a..orchestrator.v1.GetPlanDeletionImpactResponse\x12\x82\x01\n" + + "\x19GetInstanceBillingSummary\x121.orchestrator.v1.GetInstanceBillingSummaryRequest\x1a2.orchestrator.v1.GetInstanceBillingSummaryResponse\x12\x7f\n" + + "\x18SetInstanceBillingExempt\x120.orchestrator.v1.SetInstanceBillingExemptRequest\x1a1.orchestrator.v1.SetInstanceBillingExemptResponse\x12d\n" + + "\x0fSetInstancePlan\x12'.orchestrator.v1.SetInstancePlanRequest\x1a(.orchestrator.v1.SetInstancePlanResponse\x12X\n" + + "\vListCoupons\x12#.orchestrator.v1.ListCouponsRequest\x1a$.orchestrator.v1.ListCouponsResponse\x12[\n" + + "\fCreateCoupon\x12$.orchestrator.v1.CreateCouponRequest\x1a%.orchestrator.v1.CreateCouponResponse\x12|\n" + + "\x17ApplySubscriptionCoupon\x12/.orchestrator.v1.ApplySubscriptionCouponRequest\x1a0.orchestrator.v1.ApplySubscriptionCouponResponse\x12\x7f\n" + + "\x18RemoveSubscriptionCoupon\x120.orchestrator.v1.RemoveSubscriptionCouponRequest\x1a1.orchestrator.v1.RemoveSubscriptionCouponResponse\x12j\n" + + "\x11CreateSetupIntent\x12).orchestrator.v1.CreateSetupIntentRequest\x1a*.orchestrator.v1.CreateSetupIntentResponse\x12m\n" + + "\x12ListPaymentMethods\x12*.orchestrator.v1.ListPaymentMethodsRequest\x1a+.orchestrator.v1.ListPaymentMethodsResponse\x12|\n" + + "\x17SetDefaultPaymentMethod\x12/.orchestrator.v1.SetDefaultPaymentMethodRequest\x1a0.orchestrator.v1.SetDefaultPaymentMethodResponse\x12p\n" + + "\x13DetachPaymentMethod\x12+.orchestrator.v1.DetachPaymentMethodRequest\x1a,.orchestrator.v1.DetachPaymentMethodResponse\x12\x7f\n" + + "\x18CompleteWelcomeCardSetup\x120.orchestrator.v1.CompleteWelcomeCardSetupRequest\x1a1.orchestrator.v1.CompleteWelcomeCardSetupResponse\x12g\n" + + "\x10HasPaymentMethod\x12(.orchestrator.v1.HasPaymentMethodRequest\x1a).orchestrator.v1.HasPaymentMethodResponse\x12X\n" + + "\vListAIPlans\x12#.orchestrator.v1.ListAIPlansRequest\x1a$.orchestrator.v1.ListAIPlansResponse\x12s\n" + + "\x14CreateAISubscription\x12,.orchestrator.v1.CreateAISubscriptionRequest\x1a-.orchestrator.v1.CreateAISubscriptionResponse\x12[\n" + + "\fChangeAIPlan\x12$.orchestrator.v1.ChangeAIPlanRequest\x1a%.orchestrator.v1.ChangeAIPlanResponse\x12s\n" + + "\x14CancelAISubscription\x12,.orchestrator.v1.CancelAISubscriptionRequest\x1a-.orchestrator.v1.CancelAISubscriptionResponse\x12j\n" + + "\x11ListAICreditPacks\x12).orchestrator.v1.ListAICreditPacksRequest\x1a*.orchestrator.v1.ListAICreditPacksResponse\x12s\n" + + "\x14PurchaseAICreditPack\x12,.orchestrator.v1.PurchaseAICreditPackRequest\x1a-.orchestrator.v1.PurchaseAICreditPackResponse\x12^\n" + + "\rGrantAICredit\x12%.orchestrator.v1.GrantAICreditRequest\x1a&.orchestrator.v1.GrantAICreditResponse\x12s\n" + + "\x14GetAIOverageSettings\x12,.orchestrator.v1.GetAIOverageSettingsRequest\x1a-.orchestrator.v1.GetAIOverageSettingsResponse\x12p\n" + + "\x13SetInstanceAIAccess\x12+.orchestrator.v1.SetInstanceAIAccessRequest\x1a,.orchestrator.v1.SetInstanceAIAccessResponse\x12j\n" + + "\x11GetAccountAIUsage\x12).orchestrator.v1.GetAccountAIUsageRequest\x1a*.orchestrator.v1.GetAccountAIUsageResponse\x12y\n" + + "\x16GetAIConsumptionReport\x12..orchestrator.v1.GetAIConsumptionReportRequest\x1a/.orchestrator.v1.GetAIConsumptionReportResponse\x12d\n" + + "\x0fGetStripeConfig\x12'.orchestrator.v1.GetStripeConfigRequest\x1a(.orchestrator.v1.GetStripeConfigResponseB\xcf\x01\n" + + "\x13com.orchestrator.v1B\fBillingProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_billing_proto_rawDescOnce sync.Once + file_orchestrator_v1_billing_proto_rawDescData []byte +) + +func file_orchestrator_v1_billing_proto_rawDescGZIP() []byte { + file_orchestrator_v1_billing_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_billing_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_billing_proto_rawDesc), len(file_orchestrator_v1_billing_proto_rawDesc))) + }) + return file_orchestrator_v1_billing_proto_rawDescData +} + +var file_orchestrator_v1_billing_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_orchestrator_v1_billing_proto_msgTypes = make([]protoimpl.MessageInfo, 116) +var file_orchestrator_v1_billing_proto_goTypes = []any{ + (SubscriptionStatus)(0), // 0: orchestrator.v1.SubscriptionStatus + (*Subscription)(nil), // 1: orchestrator.v1.Subscription + (*InstanceBillingInfo)(nil), // 2: orchestrator.v1.InstanceBillingInfo + (*AccountBillingSummary)(nil), // 3: orchestrator.v1.AccountBillingSummary + (*Invoice)(nil), // 4: orchestrator.v1.Invoice + (*UsageMetric)(nil), // 5: orchestrator.v1.UsageMetric + (*ListPlansRequest)(nil), // 6: orchestrator.v1.ListPlansRequest + (*ListPlansResponse)(nil), // 7: orchestrator.v1.ListPlansResponse + (*ListAccountSubscriptionsRequest)(nil), // 8: orchestrator.v1.ListAccountSubscriptionsRequest + (*ListAccountSubscriptionsResponse)(nil), // 9: orchestrator.v1.ListAccountSubscriptionsResponse + (*CreateSubscriptionRequest)(nil), // 10: orchestrator.v1.CreateSubscriptionRequest + (*CreateSubscriptionResponse)(nil), // 11: orchestrator.v1.CreateSubscriptionResponse + (*ChangePlanRequest)(nil), // 12: orchestrator.v1.ChangePlanRequest + (*ChangePlanResponse)(nil), // 13: orchestrator.v1.ChangePlanResponse + (*CancelSubscriptionRequest)(nil), // 14: orchestrator.v1.CancelSubscriptionRequest + (*CancelSubscriptionResponse)(nil), // 15: orchestrator.v1.CancelSubscriptionResponse + (*ResumeSubscriptionRequest)(nil), // 16: orchestrator.v1.ResumeSubscriptionRequest + (*ResumeSubscriptionResponse)(nil), // 17: orchestrator.v1.ResumeSubscriptionResponse + (*ListInvoicesRequest)(nil), // 18: orchestrator.v1.ListInvoicesRequest + (*ListInvoicesResponse)(nil), // 19: orchestrator.v1.ListInvoicesResponse + (*GetInvoiceRequest)(nil), // 20: orchestrator.v1.GetInvoiceRequest + (*GetInvoiceResponse)(nil), // 21: orchestrator.v1.GetInvoiceResponse + (*RetryInvoicePaymentRequest)(nil), // 22: orchestrator.v1.RetryInvoicePaymentRequest + (*RetryInvoicePaymentResponse)(nil), // 23: orchestrator.v1.RetryInvoicePaymentResponse + (*GetUsageRequest)(nil), // 24: orchestrator.v1.GetUsageRequest + (*GetUsageResponse)(nil), // 25: orchestrator.v1.GetUsageResponse + (*RecordUsageRequest)(nil), // 26: orchestrator.v1.RecordUsageRequest + (*RecordUsageResponse)(nil), // 27: orchestrator.v1.RecordUsageResponse + (*ListPublicPlansRequest)(nil), // 28: orchestrator.v1.ListPublicPlansRequest + (*ListPublicPlansResponse)(nil), // 29: orchestrator.v1.ListPublicPlansResponse + (*GetInstanceCapabilitiesRequest)(nil), // 30: orchestrator.v1.GetInstanceCapabilitiesRequest + (*GetInstanceCapabilitiesResponse)(nil), // 31: orchestrator.v1.GetInstanceCapabilitiesResponse + (*EnabledFeature)(nil), // 32: orchestrator.v1.EnabledFeature + (*EnableFeatureRequest)(nil), // 33: orchestrator.v1.EnableFeatureRequest + (*EnableFeatureResponse)(nil), // 34: orchestrator.v1.EnableFeatureResponse + (*DisableFeatureRequest)(nil), // 35: orchestrator.v1.DisableFeatureRequest + (*DisableFeatureResponse)(nil), // 36: orchestrator.v1.DisableFeatureResponse + (*UpdatePlanFeaturesRequest)(nil), // 37: orchestrator.v1.UpdatePlanFeaturesRequest + (*UpdatePlanFeaturesResponse)(nil), // 38: orchestrator.v1.UpdatePlanFeaturesResponse + (*ListAvailableFeaturesRequest)(nil), // 39: orchestrator.v1.ListAvailableFeaturesRequest + (*ListAvailableFeaturesResponse)(nil), // 40: orchestrator.v1.ListAvailableFeaturesResponse + (*FeatureDefinition)(nil), // 41: orchestrator.v1.FeatureDefinition + (*GetPlanRequest)(nil), // 42: orchestrator.v1.GetPlanRequest + (*GetPlanResponse)(nil), // 43: orchestrator.v1.GetPlanResponse + (*CreatePlanRequest)(nil), // 44: orchestrator.v1.CreatePlanRequest + (*CreatePlanResponse)(nil), // 45: orchestrator.v1.CreatePlanResponse + (*UpdatePlanRequest)(nil), // 46: orchestrator.v1.UpdatePlanRequest + (*UpdatePlanResponse)(nil), // 47: orchestrator.v1.UpdatePlanResponse + (*DeletePlanRequest)(nil), // 48: orchestrator.v1.DeletePlanRequest + (*DeletePlanResponse)(nil), // 49: orchestrator.v1.DeletePlanResponse + (*GetPlanDeletionImpactRequest)(nil), // 50: orchestrator.v1.GetPlanDeletionImpactRequest + (*GetPlanDeletionImpactResponse)(nil), // 51: orchestrator.v1.GetPlanDeletionImpactResponse + (*PaymentMethod)(nil), // 52: orchestrator.v1.PaymentMethod + (*CreateSetupIntentRequest)(nil), // 53: orchestrator.v1.CreateSetupIntentRequest + (*CreateSetupIntentResponse)(nil), // 54: orchestrator.v1.CreateSetupIntentResponse + (*ListPaymentMethodsRequest)(nil), // 55: orchestrator.v1.ListPaymentMethodsRequest + (*ListPaymentMethodsResponse)(nil), // 56: orchestrator.v1.ListPaymentMethodsResponse + (*SetDefaultPaymentMethodRequest)(nil), // 57: orchestrator.v1.SetDefaultPaymentMethodRequest + (*SetDefaultPaymentMethodResponse)(nil), // 58: orchestrator.v1.SetDefaultPaymentMethodResponse + (*DetachPaymentMethodRequest)(nil), // 59: orchestrator.v1.DetachPaymentMethodRequest + (*DetachPaymentMethodResponse)(nil), // 60: orchestrator.v1.DetachPaymentMethodResponse + (*CompleteWelcomeCardSetupRequest)(nil), // 61: orchestrator.v1.CompleteWelcomeCardSetupRequest + (*CompleteWelcomeCardSetupResponse)(nil), // 62: orchestrator.v1.CompleteWelcomeCardSetupResponse + (*HasPaymentMethodRequest)(nil), // 63: orchestrator.v1.HasPaymentMethodRequest + (*HasPaymentMethodResponse)(nil), // 64: orchestrator.v1.HasPaymentMethodResponse + (*GetStripeConfigRequest)(nil), // 65: orchestrator.v1.GetStripeConfigRequest + (*GetStripeConfigResponse)(nil), // 66: orchestrator.v1.GetStripeConfigResponse + (*Coupon)(nil), // 67: orchestrator.v1.Coupon + (*SubscriptionDiscount)(nil), // 68: orchestrator.v1.SubscriptionDiscount + (*GetInstanceBillingSummaryRequest)(nil), // 69: orchestrator.v1.GetInstanceBillingSummaryRequest + (*GetInstanceBillingSummaryResponse)(nil), // 70: orchestrator.v1.GetInstanceBillingSummaryResponse + (*SetInstanceBillingExemptRequest)(nil), // 71: orchestrator.v1.SetInstanceBillingExemptRequest + (*SetInstanceBillingExemptResponse)(nil), // 72: orchestrator.v1.SetInstanceBillingExemptResponse + (*SetInstancePlanRequest)(nil), // 73: orchestrator.v1.SetInstancePlanRequest + (*SetInstancePlanResponse)(nil), // 74: orchestrator.v1.SetInstancePlanResponse + (*ListCouponsRequest)(nil), // 75: orchestrator.v1.ListCouponsRequest + (*ListCouponsResponse)(nil), // 76: orchestrator.v1.ListCouponsResponse + (*CreateCouponRequest)(nil), // 77: orchestrator.v1.CreateCouponRequest + (*CreateCouponResponse)(nil), // 78: orchestrator.v1.CreateCouponResponse + (*ApplySubscriptionCouponRequest)(nil), // 79: orchestrator.v1.ApplySubscriptionCouponRequest + (*ApplySubscriptionCouponResponse)(nil), // 80: orchestrator.v1.ApplySubscriptionCouponResponse + (*RemoveSubscriptionCouponRequest)(nil), // 81: orchestrator.v1.RemoveSubscriptionCouponRequest + (*RemoveSubscriptionCouponResponse)(nil), // 82: orchestrator.v1.RemoveSubscriptionCouponResponse + (*AIPlan)(nil), // 83: orchestrator.v1.AIPlan + (*ListAIPlansRequest)(nil), // 84: orchestrator.v1.ListAIPlansRequest + (*ListAIPlansResponse)(nil), // 85: orchestrator.v1.ListAIPlansResponse + (*CreateAISubscriptionRequest)(nil), // 86: orchestrator.v1.CreateAISubscriptionRequest + (*CreateAISubscriptionResponse)(nil), // 87: orchestrator.v1.CreateAISubscriptionResponse + (*ChangeAIPlanRequest)(nil), // 88: orchestrator.v1.ChangeAIPlanRequest + (*ChangeAIPlanResponse)(nil), // 89: orchestrator.v1.ChangeAIPlanResponse + (*CancelAISubscriptionRequest)(nil), // 90: orchestrator.v1.CancelAISubscriptionRequest + (*CancelAISubscriptionResponse)(nil), // 91: orchestrator.v1.CancelAISubscriptionResponse + (*AICreditPack)(nil), // 92: orchestrator.v1.AICreditPack + (*ListAICreditPacksRequest)(nil), // 93: orchestrator.v1.ListAICreditPacksRequest + (*ListAICreditPacksResponse)(nil), // 94: orchestrator.v1.ListAICreditPacksResponse + (*PurchaseAICreditPackRequest)(nil), // 95: orchestrator.v1.PurchaseAICreditPackRequest + (*PurchaseAICreditPackResponse)(nil), // 96: orchestrator.v1.PurchaseAICreditPackResponse + (*AICreditGrant)(nil), // 97: orchestrator.v1.AICreditGrant + (*GrantAICreditRequest)(nil), // 98: orchestrator.v1.GrantAICreditRequest + (*GrantAICreditResponse)(nil), // 99: orchestrator.v1.GrantAICreditResponse + (*GetAIOverageSettingsRequest)(nil), // 100: orchestrator.v1.GetAIOverageSettingsRequest + (*AIOverageSettings)(nil), // 101: orchestrator.v1.AIOverageSettings + (*GetAIOverageSettingsResponse)(nil), // 102: orchestrator.v1.GetAIOverageSettingsResponse + (*SetAIOverageSettingsRequest)(nil), // 103: orchestrator.v1.SetAIOverageSettingsRequest + (*SetAIOverageSettingsResponse)(nil), // 104: orchestrator.v1.SetAIOverageSettingsResponse + (*SetInstanceAIAccessRequest)(nil), // 105: orchestrator.v1.SetInstanceAIAccessRequest + (*SetInstanceAIAccessResponse)(nil), // 106: orchestrator.v1.SetInstanceAIAccessResponse + (*AITierRate)(nil), // 107: orchestrator.v1.AITierRate + (*AIInstanceUsage)(nil), // 108: orchestrator.v1.AIInstanceUsage + (*GetAccountAIUsageRequest)(nil), // 109: orchestrator.v1.GetAccountAIUsageRequest + (*GetAccountAIUsageResponse)(nil), // 110: orchestrator.v1.GetAccountAIUsageResponse + (*AIConsumptionRow)(nil), // 111: orchestrator.v1.AIConsumptionRow + (*GetAIConsumptionReportRequest)(nil), // 112: orchestrator.v1.GetAIConsumptionReportRequest + (*GetAIConsumptionReportResponse)(nil), // 113: orchestrator.v1.GetAIConsumptionReportResponse + nil, // 114: orchestrator.v1.RecordUsageRequest.PropertiesEntry + nil, // 115: orchestrator.v1.GetInstanceCapabilitiesResponse.LimitsEntry + nil, // 116: orchestrator.v1.EnabledFeature.ConfigEntry + (*Plan)(nil), // 117: orchestrator.v1.Plan + (*timestamppb.Timestamp)(nil), // 118: google.protobuf.Timestamp +} +var file_orchestrator_v1_billing_proto_depIdxs = []int32{ + 117, // 0: orchestrator.v1.Subscription.plan:type_name -> orchestrator.v1.Plan + 0, // 1: orchestrator.v1.Subscription.status:type_name -> orchestrator.v1.SubscriptionStatus + 118, // 2: orchestrator.v1.Subscription.started_at:type_name -> google.protobuf.Timestamp + 118, // 3: orchestrator.v1.Subscription.trial_end_at:type_name -> google.protobuf.Timestamp + 118, // 4: orchestrator.v1.Subscription.ending_at:type_name -> google.protobuf.Timestamp + 118, // 5: orchestrator.v1.Subscription.terminated_at:type_name -> google.protobuf.Timestamp + 118, // 6: orchestrator.v1.Subscription.created_at:type_name -> google.protobuf.Timestamp + 118, // 7: orchestrator.v1.Subscription.updated_at:type_name -> google.protobuf.Timestamp + 118, // 8: orchestrator.v1.Subscription.current_period_end:type_name -> google.protobuf.Timestamp + 1, // 9: orchestrator.v1.InstanceBillingInfo.subscription:type_name -> orchestrator.v1.Subscription + 5, // 10: orchestrator.v1.InstanceBillingInfo.usage:type_name -> orchestrator.v1.UsageMetric + 2, // 11: orchestrator.v1.AccountBillingSummary.instances:type_name -> orchestrator.v1.InstanceBillingInfo + 118, // 12: orchestrator.v1.Invoice.created_at:type_name -> google.protobuf.Timestamp + 117, // 13: orchestrator.v1.ListPlansResponse.plans:type_name -> orchestrator.v1.Plan + 3, // 14: orchestrator.v1.ListAccountSubscriptionsResponse.summary:type_name -> orchestrator.v1.AccountBillingSummary + 1, // 15: orchestrator.v1.CreateSubscriptionResponse.subscription:type_name -> orchestrator.v1.Subscription + 1, // 16: orchestrator.v1.ChangePlanResponse.subscription:type_name -> orchestrator.v1.Subscription + 1, // 17: orchestrator.v1.CancelSubscriptionResponse.subscription:type_name -> orchestrator.v1.Subscription + 1, // 18: orchestrator.v1.ResumeSubscriptionResponse.subscription:type_name -> orchestrator.v1.Subscription + 4, // 19: orchestrator.v1.ListInvoicesResponse.invoices:type_name -> orchestrator.v1.Invoice + 4, // 20: orchestrator.v1.GetInvoiceResponse.invoice:type_name -> orchestrator.v1.Invoice + 4, // 21: orchestrator.v1.RetryInvoicePaymentResponse.invoice:type_name -> orchestrator.v1.Invoice + 5, // 22: orchestrator.v1.GetUsageResponse.metrics:type_name -> orchestrator.v1.UsageMetric + 114, // 23: orchestrator.v1.RecordUsageRequest.properties:type_name -> orchestrator.v1.RecordUsageRequest.PropertiesEntry + 117, // 24: orchestrator.v1.ListPublicPlansResponse.plans:type_name -> orchestrator.v1.Plan + 32, // 25: orchestrator.v1.GetInstanceCapabilitiesResponse.enabled:type_name -> orchestrator.v1.EnabledFeature + 115, // 26: orchestrator.v1.GetInstanceCapabilitiesResponse.limits:type_name -> orchestrator.v1.GetInstanceCapabilitiesResponse.LimitsEntry + 116, // 27: orchestrator.v1.EnabledFeature.config:type_name -> orchestrator.v1.EnabledFeature.ConfigEntry + 32, // 28: orchestrator.v1.EnableFeatureResponse.feature:type_name -> orchestrator.v1.EnabledFeature + 117, // 29: orchestrator.v1.UpdatePlanFeaturesResponse.plan:type_name -> orchestrator.v1.Plan + 41, // 30: orchestrator.v1.ListAvailableFeaturesResponse.features:type_name -> orchestrator.v1.FeatureDefinition + 117, // 31: orchestrator.v1.GetPlanResponse.plan:type_name -> orchestrator.v1.Plan + 117, // 32: orchestrator.v1.CreatePlanResponse.plan:type_name -> orchestrator.v1.Plan + 117, // 33: orchestrator.v1.UpdatePlanResponse.plan:type_name -> orchestrator.v1.Plan + 52, // 34: orchestrator.v1.ListPaymentMethodsResponse.payment_methods:type_name -> orchestrator.v1.PaymentMethod + 52, // 35: orchestrator.v1.SetDefaultPaymentMethodResponse.payment_methods:type_name -> orchestrator.v1.PaymentMethod + 52, // 36: orchestrator.v1.DetachPaymentMethodResponse.payment_methods:type_name -> orchestrator.v1.PaymentMethod + 1, // 37: orchestrator.v1.CompleteWelcomeCardSetupResponse.subscription:type_name -> orchestrator.v1.Subscription + 118, // 38: orchestrator.v1.Coupon.created_at:type_name -> google.protobuf.Timestamp + 67, // 39: orchestrator.v1.SubscriptionDiscount.coupon:type_name -> orchestrator.v1.Coupon + 118, // 40: orchestrator.v1.SubscriptionDiscount.start:type_name -> google.protobuf.Timestamp + 118, // 41: orchestrator.v1.SubscriptionDiscount.end:type_name -> google.protobuf.Timestamp + 117, // 42: orchestrator.v1.GetInstanceBillingSummaryResponse.plan:type_name -> orchestrator.v1.Plan + 1, // 43: orchestrator.v1.GetInstanceBillingSummaryResponse.subscription:type_name -> orchestrator.v1.Subscription + 68, // 44: orchestrator.v1.GetInstanceBillingSummaryResponse.discount:type_name -> orchestrator.v1.SubscriptionDiscount + 70, // 45: orchestrator.v1.SetInstanceBillingExemptResponse.summary:type_name -> orchestrator.v1.GetInstanceBillingSummaryResponse + 70, // 46: orchestrator.v1.SetInstancePlanResponse.summary:type_name -> orchestrator.v1.GetInstanceBillingSummaryResponse + 67, // 47: orchestrator.v1.ListCouponsResponse.coupons:type_name -> orchestrator.v1.Coupon + 67, // 48: orchestrator.v1.CreateCouponResponse.coupon:type_name -> orchestrator.v1.Coupon + 70, // 49: orchestrator.v1.ApplySubscriptionCouponResponse.summary:type_name -> orchestrator.v1.GetInstanceBillingSummaryResponse + 70, // 50: orchestrator.v1.RemoveSubscriptionCouponResponse.summary:type_name -> orchestrator.v1.GetInstanceBillingSummaryResponse + 83, // 51: orchestrator.v1.ListAIPlansResponse.plans:type_name -> orchestrator.v1.AIPlan + 101, // 52: orchestrator.v1.CreateAISubscriptionResponse.settings:type_name -> orchestrator.v1.AIOverageSettings + 101, // 53: orchestrator.v1.ChangeAIPlanResponse.settings:type_name -> orchestrator.v1.AIOverageSettings + 101, // 54: orchestrator.v1.CancelAISubscriptionResponse.settings:type_name -> orchestrator.v1.AIOverageSettings + 92, // 55: orchestrator.v1.ListAICreditPacksResponse.packs:type_name -> orchestrator.v1.AICreditPack + 118, // 56: orchestrator.v1.AICreditGrant.created_at:type_name -> google.protobuf.Timestamp + 83, // 57: orchestrator.v1.AIOverageSettings.plan:type_name -> orchestrator.v1.AIPlan + 118, // 58: orchestrator.v1.AIOverageSettings.current_period_end:type_name -> google.protobuf.Timestamp + 101, // 59: orchestrator.v1.GetAIOverageSettingsResponse.settings:type_name -> orchestrator.v1.AIOverageSettings + 101, // 60: orchestrator.v1.SetAIOverageSettingsResponse.settings:type_name -> orchestrator.v1.AIOverageSettings + 83, // 61: orchestrator.v1.GetAccountAIUsageResponse.plan:type_name -> orchestrator.v1.AIPlan + 108, // 62: orchestrator.v1.GetAccountAIUsageResponse.instances:type_name -> orchestrator.v1.AIInstanceUsage + 107, // 63: orchestrator.v1.GetAccountAIUsageResponse.rate_card:type_name -> orchestrator.v1.AITierRate + 97, // 64: orchestrator.v1.GetAccountAIUsageResponse.credit_grants:type_name -> orchestrator.v1.AICreditGrant + 111, // 65: orchestrator.v1.GetAIConsumptionReportResponse.rows:type_name -> orchestrator.v1.AIConsumptionRow + 6, // 66: orchestrator.v1.BillingService.ListPlans:input_type -> orchestrator.v1.ListPlansRequest + 28, // 67: orchestrator.v1.BillingService.ListPublicPlans:input_type -> orchestrator.v1.ListPublicPlansRequest + 8, // 68: orchestrator.v1.BillingService.ListAccountSubscriptions:input_type -> orchestrator.v1.ListAccountSubscriptionsRequest + 10, // 69: orchestrator.v1.BillingService.CreateSubscription:input_type -> orchestrator.v1.CreateSubscriptionRequest + 12, // 70: orchestrator.v1.BillingService.ChangePlan:input_type -> orchestrator.v1.ChangePlanRequest + 14, // 71: orchestrator.v1.BillingService.CancelSubscription:input_type -> orchestrator.v1.CancelSubscriptionRequest + 16, // 72: orchestrator.v1.BillingService.ResumeSubscription:input_type -> orchestrator.v1.ResumeSubscriptionRequest + 18, // 73: orchestrator.v1.BillingService.ListInvoices:input_type -> orchestrator.v1.ListInvoicesRequest + 20, // 74: orchestrator.v1.BillingService.GetInvoice:input_type -> orchestrator.v1.GetInvoiceRequest + 22, // 75: orchestrator.v1.BillingService.RetryInvoicePayment:input_type -> orchestrator.v1.RetryInvoicePaymentRequest + 24, // 76: orchestrator.v1.BillingService.GetUsage:input_type -> orchestrator.v1.GetUsageRequest + 26, // 77: orchestrator.v1.BillingService.RecordUsage:input_type -> orchestrator.v1.RecordUsageRequest + 30, // 78: orchestrator.v1.BillingService.GetInstanceCapabilities:input_type -> orchestrator.v1.GetInstanceCapabilitiesRequest + 33, // 79: orchestrator.v1.BillingService.EnableFeature:input_type -> orchestrator.v1.EnableFeatureRequest + 35, // 80: orchestrator.v1.BillingService.DisableFeature:input_type -> orchestrator.v1.DisableFeatureRequest + 37, // 81: orchestrator.v1.BillingService.UpdatePlanFeatures:input_type -> orchestrator.v1.UpdatePlanFeaturesRequest + 39, // 82: orchestrator.v1.BillingService.ListAvailableFeatures:input_type -> orchestrator.v1.ListAvailableFeaturesRequest + 42, // 83: orchestrator.v1.BillingService.GetPlan:input_type -> orchestrator.v1.GetPlanRequest + 44, // 84: orchestrator.v1.BillingService.CreatePlan:input_type -> orchestrator.v1.CreatePlanRequest + 46, // 85: orchestrator.v1.BillingService.UpdatePlan:input_type -> orchestrator.v1.UpdatePlanRequest + 48, // 86: orchestrator.v1.BillingService.DeletePlan:input_type -> orchestrator.v1.DeletePlanRequest + 50, // 87: orchestrator.v1.BillingService.GetPlanDeletionImpact:input_type -> orchestrator.v1.GetPlanDeletionImpactRequest + 69, // 88: orchestrator.v1.BillingService.GetInstanceBillingSummary:input_type -> orchestrator.v1.GetInstanceBillingSummaryRequest + 71, // 89: orchestrator.v1.BillingService.SetInstanceBillingExempt:input_type -> orchestrator.v1.SetInstanceBillingExemptRequest + 73, // 90: orchestrator.v1.BillingService.SetInstancePlan:input_type -> orchestrator.v1.SetInstancePlanRequest + 75, // 91: orchestrator.v1.BillingService.ListCoupons:input_type -> orchestrator.v1.ListCouponsRequest + 77, // 92: orchestrator.v1.BillingService.CreateCoupon:input_type -> orchestrator.v1.CreateCouponRequest + 79, // 93: orchestrator.v1.BillingService.ApplySubscriptionCoupon:input_type -> orchestrator.v1.ApplySubscriptionCouponRequest + 81, // 94: orchestrator.v1.BillingService.RemoveSubscriptionCoupon:input_type -> orchestrator.v1.RemoveSubscriptionCouponRequest + 53, // 95: orchestrator.v1.BillingService.CreateSetupIntent:input_type -> orchestrator.v1.CreateSetupIntentRequest + 55, // 96: orchestrator.v1.BillingService.ListPaymentMethods:input_type -> orchestrator.v1.ListPaymentMethodsRequest + 57, // 97: orchestrator.v1.BillingService.SetDefaultPaymentMethod:input_type -> orchestrator.v1.SetDefaultPaymentMethodRequest + 59, // 98: orchestrator.v1.BillingService.DetachPaymentMethod:input_type -> orchestrator.v1.DetachPaymentMethodRequest + 61, // 99: orchestrator.v1.BillingService.CompleteWelcomeCardSetup:input_type -> orchestrator.v1.CompleteWelcomeCardSetupRequest + 63, // 100: orchestrator.v1.BillingService.HasPaymentMethod:input_type -> orchestrator.v1.HasPaymentMethodRequest + 84, // 101: orchestrator.v1.BillingService.ListAIPlans:input_type -> orchestrator.v1.ListAIPlansRequest + 86, // 102: orchestrator.v1.BillingService.CreateAISubscription:input_type -> orchestrator.v1.CreateAISubscriptionRequest + 88, // 103: orchestrator.v1.BillingService.ChangeAIPlan:input_type -> orchestrator.v1.ChangeAIPlanRequest + 90, // 104: orchestrator.v1.BillingService.CancelAISubscription:input_type -> orchestrator.v1.CancelAISubscriptionRequest + 93, // 105: orchestrator.v1.BillingService.ListAICreditPacks:input_type -> orchestrator.v1.ListAICreditPacksRequest + 95, // 106: orchestrator.v1.BillingService.PurchaseAICreditPack:input_type -> orchestrator.v1.PurchaseAICreditPackRequest + 98, // 107: orchestrator.v1.BillingService.GrantAICredit:input_type -> orchestrator.v1.GrantAICreditRequest + 100, // 108: orchestrator.v1.BillingService.GetAIOverageSettings:input_type -> orchestrator.v1.GetAIOverageSettingsRequest + 105, // 109: orchestrator.v1.BillingService.SetInstanceAIAccess:input_type -> orchestrator.v1.SetInstanceAIAccessRequest + 109, // 110: orchestrator.v1.BillingService.GetAccountAIUsage:input_type -> orchestrator.v1.GetAccountAIUsageRequest + 112, // 111: orchestrator.v1.BillingService.GetAIConsumptionReport:input_type -> orchestrator.v1.GetAIConsumptionReportRequest + 65, // 112: orchestrator.v1.BillingService.GetStripeConfig:input_type -> orchestrator.v1.GetStripeConfigRequest + 7, // 113: orchestrator.v1.BillingService.ListPlans:output_type -> orchestrator.v1.ListPlansResponse + 29, // 114: orchestrator.v1.BillingService.ListPublicPlans:output_type -> orchestrator.v1.ListPublicPlansResponse + 9, // 115: orchestrator.v1.BillingService.ListAccountSubscriptions:output_type -> orchestrator.v1.ListAccountSubscriptionsResponse + 11, // 116: orchestrator.v1.BillingService.CreateSubscription:output_type -> orchestrator.v1.CreateSubscriptionResponse + 13, // 117: orchestrator.v1.BillingService.ChangePlan:output_type -> orchestrator.v1.ChangePlanResponse + 15, // 118: orchestrator.v1.BillingService.CancelSubscription:output_type -> orchestrator.v1.CancelSubscriptionResponse + 17, // 119: orchestrator.v1.BillingService.ResumeSubscription:output_type -> orchestrator.v1.ResumeSubscriptionResponse + 19, // 120: orchestrator.v1.BillingService.ListInvoices:output_type -> orchestrator.v1.ListInvoicesResponse + 21, // 121: orchestrator.v1.BillingService.GetInvoice:output_type -> orchestrator.v1.GetInvoiceResponse + 23, // 122: orchestrator.v1.BillingService.RetryInvoicePayment:output_type -> orchestrator.v1.RetryInvoicePaymentResponse + 25, // 123: orchestrator.v1.BillingService.GetUsage:output_type -> orchestrator.v1.GetUsageResponse + 27, // 124: orchestrator.v1.BillingService.RecordUsage:output_type -> orchestrator.v1.RecordUsageResponse + 31, // 125: orchestrator.v1.BillingService.GetInstanceCapabilities:output_type -> orchestrator.v1.GetInstanceCapabilitiesResponse + 34, // 126: orchestrator.v1.BillingService.EnableFeature:output_type -> orchestrator.v1.EnableFeatureResponse + 36, // 127: orchestrator.v1.BillingService.DisableFeature:output_type -> orchestrator.v1.DisableFeatureResponse + 38, // 128: orchestrator.v1.BillingService.UpdatePlanFeatures:output_type -> orchestrator.v1.UpdatePlanFeaturesResponse + 40, // 129: orchestrator.v1.BillingService.ListAvailableFeatures:output_type -> orchestrator.v1.ListAvailableFeaturesResponse + 43, // 130: orchestrator.v1.BillingService.GetPlan:output_type -> orchestrator.v1.GetPlanResponse + 45, // 131: orchestrator.v1.BillingService.CreatePlan:output_type -> orchestrator.v1.CreatePlanResponse + 47, // 132: orchestrator.v1.BillingService.UpdatePlan:output_type -> orchestrator.v1.UpdatePlanResponse + 49, // 133: orchestrator.v1.BillingService.DeletePlan:output_type -> orchestrator.v1.DeletePlanResponse + 51, // 134: orchestrator.v1.BillingService.GetPlanDeletionImpact:output_type -> orchestrator.v1.GetPlanDeletionImpactResponse + 70, // 135: orchestrator.v1.BillingService.GetInstanceBillingSummary:output_type -> orchestrator.v1.GetInstanceBillingSummaryResponse + 72, // 136: orchestrator.v1.BillingService.SetInstanceBillingExempt:output_type -> orchestrator.v1.SetInstanceBillingExemptResponse + 74, // 137: orchestrator.v1.BillingService.SetInstancePlan:output_type -> orchestrator.v1.SetInstancePlanResponse + 76, // 138: orchestrator.v1.BillingService.ListCoupons:output_type -> orchestrator.v1.ListCouponsResponse + 78, // 139: orchestrator.v1.BillingService.CreateCoupon:output_type -> orchestrator.v1.CreateCouponResponse + 80, // 140: orchestrator.v1.BillingService.ApplySubscriptionCoupon:output_type -> orchestrator.v1.ApplySubscriptionCouponResponse + 82, // 141: orchestrator.v1.BillingService.RemoveSubscriptionCoupon:output_type -> orchestrator.v1.RemoveSubscriptionCouponResponse + 54, // 142: orchestrator.v1.BillingService.CreateSetupIntent:output_type -> orchestrator.v1.CreateSetupIntentResponse + 56, // 143: orchestrator.v1.BillingService.ListPaymentMethods:output_type -> orchestrator.v1.ListPaymentMethodsResponse + 58, // 144: orchestrator.v1.BillingService.SetDefaultPaymentMethod:output_type -> orchestrator.v1.SetDefaultPaymentMethodResponse + 60, // 145: orchestrator.v1.BillingService.DetachPaymentMethod:output_type -> orchestrator.v1.DetachPaymentMethodResponse + 62, // 146: orchestrator.v1.BillingService.CompleteWelcomeCardSetup:output_type -> orchestrator.v1.CompleteWelcomeCardSetupResponse + 64, // 147: orchestrator.v1.BillingService.HasPaymentMethod:output_type -> orchestrator.v1.HasPaymentMethodResponse + 85, // 148: orchestrator.v1.BillingService.ListAIPlans:output_type -> orchestrator.v1.ListAIPlansResponse + 87, // 149: orchestrator.v1.BillingService.CreateAISubscription:output_type -> orchestrator.v1.CreateAISubscriptionResponse + 89, // 150: orchestrator.v1.BillingService.ChangeAIPlan:output_type -> orchestrator.v1.ChangeAIPlanResponse + 91, // 151: orchestrator.v1.BillingService.CancelAISubscription:output_type -> orchestrator.v1.CancelAISubscriptionResponse + 94, // 152: orchestrator.v1.BillingService.ListAICreditPacks:output_type -> orchestrator.v1.ListAICreditPacksResponse + 96, // 153: orchestrator.v1.BillingService.PurchaseAICreditPack:output_type -> orchestrator.v1.PurchaseAICreditPackResponse + 99, // 154: orchestrator.v1.BillingService.GrantAICredit:output_type -> orchestrator.v1.GrantAICreditResponse + 102, // 155: orchestrator.v1.BillingService.GetAIOverageSettings:output_type -> orchestrator.v1.GetAIOverageSettingsResponse + 106, // 156: orchestrator.v1.BillingService.SetInstanceAIAccess:output_type -> orchestrator.v1.SetInstanceAIAccessResponse + 110, // 157: orchestrator.v1.BillingService.GetAccountAIUsage:output_type -> orchestrator.v1.GetAccountAIUsageResponse + 113, // 158: orchestrator.v1.BillingService.GetAIConsumptionReport:output_type -> orchestrator.v1.GetAIConsumptionReportResponse + 66, // 159: orchestrator.v1.BillingService.GetStripeConfig:output_type -> orchestrator.v1.GetStripeConfigResponse + 113, // [113:160] is the sub-list for method output_type + 66, // [66:113] is the sub-list for method input_type + 66, // [66:66] is the sub-list for extension type_name + 66, // [66:66] is the sub-list for extension extendee + 0, // [0:66] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_billing_proto_init() } +func file_orchestrator_v1_billing_proto_init() { + if File_orchestrator_v1_billing_proto != nil { + return + } + file_orchestrator_v1_accounts_proto_init() + file_orchestrator_v1_billing_proto_msgTypes[0].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[1].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[3].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[9].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[13].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[22].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[33].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[35].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[43].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[45].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[63].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[66].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[67].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[69].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[70].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[76].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[86].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[95].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[100].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[102].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[109].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_billing_proto_rawDesc), len(file_orchestrator_v1_billing_proto_rawDesc)), + NumEnums: 1, + NumMessages: 116, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_billing_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_billing_proto_depIdxs, + EnumInfos: file_orchestrator_v1_billing_proto_enumTypes, + MessageInfos: file_orchestrator_v1_billing_proto_msgTypes, + }.Build() + File_orchestrator_v1_billing_proto = out.File + file_orchestrator_v1_billing_proto_goTypes = nil + file_orchestrator_v1_billing_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/dns.pb.go b/internal/api/orchestrator/v1/dns.pb.go new file mode 100644 index 0000000..f9c691c --- /dev/null +++ b/internal/api/orchestrator/v1/dns.pb.go @@ -0,0 +1,2457 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/dns.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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 DNSManagedZone struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + ZoneType string `protobuf:"bytes,3,opt,name=zone_type,json=zoneType,proto3" json:"zone_type,omitempty"` + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + DelegationStatus string `protobuf:"bytes,5,opt,name=delegation_status,json=delegationStatus,proto3" json:"delegation_status,omitempty"` + DelegationVerifiedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=delegation_verified_at,json=delegationVerifiedAt,proto3" json:"delegation_verified_at,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DNSManagedZone) Reset() { + *x = DNSManagedZone{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DNSManagedZone) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DNSManagedZone) ProtoMessage() {} + +func (x *DNSManagedZone) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DNSManagedZone.ProtoReflect.Descriptor instead. +func (*DNSManagedZone) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{0} +} + +func (x *DNSManagedZone) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DNSManagedZone) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *DNSManagedZone) GetZoneType() string { + if x != nil { + return x.ZoneType + } + return "" +} + +func (x *DNSManagedZone) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *DNSManagedZone) GetDelegationStatus() string { + if x != nil { + return x.DelegationStatus + } + return "" +} + +func (x *DNSManagedZone) GetDelegationVerifiedAt() *timestamppb.Timestamp { + if x != nil { + return x.DelegationVerifiedAt + } + return nil +} + +func (x *DNSManagedZone) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *DNSManagedZone) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +type DNSManagedRecord struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ZoneId string `protobuf:"bytes,2,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Fqdn string `protobuf:"bytes,4,opt,name=fqdn,proto3" json:"fqdn,omitempty"` + RecordType string `protobuf:"bytes,5,opt,name=record_type,json=recordType,proto3" json:"record_type,omitempty"` + Value string `protobuf:"bytes,6,opt,name=value,proto3" json:"value,omitempty"` + Ttl int32 `protobuf:"varint,7,opt,name=ttl,proto3" json:"ttl,omitempty"` + Priority *int32 `protobuf:"varint,8,opt,name=priority,proto3,oneof" json:"priority,omitempty"` + Weight *int32 `protobuf:"varint,9,opt,name=weight,proto3,oneof" json:"weight,omitempty"` + Port *int32 `protobuf:"varint,10,opt,name=port,proto3,oneof" json:"port,omitempty"` + OwnerType string `protobuf:"bytes,11,opt,name=owner_type,json=ownerType,proto3" json:"owner_type,omitempty"` + Managed bool `protobuf:"varint,12,opt,name=managed,proto3" json:"managed,omitempty"` + Status string `protobuf:"bytes,13,opt,name=status,proto3" json:"status,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Set when the record is lifecycle-managed for an instance (A/AAAA created + // at provision time). Empty for infrastructure and user records. + ManagedByInstanceId *string `protobuf:"bytes,16,opt,name=managed_by_instance_id,json=managedByInstanceId,proto3,oneof" json:"managed_by_instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DNSManagedRecord) Reset() { + *x = DNSManagedRecord{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DNSManagedRecord) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DNSManagedRecord) ProtoMessage() {} + +func (x *DNSManagedRecord) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DNSManagedRecord.ProtoReflect.Descriptor instead. +func (*DNSManagedRecord) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{1} +} + +func (x *DNSManagedRecord) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DNSManagedRecord) GetZoneId() string { + if x != nil { + return x.ZoneId + } + return "" +} + +func (x *DNSManagedRecord) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DNSManagedRecord) GetFqdn() string { + if x != nil { + return x.Fqdn + } + return "" +} + +func (x *DNSManagedRecord) GetRecordType() string { + if x != nil { + return x.RecordType + } + return "" +} + +func (x *DNSManagedRecord) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *DNSManagedRecord) GetTtl() int32 { + if x != nil { + return x.Ttl + } + return 0 +} + +func (x *DNSManagedRecord) GetPriority() int32 { + if x != nil && x.Priority != nil { + return *x.Priority + } + return 0 +} + +func (x *DNSManagedRecord) GetWeight() int32 { + if x != nil && x.Weight != nil { + return *x.Weight + } + return 0 +} + +func (x *DNSManagedRecord) GetPort() int32 { + if x != nil && x.Port != nil { + return *x.Port + } + return 0 +} + +func (x *DNSManagedRecord) GetOwnerType() string { + if x != nil { + return x.OwnerType + } + return "" +} + +func (x *DNSManagedRecord) GetManaged() bool { + if x != nil { + return x.Managed + } + return false +} + +func (x *DNSManagedRecord) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *DNSManagedRecord) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *DNSManagedRecord) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *DNSManagedRecord) GetManagedByInstanceId() string { + if x != nil && x.ManagedByInstanceId != nil { + return *x.ManagedByInstanceId + } + return "" +} + +type EnableDNSHostingRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + DomainId string `protobuf:"bytes,1,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnableDNSHostingRequest) Reset() { + *x = EnableDNSHostingRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnableDNSHostingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableDNSHostingRequest) ProtoMessage() {} + +func (x *EnableDNSHostingRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnableDNSHostingRequest.ProtoReflect.Descriptor instead. +func (*EnableDNSHostingRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{2} +} + +func (x *EnableDNSHostingRequest) GetDomainId() string { + if x != nil { + return x.DomainId + } + return "" +} + +type EnableDNSHostingResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Zone *DNSManagedZone `protobuf:"bytes,1,opt,name=zone,proto3" json:"zone,omitempty"` + Nameservers []string `protobuf:"bytes,2,rep,name=nameservers,proto3" json:"nameservers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnableDNSHostingResponse) Reset() { + *x = EnableDNSHostingResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnableDNSHostingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableDNSHostingResponse) ProtoMessage() {} + +func (x *EnableDNSHostingResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnableDNSHostingResponse.ProtoReflect.Descriptor instead. +func (*EnableDNSHostingResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{3} +} + +func (x *EnableDNSHostingResponse) GetZone() *DNSManagedZone { + if x != nil { + return x.Zone + } + return nil +} + +func (x *EnableDNSHostingResponse) GetNameservers() []string { + if x != nil { + return x.Nameservers + } + return nil +} + +type DisableDNSHostingRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ZoneId string `protobuf:"bytes,1,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DisableDNSHostingRequest) Reset() { + *x = DisableDNSHostingRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DisableDNSHostingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableDNSHostingRequest) ProtoMessage() {} + +func (x *DisableDNSHostingRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisableDNSHostingRequest.ProtoReflect.Descriptor instead. +func (*DisableDNSHostingRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{4} +} + +func (x *DisableDNSHostingRequest) GetZoneId() string { + if x != nil { + return x.ZoneId + } + return "" +} + +type DisableDNSHostingResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DisableDNSHostingResponse) Reset() { + *x = DisableDNSHostingResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DisableDNSHostingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DisableDNSHostingResponse) ProtoMessage() {} + +func (x *DisableDNSHostingResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DisableDNSHostingResponse.ProtoReflect.Descriptor instead. +func (*DisableDNSHostingResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{5} +} + +type CheckDelegationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ZoneId string `protobuf:"bytes,1,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CheckDelegationRequest) Reset() { + *x = CheckDelegationRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CheckDelegationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckDelegationRequest) ProtoMessage() {} + +func (x *CheckDelegationRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckDelegationRequest.ProtoReflect.Descriptor instead. +func (*CheckDelegationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{6} +} + +func (x *CheckDelegationRequest) GetZoneId() string { + if x != nil { + return x.ZoneId + } + return "" +} + +type CheckDelegationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Zone *DNSManagedZone `protobuf:"bytes,1,opt,name=zone,proto3" json:"zone,omitempty"` + DelegationStatus string `protobuf:"bytes,2,opt,name=delegation_status,json=delegationStatus,proto3" json:"delegation_status,omitempty"` + FoundNameservers []string `protobuf:"bytes,3,rep,name=found_nameservers,json=foundNameservers,proto3" json:"found_nameservers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CheckDelegationResponse) Reset() { + *x = CheckDelegationResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CheckDelegationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckDelegationResponse) ProtoMessage() {} + +func (x *CheckDelegationResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckDelegationResponse.ProtoReflect.Descriptor instead. +func (*CheckDelegationResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{7} +} + +func (x *CheckDelegationResponse) GetZone() *DNSManagedZone { + if x != nil { + return x.Zone + } + return nil +} + +func (x *CheckDelegationResponse) GetDelegationStatus() string { + if x != nil { + return x.DelegationStatus + } + return "" +} + +func (x *CheckDelegationResponse) GetFoundNameservers() []string { + if x != nil { + return x.FoundNameservers + } + return nil +} + +type GetZoneRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ZoneId string `protobuf:"bytes,1,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetZoneRequest) Reset() { + *x = GetZoneRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetZoneRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetZoneRequest) ProtoMessage() {} + +func (x *GetZoneRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetZoneRequest.ProtoReflect.Descriptor instead. +func (*GetZoneRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{8} +} + +func (x *GetZoneRequest) GetZoneId() string { + if x != nil { + return x.ZoneId + } + return "" +} + +type GetZoneResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Zone *DNSManagedZone `protobuf:"bytes,1,opt,name=zone,proto3" json:"zone,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetZoneResponse) Reset() { + *x = GetZoneResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetZoneResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetZoneResponse) ProtoMessage() {} + +func (x *GetZoneResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetZoneResponse.ProtoReflect.Descriptor instead. +func (*GetZoneResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{9} +} + +func (x *GetZoneResponse) GetZone() *DNSManagedZone { + if x != nil { + return x.Zone + } + return nil +} + +type GetPlatformZoneRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlatformZoneRequest) Reset() { + *x = GetPlatformZoneRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlatformZoneRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlatformZoneRequest) ProtoMessage() {} + +func (x *GetPlatformZoneRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlatformZoneRequest.ProtoReflect.Descriptor instead. +func (*GetPlatformZoneRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{10} +} + +type GetPlatformZoneResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Zone *DNSManagedZone `protobuf:"bytes,1,opt,name=zone,proto3" json:"zone,omitempty"` + Records []*DNSManagedRecord `protobuf:"bytes,2,rep,name=records,proto3" json:"records,omitempty"` + Queue *DNSChangeQueueStats `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlatformZoneResponse) Reset() { + *x = GetPlatformZoneResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlatformZoneResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlatformZoneResponse) ProtoMessage() {} + +func (x *GetPlatformZoneResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlatformZoneResponse.ProtoReflect.Descriptor instead. +func (*GetPlatformZoneResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{11} +} + +func (x *GetPlatformZoneResponse) GetZone() *DNSManagedZone { + if x != nil { + return x.Zone + } + return nil +} + +func (x *GetPlatformZoneResponse) GetRecords() []*DNSManagedRecord { + if x != nil { + return x.Records + } + return nil +} + +func (x *GetPlatformZoneResponse) GetQueue() *DNSChangeQueueStats { + if x != nil { + return x.Queue + } + return nil +} + +// DNSChangeQueueStats summarizes the dns_changes work queue so operators can +// see propagation health at a glance. +type DNSChangeQueueStats struct { + state protoimpl.MessageState `protogen:"open.v1"` + PendingCount int32 `protobuf:"varint,1,opt,name=pending_count,json=pendingCount,proto3" json:"pending_count,omitempty"` + ApplyingCount int32 `protobuf:"varint,2,opt,name=applying_count,json=applyingCount,proto3" json:"applying_count,omitempty"` + FailedCount int32 `protobuf:"varint,3,opt,name=failed_count,json=failedCount,proto3" json:"failed_count,omitempty"` + RecentFailures []*DNSFailedChange `protobuf:"bytes,4,rep,name=recent_failures,json=recentFailures,proto3" json:"recent_failures,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DNSChangeQueueStats) Reset() { + *x = DNSChangeQueueStats{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DNSChangeQueueStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DNSChangeQueueStats) ProtoMessage() {} + +func (x *DNSChangeQueueStats) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DNSChangeQueueStats.ProtoReflect.Descriptor instead. +func (*DNSChangeQueueStats) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{12} +} + +func (x *DNSChangeQueueStats) GetPendingCount() int32 { + if x != nil { + return x.PendingCount + } + return 0 +} + +func (x *DNSChangeQueueStats) GetApplyingCount() int32 { + if x != nil { + return x.ApplyingCount + } + return 0 +} + +func (x *DNSChangeQueueStats) GetFailedCount() int32 { + if x != nil { + return x.FailedCount + } + return 0 +} + +func (x *DNSChangeQueueStats) GetRecentFailures() []*DNSFailedChange { + if x != nil { + return x.RecentFailures + } + return nil +} + +type DNSFailedChange struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ZoneDomain string `protobuf:"bytes,2,opt,name=zone_domain,json=zoneDomain,proto3" json:"zone_domain,omitempty"` + Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"` + Fqdn string `protobuf:"bytes,4,opt,name=fqdn,proto3" json:"fqdn,omitempty"` + LastError string `protobuf:"bytes,5,opt,name=last_error,json=lastError,proto3" json:"last_error,omitempty"` + Attempts int32 `protobuf:"varint,6,opt,name=attempts,proto3" json:"attempts,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DNSFailedChange) Reset() { + *x = DNSFailedChange{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DNSFailedChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DNSFailedChange) ProtoMessage() {} + +func (x *DNSFailedChange) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DNSFailedChange.ProtoReflect.Descriptor instead. +func (*DNSFailedChange) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{13} +} + +func (x *DNSFailedChange) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DNSFailedChange) GetZoneDomain() string { + if x != nil { + return x.ZoneDomain + } + return "" +} + +func (x *DNSFailedChange) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *DNSFailedChange) GetFqdn() string { + if x != nil { + return x.Fqdn + } + return "" +} + +func (x *DNSFailedChange) GetLastError() string { + if x != nil { + return x.LastError + } + return "" +} + +func (x *DNSFailedChange) GetAttempts() int32 { + if x != nil { + return x.Attempts + } + return 0 +} + +func (x *DNSFailedChange) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type RetryFailedDNSChangesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RetryFailedDNSChangesRequest) Reset() { + *x = RetryFailedDNSChangesRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RetryFailedDNSChangesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetryFailedDNSChangesRequest) ProtoMessage() {} + +func (x *RetryFailedDNSChangesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetryFailedDNSChangesRequest.ProtoReflect.Descriptor instead. +func (*RetryFailedDNSChangesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{14} +} + +type RetryFailedDNSChangesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Retried int32 `protobuf:"varint,1,opt,name=retried,proto3" json:"retried,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RetryFailedDNSChangesResponse) Reset() { + *x = RetryFailedDNSChangesResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RetryFailedDNSChangesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetryFailedDNSChangesResponse) ProtoMessage() {} + +func (x *RetryFailedDNSChangesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetryFailedDNSChangesResponse.ProtoReflect.Descriptor instead. +func (*RetryFailedDNSChangesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{15} +} + +func (x *RetryFailedDNSChangesResponse) GetRetried() int32 { + if x != nil { + return x.Retried + } + return 0 +} + +type ListRecordsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ZoneId string `protobuf:"bytes,1,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListRecordsRequest) Reset() { + *x = ListRecordsRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListRecordsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRecordsRequest) ProtoMessage() {} + +func (x *ListRecordsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListRecordsRequest.ProtoReflect.Descriptor instead. +func (*ListRecordsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{16} +} + +func (x *ListRecordsRequest) GetZoneId() string { + if x != nil { + return x.ZoneId + } + return "" +} + +type ListRecordsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Records []*DNSManagedRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListRecordsResponse) Reset() { + *x = ListRecordsResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListRecordsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRecordsResponse) ProtoMessage() {} + +func (x *ListRecordsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListRecordsResponse.ProtoReflect.Descriptor instead. +func (*ListRecordsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{17} +} + +func (x *ListRecordsResponse) GetRecords() []*DNSManagedRecord { + if x != nil { + return x.Records + } + return nil +} + +type CreateRecordRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ZoneId string `protobuf:"bytes,1,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + RecordType string `protobuf:"bytes,3,opt,name=record_type,json=recordType,proto3" json:"record_type,omitempty"` + Value string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` + Ttl int32 `protobuf:"varint,5,opt,name=ttl,proto3" json:"ttl,omitempty"` + Priority *int32 `protobuf:"varint,6,opt,name=priority,proto3,oneof" json:"priority,omitempty"` + Weight *int32 `protobuf:"varint,7,opt,name=weight,proto3,oneof" json:"weight,omitempty"` + Port *int32 `protobuf:"varint,8,opt,name=port,proto3,oneof" json:"port,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateRecordRequest) Reset() { + *x = CreateRecordRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateRecordRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRecordRequest) ProtoMessage() {} + +func (x *CreateRecordRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateRecordRequest.ProtoReflect.Descriptor instead. +func (*CreateRecordRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{18} +} + +func (x *CreateRecordRequest) GetZoneId() string { + if x != nil { + return x.ZoneId + } + return "" +} + +func (x *CreateRecordRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateRecordRequest) GetRecordType() string { + if x != nil { + return x.RecordType + } + return "" +} + +func (x *CreateRecordRequest) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *CreateRecordRequest) GetTtl() int32 { + if x != nil { + return x.Ttl + } + return 0 +} + +func (x *CreateRecordRequest) GetPriority() int32 { + if x != nil && x.Priority != nil { + return *x.Priority + } + return 0 +} + +func (x *CreateRecordRequest) GetWeight() int32 { + if x != nil && x.Weight != nil { + return *x.Weight + } + return 0 +} + +func (x *CreateRecordRequest) GetPort() int32 { + if x != nil && x.Port != nil { + return *x.Port + } + return 0 +} + +type CreateRecordResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Record *DNSManagedRecord `protobuf:"bytes,1,opt,name=record,proto3" json:"record,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateRecordResponse) Reset() { + *x = CreateRecordResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateRecordResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRecordResponse) ProtoMessage() {} + +func (x *CreateRecordResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateRecordResponse.ProtoReflect.Descriptor instead. +func (*CreateRecordResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{19} +} + +func (x *CreateRecordResponse) GetRecord() *DNSManagedRecord { + if x != nil { + return x.Record + } + return nil +} + +type UpdateRecordRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + RecordId string `protobuf:"bytes,1,opt,name=record_id,json=recordId,proto3" json:"record_id,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + Ttl int32 `protobuf:"varint,3,opt,name=ttl,proto3" json:"ttl,omitempty"` + Priority *int32 `protobuf:"varint,4,opt,name=priority,proto3,oneof" json:"priority,omitempty"` + Weight *int32 `protobuf:"varint,5,opt,name=weight,proto3,oneof" json:"weight,omitempty"` + Port *int32 `protobuf:"varint,6,opt,name=port,proto3,oneof" json:"port,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateRecordRequest) Reset() { + *x = UpdateRecordRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateRecordRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRecordRequest) ProtoMessage() {} + +func (x *UpdateRecordRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateRecordRequest.ProtoReflect.Descriptor instead. +func (*UpdateRecordRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{20} +} + +func (x *UpdateRecordRequest) GetRecordId() string { + if x != nil { + return x.RecordId + } + return "" +} + +func (x *UpdateRecordRequest) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *UpdateRecordRequest) GetTtl() int32 { + if x != nil { + return x.Ttl + } + return 0 +} + +func (x *UpdateRecordRequest) GetPriority() int32 { + if x != nil && x.Priority != nil { + return *x.Priority + } + return 0 +} + +func (x *UpdateRecordRequest) GetWeight() int32 { + if x != nil && x.Weight != nil { + return *x.Weight + } + return 0 +} + +func (x *UpdateRecordRequest) GetPort() int32 { + if x != nil && x.Port != nil { + return *x.Port + } + return 0 +} + +type UpdateRecordResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Record *DNSManagedRecord `protobuf:"bytes,1,opt,name=record,proto3" json:"record,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateRecordResponse) Reset() { + *x = UpdateRecordResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateRecordResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRecordResponse) ProtoMessage() {} + +func (x *UpdateRecordResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateRecordResponse.ProtoReflect.Descriptor instead. +func (*UpdateRecordResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{21} +} + +func (x *UpdateRecordResponse) GetRecord() *DNSManagedRecord { + if x != nil { + return x.Record + } + return nil +} + +type DeleteRecordRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + RecordId string `protobuf:"bytes,1,opt,name=record_id,json=recordId,proto3" json:"record_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteRecordRequest) Reset() { + *x = DeleteRecordRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteRecordRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteRecordRequest) ProtoMessage() {} + +func (x *DeleteRecordRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteRecordRequest.ProtoReflect.Descriptor instead. +func (*DeleteRecordRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{22} +} + +func (x *DeleteRecordRequest) GetRecordId() string { + if x != nil { + return x.RecordId + } + return "" +} + +type DeleteRecordResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteRecordResponse) Reset() { + *x = DeleteRecordResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteRecordResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteRecordResponse) ProtoMessage() {} + +func (x *DeleteRecordResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteRecordResponse.ProtoReflect.Descriptor instead. +func (*DeleteRecordResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{23} +} + +type PreviewRecordChangeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ZoneId string `protobuf:"bytes,1,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + RecordType string `protobuf:"bytes,3,opt,name=record_type,json=recordType,proto3" json:"record_type,omitempty"` + Value string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` + RecordId *string `protobuf:"bytes,5,opt,name=record_id,json=recordId,proto3,oneof" json:"record_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PreviewRecordChangeRequest) Reset() { + *x = PreviewRecordChangeRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PreviewRecordChangeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreviewRecordChangeRequest) ProtoMessage() {} + +func (x *PreviewRecordChangeRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PreviewRecordChangeRequest.ProtoReflect.Descriptor instead. +func (*PreviewRecordChangeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{24} +} + +func (x *PreviewRecordChangeRequest) GetZoneId() string { + if x != nil { + return x.ZoneId + } + return "" +} + +func (x *PreviewRecordChangeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PreviewRecordChangeRequest) GetRecordType() string { + if x != nil { + return x.RecordType + } + return "" +} + +func (x *PreviewRecordChangeRequest) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *PreviewRecordChangeRequest) GetRecordId() string { + if x != nil && x.RecordId != nil { + return *x.RecordId + } + return "" +} + +type PreviewRecordChangeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Allowed bool `protobuf:"varint,1,opt,name=allowed,proto3" json:"allowed,omitempty"` + Warnings []string `protobuf:"bytes,2,rep,name=warnings,proto3" json:"warnings,omitempty"` + Conflicts []string `protobuf:"bytes,3,rep,name=conflicts,proto3" json:"conflicts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PreviewRecordChangeResponse) Reset() { + *x = PreviewRecordChangeResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PreviewRecordChangeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreviewRecordChangeResponse) ProtoMessage() {} + +func (x *PreviewRecordChangeResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PreviewRecordChangeResponse.ProtoReflect.Descriptor instead. +func (*PreviewRecordChangeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{25} +} + +func (x *PreviewRecordChangeResponse) GetAllowed() bool { + if x != nil { + return x.Allowed + } + return false +} + +func (x *PreviewRecordChangeResponse) GetWarnings() []string { + if x != nil { + return x.Warnings + } + return nil +} + +func (x *PreviewRecordChangeResponse) GetConflicts() []string { + if x != nil { + return x.Conflicts + } + return nil +} + +type Nameserver struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"` + PublicIpv4 string `protobuf:"bytes,4,opt,name=public_ipv4,json=publicIpv4,proto3" json:"public_ipv4,omitempty"` + PublicIpv6 string `protobuf:"bytes,5,opt,name=public_ipv6,json=publicIpv6,proto3" json:"public_ipv6,omitempty"` + WgIpv4 string `protobuf:"bytes,6,opt,name=wg_ipv4,json=wgIpv4,proto3" json:"wg_ipv4,omitempty"` + Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"` + LastSeenAt string `protobuf:"bytes,8,opt,name=last_seen_at,json=lastSeenAt,proto3" json:"last_seen_at,omitempty"` + CreatedAt string `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Nameserver) Reset() { + *x = Nameserver{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Nameserver) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Nameserver) ProtoMessage() {} + +func (x *Nameserver) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Nameserver.ProtoReflect.Descriptor instead. +func (*Nameserver) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{26} +} + +func (x *Nameserver) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Nameserver) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Nameserver) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *Nameserver) GetPublicIpv4() string { + if x != nil { + return x.PublicIpv4 + } + return "" +} + +func (x *Nameserver) GetPublicIpv6() string { + if x != nil { + return x.PublicIpv6 + } + return "" +} + +func (x *Nameserver) GetWgIpv4() string { + if x != nil { + return x.WgIpv4 + } + return "" +} + +func (x *Nameserver) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *Nameserver) GetLastSeenAt() string { + if x != nil { + return x.LastSeenAt + } + return "" +} + +func (x *Nameserver) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +type ProvisionNameserverRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"` + PublicIpv4 string `protobuf:"bytes,3,opt,name=public_ipv4,json=publicIpv4,proto3" json:"public_ipv4,omitempty"` + PublicIpv6 string `protobuf:"bytes,4,opt,name=public_ipv6,json=publicIpv6,proto3" json:"public_ipv6,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProvisionNameserverRequest) Reset() { + *x = ProvisionNameserverRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProvisionNameserverRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProvisionNameserverRequest) ProtoMessage() {} + +func (x *ProvisionNameserverRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProvisionNameserverRequest.ProtoReflect.Descriptor instead. +func (*ProvisionNameserverRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{27} +} + +func (x *ProvisionNameserverRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ProvisionNameserverRequest) GetHostname() string { + if x != nil { + return x.Hostname + } + return "" +} + +func (x *ProvisionNameserverRequest) GetPublicIpv4() string { + if x != nil { + return x.PublicIpv4 + } + return "" +} + +func (x *ProvisionNameserverRequest) GetPublicIpv6() string { + if x != nil { + return x.PublicIpv6 + } + return "" +} + +type ProvisionNameserverResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Nameserver *Nameserver `protobuf:"bytes,1,opt,name=nameserver,proto3" json:"nameserver,omitempty"` + InstallScript string `protobuf:"bytes,2,opt,name=install_script,json=installScript,proto3" json:"install_script,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProvisionNameserverResponse) Reset() { + *x = ProvisionNameserverResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProvisionNameserverResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProvisionNameserverResponse) ProtoMessage() {} + +func (x *ProvisionNameserverResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProvisionNameserverResponse.ProtoReflect.Descriptor instead. +func (*ProvisionNameserverResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{28} +} + +func (x *ProvisionNameserverResponse) GetNameserver() *Nameserver { + if x != nil { + return x.Nameserver + } + return nil +} + +func (x *ProvisionNameserverResponse) GetInstallScript() string { + if x != nil { + return x.InstallScript + } + return "" +} + +type ListNameserversRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNameserversRequest) Reset() { + *x = ListNameserversRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNameserversRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNameserversRequest) ProtoMessage() {} + +func (x *ListNameserversRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNameserversRequest.ProtoReflect.Descriptor instead. +func (*ListNameserversRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{29} +} + +type ListNameserversResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Nameservers []*Nameserver `protobuf:"bytes,1,rep,name=nameservers,proto3" json:"nameservers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNameserversResponse) Reset() { + *x = ListNameserversResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNameserversResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNameserversResponse) ProtoMessage() {} + +func (x *ListNameserversResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNameserversResponse.ProtoReflect.Descriptor instead. +func (*ListNameserversResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{30} +} + +func (x *ListNameserversResponse) GetNameservers() []*Nameserver { + if x != nil { + return x.Nameservers + } + return nil +} + +type GetNameserverInstallScriptRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NameserverId string `protobuf:"bytes,1,opt,name=nameserver_id,json=nameserverId,proto3" json:"nameserver_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNameserverInstallScriptRequest) Reset() { + *x = GetNameserverInstallScriptRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNameserverInstallScriptRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNameserverInstallScriptRequest) ProtoMessage() {} + +func (x *GetNameserverInstallScriptRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNameserverInstallScriptRequest.ProtoReflect.Descriptor instead. +func (*GetNameserverInstallScriptRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{31} +} + +func (x *GetNameserverInstallScriptRequest) GetNameserverId() string { + if x != nil { + return x.NameserverId + } + return "" +} + +type GetNameserverInstallScriptResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstallScript string `protobuf:"bytes,1,opt,name=install_script,json=installScript,proto3" json:"install_script,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNameserverInstallScriptResponse) Reset() { + *x = GetNameserverInstallScriptResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNameserverInstallScriptResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNameserverInstallScriptResponse) ProtoMessage() {} + +func (x *GetNameserverInstallScriptResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNameserverInstallScriptResponse.ProtoReflect.Descriptor instead. +func (*GetNameserverInstallScriptResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{32} +} + +func (x *GetNameserverInstallScriptResponse) GetInstallScript() string { + if x != nil { + return x.InstallScript + } + return "" +} + +type DecommissionNameserverRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NameserverId string `protobuf:"bytes,1,opt,name=nameserver_id,json=nameserverId,proto3" json:"nameserver_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DecommissionNameserverRequest) Reset() { + *x = DecommissionNameserverRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DecommissionNameserverRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DecommissionNameserverRequest) ProtoMessage() {} + +func (x *DecommissionNameserverRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DecommissionNameserverRequest.ProtoReflect.Descriptor instead. +func (*DecommissionNameserverRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{33} +} + +func (x *DecommissionNameserverRequest) GetNameserverId() string { + if x != nil { + return x.NameserverId + } + return "" +} + +type DecommissionNameserverResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DecommissionNameserverResponse) Reset() { + *x = DecommissionNameserverResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DecommissionNameserverResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DecommissionNameserverResponse) ProtoMessage() {} + +func (x *DecommissionNameserverResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DecommissionNameserverResponse.ProtoReflect.Descriptor instead. +func (*DecommissionNameserverResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{34} +} + +type GeneratePrimaryInstallScriptRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GeneratePrimaryInstallScriptRequest) Reset() { + *x = GeneratePrimaryInstallScriptRequest{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GeneratePrimaryInstallScriptRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GeneratePrimaryInstallScriptRequest) ProtoMessage() {} + +func (x *GeneratePrimaryInstallScriptRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GeneratePrimaryInstallScriptRequest.ProtoReflect.Descriptor instead. +func (*GeneratePrimaryInstallScriptRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{35} +} + +type GeneratePrimaryInstallScriptResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstallScript string `protobuf:"bytes,1,opt,name=install_script,json=installScript,proto3" json:"install_script,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GeneratePrimaryInstallScriptResponse) Reset() { + *x = GeneratePrimaryInstallScriptResponse{} + mi := &file_orchestrator_v1_dns_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GeneratePrimaryInstallScriptResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GeneratePrimaryInstallScriptResponse) ProtoMessage() {} + +func (x *GeneratePrimaryInstallScriptResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_dns_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GeneratePrimaryInstallScriptResponse.ProtoReflect.Descriptor instead. +func (*GeneratePrimaryInstallScriptResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{36} +} + +func (x *GeneratePrimaryInstallScriptResponse) GetInstallScript() string { + if x != nil { + return x.InstallScript + } + return "" +} + +var File_orchestrator_v1_dns_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_dns_proto_rawDesc = "" + + "\n" + + "\x19orchestrator/v1/dns.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe2\x02\n" + + "\x0eDNSManagedZone\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" + + "\x06domain\x18\x02 \x01(\tR\x06domain\x12\x1b\n" + + "\tzone_type\x18\x03 \x01(\tR\bzoneType\x12\x16\n" + + "\x06status\x18\x04 \x01(\tR\x06status\x12+\n" + + "\x11delegation_status\x18\x05 \x01(\tR\x10delegationStatus\x12P\n" + + "\x16delegation_verified_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x14delegationVerifiedAt\x129\n" + + "\n" + + "created_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\xc0\x04\n" + + "\x10DNSManagedRecord\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\azone_id\x18\x02 \x01(\tR\x06zoneId\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12\x12\n" + + "\x04fqdn\x18\x04 \x01(\tR\x04fqdn\x12\x1f\n" + + "\vrecord_type\x18\x05 \x01(\tR\n" + + "recordType\x12\x14\n" + + "\x05value\x18\x06 \x01(\tR\x05value\x12\x10\n" + + "\x03ttl\x18\a \x01(\x05R\x03ttl\x12\x1f\n" + + "\bpriority\x18\b \x01(\x05H\x00R\bpriority\x88\x01\x01\x12\x1b\n" + + "\x06weight\x18\t \x01(\x05H\x01R\x06weight\x88\x01\x01\x12\x17\n" + + "\x04port\x18\n" + + " \x01(\x05H\x02R\x04port\x88\x01\x01\x12\x1d\n" + + "\n" + + "owner_type\x18\v \x01(\tR\townerType\x12\x18\n" + + "\amanaged\x18\f \x01(\bR\amanaged\x12\x16\n" + + "\x06status\x18\r \x01(\tR\x06status\x129\n" + + "\n" + + "created_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x128\n" + + "\x16managed_by_instance_id\x18\x10 \x01(\tH\x03R\x13managedByInstanceId\x88\x01\x01B\v\n" + + "\t_priorityB\t\n" + + "\a_weightB\a\n" + + "\x05_portB\x19\n" + + "\x17_managed_by_instance_id\"6\n" + + "\x17EnableDNSHostingRequest\x12\x1b\n" + + "\tdomain_id\x18\x01 \x01(\tR\bdomainId\"q\n" + + "\x18EnableDNSHostingResponse\x123\n" + + "\x04zone\x18\x01 \x01(\v2\x1f.orchestrator.v1.DNSManagedZoneR\x04zone\x12 \n" + + "\vnameservers\x18\x02 \x03(\tR\vnameservers\"3\n" + + "\x18DisableDNSHostingRequest\x12\x17\n" + + "\azone_id\x18\x01 \x01(\tR\x06zoneId\"\x1b\n" + + "\x19DisableDNSHostingResponse\"1\n" + + "\x16CheckDelegationRequest\x12\x17\n" + + "\azone_id\x18\x01 \x01(\tR\x06zoneId\"\xa8\x01\n" + + "\x17CheckDelegationResponse\x123\n" + + "\x04zone\x18\x01 \x01(\v2\x1f.orchestrator.v1.DNSManagedZoneR\x04zone\x12+\n" + + "\x11delegation_status\x18\x02 \x01(\tR\x10delegationStatus\x12+\n" + + "\x11found_nameservers\x18\x03 \x03(\tR\x10foundNameservers\")\n" + + "\x0eGetZoneRequest\x12\x17\n" + + "\azone_id\x18\x01 \x01(\tR\x06zoneId\"F\n" + + "\x0fGetZoneResponse\x123\n" + + "\x04zone\x18\x01 \x01(\v2\x1f.orchestrator.v1.DNSManagedZoneR\x04zone\"\x18\n" + + "\x16GetPlatformZoneRequest\"\xc7\x01\n" + + "\x17GetPlatformZoneResponse\x123\n" + + "\x04zone\x18\x01 \x01(\v2\x1f.orchestrator.v1.DNSManagedZoneR\x04zone\x12;\n" + + "\arecords\x18\x02 \x03(\v2!.orchestrator.v1.DNSManagedRecordR\arecords\x12:\n" + + "\x05queue\x18\x03 \x01(\v2$.orchestrator.v1.DNSChangeQueueStatsR\x05queue\"\xcf\x01\n" + + "\x13DNSChangeQueueStats\x12#\n" + + "\rpending_count\x18\x01 \x01(\x05R\fpendingCount\x12%\n" + + "\x0eapplying_count\x18\x02 \x01(\x05R\rapplyingCount\x12!\n" + + "\ffailed_count\x18\x03 \x01(\x05R\vfailedCount\x12I\n" + + "\x0frecent_failures\x18\x04 \x03(\v2 .orchestrator.v1.DNSFailedChangeR\x0erecentFailures\"\xe4\x01\n" + + "\x0fDNSFailedChange\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" + + "\vzone_domain\x18\x02 \x01(\tR\n" + + "zoneDomain\x12\x16\n" + + "\x06action\x18\x03 \x01(\tR\x06action\x12\x12\n" + + "\x04fqdn\x18\x04 \x01(\tR\x04fqdn\x12\x1d\n" + + "\n" + + "last_error\x18\x05 \x01(\tR\tlastError\x12\x1a\n" + + "\battempts\x18\x06 \x01(\x05R\battempts\x129\n" + + "\n" + + "created_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\"\x1e\n" + + "\x1cRetryFailedDNSChangesRequest\"9\n" + + "\x1dRetryFailedDNSChangesResponse\x12\x18\n" + + "\aretried\x18\x01 \x01(\x05R\aretried\"-\n" + + "\x12ListRecordsRequest\x12\x17\n" + + "\azone_id\x18\x01 \x01(\tR\x06zoneId\"R\n" + + "\x13ListRecordsResponse\x12;\n" + + "\arecords\x18\x01 \x03(\v2!.orchestrator.v1.DNSManagedRecordR\arecords\"\x83\x02\n" + + "\x13CreateRecordRequest\x12\x17\n" + + "\azone_id\x18\x01 \x01(\tR\x06zoneId\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x1f\n" + + "\vrecord_type\x18\x03 \x01(\tR\n" + + "recordType\x12\x14\n" + + "\x05value\x18\x04 \x01(\tR\x05value\x12\x10\n" + + "\x03ttl\x18\x05 \x01(\x05R\x03ttl\x12\x1f\n" + + "\bpriority\x18\x06 \x01(\x05H\x00R\bpriority\x88\x01\x01\x12\x1b\n" + + "\x06weight\x18\a \x01(\x05H\x01R\x06weight\x88\x01\x01\x12\x17\n" + + "\x04port\x18\b \x01(\x05H\x02R\x04port\x88\x01\x01B\v\n" + + "\t_priorityB\t\n" + + "\a_weightB\a\n" + + "\x05_port\"Q\n" + + "\x14CreateRecordResponse\x129\n" + + "\x06record\x18\x01 \x01(\v2!.orchestrator.v1.DNSManagedRecordR\x06record\"\xd2\x01\n" + + "\x13UpdateRecordRequest\x12\x1b\n" + + "\trecord_id\x18\x01 \x01(\tR\brecordId\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\x12\x10\n" + + "\x03ttl\x18\x03 \x01(\x05R\x03ttl\x12\x1f\n" + + "\bpriority\x18\x04 \x01(\x05H\x00R\bpriority\x88\x01\x01\x12\x1b\n" + + "\x06weight\x18\x05 \x01(\x05H\x01R\x06weight\x88\x01\x01\x12\x17\n" + + "\x04port\x18\x06 \x01(\x05H\x02R\x04port\x88\x01\x01B\v\n" + + "\t_priorityB\t\n" + + "\a_weightB\a\n" + + "\x05_port\"Q\n" + + "\x14UpdateRecordResponse\x129\n" + + "\x06record\x18\x01 \x01(\v2!.orchestrator.v1.DNSManagedRecordR\x06record\"2\n" + + "\x13DeleteRecordRequest\x12\x1b\n" + + "\trecord_id\x18\x01 \x01(\tR\brecordId\"\x16\n" + + "\x14DeleteRecordResponse\"\xb0\x01\n" + + "\x1aPreviewRecordChangeRequest\x12\x17\n" + + "\azone_id\x18\x01 \x01(\tR\x06zoneId\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x1f\n" + + "\vrecord_type\x18\x03 \x01(\tR\n" + + "recordType\x12\x14\n" + + "\x05value\x18\x04 \x01(\tR\x05value\x12 \n" + + "\trecord_id\x18\x05 \x01(\tH\x00R\brecordId\x88\x01\x01B\f\n" + + "\n" + + "_record_id\"q\n" + + "\x1bPreviewRecordChangeResponse\x12\x18\n" + + "\aallowed\x18\x01 \x01(\bR\aallowed\x12\x1a\n" + + "\bwarnings\x18\x02 \x03(\tR\bwarnings\x12\x1c\n" + + "\tconflicts\x18\x03 \x03(\tR\tconflicts\"\x80\x02\n" + + "\n" + + "Nameserver\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n" + + "\bhostname\x18\x03 \x01(\tR\bhostname\x12\x1f\n" + + "\vpublic_ipv4\x18\x04 \x01(\tR\n" + + "publicIpv4\x12\x1f\n" + + "\vpublic_ipv6\x18\x05 \x01(\tR\n" + + "publicIpv6\x12\x17\n" + + "\awg_ipv4\x18\x06 \x01(\tR\x06wgIpv4\x12\x16\n" + + "\x06status\x18\a \x01(\tR\x06status\x12 \n" + + "\flast_seen_at\x18\b \x01(\tR\n" + + "lastSeenAt\x12\x1d\n" + + "\n" + + "created_at\x18\t \x01(\tR\tcreatedAt\"\x8e\x01\n" + + "\x1aProvisionNameserverRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n" + + "\bhostname\x18\x02 \x01(\tR\bhostname\x12\x1f\n" + + "\vpublic_ipv4\x18\x03 \x01(\tR\n" + + "publicIpv4\x12\x1f\n" + + "\vpublic_ipv6\x18\x04 \x01(\tR\n" + + "publicIpv6\"\x81\x01\n" + + "\x1bProvisionNameserverResponse\x12;\n" + + "\n" + + "nameserver\x18\x01 \x01(\v2\x1b.orchestrator.v1.NameserverR\n" + + "nameserver\x12%\n" + + "\x0einstall_script\x18\x02 \x01(\tR\rinstallScript\"\x18\n" + + "\x16ListNameserversRequest\"X\n" + + "\x17ListNameserversResponse\x12=\n" + + "\vnameservers\x18\x01 \x03(\v2\x1b.orchestrator.v1.NameserverR\vnameservers\"H\n" + + "!GetNameserverInstallScriptRequest\x12#\n" + + "\rnameserver_id\x18\x01 \x01(\tR\fnameserverId\"K\n" + + "\"GetNameserverInstallScriptResponse\x12%\n" + + "\x0einstall_script\x18\x01 \x01(\tR\rinstallScript\"D\n" + + "\x1dDecommissionNameserverRequest\x12#\n" + + "\rnameserver_id\x18\x01 \x01(\tR\fnameserverId\" \n" + + "\x1eDecommissionNameserverResponse\"%\n" + + "#GeneratePrimaryInstallScriptRequest\"M\n" + + "$GeneratePrimaryInstallScriptResponse\x12%\n" + + "\x0einstall_script\x18\x01 \x01(\tR\rinstallScript2\xbf\r\n" + + "\n" + + "DNSService\x12g\n" + + "\x10EnableDNSHosting\x12(.orchestrator.v1.EnableDNSHostingRequest\x1a).orchestrator.v1.EnableDNSHostingResponse\x12j\n" + + "\x11DisableDNSHosting\x12).orchestrator.v1.DisableDNSHostingRequest\x1a*.orchestrator.v1.DisableDNSHostingResponse\x12d\n" + + "\x0fCheckDelegation\x12'.orchestrator.v1.CheckDelegationRequest\x1a(.orchestrator.v1.CheckDelegationResponse\x12L\n" + + "\aGetZone\x12\x1f.orchestrator.v1.GetZoneRequest\x1a .orchestrator.v1.GetZoneResponse\x12d\n" + + "\x0fGetPlatformZone\x12'.orchestrator.v1.GetPlatformZoneRequest\x1a(.orchestrator.v1.GetPlatformZoneResponse\x12X\n" + + "\vListRecords\x12#.orchestrator.v1.ListRecordsRequest\x1a$.orchestrator.v1.ListRecordsResponse\x12[\n" + + "\fCreateRecord\x12$.orchestrator.v1.CreateRecordRequest\x1a%.orchestrator.v1.CreateRecordResponse\x12[\n" + + "\fUpdateRecord\x12$.orchestrator.v1.UpdateRecordRequest\x1a%.orchestrator.v1.UpdateRecordResponse\x12[\n" + + "\fDeleteRecord\x12$.orchestrator.v1.DeleteRecordRequest\x1a%.orchestrator.v1.DeleteRecordResponse\x12p\n" + + "\x13PreviewRecordChange\x12+.orchestrator.v1.PreviewRecordChangeRequest\x1a,.orchestrator.v1.PreviewRecordChangeResponse\x12v\n" + + "\x15RetryFailedDNSChanges\x12-.orchestrator.v1.RetryFailedDNSChangesRequest\x1a..orchestrator.v1.RetryFailedDNSChangesResponse\x12p\n" + + "\x13ProvisionNameserver\x12+.orchestrator.v1.ProvisionNameserverRequest\x1a,.orchestrator.v1.ProvisionNameserverResponse\x12d\n" + + "\x0fListNameservers\x12'.orchestrator.v1.ListNameserversRequest\x1a(.orchestrator.v1.ListNameserversResponse\x12\x85\x01\n" + + "\x1aGetNameserverInstallScript\x122.orchestrator.v1.GetNameserverInstallScriptRequest\x1a3.orchestrator.v1.GetNameserverInstallScriptResponse\x12y\n" + + "\x16DecommissionNameserver\x12..orchestrator.v1.DecommissionNameserverRequest\x1a/.orchestrator.v1.DecommissionNameserverResponse\x12\x8b\x01\n" + + "\x1cGeneratePrimaryInstallScript\x124.orchestrator.v1.GeneratePrimaryInstallScriptRequest\x1a5.orchestrator.v1.GeneratePrimaryInstallScriptResponseB\xcb\x01\n" + + "\x13com.orchestrator.v1B\bDnsProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_dns_proto_rawDescOnce sync.Once + file_orchestrator_v1_dns_proto_rawDescData []byte +) + +func file_orchestrator_v1_dns_proto_rawDescGZIP() []byte { + file_orchestrator_v1_dns_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_dns_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_dns_proto_rawDesc), len(file_orchestrator_v1_dns_proto_rawDesc))) + }) + return file_orchestrator_v1_dns_proto_rawDescData +} + +var file_orchestrator_v1_dns_proto_msgTypes = make([]protoimpl.MessageInfo, 37) +var file_orchestrator_v1_dns_proto_goTypes = []any{ + (*DNSManagedZone)(nil), // 0: orchestrator.v1.DNSManagedZone + (*DNSManagedRecord)(nil), // 1: orchestrator.v1.DNSManagedRecord + (*EnableDNSHostingRequest)(nil), // 2: orchestrator.v1.EnableDNSHostingRequest + (*EnableDNSHostingResponse)(nil), // 3: orchestrator.v1.EnableDNSHostingResponse + (*DisableDNSHostingRequest)(nil), // 4: orchestrator.v1.DisableDNSHostingRequest + (*DisableDNSHostingResponse)(nil), // 5: orchestrator.v1.DisableDNSHostingResponse + (*CheckDelegationRequest)(nil), // 6: orchestrator.v1.CheckDelegationRequest + (*CheckDelegationResponse)(nil), // 7: orchestrator.v1.CheckDelegationResponse + (*GetZoneRequest)(nil), // 8: orchestrator.v1.GetZoneRequest + (*GetZoneResponse)(nil), // 9: orchestrator.v1.GetZoneResponse + (*GetPlatformZoneRequest)(nil), // 10: orchestrator.v1.GetPlatformZoneRequest + (*GetPlatformZoneResponse)(nil), // 11: orchestrator.v1.GetPlatformZoneResponse + (*DNSChangeQueueStats)(nil), // 12: orchestrator.v1.DNSChangeQueueStats + (*DNSFailedChange)(nil), // 13: orchestrator.v1.DNSFailedChange + (*RetryFailedDNSChangesRequest)(nil), // 14: orchestrator.v1.RetryFailedDNSChangesRequest + (*RetryFailedDNSChangesResponse)(nil), // 15: orchestrator.v1.RetryFailedDNSChangesResponse + (*ListRecordsRequest)(nil), // 16: orchestrator.v1.ListRecordsRequest + (*ListRecordsResponse)(nil), // 17: orchestrator.v1.ListRecordsResponse + (*CreateRecordRequest)(nil), // 18: orchestrator.v1.CreateRecordRequest + (*CreateRecordResponse)(nil), // 19: orchestrator.v1.CreateRecordResponse + (*UpdateRecordRequest)(nil), // 20: orchestrator.v1.UpdateRecordRequest + (*UpdateRecordResponse)(nil), // 21: orchestrator.v1.UpdateRecordResponse + (*DeleteRecordRequest)(nil), // 22: orchestrator.v1.DeleteRecordRequest + (*DeleteRecordResponse)(nil), // 23: orchestrator.v1.DeleteRecordResponse + (*PreviewRecordChangeRequest)(nil), // 24: orchestrator.v1.PreviewRecordChangeRequest + (*PreviewRecordChangeResponse)(nil), // 25: orchestrator.v1.PreviewRecordChangeResponse + (*Nameserver)(nil), // 26: orchestrator.v1.Nameserver + (*ProvisionNameserverRequest)(nil), // 27: orchestrator.v1.ProvisionNameserverRequest + (*ProvisionNameserverResponse)(nil), // 28: orchestrator.v1.ProvisionNameserverResponse + (*ListNameserversRequest)(nil), // 29: orchestrator.v1.ListNameserversRequest + (*ListNameserversResponse)(nil), // 30: orchestrator.v1.ListNameserversResponse + (*GetNameserverInstallScriptRequest)(nil), // 31: orchestrator.v1.GetNameserverInstallScriptRequest + (*GetNameserverInstallScriptResponse)(nil), // 32: orchestrator.v1.GetNameserverInstallScriptResponse + (*DecommissionNameserverRequest)(nil), // 33: orchestrator.v1.DecommissionNameserverRequest + (*DecommissionNameserverResponse)(nil), // 34: orchestrator.v1.DecommissionNameserverResponse + (*GeneratePrimaryInstallScriptRequest)(nil), // 35: orchestrator.v1.GeneratePrimaryInstallScriptRequest + (*GeneratePrimaryInstallScriptResponse)(nil), // 36: orchestrator.v1.GeneratePrimaryInstallScriptResponse + (*timestamppb.Timestamp)(nil), // 37: google.protobuf.Timestamp +} +var file_orchestrator_v1_dns_proto_depIdxs = []int32{ + 37, // 0: orchestrator.v1.DNSManagedZone.delegation_verified_at:type_name -> google.protobuf.Timestamp + 37, // 1: orchestrator.v1.DNSManagedZone.created_at:type_name -> google.protobuf.Timestamp + 37, // 2: orchestrator.v1.DNSManagedZone.updated_at:type_name -> google.protobuf.Timestamp + 37, // 3: orchestrator.v1.DNSManagedRecord.created_at:type_name -> google.protobuf.Timestamp + 37, // 4: orchestrator.v1.DNSManagedRecord.updated_at:type_name -> google.protobuf.Timestamp + 0, // 5: orchestrator.v1.EnableDNSHostingResponse.zone:type_name -> orchestrator.v1.DNSManagedZone + 0, // 6: orchestrator.v1.CheckDelegationResponse.zone:type_name -> orchestrator.v1.DNSManagedZone + 0, // 7: orchestrator.v1.GetZoneResponse.zone:type_name -> orchestrator.v1.DNSManagedZone + 0, // 8: orchestrator.v1.GetPlatformZoneResponse.zone:type_name -> orchestrator.v1.DNSManagedZone + 1, // 9: orchestrator.v1.GetPlatformZoneResponse.records:type_name -> orchestrator.v1.DNSManagedRecord + 12, // 10: orchestrator.v1.GetPlatformZoneResponse.queue:type_name -> orchestrator.v1.DNSChangeQueueStats + 13, // 11: orchestrator.v1.DNSChangeQueueStats.recent_failures:type_name -> orchestrator.v1.DNSFailedChange + 37, // 12: orchestrator.v1.DNSFailedChange.created_at:type_name -> google.protobuf.Timestamp + 1, // 13: orchestrator.v1.ListRecordsResponse.records:type_name -> orchestrator.v1.DNSManagedRecord + 1, // 14: orchestrator.v1.CreateRecordResponse.record:type_name -> orchestrator.v1.DNSManagedRecord + 1, // 15: orchestrator.v1.UpdateRecordResponse.record:type_name -> orchestrator.v1.DNSManagedRecord + 26, // 16: orchestrator.v1.ProvisionNameserverResponse.nameserver:type_name -> orchestrator.v1.Nameserver + 26, // 17: orchestrator.v1.ListNameserversResponse.nameservers:type_name -> orchestrator.v1.Nameserver + 2, // 18: orchestrator.v1.DNSService.EnableDNSHosting:input_type -> orchestrator.v1.EnableDNSHostingRequest + 4, // 19: orchestrator.v1.DNSService.DisableDNSHosting:input_type -> orchestrator.v1.DisableDNSHostingRequest + 6, // 20: orchestrator.v1.DNSService.CheckDelegation:input_type -> orchestrator.v1.CheckDelegationRequest + 8, // 21: orchestrator.v1.DNSService.GetZone:input_type -> orchestrator.v1.GetZoneRequest + 10, // 22: orchestrator.v1.DNSService.GetPlatformZone:input_type -> orchestrator.v1.GetPlatformZoneRequest + 16, // 23: orchestrator.v1.DNSService.ListRecords:input_type -> orchestrator.v1.ListRecordsRequest + 18, // 24: orchestrator.v1.DNSService.CreateRecord:input_type -> orchestrator.v1.CreateRecordRequest + 20, // 25: orchestrator.v1.DNSService.UpdateRecord:input_type -> orchestrator.v1.UpdateRecordRequest + 22, // 26: orchestrator.v1.DNSService.DeleteRecord:input_type -> orchestrator.v1.DeleteRecordRequest + 24, // 27: orchestrator.v1.DNSService.PreviewRecordChange:input_type -> orchestrator.v1.PreviewRecordChangeRequest + 14, // 28: orchestrator.v1.DNSService.RetryFailedDNSChanges:input_type -> orchestrator.v1.RetryFailedDNSChangesRequest + 27, // 29: orchestrator.v1.DNSService.ProvisionNameserver:input_type -> orchestrator.v1.ProvisionNameserverRequest + 29, // 30: orchestrator.v1.DNSService.ListNameservers:input_type -> orchestrator.v1.ListNameserversRequest + 31, // 31: orchestrator.v1.DNSService.GetNameserverInstallScript:input_type -> orchestrator.v1.GetNameserverInstallScriptRequest + 33, // 32: orchestrator.v1.DNSService.DecommissionNameserver:input_type -> orchestrator.v1.DecommissionNameserverRequest + 35, // 33: orchestrator.v1.DNSService.GeneratePrimaryInstallScript:input_type -> orchestrator.v1.GeneratePrimaryInstallScriptRequest + 3, // 34: orchestrator.v1.DNSService.EnableDNSHosting:output_type -> orchestrator.v1.EnableDNSHostingResponse + 5, // 35: orchestrator.v1.DNSService.DisableDNSHosting:output_type -> orchestrator.v1.DisableDNSHostingResponse + 7, // 36: orchestrator.v1.DNSService.CheckDelegation:output_type -> orchestrator.v1.CheckDelegationResponse + 9, // 37: orchestrator.v1.DNSService.GetZone:output_type -> orchestrator.v1.GetZoneResponse + 11, // 38: orchestrator.v1.DNSService.GetPlatformZone:output_type -> orchestrator.v1.GetPlatformZoneResponse + 17, // 39: orchestrator.v1.DNSService.ListRecords:output_type -> orchestrator.v1.ListRecordsResponse + 19, // 40: orchestrator.v1.DNSService.CreateRecord:output_type -> orchestrator.v1.CreateRecordResponse + 21, // 41: orchestrator.v1.DNSService.UpdateRecord:output_type -> orchestrator.v1.UpdateRecordResponse + 23, // 42: orchestrator.v1.DNSService.DeleteRecord:output_type -> orchestrator.v1.DeleteRecordResponse + 25, // 43: orchestrator.v1.DNSService.PreviewRecordChange:output_type -> orchestrator.v1.PreviewRecordChangeResponse + 15, // 44: orchestrator.v1.DNSService.RetryFailedDNSChanges:output_type -> orchestrator.v1.RetryFailedDNSChangesResponse + 28, // 45: orchestrator.v1.DNSService.ProvisionNameserver:output_type -> orchestrator.v1.ProvisionNameserverResponse + 30, // 46: orchestrator.v1.DNSService.ListNameservers:output_type -> orchestrator.v1.ListNameserversResponse + 32, // 47: orchestrator.v1.DNSService.GetNameserverInstallScript:output_type -> orchestrator.v1.GetNameserverInstallScriptResponse + 34, // 48: orchestrator.v1.DNSService.DecommissionNameserver:output_type -> orchestrator.v1.DecommissionNameserverResponse + 36, // 49: orchestrator.v1.DNSService.GeneratePrimaryInstallScript:output_type -> orchestrator.v1.GeneratePrimaryInstallScriptResponse + 34, // [34:50] is the sub-list for method output_type + 18, // [18:34] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_dns_proto_init() } +func file_orchestrator_v1_dns_proto_init() { + if File_orchestrator_v1_dns_proto != nil { + return + } + file_orchestrator_v1_dns_proto_msgTypes[1].OneofWrappers = []any{} + file_orchestrator_v1_dns_proto_msgTypes[18].OneofWrappers = []any{} + file_orchestrator_v1_dns_proto_msgTypes[20].OneofWrappers = []any{} + file_orchestrator_v1_dns_proto_msgTypes[24].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_dns_proto_rawDesc), len(file_orchestrator_v1_dns_proto_rawDesc)), + NumEnums: 0, + NumMessages: 37, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_dns_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_dns_proto_depIdxs, + MessageInfos: file_orchestrator_v1_dns_proto_msgTypes, + }.Build() + File_orchestrator_v1_dns_proto = out.File + file_orchestrator_v1_dns_proto_goTypes = nil + file_orchestrator_v1_dns_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/domains.pb.go b/internal/api/orchestrator/v1/domains.pb.go new file mode 100644 index 0000000..e8fdf37 --- /dev/null +++ b/internal/api/orchestrator/v1/domains.pb.go @@ -0,0 +1,3534 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/domains.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// SSL status +type SSLStatus int32 + +const ( + SSLStatus_SSL_STATUS_UNSPECIFIED SSLStatus = 0 + SSLStatus_SSL_STATUS_PENDING SSLStatus = 1 + SSLStatus_SSL_STATUS_VALIDATING SSLStatus = 2 + SSLStatus_SSL_STATUS_ISSUED SSLStatus = 3 + SSLStatus_SSL_STATUS_EXPIRED SSLStatus = 4 + SSLStatus_SSL_STATUS_ERROR SSLStatus = 5 +) + +// Enum value maps for SSLStatus. +var ( + SSLStatus_name = map[int32]string{ + 0: "SSL_STATUS_UNSPECIFIED", + 1: "SSL_STATUS_PENDING", + 2: "SSL_STATUS_VALIDATING", + 3: "SSL_STATUS_ISSUED", + 4: "SSL_STATUS_EXPIRED", + 5: "SSL_STATUS_ERROR", + } + SSLStatus_value = map[string]int32{ + "SSL_STATUS_UNSPECIFIED": 0, + "SSL_STATUS_PENDING": 1, + "SSL_STATUS_VALIDATING": 2, + "SSL_STATUS_ISSUED": 3, + "SSL_STATUS_EXPIRED": 4, + "SSL_STATUS_ERROR": 5, + } +) + +func (x SSLStatus) Enum() *SSLStatus { + p := new(SSLStatus) + *p = x + return p +} + +func (x SSLStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SSLStatus) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_domains_proto_enumTypes[0].Descriptor() +} + +func (SSLStatus) Type() protoreflect.EnumType { + return &file_orchestrator_v1_domains_proto_enumTypes[0] +} + +func (x SSLStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SSLStatus.Descriptor instead. +func (SSLStatus) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{0} +} + +// www redirect policy +type WwwRedirectPolicy int32 + +const ( + WwwRedirectPolicy_WWW_REDIRECT_POLICY_UNSPECIFIED WwwRedirectPolicy = 0 + WwwRedirectPolicy_WWW_REDIRECT_POLICY_WWW_TO_APEX WwwRedirectPolicy = 1 // www.example.com -> example.com (default) + WwwRedirectPolicy_WWW_REDIRECT_POLICY_APEX_TO_WWW WwwRedirectPolicy = 2 // example.com -> www.example.com + WwwRedirectPolicy_WWW_REDIRECT_POLICY_NONE WwwRedirectPolicy = 3 // Both work independently +) + +// Enum value maps for WwwRedirectPolicy. +var ( + WwwRedirectPolicy_name = map[int32]string{ + 0: "WWW_REDIRECT_POLICY_UNSPECIFIED", + 1: "WWW_REDIRECT_POLICY_WWW_TO_APEX", + 2: "WWW_REDIRECT_POLICY_APEX_TO_WWW", + 3: "WWW_REDIRECT_POLICY_NONE", + } + WwwRedirectPolicy_value = map[string]int32{ + "WWW_REDIRECT_POLICY_UNSPECIFIED": 0, + "WWW_REDIRECT_POLICY_WWW_TO_APEX": 1, + "WWW_REDIRECT_POLICY_APEX_TO_WWW": 2, + "WWW_REDIRECT_POLICY_NONE": 3, + } +) + +func (x WwwRedirectPolicy) Enum() *WwwRedirectPolicy { + p := new(WwwRedirectPolicy) + *p = x + return p +} + +func (x WwwRedirectPolicy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WwwRedirectPolicy) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_domains_proto_enumTypes[1].Descriptor() +} + +func (WwwRedirectPolicy) Type() protoreflect.EnumType { + return &file_orchestrator_v1_domains_proto_enumTypes[1] +} + +func (x WwwRedirectPolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WwwRedirectPolicy.Descriptor instead. +func (WwwRedirectPolicy) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{1} +} + +// Domain source (how domain was added) +type DomainSource int32 + +const ( + DomainSource_DOMAIN_SOURCE_UNSPECIFIED DomainSource = 0 + DomainSource_DOMAIN_SOURCE_EXTERNAL DomainSource = 1 // User owns domain at external registrar + DomainSource_DOMAIN_SOURCE_NAMECHEAP DomainSource = 2 // Purchased via Namecheap +) + +// Enum value maps for DomainSource. +var ( + DomainSource_name = map[int32]string{ + 0: "DOMAIN_SOURCE_UNSPECIFIED", + 1: "DOMAIN_SOURCE_EXTERNAL", + 2: "DOMAIN_SOURCE_NAMECHEAP", + } + DomainSource_value = map[string]int32{ + "DOMAIN_SOURCE_UNSPECIFIED": 0, + "DOMAIN_SOURCE_EXTERNAL": 1, + "DOMAIN_SOURCE_NAMECHEAP": 2, + } +) + +func (x DomainSource) Enum() *DomainSource { + p := new(DomainSource) + *p = x + return p +} + +func (x DomainSource) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DomainSource) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_domains_proto_enumTypes[2].Descriptor() +} + +func (DomainSource) Type() protoreflect.EnumType { + return &file_orchestrator_v1_domains_proto_enumTypes[2] +} + +func (x DomainSource) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DomainSource.Descriptor instead. +func (DomainSource) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{2} +} + +// DNS configuration status +type DNSStatus int32 + +const ( + DNSStatus_DNS_STATUS_UNSPECIFIED DNSStatus = 0 + DNSStatus_DNS_STATUS_PENDING DNSStatus = 1 // Not yet configured + DNSStatus_DNS_STATUS_PROPAGATING DNSStatus = 2 // Changes detected, waiting for propagation + DNSStatus_DNS_STATUS_CONFIGURED DNSStatus = 3 // Fully configured + DNSStatus_DNS_STATUS_ERROR DNSStatus = 4 // Configuration error + DNSStatus_DNS_STATUS_STALE DNSStatus = 5 // DNS was configured but has become stale +) + +// Enum value maps for DNSStatus. +var ( + DNSStatus_name = map[int32]string{ + 0: "DNS_STATUS_UNSPECIFIED", + 1: "DNS_STATUS_PENDING", + 2: "DNS_STATUS_PROPAGATING", + 3: "DNS_STATUS_CONFIGURED", + 4: "DNS_STATUS_ERROR", + 5: "DNS_STATUS_STALE", + } + DNSStatus_value = map[string]int32{ + "DNS_STATUS_UNSPECIFIED": 0, + "DNS_STATUS_PENDING": 1, + "DNS_STATUS_PROPAGATING": 2, + "DNS_STATUS_CONFIGURED": 3, + "DNS_STATUS_ERROR": 4, + "DNS_STATUS_STALE": 5, + } +) + +func (x DNSStatus) Enum() *DNSStatus { + p := new(DNSStatus) + *p = x + return p +} + +func (x DNSStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DNSStatus) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_domains_proto_enumTypes[3].Descriptor() +} + +func (DNSStatus) Type() protoreflect.EnumType { + return &file_orchestrator_v1_domains_proto_enumTypes[3] +} + +func (x DNSStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DNSStatus.Descriptor instead. +func (DNSStatus) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{3} +} + +// Domain represents a custom domain or subdomain +type Domain struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + InstanceId *string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` // Nullable - domain can be unattached + Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` + IsPrimary bool `protobuf:"varint,4,opt,name=is_primary,json=isPrimary,proto3" json:"is_primary,omitempty"` + IsSubdomain bool `protobuf:"varint,5,opt,name=is_subdomain,json=isSubdomain,proto3" json:"is_subdomain,omitempty"` + SslStatus SSLStatus `protobuf:"varint,6,opt,name=ssl_status,json=sslStatus,proto3,enum=orchestrator.v1.SSLStatus" json:"ssl_status,omitempty"` + SslExpiresAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=ssl_expires_at,json=sslExpiresAt,proto3,oneof" json:"ssl_expires_at,omitempty"` + VerifiedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=verified_at,json=verifiedAt,proto3,oneof" json:"verified_at,omitempty"` + VerificationToken *string `protobuf:"bytes,9,opt,name=verification_token,json=verificationToken,proto3,oneof" json:"verification_token,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // New fields for domain management + AccountId string `protobuf:"bytes,12,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + WwwRedirectPolicy WwwRedirectPolicy `protobuf:"varint,13,opt,name=www_redirect_policy,json=wwwRedirectPolicy,proto3,enum=orchestrator.v1.WwwRedirectPolicy" json:"www_redirect_policy,omitempty"` + Source DomainSource `protobuf:"varint,14,opt,name=source,proto3,enum=orchestrator.v1.DomainSource" json:"source,omitempty"` + NamecheapDomainId *string `protobuf:"bytes,15,opt,name=namecheap_domain_id,json=namecheapDomainId,proto3,oneof" json:"namecheap_domain_id,omitempty"` + AutoRenew bool `protobuf:"varint,16,opt,name=auto_renew,json=autoRenew,proto3" json:"auto_renew,omitempty"` + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=expires_at,json=expiresAt,proto3,oneof" json:"expires_at,omitempty"` // Domain expiry (not SSL) + DnsStatus DNSStatus `protobuf:"varint,18,opt,name=dns_status,json=dnsStatus,proto3,enum=orchestrator.v1.DNSStatus" json:"dns_status,omitempty"` + DnsError *string `protobuf:"bytes,19,opt,name=dns_error,json=dnsError,proto3,oneof" json:"dns_error,omitempty"` + DnsExpectedTarget *string `protobuf:"bytes,20,opt,name=dns_expected_target,json=dnsExpectedTarget,proto3,oneof" json:"dns_expected_target,omitempty"` + DnsActualTarget *string `protobuf:"bytes,21,opt,name=dns_actual_target,json=dnsActualTarget,proto3,oneof" json:"dns_actual_target,omitempty"` + DnsLastChecked *timestamppb.Timestamp `protobuf:"bytes,22,opt,name=dns_last_checked,json=dnsLastChecked,proto3,oneof" json:"dns_last_checked,omitempty"` + DnsStaleSince *timestamppb.Timestamp `protobuf:"bytes,23,opt,name=dns_stale_since,json=dnsStaleSince,proto3,oneof" json:"dns_stale_since,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Domain) Reset() { + *x = Domain{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Domain) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Domain) ProtoMessage() {} + +func (x *Domain) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Domain.ProtoReflect.Descriptor instead. +func (*Domain) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{0} +} + +func (x *Domain) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Domain) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +func (x *Domain) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *Domain) GetIsPrimary() bool { + if x != nil { + return x.IsPrimary + } + return false +} + +func (x *Domain) GetIsSubdomain() bool { + if x != nil { + return x.IsSubdomain + } + return false +} + +func (x *Domain) GetSslStatus() SSLStatus { + if x != nil { + return x.SslStatus + } + return SSLStatus_SSL_STATUS_UNSPECIFIED +} + +func (x *Domain) GetSslExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.SslExpiresAt + } + return nil +} + +func (x *Domain) GetVerifiedAt() *timestamppb.Timestamp { + if x != nil { + return x.VerifiedAt + } + return nil +} + +func (x *Domain) GetVerificationToken() string { + if x != nil && x.VerificationToken != nil { + return *x.VerificationToken + } + return "" +} + +func (x *Domain) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *Domain) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *Domain) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *Domain) GetWwwRedirectPolicy() WwwRedirectPolicy { + if x != nil { + return x.WwwRedirectPolicy + } + return WwwRedirectPolicy_WWW_REDIRECT_POLICY_UNSPECIFIED +} + +func (x *Domain) GetSource() DomainSource { + if x != nil { + return x.Source + } + return DomainSource_DOMAIN_SOURCE_UNSPECIFIED +} + +func (x *Domain) GetNamecheapDomainId() string { + if x != nil && x.NamecheapDomainId != nil { + return *x.NamecheapDomainId + } + return "" +} + +func (x *Domain) GetAutoRenew() bool { + if x != nil { + return x.AutoRenew + } + return false +} + +func (x *Domain) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +func (x *Domain) GetDnsStatus() DNSStatus { + if x != nil { + return x.DnsStatus + } + return DNSStatus_DNS_STATUS_UNSPECIFIED +} + +func (x *Domain) GetDnsError() string { + if x != nil && x.DnsError != nil { + return *x.DnsError + } + return "" +} + +func (x *Domain) GetDnsExpectedTarget() string { + if x != nil && x.DnsExpectedTarget != nil { + return *x.DnsExpectedTarget + } + return "" +} + +func (x *Domain) GetDnsActualTarget() string { + if x != nil && x.DnsActualTarget != nil { + return *x.DnsActualTarget + } + return "" +} + +func (x *Domain) GetDnsLastChecked() *timestamppb.Timestamp { + if x != nil { + return x.DnsLastChecked + } + return nil +} + +func (x *Domain) GetDnsStaleSince() *timestamppb.Timestamp { + if x != nil { + return x.DnsStaleSince + } + return nil +} + +// DNS record for domain verification +type DNSRecord struct { + state protoimpl.MessageState `protogen:"open.v1"` + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // TXT, CNAME, ALIAS, A + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + Note string `protobuf:"bytes,4,opt,name=note,proto3" json:"note,omitempty"` // e.g. "preferred", "fallback if ALIAS not supported" + Verified bool `protobuf:"varint,5,opt,name=verified,proto3" json:"verified,omitempty"` // Whether this record is currently detected in DNS + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DNSRecord) Reset() { + *x = DNSRecord{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DNSRecord) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DNSRecord) ProtoMessage() {} + +func (x *DNSRecord) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DNSRecord.ProtoReflect.Descriptor instead. +func (*DNSRecord) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{1} +} + +func (x *DNSRecord) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *DNSRecord) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DNSRecord) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *DNSRecord) GetNote() string { + if x != nil { + return x.Note + } + return "" +} + +func (x *DNSRecord) GetVerified() bool { + if x != nil { + return x.Verified + } + return false +} + +type AddDomainRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId *string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` // Optional - can add domain without attaching + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + IsPrimary bool `protobuf:"varint,3,opt,name=is_primary,json=isPrimary,proto3" json:"is_primary,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AddDomainRequest) Reset() { + *x = AddDomainRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AddDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddDomainRequest) ProtoMessage() {} + +func (x *AddDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddDomainRequest.ProtoReflect.Descriptor instead. +func (*AddDomainRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{2} +} + +func (x *AddDomainRequest) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +func (x *AddDomainRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *AddDomainRequest) GetIsPrimary() bool { + if x != nil { + return x.IsPrimary + } + return false +} + +type AddDomainResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain *Domain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + DnsRecords []*DNSRecord `protobuf:"bytes,2,rep,name=dns_records,json=dnsRecords,proto3" json:"dns_records,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AddDomainResponse) Reset() { + *x = AddDomainResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AddDomainResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddDomainResponse) ProtoMessage() {} + +func (x *AddDomainResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddDomainResponse.ProtoReflect.Descriptor instead. +func (*AddDomainResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{3} +} + +func (x *AddDomainResponse) GetDomain() *Domain { + if x != nil { + return x.Domain + } + return nil +} + +func (x *AddDomainResponse) GetDnsRecords() []*DNSRecord { + if x != nil { + return x.DnsRecords + } + return nil +} + +type RemoveDomainRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveDomainRequest) Reset() { + *x = RemoveDomainRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveDomainRequest) ProtoMessage() {} + +func (x *RemoveDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveDomainRequest.ProtoReflect.Descriptor instead. +func (*RemoveDomainRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{4} +} + +func (x *RemoveDomainRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type RemoveDomainResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveDomainResponse) Reset() { + *x = RemoveDomainResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveDomainResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveDomainResponse) ProtoMessage() {} + +func (x *RemoveDomainResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveDomainResponse.ProtoReflect.Descriptor instead. +func (*RemoveDomainResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{5} +} + +type ListDomainsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListDomainsRequest) Reset() { + *x = ListDomainsRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListDomainsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDomainsRequest) ProtoMessage() {} + +func (x *ListDomainsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListDomainsRequest.ProtoReflect.Descriptor instead. +func (*ListDomainsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{6} +} + +func (x *ListDomainsRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +type ListDomainsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domains []*Domain `protobuf:"bytes,1,rep,name=domains,proto3" json:"domains,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListDomainsResponse) Reset() { + *x = ListDomainsResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListDomainsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDomainsResponse) ProtoMessage() {} + +func (x *ListDomainsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListDomainsResponse.ProtoReflect.Descriptor instead. +func (*ListDomainsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{7} +} + +func (x *ListDomainsResponse) GetDomains() []*Domain { + if x != nil { + return x.Domains + } + return nil +} + +type GetDomainRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDomainRequest) Reset() { + *x = GetDomainRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDomainRequest) ProtoMessage() {} + +func (x *GetDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDomainRequest.ProtoReflect.Descriptor instead. +func (*GetDomainRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{8} +} + +func (x *GetDomainRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetDomainResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain *Domain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDomainResponse) Reset() { + *x = GetDomainResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDomainResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDomainResponse) ProtoMessage() {} + +func (x *GetDomainResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDomainResponse.ProtoReflect.Descriptor instead. +func (*GetDomainResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{9} +} + +func (x *GetDomainResponse) GetDomain() *Domain { + if x != nil { + return x.Domain + } + return nil +} + +type VerifyDomainRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyDomainRequest) Reset() { + *x = VerifyDomainRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyDomainRequest) ProtoMessage() {} + +func (x *VerifyDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyDomainRequest.ProtoReflect.Descriptor instead. +func (*VerifyDomainRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{10} +} + +func (x *VerifyDomainRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type VerifyDomainResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Verified bool `protobuf:"varint,1,opt,name=verified,proto3" json:"verified,omitempty"` + Domain *Domain `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + ErrorMessage *string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3,oneof" json:"error_message,omitempty"` // Details on why verification failed (e.g., A record not pointing to our servers) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyDomainResponse) Reset() { + *x = VerifyDomainResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyDomainResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyDomainResponse) ProtoMessage() {} + +func (x *VerifyDomainResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyDomainResponse.ProtoReflect.Descriptor instead. +func (*VerifyDomainResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{11} +} + +func (x *VerifyDomainResponse) GetVerified() bool { + if x != nil { + return x.Verified + } + return false +} + +func (x *VerifyDomainResponse) GetDomain() *Domain { + if x != nil { + return x.Domain + } + return nil +} + +func (x *VerifyDomainResponse) GetErrorMessage() string { + if x != nil && x.ErrorMessage != nil { + return *x.ErrorMessage + } + return "" +} + +type SetPrimaryDomainRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetPrimaryDomainRequest) Reset() { + *x = SetPrimaryDomainRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetPrimaryDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetPrimaryDomainRequest) ProtoMessage() {} + +func (x *SetPrimaryDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetPrimaryDomainRequest.ProtoReflect.Descriptor instead. +func (*SetPrimaryDomainRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{12} +} + +func (x *SetPrimaryDomainRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type SetPrimaryDomainResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain *Domain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetPrimaryDomainResponse) Reset() { + *x = SetPrimaryDomainResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetPrimaryDomainResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetPrimaryDomainResponse) ProtoMessage() {} + +func (x *SetPrimaryDomainResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetPrimaryDomainResponse.ProtoReflect.Descriptor instead. +func (*SetPrimaryDomainResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{13} +} + +func (x *SetPrimaryDomainResponse) GetDomain() *Domain { + if x != nil { + return x.Domain + } + return nil +} + +type GetDNSRecordsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDNSRecordsRequest) Reset() { + *x = GetDNSRecordsRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDNSRecordsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDNSRecordsRequest) ProtoMessage() {} + +func (x *GetDNSRecordsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDNSRecordsRequest.ProtoReflect.Descriptor instead. +func (*GetDNSRecordsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{14} +} + +func (x *GetDNSRecordsRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetDNSRecordsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + DnsRecords []*DNSRecord `protobuf:"bytes,1,rep,name=dns_records,json=dnsRecords,proto3" json:"dns_records,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDNSRecordsResponse) Reset() { + *x = GetDNSRecordsResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDNSRecordsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDNSRecordsResponse) ProtoMessage() {} + +func (x *GetDNSRecordsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDNSRecordsResponse.ProtoReflect.Descriptor instead. +func (*GetDNSRecordsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{15} +} + +func (x *GetDNSRecordsResponse) GetDnsRecords() []*DNSRecord { + if x != nil { + return x.DnsRecords + } + return nil +} + +type RequestSSLRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestSSLRequest) Reset() { + *x = RequestSSLRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestSSLRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestSSLRequest) ProtoMessage() {} + +func (x *RequestSSLRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestSSLRequest.ProtoReflect.Descriptor instead. +func (*RequestSSLRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{16} +} + +func (x *RequestSSLRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type RequestSSLResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain *Domain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestSSLResponse) Reset() { + *x = RequestSSLResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestSSLResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestSSLResponse) ProtoMessage() {} + +func (x *RequestSSLResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestSSLResponse.ProtoReflect.Descriptor instead. +func (*RequestSSLResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{17} +} + +func (x *RequestSSLResponse) GetDomain() *Domain { + if x != nil { + return x.Domain + } + return nil +} + +type RefreshSSLRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RefreshSSLRequest) Reset() { + *x = RefreshSSLRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RefreshSSLRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshSSLRequest) ProtoMessage() {} + +func (x *RefreshSSLRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshSSLRequest.ProtoReflect.Descriptor instead. +func (*RefreshSSLRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{18} +} + +func (x *RefreshSSLRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type RefreshSSLResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain *Domain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RefreshSSLResponse) Reset() { + *x = RefreshSSLResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RefreshSSLResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshSSLResponse) ProtoMessage() {} + +func (x *RefreshSSLResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshSSLResponse.ProtoReflect.Descriptor instead. +func (*RefreshSSLResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{19} +} + +func (x *RefreshSSLResponse) GetDomain() *Domain { + if x != nil { + return x.Domain + } + return nil +} + +// Summary of an instance for domain listing +type InstanceSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstanceSummary) Reset() { + *x = InstanceSummary{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstanceSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceSummary) ProtoMessage() {} + +func (x *InstanceSummary) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceSummary.ProtoReflect.Descriptor instead. +func (*InstanceSummary) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{20} +} + +func (x *InstanceSummary) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *InstanceSummary) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *InstanceSummary) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +// Domain with instance info for listing +type DomainWithInstance struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain *Domain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + Instance *InstanceSummary `protobuf:"bytes,2,opt,name=instance,proto3,oneof" json:"instance,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DomainWithInstance) Reset() { + *x = DomainWithInstance{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DomainWithInstance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DomainWithInstance) ProtoMessage() {} + +func (x *DomainWithInstance) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DomainWithInstance.ProtoReflect.Descriptor instead. +func (*DomainWithInstance) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{21} +} + +func (x *DomainWithInstance) GetDomain() *Domain { + if x != nil { + return x.Domain + } + return nil +} + +func (x *DomainWithInstance) GetInstance() *InstanceSummary { + if x != nil { + return x.Instance + } + return nil +} + +type ListAccountDomainsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Attached *bool `protobuf:"varint,1,opt,name=attached,proto3,oneof" json:"attached,omitempty"` // Filter: has instance attached + Verified *bool `protobuf:"varint,2,opt,name=verified,proto3,oneof" json:"verified,omitempty"` // Filter: is verified + Search string `protobuf:"bytes,3,opt,name=search,proto3" json:"search,omitempty"` // Search in domain name + Page int32 `protobuf:"varint,4,opt,name=page,proto3" json:"page,omitempty"` + PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + AccountId string `protobuf:"bytes,6,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAccountDomainsRequest) Reset() { + *x = ListAccountDomainsRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAccountDomainsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAccountDomainsRequest) ProtoMessage() {} + +func (x *ListAccountDomainsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAccountDomainsRequest.ProtoReflect.Descriptor instead. +func (*ListAccountDomainsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{22} +} + +func (x *ListAccountDomainsRequest) GetAttached() bool { + if x != nil && x.Attached != nil { + return *x.Attached + } + return false +} + +func (x *ListAccountDomainsRequest) GetVerified() bool { + if x != nil && x.Verified != nil { + return *x.Verified + } + return false +} + +func (x *ListAccountDomainsRequest) GetSearch() string { + if x != nil { + return x.Search + } + return "" +} + +func (x *ListAccountDomainsRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListAccountDomainsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListAccountDomainsRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type ListAccountDomainsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domains []*DomainWithInstance `protobuf:"bytes,1,rep,name=domains,proto3" json:"domains,omitempty"` + Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAccountDomainsResponse) Reset() { + *x = ListAccountDomainsResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAccountDomainsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAccountDomainsResponse) ProtoMessage() {} + +func (x *ListAccountDomainsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAccountDomainsResponse.ProtoReflect.Descriptor instead. +func (*ListAccountDomainsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{23} +} + +func (x *ListAccountDomainsResponse) GetDomains() []*DomainWithInstance { + if x != nil { + return x.Domains + } + return nil +} + +func (x *ListAccountDomainsResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type AttachDomainRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + DomainId string `protobuf:"bytes,1,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + SetAsPrimary bool `protobuf:"varint,3,opt,name=set_as_primary,json=setAsPrimary,proto3" json:"set_as_primary,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AttachDomainRequest) Reset() { + *x = AttachDomainRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AttachDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttachDomainRequest) ProtoMessage() {} + +func (x *AttachDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AttachDomainRequest.ProtoReflect.Descriptor instead. +func (*AttachDomainRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{24} +} + +func (x *AttachDomainRequest) GetDomainId() string { + if x != nil { + return x.DomainId + } + return "" +} + +func (x *AttachDomainRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *AttachDomainRequest) GetSetAsPrimary() bool { + if x != nil { + return x.SetAsPrimary + } + return false +} + +type AttachDomainResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain *Domain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AttachDomainResponse) Reset() { + *x = AttachDomainResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AttachDomainResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttachDomainResponse) ProtoMessage() {} + +func (x *AttachDomainResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AttachDomainResponse.ProtoReflect.Descriptor instead. +func (*AttachDomainResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{25} +} + +func (x *AttachDomainResponse) GetDomain() *Domain { + if x != nil { + return x.Domain + } + return nil +} + +type DetachDomainRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + DomainId string `protobuf:"bytes,1,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DetachDomainRequest) Reset() { + *x = DetachDomainRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DetachDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DetachDomainRequest) ProtoMessage() {} + +func (x *DetachDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DetachDomainRequest.ProtoReflect.Descriptor instead. +func (*DetachDomainRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{26} +} + +func (x *DetachDomainRequest) GetDomainId() string { + if x != nil { + return x.DomainId + } + return "" +} + +type DetachDomainResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain *Domain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DetachDomainResponse) Reset() { + *x = DetachDomainResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DetachDomainResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DetachDomainResponse) ProtoMessage() {} + +func (x *DetachDomainResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DetachDomainResponse.ProtoReflect.Descriptor instead. +func (*DetachDomainResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{27} +} + +func (x *DetachDomainResponse) GetDomain() *Domain { + if x != nil { + return x.Domain + } + return nil +} + +type UpdateDomainSettingsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + DomainId string `protobuf:"bytes,1,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + WwwRedirectPolicy *WwwRedirectPolicy `protobuf:"varint,2,opt,name=www_redirect_policy,json=wwwRedirectPolicy,proto3,enum=orchestrator.v1.WwwRedirectPolicy,oneof" json:"www_redirect_policy,omitempty"` + AutoRenew *bool `protobuf:"varint,3,opt,name=auto_renew,json=autoRenew,proto3,oneof" json:"auto_renew,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateDomainSettingsRequest) Reset() { + *x = UpdateDomainSettingsRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateDomainSettingsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateDomainSettingsRequest) ProtoMessage() {} + +func (x *UpdateDomainSettingsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateDomainSettingsRequest.ProtoReflect.Descriptor instead. +func (*UpdateDomainSettingsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{28} +} + +func (x *UpdateDomainSettingsRequest) GetDomainId() string { + if x != nil { + return x.DomainId + } + return "" +} + +func (x *UpdateDomainSettingsRequest) GetWwwRedirectPolicy() WwwRedirectPolicy { + if x != nil && x.WwwRedirectPolicy != nil { + return *x.WwwRedirectPolicy + } + return WwwRedirectPolicy_WWW_REDIRECT_POLICY_UNSPECIFIED +} + +func (x *UpdateDomainSettingsRequest) GetAutoRenew() bool { + if x != nil && x.AutoRenew != nil { + return *x.AutoRenew + } + return false +} + +type UpdateDomainSettingsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain *Domain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateDomainSettingsResponse) Reset() { + *x = UpdateDomainSettingsResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateDomainSettingsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateDomainSettingsResponse) ProtoMessage() {} + +func (x *UpdateDomainSettingsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateDomainSettingsResponse.ProtoReflect.Descriptor instead. +func (*UpdateDomainSettingsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{29} +} + +func (x *UpdateDomainSettingsResponse) GetDomain() *Domain { + if x != nil { + return x.Domain + } + return nil +} + +// Registrant contact info for WHOIS (required by Namecheap) +type RegistrantContact struct { + state protoimpl.MessageState `protogen:"open.v1"` + FirstName string `protobuf:"bytes,1,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,2,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` + Phone string `protobuf:"bytes,4,opt,name=phone,proto3" json:"phone,omitempty"` // Format: +1.5551234567 + Organization string `protobuf:"bytes,5,opt,name=organization,proto3" json:"organization,omitempty"` // Optional + Address1 string `protobuf:"bytes,6,opt,name=address1,proto3" json:"address1,omitempty"` + Address2 string `protobuf:"bytes,7,opt,name=address2,proto3" json:"address2,omitempty"` // Optional + City string `protobuf:"bytes,8,opt,name=city,proto3" json:"city,omitempty"` + StateProvince string `protobuf:"bytes,9,opt,name=state_province,json=stateProvince,proto3" json:"state_province,omitempty"` + PostalCode string `protobuf:"bytes,10,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` + Country string `protobuf:"bytes,11,opt,name=country,proto3" json:"country,omitempty"` // ISO 3166-1 alpha-2 (e.g., "US", "AU") + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegistrantContact) Reset() { + *x = RegistrantContact{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegistrantContact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegistrantContact) ProtoMessage() {} + +func (x *RegistrantContact) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegistrantContact.ProtoReflect.Descriptor instead. +func (*RegistrantContact) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{30} +} + +func (x *RegistrantContact) GetFirstName() string { + if x != nil { + return x.FirstName + } + return "" +} + +func (x *RegistrantContact) GetLastName() string { + if x != nil { + return x.LastName + } + return "" +} + +func (x *RegistrantContact) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *RegistrantContact) GetPhone() string { + if x != nil { + return x.Phone + } + return "" +} + +func (x *RegistrantContact) GetOrganization() string { + if x != nil { + return x.Organization + } + return "" +} + +func (x *RegistrantContact) GetAddress1() string { + if x != nil { + return x.Address1 + } + return "" +} + +func (x *RegistrantContact) GetAddress2() string { + if x != nil { + return x.Address2 + } + return "" +} + +func (x *RegistrantContact) GetCity() string { + if x != nil { + return x.City + } + return "" +} + +func (x *RegistrantContact) GetStateProvince() string { + if x != nil { + return x.StateProvince + } + return "" +} + +func (x *RegistrantContact) GetPostalCode() string { + if x != nil { + return x.PostalCode + } + return "" +} + +func (x *RegistrantContact) GetCountry() string { + if x != nil { + return x.Country + } + return "" +} + +type CheckDomainAvailabilityRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domains []string `protobuf:"bytes,1,rep,name=domains,proto3" json:"domains,omitempty"` // e.g., ["example.com", "example.net"] + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CheckDomainAvailabilityRequest) Reset() { + *x = CheckDomainAvailabilityRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CheckDomainAvailabilityRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckDomainAvailabilityRequest) ProtoMessage() {} + +func (x *CheckDomainAvailabilityRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckDomainAvailabilityRequest.ProtoReflect.Descriptor instead. +func (*CheckDomainAvailabilityRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{31} +} + +func (x *CheckDomainAvailabilityRequest) GetDomains() []string { + if x != nil { + return x.Domains + } + return nil +} + +type DomainAvailability struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + Available bool `protobuf:"varint,2,opt,name=available,proto3" json:"available,omitempty"` + Premium bool `protobuf:"varint,3,opt,name=premium,proto3" json:"premium,omitempty"` + Price string `protobuf:"bytes,4,opt,name=price,proto3" json:"price,omitempty"` // Formatted price string + Currency string `protobuf:"bytes,5,opt,name=currency,proto3" json:"currency,omitempty"` // e.g., "USD" + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DomainAvailability) Reset() { + *x = DomainAvailability{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DomainAvailability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DomainAvailability) ProtoMessage() {} + +func (x *DomainAvailability) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DomainAvailability.ProtoReflect.Descriptor instead. +func (*DomainAvailability) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{32} +} + +func (x *DomainAvailability) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *DomainAvailability) GetAvailable() bool { + if x != nil { + return x.Available + } + return false +} + +func (x *DomainAvailability) GetPremium() bool { + if x != nil { + return x.Premium + } + return false +} + +func (x *DomainAvailability) GetPrice() string { + if x != nil { + return x.Price + } + return "" +} + +func (x *DomainAvailability) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +type CheckDomainAvailabilityResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Results []*DomainAvailability `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CheckDomainAvailabilityResponse) Reset() { + *x = CheckDomainAvailabilityResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CheckDomainAvailabilityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckDomainAvailabilityResponse) ProtoMessage() {} + +func (x *CheckDomainAvailabilityResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckDomainAvailabilityResponse.ProtoReflect.Descriptor instead. +func (*CheckDomainAvailabilityResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{33} +} + +func (x *CheckDomainAvailabilityResponse) GetResults() []*DomainAvailability { + if x != nil { + return x.Results + } + return nil +} + +type PurchaseDomainRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + Years int32 `protobuf:"varint,2,opt,name=years,proto3" json:"years,omitempty"` // 1-10 + InstanceId *string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` // Attach immediately if provided + SetAsPrimary bool `protobuf:"varint,4,opt,name=set_as_primary,json=setAsPrimary,proto3" json:"set_as_primary,omitempty"` + AutoRenew bool `protobuf:"varint,5,opt,name=auto_renew,json=autoRenew,proto3" json:"auto_renew,omitempty"` + Registrant *RegistrantContact `protobuf:"bytes,6,opt,name=registrant,proto3" json:"registrant,omitempty"` // WHOIS contact info (required) + WhoisPrivacy bool `protobuf:"varint,7,opt,name=whois_privacy,json=whoisPrivacy,proto3" json:"whois_privacy,omitempty"` // Enable WHOIS privacy protection + SaveAsDefault bool `protobuf:"varint,8,opt,name=save_as_default,json=saveAsDefault,proto3" json:"save_as_default,omitempty"` // Save this contact as default for future purchases + IsPremium bool `protobuf:"varint,9,opt,name=is_premium,json=isPremium,proto3" json:"is_premium,omitempty"` // Premium domain flag (from availability check) + PremiumPrice string `protobuf:"bytes,10,opt,name=premium_price,json=premiumPrice,proto3" json:"premium_price,omitempty"` // Premium price (from availability check) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PurchaseDomainRequest) Reset() { + *x = PurchaseDomainRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PurchaseDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurchaseDomainRequest) ProtoMessage() {} + +func (x *PurchaseDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurchaseDomainRequest.ProtoReflect.Descriptor instead. +func (*PurchaseDomainRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{34} +} + +func (x *PurchaseDomainRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *PurchaseDomainRequest) GetYears() int32 { + if x != nil { + return x.Years + } + return 0 +} + +func (x *PurchaseDomainRequest) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +func (x *PurchaseDomainRequest) GetSetAsPrimary() bool { + if x != nil { + return x.SetAsPrimary + } + return false +} + +func (x *PurchaseDomainRequest) GetAutoRenew() bool { + if x != nil { + return x.AutoRenew + } + return false +} + +func (x *PurchaseDomainRequest) GetRegistrant() *RegistrantContact { + if x != nil { + return x.Registrant + } + return nil +} + +func (x *PurchaseDomainRequest) GetWhoisPrivacy() bool { + if x != nil { + return x.WhoisPrivacy + } + return false +} + +func (x *PurchaseDomainRequest) GetSaveAsDefault() bool { + if x != nil { + return x.SaveAsDefault + } + return false +} + +func (x *PurchaseDomainRequest) GetIsPremium() bool { + if x != nil { + return x.IsPremium + } + return false +} + +func (x *PurchaseDomainRequest) GetPremiumPrice() string { + if x != nil { + return x.PremiumPrice + } + return "" +} + +type PurchaseDomainResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain *Domain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + OrderId string `protobuf:"bytes,2,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"` + ChargedAmount string `protobuf:"bytes,3,opt,name=charged_amount,json=chargedAmount,proto3" json:"charged_amount,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PurchaseDomainResponse) Reset() { + *x = PurchaseDomainResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PurchaseDomainResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurchaseDomainResponse) ProtoMessage() {} + +func (x *PurchaseDomainResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurchaseDomainResponse.ProtoReflect.Descriptor instead. +func (*PurchaseDomainResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{35} +} + +func (x *PurchaseDomainResponse) GetDomain() *Domain { + if x != nil { + return x.Domain + } + return nil +} + +func (x *PurchaseDomainResponse) GetOrderId() string { + if x != nil { + return x.OrderId + } + return "" +} + +func (x *PurchaseDomainResponse) GetChargedAmount() string { + if x != nil { + return x.ChargedAmount + } + return "" +} + +type ConfigureDNSRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + DomainId string `protobuf:"bytes,1,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfigureDNSRequest) Reset() { + *x = ConfigureDNSRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfigureDNSRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigureDNSRequest) ProtoMessage() {} + +func (x *ConfigureDNSRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigureDNSRequest.ProtoReflect.Descriptor instead. +func (*ConfigureDNSRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{36} +} + +func (x *ConfigureDNSRequest) GetDomainId() string { + if x != nil { + return x.DomainId + } + return "" +} + +type ConfigureDNSResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + ConfiguredRecords []*DNSRecord `protobuf:"bytes,3,rep,name=configured_records,json=configuredRecords,proto3" json:"configured_records,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfigureDNSResponse) Reset() { + *x = ConfigureDNSResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfigureDNSResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigureDNSResponse) ProtoMessage() {} + +func (x *ConfigureDNSResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigureDNSResponse.ProtoReflect.Descriptor instead. +func (*ConfigureDNSResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{37} +} + +func (x *ConfigureDNSResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *ConfigureDNSResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *ConfigureDNSResponse) GetConfiguredRecords() []*DNSRecord { + if x != nil { + return x.ConfiguredRecords + } + return nil +} + +type GetDefaultRegistrantContactRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDefaultRegistrantContactRequest) Reset() { + *x = GetDefaultRegistrantContactRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDefaultRegistrantContactRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDefaultRegistrantContactRequest) ProtoMessage() {} + +func (x *GetDefaultRegistrantContactRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDefaultRegistrantContactRequest.ProtoReflect.Descriptor instead. +func (*GetDefaultRegistrantContactRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{38} +} + +func (x *GetDefaultRegistrantContactRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type GetDefaultRegistrantContactResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Contact *RegistrantContact `protobuf:"bytes,1,opt,name=contact,proto3,oneof" json:"contact,omitempty"` // null if none saved + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDefaultRegistrantContactResponse) Reset() { + *x = GetDefaultRegistrantContactResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDefaultRegistrantContactResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDefaultRegistrantContactResponse) ProtoMessage() {} + +func (x *GetDefaultRegistrantContactResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDefaultRegistrantContactResponse.ProtoReflect.Descriptor instead. +func (*GetDefaultRegistrantContactResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{39} +} + +func (x *GetDefaultRegistrantContactResponse) GetContact() *RegistrantContact { + if x != nil { + return x.Contact + } + return nil +} + +type SaveDefaultRegistrantContactRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Contact *RegistrantContact `protobuf:"bytes,1,opt,name=contact,proto3" json:"contact,omitempty"` + AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SaveDefaultRegistrantContactRequest) Reset() { + *x = SaveDefaultRegistrantContactRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SaveDefaultRegistrantContactRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SaveDefaultRegistrantContactRequest) ProtoMessage() {} + +func (x *SaveDefaultRegistrantContactRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SaveDefaultRegistrantContactRequest.ProtoReflect.Descriptor instead. +func (*SaveDefaultRegistrantContactRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{40} +} + +func (x *SaveDefaultRegistrantContactRequest) GetContact() *RegistrantContact { + if x != nil { + return x.Contact + } + return nil +} + +func (x *SaveDefaultRegistrantContactRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type SaveDefaultRegistrantContactResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Contact *RegistrantContact `protobuf:"bytes,1,opt,name=contact,proto3" json:"contact,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SaveDefaultRegistrantContactResponse) Reset() { + *x = SaveDefaultRegistrantContactResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SaveDefaultRegistrantContactResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SaveDefaultRegistrantContactResponse) ProtoMessage() {} + +func (x *SaveDefaultRegistrantContactResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SaveDefaultRegistrantContactResponse.ProtoReflect.Descriptor instead. +func (*SaveDefaultRegistrantContactResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{41} +} + +func (x *SaveDefaultRegistrantContactResponse) GetContact() *RegistrantContact { + if x != nil { + return x.Contact + } + return nil +} + +type GetDomainEventsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + DomainId string `protobuf:"bytes,1,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + Offset int32 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDomainEventsRequest) Reset() { + *x = GetDomainEventsRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDomainEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDomainEventsRequest) ProtoMessage() {} + +func (x *GetDomainEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDomainEventsRequest.ProtoReflect.Descriptor instead. +func (*GetDomainEventsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{42} +} + +func (x *GetDomainEventsRequest) GetDomainId() string { + if x != nil { + return x.DomainId + } + return "" +} + +func (x *GetDomainEventsRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *GetDomainEventsRequest) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +type DomainEvent struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + DomainId string `protobuf:"bytes,2,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + EventType string `protobuf:"bytes,3,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` + Metadata *structpb.Struct `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DomainEvent) Reset() { + *x = DomainEvent{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DomainEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DomainEvent) ProtoMessage() {} + +func (x *DomainEvent) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DomainEvent.ProtoReflect.Descriptor instead. +func (*DomainEvent) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{43} +} + +func (x *DomainEvent) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DomainEvent) GetDomainId() string { + if x != nil { + return x.DomainId + } + return "" +} + +func (x *DomainEvent) GetEventType() string { + if x != nil { + return x.EventType + } + return "" +} + +func (x *DomainEvent) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *DomainEvent) GetMetadata() *structpb.Struct { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *DomainEvent) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type GetDomainEventsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Events []*DomainEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` + Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDomainEventsResponse) Reset() { + *x = GetDomainEventsResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDomainEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDomainEventsResponse) ProtoMessage() {} + +func (x *GetDomainEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDomainEventsResponse.ProtoReflect.Descriptor instead. +func (*GetDomainEventsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{44} +} + +func (x *GetDomainEventsResponse) GetEvents() []*DomainEvent { + if x != nil { + return x.Events + } + return nil +} + +func (x *GetDomainEventsResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type RegistrarGuide struct { + state protoimpl.MessageState `protogen:"open.v1"` + Registrar string `protobuf:"bytes,1,opt,name=registrar,proto3" json:"registrar,omitempty"` + Steps []string `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegistrarGuide) Reset() { + *x = RegistrarGuide{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegistrarGuide) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegistrarGuide) ProtoMessage() {} + +func (x *RegistrarGuide) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegistrarGuide.ProtoReflect.Descriptor instead. +func (*RegistrarGuide) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{45} +} + +func (x *RegistrarGuide) GetRegistrar() string { + if x != nil { + return x.Registrar + } + return "" +} + +func (x *RegistrarGuide) GetSteps() []string { + if x != nil { + return x.Steps + } + return nil +} + +type GetDNSGuidanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + DomainId string `protobuf:"bytes,1,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDNSGuidanceRequest) Reset() { + *x = GetDNSGuidanceRequest{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDNSGuidanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDNSGuidanceRequest) ProtoMessage() {} + +func (x *GetDNSGuidanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDNSGuidanceRequest.ProtoReflect.Descriptor instead. +func (*GetDNSGuidanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{46} +} + +func (x *GetDNSGuidanceRequest) GetDomainId() string { + if x != nil { + return x.DomainId + } + return "" +} + +type GetDNSGuidanceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain *Domain `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + CurrentTarget string `protobuf:"bytes,2,opt,name=current_target,json=currentTarget,proto3" json:"current_target,omitempty"` + ExpectedTarget string `protobuf:"bytes,3,opt,name=expected_target,json=expectedTarget,proto3" json:"expected_target,omitempty"` + RequiredRecords []*DNSRecord `protobuf:"bytes,4,rep,name=required_records,json=requiredRecords,proto3" json:"required_records,omitempty"` + Guides []*RegistrarGuide `protobuf:"bytes,5,rep,name=guides,proto3" json:"guides,omitempty"` + EstimatedPropagation string `protobuf:"bytes,6,opt,name=estimated_propagation,json=estimatedPropagation,proto3" json:"estimated_propagation,omitempty"` + IsManaged bool `protobuf:"varint,7,opt,name=is_managed,json=isManaged,proto3" json:"is_managed,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDNSGuidanceResponse) Reset() { + *x = GetDNSGuidanceResponse{} + mi := &file_orchestrator_v1_domains_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDNSGuidanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDNSGuidanceResponse) ProtoMessage() {} + +func (x *GetDNSGuidanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_domains_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDNSGuidanceResponse.ProtoReflect.Descriptor instead. +func (*GetDNSGuidanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_domains_proto_rawDescGZIP(), []int{47} +} + +func (x *GetDNSGuidanceResponse) GetDomain() *Domain { + if x != nil { + return x.Domain + } + return nil +} + +func (x *GetDNSGuidanceResponse) GetCurrentTarget() string { + if x != nil { + return x.CurrentTarget + } + return "" +} + +func (x *GetDNSGuidanceResponse) GetExpectedTarget() string { + if x != nil { + return x.ExpectedTarget + } + return "" +} + +func (x *GetDNSGuidanceResponse) GetRequiredRecords() []*DNSRecord { + if x != nil { + return x.RequiredRecords + } + return nil +} + +func (x *GetDNSGuidanceResponse) GetGuides() []*RegistrarGuide { + if x != nil { + return x.Guides + } + return nil +} + +func (x *GetDNSGuidanceResponse) GetEstimatedPropagation() string { + if x != nil { + return x.EstimatedPropagation + } + return "" +} + +func (x *GetDNSGuidanceResponse) GetIsManaged() bool { + if x != nil { + return x.IsManaged + } + return false +} + +var File_orchestrator_v1_domains_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_domains_proto_rawDesc = "" + + "\n" + + "\x1dorchestrator/v1/domains.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xf1\n" + + "\n" + + "\x06Domain\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12$\n" + + "\vinstance_id\x18\x02 \x01(\tH\x00R\n" + + "instanceId\x88\x01\x01\x12\x16\n" + + "\x06domain\x18\x03 \x01(\tR\x06domain\x12\x1d\n" + + "\n" + + "is_primary\x18\x04 \x01(\bR\tisPrimary\x12!\n" + + "\fis_subdomain\x18\x05 \x01(\bR\visSubdomain\x129\n" + + "\n" + + "ssl_status\x18\x06 \x01(\x0e2\x1a.orchestrator.v1.SSLStatusR\tsslStatus\x12E\n" + + "\x0essl_expires_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampH\x01R\fsslExpiresAt\x88\x01\x01\x12@\n" + + "\vverified_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampH\x02R\n" + + "verifiedAt\x88\x01\x01\x122\n" + + "\x12verification_token\x18\t \x01(\tH\x03R\x11verificationToken\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1d\n" + + "\n" + + "account_id\x18\f \x01(\tR\taccountId\x12R\n" + + "\x13www_redirect_policy\x18\r \x01(\x0e2\".orchestrator.v1.WwwRedirectPolicyR\x11wwwRedirectPolicy\x125\n" + + "\x06source\x18\x0e \x01(\x0e2\x1d.orchestrator.v1.DomainSourceR\x06source\x123\n" + + "\x13namecheap_domain_id\x18\x0f \x01(\tH\x04R\x11namecheapDomainId\x88\x01\x01\x12\x1d\n" + + "\n" + + "auto_renew\x18\x10 \x01(\bR\tautoRenew\x12>\n" + + "\n" + + "expires_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampH\x05R\texpiresAt\x88\x01\x01\x129\n" + + "\n" + + "dns_status\x18\x12 \x01(\x0e2\x1a.orchestrator.v1.DNSStatusR\tdnsStatus\x12 \n" + + "\tdns_error\x18\x13 \x01(\tH\x06R\bdnsError\x88\x01\x01\x123\n" + + "\x13dns_expected_target\x18\x14 \x01(\tH\aR\x11dnsExpectedTarget\x88\x01\x01\x12/\n" + + "\x11dns_actual_target\x18\x15 \x01(\tH\bR\x0fdnsActualTarget\x88\x01\x01\x12I\n" + + "\x10dns_last_checked\x18\x16 \x01(\v2\x1a.google.protobuf.TimestampH\tR\x0ednsLastChecked\x88\x01\x01\x12G\n" + + "\x0fdns_stale_since\x18\x17 \x01(\v2\x1a.google.protobuf.TimestampH\n" + + "R\rdnsStaleSince\x88\x01\x01B\x0e\n" + + "\f_instance_idB\x11\n" + + "\x0f_ssl_expires_atB\x0e\n" + + "\f_verified_atB\x15\n" + + "\x13_verification_tokenB\x16\n" + + "\x14_namecheap_domain_idB\r\n" + + "\v_expires_atB\f\n" + + "\n" + + "_dns_errorB\x16\n" + + "\x14_dns_expected_targetB\x14\n" + + "\x12_dns_actual_targetB\x13\n" + + "\x11_dns_last_checkedB\x12\n" + + "\x10_dns_stale_since\"y\n" + + "\tDNSRecord\x12\x12\n" + + "\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x14\n" + + "\x05value\x18\x03 \x01(\tR\x05value\x12\x12\n" + + "\x04note\x18\x04 \x01(\tR\x04note\x12\x1a\n" + + "\bverified\x18\x05 \x01(\bR\bverified\"\x7f\n" + + "\x10AddDomainRequest\x12$\n" + + "\vinstance_id\x18\x01 \x01(\tH\x00R\n" + + "instanceId\x88\x01\x01\x12\x16\n" + + "\x06domain\x18\x02 \x01(\tR\x06domain\x12\x1d\n" + + "\n" + + "is_primary\x18\x03 \x01(\bR\tisPrimaryB\x0e\n" + + "\f_instance_id\"\x81\x01\n" + + "\x11AddDomainResponse\x12/\n" + + "\x06domain\x18\x01 \x01(\v2\x17.orchestrator.v1.DomainR\x06domain\x12;\n" + + "\vdns_records\x18\x02 \x03(\v2\x1a.orchestrator.v1.DNSRecordR\n" + + "dnsRecords\"%\n" + + "\x13RemoveDomainRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"\x16\n" + + "\x14RemoveDomainResponse\"5\n" + + "\x12ListDomainsRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"H\n" + + "\x13ListDomainsResponse\x121\n" + + "\adomains\x18\x01 \x03(\v2\x17.orchestrator.v1.DomainR\adomains\"\"\n" + + "\x10GetDomainRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"D\n" + + "\x11GetDomainResponse\x12/\n" + + "\x06domain\x18\x01 \x01(\v2\x17.orchestrator.v1.DomainR\x06domain\"%\n" + + "\x13VerifyDomainRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"\x9f\x01\n" + + "\x14VerifyDomainResponse\x12\x1a\n" + + "\bverified\x18\x01 \x01(\bR\bverified\x12/\n" + + "\x06domain\x18\x02 \x01(\v2\x17.orchestrator.v1.DomainR\x06domain\x12(\n" + + "\rerror_message\x18\x03 \x01(\tH\x00R\ferrorMessage\x88\x01\x01B\x10\n" + + "\x0e_error_message\")\n" + + "\x17SetPrimaryDomainRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"K\n" + + "\x18SetPrimaryDomainResponse\x12/\n" + + "\x06domain\x18\x01 \x01(\v2\x17.orchestrator.v1.DomainR\x06domain\"&\n" + + "\x14GetDNSRecordsRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"T\n" + + "\x15GetDNSRecordsResponse\x12;\n" + + "\vdns_records\x18\x01 \x03(\v2\x1a.orchestrator.v1.DNSRecordR\n" + + "dnsRecords\"#\n" + + "\x11RequestSSLRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"E\n" + + "\x12RequestSSLResponse\x12/\n" + + "\x06domain\x18\x01 \x01(\v2\x17.orchestrator.v1.DomainR\x06domain\"#\n" + + "\x11RefreshSSLRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"E\n" + + "\x12RefreshSSLResponse\x12/\n" + + "\x06domain\x18\x01 \x01(\v2\x17.orchestrator.v1.DomainR\x06domain\"I\n" + + "\x0fInstanceSummary\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" + + "\x04slug\x18\x03 \x01(\tR\x04slug\"\x95\x01\n" + + "\x12DomainWithInstance\x12/\n" + + "\x06domain\x18\x01 \x01(\v2\x17.orchestrator.v1.DomainR\x06domain\x12A\n" + + "\binstance\x18\x02 \x01(\v2 .orchestrator.v1.InstanceSummaryH\x00R\binstance\x88\x01\x01B\v\n" + + "\t_instance\"\xdf\x01\n" + + "\x19ListAccountDomainsRequest\x12\x1f\n" + + "\battached\x18\x01 \x01(\bH\x00R\battached\x88\x01\x01\x12\x1f\n" + + "\bverified\x18\x02 \x01(\bH\x01R\bverified\x88\x01\x01\x12\x16\n" + + "\x06search\x18\x03 \x01(\tR\x06search\x12\x12\n" + + "\x04page\x18\x04 \x01(\x05R\x04page\x12\x1b\n" + + "\tpage_size\x18\x05 \x01(\x05R\bpageSize\x12\x1d\n" + + "\n" + + "account_id\x18\x06 \x01(\tR\taccountIdB\v\n" + + "\t_attachedB\v\n" + + "\t_verified\"q\n" + + "\x1aListAccountDomainsResponse\x12=\n" + + "\adomains\x18\x01 \x03(\v2#.orchestrator.v1.DomainWithInstanceR\adomains\x12\x14\n" + + "\x05total\x18\x02 \x01(\x05R\x05total\"y\n" + + "\x13AttachDomainRequest\x12\x1b\n" + + "\tdomain_id\x18\x01 \x01(\tR\bdomainId\x12\x1f\n" + + "\vinstance_id\x18\x02 \x01(\tR\n" + + "instanceId\x12$\n" + + "\x0eset_as_primary\x18\x03 \x01(\bR\fsetAsPrimary\"G\n" + + "\x14AttachDomainResponse\x12/\n" + + "\x06domain\x18\x01 \x01(\v2\x17.orchestrator.v1.DomainR\x06domain\"2\n" + + "\x13DetachDomainRequest\x12\x1b\n" + + "\tdomain_id\x18\x01 \x01(\tR\bdomainId\"G\n" + + "\x14DetachDomainResponse\x12/\n" + + "\x06domain\x18\x01 \x01(\v2\x17.orchestrator.v1.DomainR\x06domain\"\xde\x01\n" + + "\x1bUpdateDomainSettingsRequest\x12\x1b\n" + + "\tdomain_id\x18\x01 \x01(\tR\bdomainId\x12W\n" + + "\x13www_redirect_policy\x18\x02 \x01(\x0e2\".orchestrator.v1.WwwRedirectPolicyH\x00R\x11wwwRedirectPolicy\x88\x01\x01\x12\"\n" + + "\n" + + "auto_renew\x18\x03 \x01(\bH\x01R\tautoRenew\x88\x01\x01B\x16\n" + + "\x14_www_redirect_policyB\r\n" + + "\v_auto_renew\"O\n" + + "\x1cUpdateDomainSettingsResponse\x12/\n" + + "\x06domain\x18\x01 \x01(\v2\x17.orchestrator.v1.DomainR\x06domain\"\xcd\x02\n" + + "\x11RegistrantContact\x12\x1d\n" + + "\n" + + "first_name\x18\x01 \x01(\tR\tfirstName\x12\x1b\n" + + "\tlast_name\x18\x02 \x01(\tR\blastName\x12\x14\n" + + "\x05email\x18\x03 \x01(\tR\x05email\x12\x14\n" + + "\x05phone\x18\x04 \x01(\tR\x05phone\x12\"\n" + + "\forganization\x18\x05 \x01(\tR\forganization\x12\x1a\n" + + "\baddress1\x18\x06 \x01(\tR\baddress1\x12\x1a\n" + + "\baddress2\x18\a \x01(\tR\baddress2\x12\x12\n" + + "\x04city\x18\b \x01(\tR\x04city\x12%\n" + + "\x0estate_province\x18\t \x01(\tR\rstateProvince\x12\x1f\n" + + "\vpostal_code\x18\n" + + " \x01(\tR\n" + + "postalCode\x12\x18\n" + + "\acountry\x18\v \x01(\tR\acountry\":\n" + + "\x1eCheckDomainAvailabilityRequest\x12\x18\n" + + "\adomains\x18\x01 \x03(\tR\adomains\"\x96\x01\n" + + "\x12DomainAvailability\x12\x16\n" + + "\x06domain\x18\x01 \x01(\tR\x06domain\x12\x1c\n" + + "\tavailable\x18\x02 \x01(\bR\tavailable\x12\x18\n" + + "\apremium\x18\x03 \x01(\bR\apremium\x12\x14\n" + + "\x05price\x18\x04 \x01(\tR\x05price\x12\x1a\n" + + "\bcurrency\x18\x05 \x01(\tR\bcurrency\"`\n" + + "\x1fCheckDomainAvailabilityResponse\x12=\n" + + "\aresults\x18\x01 \x03(\v2#.orchestrator.v1.DomainAvailabilityR\aresults\"\x95\x03\n" + + "\x15PurchaseDomainRequest\x12\x16\n" + + "\x06domain\x18\x01 \x01(\tR\x06domain\x12\x14\n" + + "\x05years\x18\x02 \x01(\x05R\x05years\x12$\n" + + "\vinstance_id\x18\x03 \x01(\tH\x00R\n" + + "instanceId\x88\x01\x01\x12$\n" + + "\x0eset_as_primary\x18\x04 \x01(\bR\fsetAsPrimary\x12\x1d\n" + + "\n" + + "auto_renew\x18\x05 \x01(\bR\tautoRenew\x12B\n" + + "\n" + + "registrant\x18\x06 \x01(\v2\".orchestrator.v1.RegistrantContactR\n" + + "registrant\x12#\n" + + "\rwhois_privacy\x18\a \x01(\bR\fwhoisPrivacy\x12&\n" + + "\x0fsave_as_default\x18\b \x01(\bR\rsaveAsDefault\x12\x1d\n" + + "\n" + + "is_premium\x18\t \x01(\bR\tisPremium\x12#\n" + + "\rpremium_price\x18\n" + + " \x01(\tR\fpremiumPriceB\x0e\n" + + "\f_instance_id\"\x8b\x01\n" + + "\x16PurchaseDomainResponse\x12/\n" + + "\x06domain\x18\x01 \x01(\v2\x17.orchestrator.v1.DomainR\x06domain\x12\x19\n" + + "\border_id\x18\x02 \x01(\tR\aorderId\x12%\n" + + "\x0echarged_amount\x18\x03 \x01(\tR\rchargedAmount\"2\n" + + "\x13ConfigureDNSRequest\x12\x1b\n" + + "\tdomain_id\x18\x01 \x01(\tR\bdomainId\"\x95\x01\n" + + "\x14ConfigureDNSResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x12I\n" + + "\x12configured_records\x18\x03 \x03(\v2\x1a.orchestrator.v1.DNSRecordR\x11configuredRecords\"C\n" + + "\"GetDefaultRegistrantContactRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"t\n" + + "#GetDefaultRegistrantContactResponse\x12A\n" + + "\acontact\x18\x01 \x01(\v2\".orchestrator.v1.RegistrantContactH\x00R\acontact\x88\x01\x01B\n" + + "\n" + + "\b_contact\"\x82\x01\n" + + "#SaveDefaultRegistrantContactRequest\x12<\n" + + "\acontact\x18\x01 \x01(\v2\".orchestrator.v1.RegistrantContactR\acontact\x12\x1d\n" + + "\n" + + "account_id\x18\x02 \x01(\tR\taccountId\"d\n" + + "$SaveDefaultRegistrantContactResponse\x12<\n" + + "\acontact\x18\x01 \x01(\v2\".orchestrator.v1.RegistrantContactR\acontact\"c\n" + + "\x16GetDomainEventsRequest\x12\x1b\n" + + "\tdomain_id\x18\x01 \x01(\tR\bdomainId\x12\x14\n" + + "\x05limit\x18\x02 \x01(\x05R\x05limit\x12\x16\n" + + "\x06offset\x18\x03 \x01(\x05R\x06offset\"\xe3\x01\n" + + "\vDomainEvent\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" + + "\tdomain_id\x18\x02 \x01(\tR\bdomainId\x12\x1d\n" + + "\n" + + "event_type\x18\x03 \x01(\tR\teventType\x12\x18\n" + + "\amessage\x18\x04 \x01(\tR\amessage\x123\n" + + "\bmetadata\x18\x05 \x01(\v2\x17.google.protobuf.StructR\bmetadata\x129\n" + + "\n" + + "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\"e\n" + + "\x17GetDomainEventsResponse\x124\n" + + "\x06events\x18\x01 \x03(\v2\x1c.orchestrator.v1.DomainEventR\x06events\x12\x14\n" + + "\x05total\x18\x02 \x01(\x05R\x05total\"D\n" + + "\x0eRegistrarGuide\x12\x1c\n" + + "\tregistrar\x18\x01 \x01(\tR\tregistrar\x12\x14\n" + + "\x05steps\x18\x02 \x03(\tR\x05steps\"4\n" + + "\x15GetDNSGuidanceRequest\x12\x1b\n" + + "\tdomain_id\x18\x01 \x01(\tR\bdomainId\"\xed\x02\n" + + "\x16GetDNSGuidanceResponse\x12/\n" + + "\x06domain\x18\x01 \x01(\v2\x17.orchestrator.v1.DomainR\x06domain\x12%\n" + + "\x0ecurrent_target\x18\x02 \x01(\tR\rcurrentTarget\x12'\n" + + "\x0fexpected_target\x18\x03 \x01(\tR\x0eexpectedTarget\x12E\n" + + "\x10required_records\x18\x04 \x03(\v2\x1a.orchestrator.v1.DNSRecordR\x0frequiredRecords\x127\n" + + "\x06guides\x18\x05 \x03(\v2\x1f.orchestrator.v1.RegistrarGuideR\x06guides\x123\n" + + "\x15estimated_propagation\x18\x06 \x01(\tR\x14estimatedPropagation\x12\x1d\n" + + "\n" + + "is_managed\x18\a \x01(\bR\tisManaged*\x9f\x01\n" + + "\tSSLStatus\x12\x1a\n" + + "\x16SSL_STATUS_UNSPECIFIED\x10\x00\x12\x16\n" + + "\x12SSL_STATUS_PENDING\x10\x01\x12\x19\n" + + "\x15SSL_STATUS_VALIDATING\x10\x02\x12\x15\n" + + "\x11SSL_STATUS_ISSUED\x10\x03\x12\x16\n" + + "\x12SSL_STATUS_EXPIRED\x10\x04\x12\x14\n" + + "\x10SSL_STATUS_ERROR\x10\x05*\xa0\x01\n" + + "\x11WwwRedirectPolicy\x12#\n" + + "\x1fWWW_REDIRECT_POLICY_UNSPECIFIED\x10\x00\x12#\n" + + "\x1fWWW_REDIRECT_POLICY_WWW_TO_APEX\x10\x01\x12#\n" + + "\x1fWWW_REDIRECT_POLICY_APEX_TO_WWW\x10\x02\x12\x1c\n" + + "\x18WWW_REDIRECT_POLICY_NONE\x10\x03*f\n" + + "\fDomainSource\x12\x1d\n" + + "\x19DOMAIN_SOURCE_UNSPECIFIED\x10\x00\x12\x1a\n" + + "\x16DOMAIN_SOURCE_EXTERNAL\x10\x01\x12\x1b\n" + + "\x17DOMAIN_SOURCE_NAMECHEAP\x10\x02*\xa2\x01\n" + + "\tDNSStatus\x12\x1a\n" + + "\x16DNS_STATUS_UNSPECIFIED\x10\x00\x12\x16\n" + + "\x12DNS_STATUS_PENDING\x10\x01\x12\x1a\n" + + "\x16DNS_STATUS_PROPAGATING\x10\x02\x12\x19\n" + + "\x15DNS_STATUS_CONFIGURED\x10\x03\x12\x14\n" + + "\x10DNS_STATUS_ERROR\x10\x04\x12\x14\n" + + "\x10DNS_STATUS_STALE\x10\x052\x80\x10\n" + + "\rDomainService\x12R\n" + + "\tAddDomain\x12!.orchestrator.v1.AddDomainRequest\x1a\".orchestrator.v1.AddDomainResponse\x12[\n" + + "\fRemoveDomain\x12$.orchestrator.v1.RemoveDomainRequest\x1a%.orchestrator.v1.RemoveDomainResponse\x12X\n" + + "\vListDomains\x12#.orchestrator.v1.ListDomainsRequest\x1a$.orchestrator.v1.ListDomainsResponse\x12R\n" + + "\tGetDomain\x12!.orchestrator.v1.GetDomainRequest\x1a\".orchestrator.v1.GetDomainResponse\x12[\n" + + "\fVerifyDomain\x12$.orchestrator.v1.VerifyDomainRequest\x1a%.orchestrator.v1.VerifyDomainResponse\x12g\n" + + "\x10SetPrimaryDomain\x12(.orchestrator.v1.SetPrimaryDomainRequest\x1a).orchestrator.v1.SetPrimaryDomainResponse\x12^\n" + + "\rGetDNSRecords\x12%.orchestrator.v1.GetDNSRecordsRequest\x1a&.orchestrator.v1.GetDNSRecordsResponse\x12U\n" + + "\n" + + "RequestSSL\x12\".orchestrator.v1.RequestSSLRequest\x1a#.orchestrator.v1.RequestSSLResponse\x12U\n" + + "\n" + + "RefreshSSL\x12\".orchestrator.v1.RefreshSSLRequest\x1a#.orchestrator.v1.RefreshSSLResponse\x12m\n" + + "\x12ListAccountDomains\x12*.orchestrator.v1.ListAccountDomainsRequest\x1a+.orchestrator.v1.ListAccountDomainsResponse\x12[\n" + + "\fAttachDomain\x12$.orchestrator.v1.AttachDomainRequest\x1a%.orchestrator.v1.AttachDomainResponse\x12[\n" + + "\fDetachDomain\x12$.orchestrator.v1.DetachDomainRequest\x1a%.orchestrator.v1.DetachDomainResponse\x12s\n" + + "\x14UpdateDomainSettings\x12,.orchestrator.v1.UpdateDomainSettingsRequest\x1a-.orchestrator.v1.UpdateDomainSettingsResponse\x12|\n" + + "\x17CheckDomainAvailability\x12/.orchestrator.v1.CheckDomainAvailabilityRequest\x1a0.orchestrator.v1.CheckDomainAvailabilityResponse\x12a\n" + + "\x0ePurchaseDomain\x12&.orchestrator.v1.PurchaseDomainRequest\x1a'.orchestrator.v1.PurchaseDomainResponse\x12[\n" + + "\fConfigureDNS\x12$.orchestrator.v1.ConfigureDNSRequest\x1a%.orchestrator.v1.ConfigureDNSResponse\x12\x88\x01\n" + + "\x1bGetDefaultRegistrantContact\x123.orchestrator.v1.GetDefaultRegistrantContactRequest\x1a4.orchestrator.v1.GetDefaultRegistrantContactResponse\x12\x8b\x01\n" + + "\x1cSaveDefaultRegistrantContact\x124.orchestrator.v1.SaveDefaultRegistrantContactRequest\x1a5.orchestrator.v1.SaveDefaultRegistrantContactResponse\x12d\n" + + "\x0fGetDomainEvents\x12'.orchestrator.v1.GetDomainEventsRequest\x1a(.orchestrator.v1.GetDomainEventsResponse\x12a\n" + + "\x0eGetDNSGuidance\x12&.orchestrator.v1.GetDNSGuidanceRequest\x1a'.orchestrator.v1.GetDNSGuidanceResponseB\xcf\x01\n" + + "\x13com.orchestrator.v1B\fDomainsProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_domains_proto_rawDescOnce sync.Once + file_orchestrator_v1_domains_proto_rawDescData []byte +) + +func file_orchestrator_v1_domains_proto_rawDescGZIP() []byte { + file_orchestrator_v1_domains_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_domains_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_domains_proto_rawDesc), len(file_orchestrator_v1_domains_proto_rawDesc))) + }) + return file_orchestrator_v1_domains_proto_rawDescData +} + +var file_orchestrator_v1_domains_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_orchestrator_v1_domains_proto_msgTypes = make([]protoimpl.MessageInfo, 48) +var file_orchestrator_v1_domains_proto_goTypes = []any{ + (SSLStatus)(0), // 0: orchestrator.v1.SSLStatus + (WwwRedirectPolicy)(0), // 1: orchestrator.v1.WwwRedirectPolicy + (DomainSource)(0), // 2: orchestrator.v1.DomainSource + (DNSStatus)(0), // 3: orchestrator.v1.DNSStatus + (*Domain)(nil), // 4: orchestrator.v1.Domain + (*DNSRecord)(nil), // 5: orchestrator.v1.DNSRecord + (*AddDomainRequest)(nil), // 6: orchestrator.v1.AddDomainRequest + (*AddDomainResponse)(nil), // 7: orchestrator.v1.AddDomainResponse + (*RemoveDomainRequest)(nil), // 8: orchestrator.v1.RemoveDomainRequest + (*RemoveDomainResponse)(nil), // 9: orchestrator.v1.RemoveDomainResponse + (*ListDomainsRequest)(nil), // 10: orchestrator.v1.ListDomainsRequest + (*ListDomainsResponse)(nil), // 11: orchestrator.v1.ListDomainsResponse + (*GetDomainRequest)(nil), // 12: orchestrator.v1.GetDomainRequest + (*GetDomainResponse)(nil), // 13: orchestrator.v1.GetDomainResponse + (*VerifyDomainRequest)(nil), // 14: orchestrator.v1.VerifyDomainRequest + (*VerifyDomainResponse)(nil), // 15: orchestrator.v1.VerifyDomainResponse + (*SetPrimaryDomainRequest)(nil), // 16: orchestrator.v1.SetPrimaryDomainRequest + (*SetPrimaryDomainResponse)(nil), // 17: orchestrator.v1.SetPrimaryDomainResponse + (*GetDNSRecordsRequest)(nil), // 18: orchestrator.v1.GetDNSRecordsRequest + (*GetDNSRecordsResponse)(nil), // 19: orchestrator.v1.GetDNSRecordsResponse + (*RequestSSLRequest)(nil), // 20: orchestrator.v1.RequestSSLRequest + (*RequestSSLResponse)(nil), // 21: orchestrator.v1.RequestSSLResponse + (*RefreshSSLRequest)(nil), // 22: orchestrator.v1.RefreshSSLRequest + (*RefreshSSLResponse)(nil), // 23: orchestrator.v1.RefreshSSLResponse + (*InstanceSummary)(nil), // 24: orchestrator.v1.InstanceSummary + (*DomainWithInstance)(nil), // 25: orchestrator.v1.DomainWithInstance + (*ListAccountDomainsRequest)(nil), // 26: orchestrator.v1.ListAccountDomainsRequest + (*ListAccountDomainsResponse)(nil), // 27: orchestrator.v1.ListAccountDomainsResponse + (*AttachDomainRequest)(nil), // 28: orchestrator.v1.AttachDomainRequest + (*AttachDomainResponse)(nil), // 29: orchestrator.v1.AttachDomainResponse + (*DetachDomainRequest)(nil), // 30: orchestrator.v1.DetachDomainRequest + (*DetachDomainResponse)(nil), // 31: orchestrator.v1.DetachDomainResponse + (*UpdateDomainSettingsRequest)(nil), // 32: orchestrator.v1.UpdateDomainSettingsRequest + (*UpdateDomainSettingsResponse)(nil), // 33: orchestrator.v1.UpdateDomainSettingsResponse + (*RegistrantContact)(nil), // 34: orchestrator.v1.RegistrantContact + (*CheckDomainAvailabilityRequest)(nil), // 35: orchestrator.v1.CheckDomainAvailabilityRequest + (*DomainAvailability)(nil), // 36: orchestrator.v1.DomainAvailability + (*CheckDomainAvailabilityResponse)(nil), // 37: orchestrator.v1.CheckDomainAvailabilityResponse + (*PurchaseDomainRequest)(nil), // 38: orchestrator.v1.PurchaseDomainRequest + (*PurchaseDomainResponse)(nil), // 39: orchestrator.v1.PurchaseDomainResponse + (*ConfigureDNSRequest)(nil), // 40: orchestrator.v1.ConfigureDNSRequest + (*ConfigureDNSResponse)(nil), // 41: orchestrator.v1.ConfigureDNSResponse + (*GetDefaultRegistrantContactRequest)(nil), // 42: orchestrator.v1.GetDefaultRegistrantContactRequest + (*GetDefaultRegistrantContactResponse)(nil), // 43: orchestrator.v1.GetDefaultRegistrantContactResponse + (*SaveDefaultRegistrantContactRequest)(nil), // 44: orchestrator.v1.SaveDefaultRegistrantContactRequest + (*SaveDefaultRegistrantContactResponse)(nil), // 45: orchestrator.v1.SaveDefaultRegistrantContactResponse + (*GetDomainEventsRequest)(nil), // 46: orchestrator.v1.GetDomainEventsRequest + (*DomainEvent)(nil), // 47: orchestrator.v1.DomainEvent + (*GetDomainEventsResponse)(nil), // 48: orchestrator.v1.GetDomainEventsResponse + (*RegistrarGuide)(nil), // 49: orchestrator.v1.RegistrarGuide + (*GetDNSGuidanceRequest)(nil), // 50: orchestrator.v1.GetDNSGuidanceRequest + (*GetDNSGuidanceResponse)(nil), // 51: orchestrator.v1.GetDNSGuidanceResponse + (*timestamppb.Timestamp)(nil), // 52: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 53: google.protobuf.Struct +} +var file_orchestrator_v1_domains_proto_depIdxs = []int32{ + 0, // 0: orchestrator.v1.Domain.ssl_status:type_name -> orchestrator.v1.SSLStatus + 52, // 1: orchestrator.v1.Domain.ssl_expires_at:type_name -> google.protobuf.Timestamp + 52, // 2: orchestrator.v1.Domain.verified_at:type_name -> google.protobuf.Timestamp + 52, // 3: orchestrator.v1.Domain.created_at:type_name -> google.protobuf.Timestamp + 52, // 4: orchestrator.v1.Domain.updated_at:type_name -> google.protobuf.Timestamp + 1, // 5: orchestrator.v1.Domain.www_redirect_policy:type_name -> orchestrator.v1.WwwRedirectPolicy + 2, // 6: orchestrator.v1.Domain.source:type_name -> orchestrator.v1.DomainSource + 52, // 7: orchestrator.v1.Domain.expires_at:type_name -> google.protobuf.Timestamp + 3, // 8: orchestrator.v1.Domain.dns_status:type_name -> orchestrator.v1.DNSStatus + 52, // 9: orchestrator.v1.Domain.dns_last_checked:type_name -> google.protobuf.Timestamp + 52, // 10: orchestrator.v1.Domain.dns_stale_since:type_name -> google.protobuf.Timestamp + 4, // 11: orchestrator.v1.AddDomainResponse.domain:type_name -> orchestrator.v1.Domain + 5, // 12: orchestrator.v1.AddDomainResponse.dns_records:type_name -> orchestrator.v1.DNSRecord + 4, // 13: orchestrator.v1.ListDomainsResponse.domains:type_name -> orchestrator.v1.Domain + 4, // 14: orchestrator.v1.GetDomainResponse.domain:type_name -> orchestrator.v1.Domain + 4, // 15: orchestrator.v1.VerifyDomainResponse.domain:type_name -> orchestrator.v1.Domain + 4, // 16: orchestrator.v1.SetPrimaryDomainResponse.domain:type_name -> orchestrator.v1.Domain + 5, // 17: orchestrator.v1.GetDNSRecordsResponse.dns_records:type_name -> orchestrator.v1.DNSRecord + 4, // 18: orchestrator.v1.RequestSSLResponse.domain:type_name -> orchestrator.v1.Domain + 4, // 19: orchestrator.v1.RefreshSSLResponse.domain:type_name -> orchestrator.v1.Domain + 4, // 20: orchestrator.v1.DomainWithInstance.domain:type_name -> orchestrator.v1.Domain + 24, // 21: orchestrator.v1.DomainWithInstance.instance:type_name -> orchestrator.v1.InstanceSummary + 25, // 22: orchestrator.v1.ListAccountDomainsResponse.domains:type_name -> orchestrator.v1.DomainWithInstance + 4, // 23: orchestrator.v1.AttachDomainResponse.domain:type_name -> orchestrator.v1.Domain + 4, // 24: orchestrator.v1.DetachDomainResponse.domain:type_name -> orchestrator.v1.Domain + 1, // 25: orchestrator.v1.UpdateDomainSettingsRequest.www_redirect_policy:type_name -> orchestrator.v1.WwwRedirectPolicy + 4, // 26: orchestrator.v1.UpdateDomainSettingsResponse.domain:type_name -> orchestrator.v1.Domain + 36, // 27: orchestrator.v1.CheckDomainAvailabilityResponse.results:type_name -> orchestrator.v1.DomainAvailability + 34, // 28: orchestrator.v1.PurchaseDomainRequest.registrant:type_name -> orchestrator.v1.RegistrantContact + 4, // 29: orchestrator.v1.PurchaseDomainResponse.domain:type_name -> orchestrator.v1.Domain + 5, // 30: orchestrator.v1.ConfigureDNSResponse.configured_records:type_name -> orchestrator.v1.DNSRecord + 34, // 31: orchestrator.v1.GetDefaultRegistrantContactResponse.contact:type_name -> orchestrator.v1.RegistrantContact + 34, // 32: orchestrator.v1.SaveDefaultRegistrantContactRequest.contact:type_name -> orchestrator.v1.RegistrantContact + 34, // 33: orchestrator.v1.SaveDefaultRegistrantContactResponse.contact:type_name -> orchestrator.v1.RegistrantContact + 53, // 34: orchestrator.v1.DomainEvent.metadata:type_name -> google.protobuf.Struct + 52, // 35: orchestrator.v1.DomainEvent.created_at:type_name -> google.protobuf.Timestamp + 47, // 36: orchestrator.v1.GetDomainEventsResponse.events:type_name -> orchestrator.v1.DomainEvent + 4, // 37: orchestrator.v1.GetDNSGuidanceResponse.domain:type_name -> orchestrator.v1.Domain + 5, // 38: orchestrator.v1.GetDNSGuidanceResponse.required_records:type_name -> orchestrator.v1.DNSRecord + 49, // 39: orchestrator.v1.GetDNSGuidanceResponse.guides:type_name -> orchestrator.v1.RegistrarGuide + 6, // 40: orchestrator.v1.DomainService.AddDomain:input_type -> orchestrator.v1.AddDomainRequest + 8, // 41: orchestrator.v1.DomainService.RemoveDomain:input_type -> orchestrator.v1.RemoveDomainRequest + 10, // 42: orchestrator.v1.DomainService.ListDomains:input_type -> orchestrator.v1.ListDomainsRequest + 12, // 43: orchestrator.v1.DomainService.GetDomain:input_type -> orchestrator.v1.GetDomainRequest + 14, // 44: orchestrator.v1.DomainService.VerifyDomain:input_type -> orchestrator.v1.VerifyDomainRequest + 16, // 45: orchestrator.v1.DomainService.SetPrimaryDomain:input_type -> orchestrator.v1.SetPrimaryDomainRequest + 18, // 46: orchestrator.v1.DomainService.GetDNSRecords:input_type -> orchestrator.v1.GetDNSRecordsRequest + 20, // 47: orchestrator.v1.DomainService.RequestSSL:input_type -> orchestrator.v1.RequestSSLRequest + 22, // 48: orchestrator.v1.DomainService.RefreshSSL:input_type -> orchestrator.v1.RefreshSSLRequest + 26, // 49: orchestrator.v1.DomainService.ListAccountDomains:input_type -> orchestrator.v1.ListAccountDomainsRequest + 28, // 50: orchestrator.v1.DomainService.AttachDomain:input_type -> orchestrator.v1.AttachDomainRequest + 30, // 51: orchestrator.v1.DomainService.DetachDomain:input_type -> orchestrator.v1.DetachDomainRequest + 32, // 52: orchestrator.v1.DomainService.UpdateDomainSettings:input_type -> orchestrator.v1.UpdateDomainSettingsRequest + 35, // 53: orchestrator.v1.DomainService.CheckDomainAvailability:input_type -> orchestrator.v1.CheckDomainAvailabilityRequest + 38, // 54: orchestrator.v1.DomainService.PurchaseDomain:input_type -> orchestrator.v1.PurchaseDomainRequest + 40, // 55: orchestrator.v1.DomainService.ConfigureDNS:input_type -> orchestrator.v1.ConfigureDNSRequest + 42, // 56: orchestrator.v1.DomainService.GetDefaultRegistrantContact:input_type -> orchestrator.v1.GetDefaultRegistrantContactRequest + 44, // 57: orchestrator.v1.DomainService.SaveDefaultRegistrantContact:input_type -> orchestrator.v1.SaveDefaultRegistrantContactRequest + 46, // 58: orchestrator.v1.DomainService.GetDomainEvents:input_type -> orchestrator.v1.GetDomainEventsRequest + 50, // 59: orchestrator.v1.DomainService.GetDNSGuidance:input_type -> orchestrator.v1.GetDNSGuidanceRequest + 7, // 60: orchestrator.v1.DomainService.AddDomain:output_type -> orchestrator.v1.AddDomainResponse + 9, // 61: orchestrator.v1.DomainService.RemoveDomain:output_type -> orchestrator.v1.RemoveDomainResponse + 11, // 62: orchestrator.v1.DomainService.ListDomains:output_type -> orchestrator.v1.ListDomainsResponse + 13, // 63: orchestrator.v1.DomainService.GetDomain:output_type -> orchestrator.v1.GetDomainResponse + 15, // 64: orchestrator.v1.DomainService.VerifyDomain:output_type -> orchestrator.v1.VerifyDomainResponse + 17, // 65: orchestrator.v1.DomainService.SetPrimaryDomain:output_type -> orchestrator.v1.SetPrimaryDomainResponse + 19, // 66: orchestrator.v1.DomainService.GetDNSRecords:output_type -> orchestrator.v1.GetDNSRecordsResponse + 21, // 67: orchestrator.v1.DomainService.RequestSSL:output_type -> orchestrator.v1.RequestSSLResponse + 23, // 68: orchestrator.v1.DomainService.RefreshSSL:output_type -> orchestrator.v1.RefreshSSLResponse + 27, // 69: orchestrator.v1.DomainService.ListAccountDomains:output_type -> orchestrator.v1.ListAccountDomainsResponse + 29, // 70: orchestrator.v1.DomainService.AttachDomain:output_type -> orchestrator.v1.AttachDomainResponse + 31, // 71: orchestrator.v1.DomainService.DetachDomain:output_type -> orchestrator.v1.DetachDomainResponse + 33, // 72: orchestrator.v1.DomainService.UpdateDomainSettings:output_type -> orchestrator.v1.UpdateDomainSettingsResponse + 37, // 73: orchestrator.v1.DomainService.CheckDomainAvailability:output_type -> orchestrator.v1.CheckDomainAvailabilityResponse + 39, // 74: orchestrator.v1.DomainService.PurchaseDomain:output_type -> orchestrator.v1.PurchaseDomainResponse + 41, // 75: orchestrator.v1.DomainService.ConfigureDNS:output_type -> orchestrator.v1.ConfigureDNSResponse + 43, // 76: orchestrator.v1.DomainService.GetDefaultRegistrantContact:output_type -> orchestrator.v1.GetDefaultRegistrantContactResponse + 45, // 77: orchestrator.v1.DomainService.SaveDefaultRegistrantContact:output_type -> orchestrator.v1.SaveDefaultRegistrantContactResponse + 48, // 78: orchestrator.v1.DomainService.GetDomainEvents:output_type -> orchestrator.v1.GetDomainEventsResponse + 51, // 79: orchestrator.v1.DomainService.GetDNSGuidance:output_type -> orchestrator.v1.GetDNSGuidanceResponse + 60, // [60:80] is the sub-list for method output_type + 40, // [40:60] is the sub-list for method input_type + 40, // [40:40] is the sub-list for extension type_name + 40, // [40:40] is the sub-list for extension extendee + 0, // [0:40] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_domains_proto_init() } +func file_orchestrator_v1_domains_proto_init() { + if File_orchestrator_v1_domains_proto != nil { + return + } + file_orchestrator_v1_domains_proto_msgTypes[0].OneofWrappers = []any{} + file_orchestrator_v1_domains_proto_msgTypes[2].OneofWrappers = []any{} + file_orchestrator_v1_domains_proto_msgTypes[11].OneofWrappers = []any{} + file_orchestrator_v1_domains_proto_msgTypes[21].OneofWrappers = []any{} + file_orchestrator_v1_domains_proto_msgTypes[22].OneofWrappers = []any{} + file_orchestrator_v1_domains_proto_msgTypes[28].OneofWrappers = []any{} + file_orchestrator_v1_domains_proto_msgTypes[34].OneofWrappers = []any{} + file_orchestrator_v1_domains_proto_msgTypes[39].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_domains_proto_rawDesc), len(file_orchestrator_v1_domains_proto_rawDesc)), + NumEnums: 4, + NumMessages: 48, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_domains_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_domains_proto_depIdxs, + EnumInfos: file_orchestrator_v1_domains_proto_enumTypes, + MessageInfos: file_orchestrator_v1_domains_proto_msgTypes, + }.Build() + File_orchestrator_v1_domains_proto = out.File + file_orchestrator_v1_domains_proto_goTypes = nil + file_orchestrator_v1_domains_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/email.pb.go b/internal/api/orchestrator/v1/email.pb.go new file mode 100644 index 0000000..a196de5 --- /dev/null +++ b/internal/api/orchestrator/v1/email.pb.go @@ -0,0 +1,448 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/email.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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 QueueEmailRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + ToEmail string `protobuf:"bytes,2,opt,name=to_email,json=toEmail,proto3" json:"to_email,omitempty"` + Subject string `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"` + HtmlBody string `protobuf:"bytes,4,opt,name=html_body,json=htmlBody,proto3" json:"html_body,omitempty"` + TextBody string `protobuf:"bytes,5,opt,name=text_body,json=textBody,proto3" json:"text_body,omitempty"` + Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"` // Email category tag (e.g., "notification", "welcome") + RecipientType string `protobuf:"bytes,7,opt,name=recipient_type,json=recipientType,proto3" json:"recipient_type,omitempty"` // 'admin', 'domain', 'invitation', 'general' + FromEmail string `protobuf:"bytes,8,opt,name=from_email,json=fromEmail,proto3" json:"from_email,omitempty"` // Optional: override from address + FromName string `protobuf:"bytes,9,opt,name=from_name,json=fromName,proto3" json:"from_name,omitempty"` // Optional: override from name + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QueueEmailRequest) Reset() { + *x = QueueEmailRequest{} + mi := &file_orchestrator_v1_email_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QueueEmailRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueueEmailRequest) ProtoMessage() {} + +func (x *QueueEmailRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_email_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueueEmailRequest.ProtoReflect.Descriptor instead. +func (*QueueEmailRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_email_proto_rawDescGZIP(), []int{0} +} + +func (x *QueueEmailRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *QueueEmailRequest) GetToEmail() string { + if x != nil { + return x.ToEmail + } + return "" +} + +func (x *QueueEmailRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *QueueEmailRequest) GetHtmlBody() string { + if x != nil { + return x.HtmlBody + } + return "" +} + +func (x *QueueEmailRequest) GetTextBody() string { + if x != nil { + return x.TextBody + } + return "" +} + +func (x *QueueEmailRequest) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *QueueEmailRequest) GetRecipientType() string { + if x != nil { + return x.RecipientType + } + return "" +} + +func (x *QueueEmailRequest) GetFromEmail() string { + if x != nil { + return x.FromEmail + } + return "" +} + +func (x *QueueEmailRequest) GetFromName() string { + if x != nil { + return x.FromName + } + return "" +} + +type QueueEmailResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + EmailId string `protobuf:"bytes,2,opt,name=email_id,json=emailId,proto3" json:"email_id,omitempty"` // ID of queued email + RemainingQuota int32 `protobuf:"varint,3,opt,name=remaining_quota,json=remainingQuota,proto3" json:"remaining_quota,omitempty"` // Emails remaining this month + Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` // Error message if failed + ErrorCode string `protobuf:"bytes,5,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"` // 'quota_exceeded', 'recipient_restricted', etc. + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QueueEmailResponse) Reset() { + *x = QueueEmailResponse{} + mi := &file_orchestrator_v1_email_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QueueEmailResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueueEmailResponse) ProtoMessage() {} + +func (x *QueueEmailResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_email_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueueEmailResponse.ProtoReflect.Descriptor instead. +func (*QueueEmailResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_email_proto_rawDescGZIP(), []int{1} +} + +func (x *QueueEmailResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *QueueEmailResponse) GetEmailId() string { + if x != nil { + return x.EmailId + } + return "" +} + +func (x *QueueEmailResponse) GetRemainingQuota() int32 { + if x != nil { + return x.RemainingQuota + } + return 0 +} + +func (x *QueueEmailResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *QueueEmailResponse) GetErrorCode() string { + if x != nil { + return x.ErrorCode + } + return "" +} + +type GetEmailLimitsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetEmailLimitsRequest) Reset() { + *x = GetEmailLimitsRequest{} + mi := &file_orchestrator_v1_email_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetEmailLimitsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEmailLimitsRequest) ProtoMessage() {} + +func (x *GetEmailLimitsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_email_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEmailLimitsRequest.ProtoReflect.Descriptor instead. +func (*GetEmailLimitsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_email_proto_rawDescGZIP(), []int{2} +} + +func (x *GetEmailLimitsRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +type GetEmailLimitsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + MaxEmailsPerMonth int32 `protobuf:"varint,1,opt,name=max_emails_per_month,json=maxEmailsPerMonth,proto3" json:"max_emails_per_month,omitempty"` + EmailsSentThisMonth int32 `protobuf:"varint,2,opt,name=emails_sent_this_month,json=emailsSentThisMonth,proto3" json:"emails_sent_this_month,omitempty"` + EmailsRemaining int32 `protobuf:"varint,3,opt,name=emails_remaining,json=emailsRemaining,proto3" json:"emails_remaining,omitempty"` + IsOverLimit bool `protobuf:"varint,4,opt,name=is_over_limit,json=isOverLimit,proto3" json:"is_over_limit,omitempty"` + EnforcementMode string `protobuf:"bytes,5,opt,name=enforcement_mode,json=enforcementMode,proto3" json:"enforcement_mode,omitempty"` // 'hard' (block) or 'soft' (allow with overage) + OverageRateCents int32 `protobuf:"varint,6,opt,name=overage_rate_cents,json=overageRateCents,proto3" json:"overage_rate_cents,omitempty"` // Per 100 emails + HasRecipientRestrictions bool `protobuf:"varint,7,opt,name=has_recipient_restrictions,json=hasRecipientRestrictions,proto3" json:"has_recipient_restrictions,omitempty"` // True for free tier (admin+domain only) + BlockedCount int32 `protobuf:"varint,8,opt,name=blocked_count,json=blockedCount,proto3" json:"blocked_count,omitempty"` // Emails blocked this month + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetEmailLimitsResponse) Reset() { + *x = GetEmailLimitsResponse{} + mi := &file_orchestrator_v1_email_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetEmailLimitsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetEmailLimitsResponse) ProtoMessage() {} + +func (x *GetEmailLimitsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_email_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetEmailLimitsResponse.ProtoReflect.Descriptor instead. +func (*GetEmailLimitsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_email_proto_rawDescGZIP(), []int{3} +} + +func (x *GetEmailLimitsResponse) GetMaxEmailsPerMonth() int32 { + if x != nil { + return x.MaxEmailsPerMonth + } + return 0 +} + +func (x *GetEmailLimitsResponse) GetEmailsSentThisMonth() int32 { + if x != nil { + return x.EmailsSentThisMonth + } + return 0 +} + +func (x *GetEmailLimitsResponse) GetEmailsRemaining() int32 { + if x != nil { + return x.EmailsRemaining + } + return 0 +} + +func (x *GetEmailLimitsResponse) GetIsOverLimit() bool { + if x != nil { + return x.IsOverLimit + } + return false +} + +func (x *GetEmailLimitsResponse) GetEnforcementMode() string { + if x != nil { + return x.EnforcementMode + } + return "" +} + +func (x *GetEmailLimitsResponse) GetOverageRateCents() int32 { + if x != nil { + return x.OverageRateCents + } + return 0 +} + +func (x *GetEmailLimitsResponse) GetHasRecipientRestrictions() bool { + if x != nil { + return x.HasRecipientRestrictions + } + return false +} + +func (x *GetEmailLimitsResponse) GetBlockedCount() int32 { + if x != nil { + return x.BlockedCount + } + return 0 +} + +var File_orchestrator_v1_email_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_email_proto_rawDesc = "" + + "\n" + + "\x1borchestrator/v1/email.proto\x12\x0forchestrator.v1\"\x98\x02\n" + + "\x11QueueEmailRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x19\n" + + "\bto_email\x18\x02 \x01(\tR\atoEmail\x12\x18\n" + + "\asubject\x18\x03 \x01(\tR\asubject\x12\x1b\n" + + "\thtml_body\x18\x04 \x01(\tR\bhtmlBody\x12\x1b\n" + + "\ttext_body\x18\x05 \x01(\tR\btextBody\x12\x10\n" + + "\x03tag\x18\x06 \x01(\tR\x03tag\x12%\n" + + "\x0erecipient_type\x18\a \x01(\tR\rrecipientType\x12\x1d\n" + + "\n" + + "from_email\x18\b \x01(\tR\tfromEmail\x12\x1b\n" + + "\tfrom_name\x18\t \x01(\tR\bfromName\"\xa7\x01\n" + + "\x12QueueEmailResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x19\n" + + "\bemail_id\x18\x02 \x01(\tR\aemailId\x12'\n" + + "\x0fremaining_quota\x18\x03 \x01(\x05R\x0eremainingQuota\x12\x14\n" + + "\x05error\x18\x04 \x01(\tR\x05error\x12\x1d\n" + + "\n" + + "error_code\x18\x05 \x01(\tR\terrorCode\"8\n" + + "\x15GetEmailLimitsRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"\x89\x03\n" + + "\x16GetEmailLimitsResponse\x12/\n" + + "\x14max_emails_per_month\x18\x01 \x01(\x05R\x11maxEmailsPerMonth\x123\n" + + "\x16emails_sent_this_month\x18\x02 \x01(\x05R\x13emailsSentThisMonth\x12)\n" + + "\x10emails_remaining\x18\x03 \x01(\x05R\x0femailsRemaining\x12\"\n" + + "\ris_over_limit\x18\x04 \x01(\bR\visOverLimit\x12)\n" + + "\x10enforcement_mode\x18\x05 \x01(\tR\x0fenforcementMode\x12,\n" + + "\x12overage_rate_cents\x18\x06 \x01(\x05R\x10overageRateCents\x12<\n" + + "\x1ahas_recipient_restrictions\x18\a \x01(\bR\x18hasRecipientRestrictions\x12#\n" + + "\rblocked_count\x18\b \x01(\x05R\fblockedCount2\xc8\x01\n" + + "\fEmailService\x12U\n" + + "\n" + + "QueueEmail\x12\".orchestrator.v1.QueueEmailRequest\x1a#.orchestrator.v1.QueueEmailResponse\x12a\n" + + "\x0eGetEmailLimits\x12&.orchestrator.v1.GetEmailLimitsRequest\x1a'.orchestrator.v1.GetEmailLimitsResponseB\xcd\x01\n" + + "\x13com.orchestrator.v1B\n" + + "EmailProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_email_proto_rawDescOnce sync.Once + file_orchestrator_v1_email_proto_rawDescData []byte +) + +func file_orchestrator_v1_email_proto_rawDescGZIP() []byte { + file_orchestrator_v1_email_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_email_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_email_proto_rawDesc), len(file_orchestrator_v1_email_proto_rawDesc))) + }) + return file_orchestrator_v1_email_proto_rawDescData +} + +var file_orchestrator_v1_email_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_orchestrator_v1_email_proto_goTypes = []any{ + (*QueueEmailRequest)(nil), // 0: orchestrator.v1.QueueEmailRequest + (*QueueEmailResponse)(nil), // 1: orchestrator.v1.QueueEmailResponse + (*GetEmailLimitsRequest)(nil), // 2: orchestrator.v1.GetEmailLimitsRequest + (*GetEmailLimitsResponse)(nil), // 3: orchestrator.v1.GetEmailLimitsResponse +} +var file_orchestrator_v1_email_proto_depIdxs = []int32{ + 0, // 0: orchestrator.v1.EmailService.QueueEmail:input_type -> orchestrator.v1.QueueEmailRequest + 2, // 1: orchestrator.v1.EmailService.GetEmailLimits:input_type -> orchestrator.v1.GetEmailLimitsRequest + 1, // 2: orchestrator.v1.EmailService.QueueEmail:output_type -> orchestrator.v1.QueueEmailResponse + 3, // 3: orchestrator.v1.EmailService.GetEmailLimits:output_type -> orchestrator.v1.GetEmailLimitsResponse + 2, // [2:4] is the sub-list for method output_type + 0, // [0:2] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_email_proto_init() } +func file_orchestrator_v1_email_proto_init() { + if File_orchestrator_v1_email_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_email_proto_rawDesc), len(file_orchestrator_v1_email_proto_rawDesc)), + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_email_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_email_proto_depIdxs, + MessageInfos: file_orchestrator_v1_email_proto_msgTypes, + }.Build() + File_orchestrator_v1_email_proto = out.File + file_orchestrator_v1_email_proto_goTypes = nil + file_orchestrator_v1_email_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/helpdesk.pb.go b/internal/api/orchestrator/v1/helpdesk.pb.go new file mode 100644 index 0000000..abc4ec1 --- /dev/null +++ b/internal/api/orchestrator/v1/helpdesk.pb.go @@ -0,0 +1,3376 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/helpdesk.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Ticket category - fixed set, required on creation +type TicketCategory int32 + +const ( + TicketCategory_TICKET_CATEGORY_UNSPECIFIED TicketCategory = 0 + TicketCategory_TICKET_CATEGORY_BUG TicketCategory = 1 + TicketCategory_TICKET_CATEGORY_FEATURE_REQUEST TicketCategory = 2 + TicketCategory_TICKET_CATEGORY_BILLING TicketCategory = 3 + TicketCategory_TICKET_CATEGORY_HOW_TO TicketCategory = 4 + TicketCategory_TICKET_CATEGORY_DNS_DOMAINS TicketCategory = 5 + TicketCategory_TICKET_CATEGORY_PERFORMANCE TicketCategory = 6 + TicketCategory_TICKET_CATEGORY_OTHER TicketCategory = 7 +) + +// Enum value maps for TicketCategory. +var ( + TicketCategory_name = map[int32]string{ + 0: "TICKET_CATEGORY_UNSPECIFIED", + 1: "TICKET_CATEGORY_BUG", + 2: "TICKET_CATEGORY_FEATURE_REQUEST", + 3: "TICKET_CATEGORY_BILLING", + 4: "TICKET_CATEGORY_HOW_TO", + 5: "TICKET_CATEGORY_DNS_DOMAINS", + 6: "TICKET_CATEGORY_PERFORMANCE", + 7: "TICKET_CATEGORY_OTHER", + } + TicketCategory_value = map[string]int32{ + "TICKET_CATEGORY_UNSPECIFIED": 0, + "TICKET_CATEGORY_BUG": 1, + "TICKET_CATEGORY_FEATURE_REQUEST": 2, + "TICKET_CATEGORY_BILLING": 3, + "TICKET_CATEGORY_HOW_TO": 4, + "TICKET_CATEGORY_DNS_DOMAINS": 5, + "TICKET_CATEGORY_PERFORMANCE": 6, + "TICKET_CATEGORY_OTHER": 7, + } +) + +func (x TicketCategory) Enum() *TicketCategory { + p := new(TicketCategory) + *p = x + return p +} + +func (x TicketCategory) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TicketCategory) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_helpdesk_proto_enumTypes[0].Descriptor() +} + +func (TicketCategory) Type() protoreflect.EnumType { + return &file_orchestrator_v1_helpdesk_proto_enumTypes[0] +} + +func (x TicketCategory) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TicketCategory.Descriptor instead. +func (TicketCategory) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{0} +} + +// Ticket lifecycle status +type TicketStatus int32 + +const ( + TicketStatus_TICKET_STATUS_UNSPECIFIED TicketStatus = 0 + TicketStatus_TICKET_STATUS_NEW TicketStatus = 1 + TicketStatus_TICKET_STATUS_OPEN TicketStatus = 2 + TicketStatus_TICKET_STATUS_IN_PROGRESS TicketStatus = 3 + TicketStatus_TICKET_STATUS_WAITING_ON_CUSTOMER TicketStatus = 4 + TicketStatus_TICKET_STATUS_RESOLVED TicketStatus = 5 + TicketStatus_TICKET_STATUS_CLOSED TicketStatus = 6 +) + +// Enum value maps for TicketStatus. +var ( + TicketStatus_name = map[int32]string{ + 0: "TICKET_STATUS_UNSPECIFIED", + 1: "TICKET_STATUS_NEW", + 2: "TICKET_STATUS_OPEN", + 3: "TICKET_STATUS_IN_PROGRESS", + 4: "TICKET_STATUS_WAITING_ON_CUSTOMER", + 5: "TICKET_STATUS_RESOLVED", + 6: "TICKET_STATUS_CLOSED", + } + TicketStatus_value = map[string]int32{ + "TICKET_STATUS_UNSPECIFIED": 0, + "TICKET_STATUS_NEW": 1, + "TICKET_STATUS_OPEN": 2, + "TICKET_STATUS_IN_PROGRESS": 3, + "TICKET_STATUS_WAITING_ON_CUSTOMER": 4, + "TICKET_STATUS_RESOLVED": 5, + "TICKET_STATUS_CLOSED": 6, + } +) + +func (x TicketStatus) Enum() *TicketStatus { + p := new(TicketStatus) + *p = x + return p +} + +func (x TicketStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TicketStatus) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_helpdesk_proto_enumTypes[1].Descriptor() +} + +func (TicketStatus) Type() protoreflect.EnumType { + return &file_orchestrator_v1_helpdesk_proto_enumTypes[1] +} + +func (x TicketStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TicketStatus.Descriptor instead. +func (TicketStatus) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{1} +} + +// Ticket priority - staff-assigned only +type TicketPriority int32 + +const ( + TicketPriority_TICKET_PRIORITY_UNSPECIFIED TicketPriority = 0 + TicketPriority_TICKET_PRIORITY_LOW TicketPriority = 1 + TicketPriority_TICKET_PRIORITY_NORMAL TicketPriority = 2 + TicketPriority_TICKET_PRIORITY_HIGH TicketPriority = 3 + TicketPriority_TICKET_PRIORITY_URGENT TicketPriority = 4 +) + +// Enum value maps for TicketPriority. +var ( + TicketPriority_name = map[int32]string{ + 0: "TICKET_PRIORITY_UNSPECIFIED", + 1: "TICKET_PRIORITY_LOW", + 2: "TICKET_PRIORITY_NORMAL", + 3: "TICKET_PRIORITY_HIGH", + 4: "TICKET_PRIORITY_URGENT", + } + TicketPriority_value = map[string]int32{ + "TICKET_PRIORITY_UNSPECIFIED": 0, + "TICKET_PRIORITY_LOW": 1, + "TICKET_PRIORITY_NORMAL": 2, + "TICKET_PRIORITY_HIGH": 3, + "TICKET_PRIORITY_URGENT": 4, + } +) + +func (x TicketPriority) Enum() *TicketPriority { + p := new(TicketPriority) + *p = x + return p +} + +func (x TicketPriority) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TicketPriority) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_helpdesk_proto_enumTypes[2].Descriptor() +} + +func (TicketPriority) Type() protoreflect.EnumType { + return &file_orchestrator_v1_helpdesk_proto_enumTypes[2] +} + +func (x TicketPriority) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TicketPriority.Descriptor instead. +func (TicketPriority) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{2} +} + +// Where the ticket was created from +type TicketSource int32 + +const ( + TicketSource_TICKET_SOURCE_UNSPECIFIED TicketSource = 0 + TicketSource_TICKET_SOURCE_DASHBOARD TicketSource = 1 + TicketSource_TICKET_SOURCE_EMAIL TicketSource = 2 + TicketSource_TICKET_SOURCE_CMS_WIDGET TicketSource = 3 +) + +// Enum value maps for TicketSource. +var ( + TicketSource_name = map[int32]string{ + 0: "TICKET_SOURCE_UNSPECIFIED", + 1: "TICKET_SOURCE_DASHBOARD", + 2: "TICKET_SOURCE_EMAIL", + 3: "TICKET_SOURCE_CMS_WIDGET", + } + TicketSource_value = map[string]int32{ + "TICKET_SOURCE_UNSPECIFIED": 0, + "TICKET_SOURCE_DASHBOARD": 1, + "TICKET_SOURCE_EMAIL": 2, + "TICKET_SOURCE_CMS_WIDGET": 3, + } +) + +func (x TicketSource) Enum() *TicketSource { + p := new(TicketSource) + *p = x + return p +} + +func (x TicketSource) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TicketSource) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_helpdesk_proto_enumTypes[3].Descriptor() +} + +func (TicketSource) Type() protoreflect.EnumType { + return &file_orchestrator_v1_helpdesk_proto_enumTypes[3] +} + +func (x TicketSource) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TicketSource.Descriptor instead. +func (TicketSource) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{3} +} + +// Type of a message in a ticket thread +type TicketMessageType int32 + +const ( + TicketMessageType_TICKET_MESSAGE_TYPE_UNSPECIFIED TicketMessageType = 0 + TicketMessageType_TICKET_MESSAGE_TYPE_REPLY TicketMessageType = 1 + TicketMessageType_TICKET_MESSAGE_TYPE_INTERNAL_NOTE TicketMessageType = 2 + TicketMessageType_TICKET_MESSAGE_TYPE_STATUS_CHANGE TicketMessageType = 3 + TicketMessageType_TICKET_MESSAGE_TYPE_SYSTEM TicketMessageType = 4 +) + +// Enum value maps for TicketMessageType. +var ( + TicketMessageType_name = map[int32]string{ + 0: "TICKET_MESSAGE_TYPE_UNSPECIFIED", + 1: "TICKET_MESSAGE_TYPE_REPLY", + 2: "TICKET_MESSAGE_TYPE_INTERNAL_NOTE", + 3: "TICKET_MESSAGE_TYPE_STATUS_CHANGE", + 4: "TICKET_MESSAGE_TYPE_SYSTEM", + } + TicketMessageType_value = map[string]int32{ + "TICKET_MESSAGE_TYPE_UNSPECIFIED": 0, + "TICKET_MESSAGE_TYPE_REPLY": 1, + "TICKET_MESSAGE_TYPE_INTERNAL_NOTE": 2, + "TICKET_MESSAGE_TYPE_STATUS_CHANGE": 3, + "TICKET_MESSAGE_TYPE_SYSTEM": 4, + } +) + +func (x TicketMessageType) Enum() *TicketMessageType { + p := new(TicketMessageType) + *p = x + return p +} + +func (x TicketMessageType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TicketMessageType) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_helpdesk_proto_enumTypes[4].Descriptor() +} + +func (TicketMessageType) Type() protoreflect.EnumType { + return &file_orchestrator_v1_helpdesk_proto_enumTypes[4] +} + +func (x TicketMessageType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TicketMessageType.Descriptor instead. +func (TicketMessageType) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{4} +} + +// Moderation queue item status +type ModerationStatus int32 + +const ( + ModerationStatus_MODERATION_STATUS_UNSPECIFIED ModerationStatus = 0 + ModerationStatus_MODERATION_STATUS_PENDING ModerationStatus = 1 + ModerationStatus_MODERATION_STATUS_APPROVED ModerationStatus = 2 + ModerationStatus_MODERATION_STATUS_REJECTED ModerationStatus = 3 +) + +// Enum value maps for ModerationStatus. +var ( + ModerationStatus_name = map[int32]string{ + 0: "MODERATION_STATUS_UNSPECIFIED", + 1: "MODERATION_STATUS_PENDING", + 2: "MODERATION_STATUS_APPROVED", + 3: "MODERATION_STATUS_REJECTED", + } + ModerationStatus_value = map[string]int32{ + "MODERATION_STATUS_UNSPECIFIED": 0, + "MODERATION_STATUS_PENDING": 1, + "MODERATION_STATUS_APPROVED": 2, + "MODERATION_STATUS_REJECTED": 3, + } +) + +func (x ModerationStatus) Enum() *ModerationStatus { + p := new(ModerationStatus) + *p = x + return p +} + +func (x ModerationStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ModerationStatus) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_helpdesk_proto_enumTypes[5].Descriptor() +} + +func (ModerationStatus) Type() protoreflect.EnumType { + return &file_orchestrator_v1_helpdesk_proto_enumTypes[5] +} + +func (x ModerationStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ModerationStatus.Descriptor instead. +func (ModerationStatus) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{5} +} + +// Action to take on a moderation queue item +type ModerationActionType int32 + +const ( + ModerationActionType_MODERATION_ACTION_TYPE_UNSPECIFIED ModerationActionType = 0 + ModerationActionType_MODERATION_ACTION_TYPE_APPROVE ModerationActionType = 1 + ModerationActionType_MODERATION_ACTION_TYPE_REJECT ModerationActionType = 2 +) + +// Enum value maps for ModerationActionType. +var ( + ModerationActionType_name = map[int32]string{ + 0: "MODERATION_ACTION_TYPE_UNSPECIFIED", + 1: "MODERATION_ACTION_TYPE_APPROVE", + 2: "MODERATION_ACTION_TYPE_REJECT", + } + ModerationActionType_value = map[string]int32{ + "MODERATION_ACTION_TYPE_UNSPECIFIED": 0, + "MODERATION_ACTION_TYPE_APPROVE": 1, + "MODERATION_ACTION_TYPE_REJECT": 2, + } +) + +func (x ModerationActionType) Enum() *ModerationActionType { + p := new(ModerationActionType) + *p = x + return p +} + +func (x ModerationActionType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ModerationActionType) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_helpdesk_proto_enumTypes[6].Descriptor() +} + +func (ModerationActionType) Type() protoreflect.EnumType { + return &file_orchestrator_v1_helpdesk_proto_enumTypes[6] +} + +func (x ModerationActionType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ModerationActionType.Descriptor instead. +func (ModerationActionType) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{6} +} + +// A support ticket +type Ticket struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + InstanceId *string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + CreatedByUserId *string `protobuf:"bytes,4,opt,name=created_by_user_id,json=createdByUserId,proto3,oneof" json:"created_by_user_id,omitempty"` + ContactEmail *string `protobuf:"bytes,5,opt,name=contact_email,json=contactEmail,proto3,oneof" json:"contact_email,omitempty"` + AssignedToUserId *string `protobuf:"bytes,6,opt,name=assigned_to_user_id,json=assignedToUserId,proto3,oneof" json:"assigned_to_user_id,omitempty"` + Subject string `protobuf:"bytes,7,opt,name=subject,proto3" json:"subject,omitempty"` + Category TicketCategory `protobuf:"varint,8,opt,name=category,proto3,enum=orchestrator.v1.TicketCategory" json:"category,omitempty"` + Status TicketStatus `protobuf:"varint,9,opt,name=status,proto3,enum=orchestrator.v1.TicketStatus" json:"status,omitempty"` + Priority TicketPriority `protobuf:"varint,10,opt,name=priority,proto3,enum=orchestrator.v1.TicketPriority" json:"priority,omitempty"` + Source TicketSource `protobuf:"varint,11,opt,name=source,proto3,enum=orchestrator.v1.TicketSource" json:"source,omitempty"` + // Frozen diagnostic snapshot captured at creation time (JSON, may be empty) + ContextSnapshotJson string `protobuf:"bytes,12,opt,name=context_snapshot_json,json=contextSnapshotJson,proto3" json:"context_snapshot_json,omitempty"` + SatisfactionRating *int32 `protobuf:"varint,13,opt,name=satisfaction_rating,json=satisfactionRating,proto3,oneof" json:"satisfaction_rating,omitempty"` + SatisfactionComment *string `protobuf:"bytes,14,opt,name=satisfaction_comment,json=satisfactionComment,proto3,oneof" json:"satisfaction_comment,omitempty"` + ResolvedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=resolved_at,json=resolvedAt,proto3,oneof" json:"resolved_at,omitempty"` + ClosedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=closed_at,json=closedAt,proto3,oneof" json:"closed_at,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Denormalized display fields + AccountName string `protobuf:"bytes,19,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + AccountSlug string `protobuf:"bytes,20,opt,name=account_slug,json=accountSlug,proto3" json:"account_slug,omitempty"` + InstanceName *string `protobuf:"bytes,21,opt,name=instance_name,json=instanceName,proto3,oneof" json:"instance_name,omitempty"` + InstanceSlug *string `protobuf:"bytes,22,opt,name=instance_slug,json=instanceSlug,proto3,oneof" json:"instance_slug,omitempty"` + CreatorName *string `protobuf:"bytes,23,opt,name=creator_name,json=creatorName,proto3,oneof" json:"creator_name,omitempty"` + CreatorEmail *string `protobuf:"bytes,24,opt,name=creator_email,json=creatorEmail,proto3,oneof" json:"creator_email,omitempty"` + AssigneeName *string `protobuf:"bytes,25,opt,name=assignee_name,json=assigneeName,proto3,oneof" json:"assignee_name,omitempty"` + AssigneeEmail *string `protobuf:"bytes,26,opt,name=assignee_email,json=assigneeEmail,proto3,oneof" json:"assignee_email,omitempty"` + ReplyCount int64 `protobuf:"varint,27,opt,name=reply_count,json=replyCount,proto3" json:"reply_count,omitempty"` + LastActivityAt *timestamppb.Timestamp `protobuf:"bytes,28,opt,name=last_activity_at,json=lastActivityAt,proto3,oneof" json:"last_activity_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Ticket) Reset() { + *x = Ticket{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Ticket) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Ticket) ProtoMessage() {} + +func (x *Ticket) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Ticket.ProtoReflect.Descriptor instead. +func (*Ticket) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{0} +} + +func (x *Ticket) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Ticket) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *Ticket) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +func (x *Ticket) GetCreatedByUserId() string { + if x != nil && x.CreatedByUserId != nil { + return *x.CreatedByUserId + } + return "" +} + +func (x *Ticket) GetContactEmail() string { + if x != nil && x.ContactEmail != nil { + return *x.ContactEmail + } + return "" +} + +func (x *Ticket) GetAssignedToUserId() string { + if x != nil && x.AssignedToUserId != nil { + return *x.AssignedToUserId + } + return "" +} + +func (x *Ticket) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *Ticket) GetCategory() TicketCategory { + if x != nil { + return x.Category + } + return TicketCategory_TICKET_CATEGORY_UNSPECIFIED +} + +func (x *Ticket) GetStatus() TicketStatus { + if x != nil { + return x.Status + } + return TicketStatus_TICKET_STATUS_UNSPECIFIED +} + +func (x *Ticket) GetPriority() TicketPriority { + if x != nil { + return x.Priority + } + return TicketPriority_TICKET_PRIORITY_UNSPECIFIED +} + +func (x *Ticket) GetSource() TicketSource { + if x != nil { + return x.Source + } + return TicketSource_TICKET_SOURCE_UNSPECIFIED +} + +func (x *Ticket) GetContextSnapshotJson() string { + if x != nil { + return x.ContextSnapshotJson + } + return "" +} + +func (x *Ticket) GetSatisfactionRating() int32 { + if x != nil && x.SatisfactionRating != nil { + return *x.SatisfactionRating + } + return 0 +} + +func (x *Ticket) GetSatisfactionComment() string { + if x != nil && x.SatisfactionComment != nil { + return *x.SatisfactionComment + } + return "" +} + +func (x *Ticket) GetResolvedAt() *timestamppb.Timestamp { + if x != nil { + return x.ResolvedAt + } + return nil +} + +func (x *Ticket) GetClosedAt() *timestamppb.Timestamp { + if x != nil { + return x.ClosedAt + } + return nil +} + +func (x *Ticket) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *Ticket) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *Ticket) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *Ticket) GetAccountSlug() string { + if x != nil { + return x.AccountSlug + } + return "" +} + +func (x *Ticket) GetInstanceName() string { + if x != nil && x.InstanceName != nil { + return *x.InstanceName + } + return "" +} + +func (x *Ticket) GetInstanceSlug() string { + if x != nil && x.InstanceSlug != nil { + return *x.InstanceSlug + } + return "" +} + +func (x *Ticket) GetCreatorName() string { + if x != nil && x.CreatorName != nil { + return *x.CreatorName + } + return "" +} + +func (x *Ticket) GetCreatorEmail() string { + if x != nil && x.CreatorEmail != nil { + return *x.CreatorEmail + } + return "" +} + +func (x *Ticket) GetAssigneeName() string { + if x != nil && x.AssigneeName != nil { + return *x.AssigneeName + } + return "" +} + +func (x *Ticket) GetAssigneeEmail() string { + if x != nil && x.AssigneeEmail != nil { + return *x.AssigneeEmail + } + return "" +} + +func (x *Ticket) GetReplyCount() int64 { + if x != nil { + return x.ReplyCount + } + return 0 +} + +func (x *Ticket) GetLastActivityAt() *timestamppb.Timestamp { + if x != nil { + return x.LastActivityAt + } + return nil +} + +// A single message in a ticket thread +type TicketMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + TicketId string `protobuf:"bytes,2,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` + UserId *string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3,oneof" json:"user_id,omitempty"` + MessageType TicketMessageType `protobuf:"varint,4,opt,name=message_type,json=messageType,proto3,enum=orchestrator.v1.TicketMessageType" json:"message_type,omitempty"` + Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` + // For status_change: {"from": "...", "to": "..."}; for system events + MetadataJson string `protobuf:"bytes,6,opt,name=metadata_json,json=metadataJson,proto3" json:"metadata_json,omitempty"` + EmailMessageId *string `protobuf:"bytes,7,opt,name=email_message_id,json=emailMessageId,proto3,oneof" json:"email_message_id,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + // Denormalized display fields + AuthorName *string `protobuf:"bytes,9,opt,name=author_name,json=authorName,proto3,oneof" json:"author_name,omitempty"` + AuthorEmail *string `protobuf:"bytes,10,opt,name=author_email,json=authorEmail,proto3,oneof" json:"author_email,omitempty"` + AuthorIsStaff bool `protobuf:"varint,11,opt,name=author_is_staff,json=authorIsStaff,proto3" json:"author_is_staff,omitempty"` + Attachments []*TicketAttachment `protobuf:"bytes,12,rep,name=attachments,proto3" json:"attachments,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketMessage) Reset() { + *x = TicketMessage{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketMessage) ProtoMessage() {} + +func (x *TicketMessage) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TicketMessage.ProtoReflect.Descriptor instead. +func (*TicketMessage) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{1} +} + +func (x *TicketMessage) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *TicketMessage) GetTicketId() string { + if x != nil { + return x.TicketId + } + return "" +} + +func (x *TicketMessage) GetUserId() string { + if x != nil && x.UserId != nil { + return *x.UserId + } + return "" +} + +func (x *TicketMessage) GetMessageType() TicketMessageType { + if x != nil { + return x.MessageType + } + return TicketMessageType_TICKET_MESSAGE_TYPE_UNSPECIFIED +} + +func (x *TicketMessage) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *TicketMessage) GetMetadataJson() string { + if x != nil { + return x.MetadataJson + } + return "" +} + +func (x *TicketMessage) GetEmailMessageId() string { + if x != nil && x.EmailMessageId != nil { + return *x.EmailMessageId + } + return "" +} + +func (x *TicketMessage) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *TicketMessage) GetAuthorName() string { + if x != nil && x.AuthorName != nil { + return *x.AuthorName + } + return "" +} + +func (x *TicketMessage) GetAuthorEmail() string { + if x != nil && x.AuthorEmail != nil { + return *x.AuthorEmail + } + return "" +} + +func (x *TicketMessage) GetAuthorIsStaff() bool { + if x != nil { + return x.AuthorIsStaff + } + return false +} + +func (x *TicketMessage) GetAttachments() []*TicketAttachment { + if x != nil { + return x.Attachments + } + return nil +} + +// A file attached to a ticket message +type TicketAttachment struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + TicketMessageId string `protobuf:"bytes,2,opt,name=ticket_message_id,json=ticketMessageId,proto3" json:"ticket_message_id,omitempty"` + Filename string `protobuf:"bytes,3,opt,name=filename,proto3" json:"filename,omitempty"` + ContentType string `protobuf:"bytes,4,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` + SizeBytes int64 `protobuf:"varint,5,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TicketAttachment) Reset() { + *x = TicketAttachment{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TicketAttachment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TicketAttachment) ProtoMessage() {} + +func (x *TicketAttachment) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TicketAttachment.ProtoReflect.Descriptor instead. +func (*TicketAttachment) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{2} +} + +func (x *TicketAttachment) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *TicketAttachment) GetTicketMessageId() string { + if x != nil { + return x.TicketMessageId + } + return "" +} + +func (x *TicketAttachment) GetFilename() string { + if x != nil { + return x.Filename + } + return "" +} + +func (x *TicketAttachment) GetContentType() string { + if x != nil { + return x.ContentType + } + return "" +} + +func (x *TicketAttachment) GetSizeBytes() int64 { + if x != nil { + return x.SizeBytes + } + return 0 +} + +func (x *TicketAttachment) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +// A reusable staff reply template +type CannedResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` + // Unspecified means not scoped to any category + Category TicketCategory `protobuf:"varint,4,opt,name=category,proto3,enum=orchestrator.v1.TicketCategory" json:"category,omitempty"` + CreatedByUserId string `protobuf:"bytes,5,opt,name=created_by_user_id,json=createdByUserId,proto3" json:"created_by_user_id,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CannedResponse) Reset() { + *x = CannedResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CannedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CannedResponse) ProtoMessage() {} + +func (x *CannedResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CannedResponse.ProtoReflect.Descriptor instead. +func (*CannedResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{3} +} + +func (x *CannedResponse) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *CannedResponse) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *CannedResponse) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *CannedResponse) GetCategory() TicketCategory { + if x != nil { + return x.Category + } + return TicketCategory_TICKET_CATEGORY_UNSPECIFIED +} + +func (x *CannedResponse) GetCreatedByUserId() string { + if x != nil { + return x.CreatedByUserId + } + return "" +} + +func (x *CannedResponse) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *CannedResponse) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +// An unknown-sender inbound email awaiting moderation +type ModerationItem struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SenderEmail string `protobuf:"bytes,2,opt,name=sender_email,json=senderEmail,proto3" json:"sender_email,omitempty"` + SenderName *string `protobuf:"bytes,3,opt,name=sender_name,json=senderName,proto3,oneof" json:"sender_name,omitempty"` + Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"` + Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` + Status ModerationStatus `protobuf:"varint,6,opt,name=status,proto3,enum=orchestrator.v1.ModerationStatus" json:"status,omitempty"` + ReviewedByUserId *string `protobuf:"bytes,7,opt,name=reviewed_by_user_id,json=reviewedByUserId,proto3,oneof" json:"reviewed_by_user_id,omitempty"` + CreatedTicketId *string `protobuf:"bytes,8,opt,name=created_ticket_id,json=createdTicketId,proto3,oneof" json:"created_ticket_id,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + ReviewedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=reviewed_at,json=reviewedAt,proto3,oneof" json:"reviewed_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ModerationItem) Reset() { + *x = ModerationItem{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ModerationItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModerationItem) ProtoMessage() {} + +func (x *ModerationItem) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ModerationItem.ProtoReflect.Descriptor instead. +func (*ModerationItem) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{4} +} + +func (x *ModerationItem) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ModerationItem) GetSenderEmail() string { + if x != nil { + return x.SenderEmail + } + return "" +} + +func (x *ModerationItem) GetSenderName() string { + if x != nil && x.SenderName != nil { + return *x.SenderName + } + return "" +} + +func (x *ModerationItem) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *ModerationItem) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *ModerationItem) GetStatus() ModerationStatus { + if x != nil { + return x.Status + } + return ModerationStatus_MODERATION_STATUS_UNSPECIFIED +} + +func (x *ModerationItem) GetReviewedByUserId() string { + if x != nil && x.ReviewedByUserId != nil { + return *x.ReviewedByUserId + } + return "" +} + +func (x *ModerationItem) GetCreatedTicketId() string { + if x != nil && x.CreatedTicketId != nil { + return *x.CreatedTicketId + } + return "" +} + +func (x *ModerationItem) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *ModerationItem) GetReviewedAt() *timestamppb.Timestamp { + if x != nil { + return x.ReviewedAt + } + return nil +} + +// Staff member available for assignment (superadmins) +type StaffMember struct { + state protoimpl.MessageState `protogen:"open.v1"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Email string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StaffMember) Reset() { + *x = StaffMember{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StaffMember) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StaffMember) ProtoMessage() {} + +func (x *StaffMember) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StaffMember.ProtoReflect.Descriptor instead. +func (*StaffMember) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{5} +} + +func (x *StaffMember) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *StaffMember) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *StaffMember) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +type CreateTicketRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + InstanceId *string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + Subject string `protobuf:"bytes,3,opt,name=subject,proto3" json:"subject,omitempty"` + Category TicketCategory `protobuf:"varint,4,opt,name=category,proto3,enum=orchestrator.v1.TicketCategory" json:"category,omitempty"` + Body string `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` + Source TicketSource `protobuf:"varint,6,opt,name=source,proto3,enum=orchestrator.v1.TicketSource" json:"source,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateTicketRequest) Reset() { + *x = CreateTicketRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateTicketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateTicketRequest) ProtoMessage() {} + +func (x *CreateTicketRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateTicketRequest.ProtoReflect.Descriptor instead. +func (*CreateTicketRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{6} +} + +func (x *CreateTicketRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *CreateTicketRequest) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +func (x *CreateTicketRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *CreateTicketRequest) GetCategory() TicketCategory { + if x != nil { + return x.Category + } + return TicketCategory_TICKET_CATEGORY_UNSPECIFIED +} + +func (x *CreateTicketRequest) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *CreateTicketRequest) GetSource() TicketSource { + if x != nil { + return x.Source + } + return TicketSource_TICKET_SOURCE_UNSPECIFIED +} + +type CreateTicketResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Ticket *Ticket `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"` + // The initial message created from the request body; attachments are + // uploaded against this message via POST /api/helpdesk/upload. + Message *TicketMessage `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateTicketResponse) Reset() { + *x = CreateTicketResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateTicketResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateTicketResponse) ProtoMessage() {} + +func (x *CreateTicketResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateTicketResponse.ProtoReflect.Descriptor instead. +func (*CreateTicketResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{7} +} + +func (x *CreateTicketResponse) GetTicket() *Ticket { + if x != nil { + return x.Ticket + } + return nil +} + +func (x *CreateTicketResponse) GetMessage() *TicketMessage { + if x != nil { + return x.Message + } + return nil +} + +type GetTicketRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + TicketId string `protobuf:"bytes,1,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetTicketRequest) Reset() { + *x = GetTicketRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetTicketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTicketRequest) ProtoMessage() {} + +func (x *GetTicketRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTicketRequest.ProtoReflect.Descriptor instead. +func (*GetTicketRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{8} +} + +func (x *GetTicketRequest) GetTicketId() string { + if x != nil { + return x.TicketId + } + return "" +} + +type GetTicketResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Ticket *Ticket `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"` + // Internal notes are omitted for non-superadmin callers + Messages []*TicketMessage `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"` + // Populated for superadmin callers only (assign dropdown) + AssignableStaff []*StaffMember `protobuf:"bytes,3,rep,name=assignable_staff,json=assignableStaff,proto3" json:"assignable_staff,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetTicketResponse) Reset() { + *x = GetTicketResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetTicketResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTicketResponse) ProtoMessage() {} + +func (x *GetTicketResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTicketResponse.ProtoReflect.Descriptor instead. +func (*GetTicketResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{9} +} + +func (x *GetTicketResponse) GetTicket() *Ticket { + if x != nil { + return x.Ticket + } + return nil +} + +func (x *GetTicketResponse) GetMessages() []*TicketMessage { + if x != nil { + return x.Messages + } + return nil +} + +func (x *GetTicketResponse) GetAssignableStaff() []*StaffMember { + if x != nil { + return x.AssignableStaff + } + return nil +} + +type ListTicketsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Optional for superadmins (lists across all accounts); required for others + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + InstanceId *string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + Status TicketStatus `protobuf:"varint,3,opt,name=status,proto3,enum=orchestrator.v1.TicketStatus" json:"status,omitempty"` + Category TicketCategory `protobuf:"varint,4,opt,name=category,proto3,enum=orchestrator.v1.TicketCategory" json:"category,omitempty"` + Priority TicketPriority `protobuf:"varint,5,opt,name=priority,proto3,enum=orchestrator.v1.TicketPriority" json:"priority,omitempty"` + AssignedToUserId *string `protobuf:"bytes,6,opt,name=assigned_to_user_id,json=assignedToUserId,proto3,oneof" json:"assigned_to_user_id,omitempty"` + // Full-text search over subject + message bodies + Search *string `protobuf:"bytes,7,opt,name=search,proto3,oneof" json:"search,omitempty"` + Page int32 `protobuf:"varint,8,opt,name=page,proto3" json:"page,omitempty"` + PageSize int32 `protobuf:"varint,9,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListTicketsRequest) Reset() { + *x = ListTicketsRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListTicketsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTicketsRequest) ProtoMessage() {} + +func (x *ListTicketsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTicketsRequest.ProtoReflect.Descriptor instead. +func (*ListTicketsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{10} +} + +func (x *ListTicketsRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *ListTicketsRequest) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +func (x *ListTicketsRequest) GetStatus() TicketStatus { + if x != nil { + return x.Status + } + return TicketStatus_TICKET_STATUS_UNSPECIFIED +} + +func (x *ListTicketsRequest) GetCategory() TicketCategory { + if x != nil { + return x.Category + } + return TicketCategory_TICKET_CATEGORY_UNSPECIFIED +} + +func (x *ListTicketsRequest) GetPriority() TicketPriority { + if x != nil { + return x.Priority + } + return TicketPriority_TICKET_PRIORITY_UNSPECIFIED +} + +func (x *ListTicketsRequest) GetAssignedToUserId() string { + if x != nil && x.AssignedToUserId != nil { + return *x.AssignedToUserId + } + return "" +} + +func (x *ListTicketsRequest) GetSearch() string { + if x != nil && x.Search != nil { + return *x.Search + } + return "" +} + +func (x *ListTicketsRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListTicketsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +type ListTicketsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Tickets []*Ticket `protobuf:"bytes,1,rep,name=tickets,proto3" json:"tickets,omitempty"` + TotalCount int64 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` + // Populated for superadmin callers only (assignee filter / assign dropdown) + AssignableStaff []*StaffMember `protobuf:"bytes,3,rep,name=assignable_staff,json=assignableStaff,proto3" json:"assignable_staff,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListTicketsResponse) Reset() { + *x = ListTicketsResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListTicketsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTicketsResponse) ProtoMessage() {} + +func (x *ListTicketsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTicketsResponse.ProtoReflect.Descriptor instead. +func (*ListTicketsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{11} +} + +func (x *ListTicketsResponse) GetTickets() []*Ticket { + if x != nil { + return x.Tickets + } + return nil +} + +func (x *ListTicketsResponse) GetTotalCount() int64 { + if x != nil { + return x.TotalCount + } + return 0 +} + +func (x *ListTicketsResponse) GetAssignableStaff() []*StaffMember { + if x != nil { + return x.AssignableStaff + } + return nil +} + +type UpdateTicketRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + TicketId string `protobuf:"bytes,1,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` + Status TicketStatus `protobuf:"varint,2,opt,name=status,proto3,enum=orchestrator.v1.TicketStatus" json:"status,omitempty"` + Priority TicketPriority `protobuf:"varint,3,opt,name=priority,proto3,enum=orchestrator.v1.TicketPriority" json:"priority,omitempty"` + Category TicketCategory `protobuf:"varint,4,opt,name=category,proto3,enum=orchestrator.v1.TicketCategory" json:"category,omitempty"` + // Set to a user ID to assign, empty string to unassign, absent for no change + AssignedToUserId *string `protobuf:"bytes,5,opt,name=assigned_to_user_id,json=assignedToUserId,proto3,oneof" json:"assigned_to_user_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateTicketRequest) Reset() { + *x = UpdateTicketRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateTicketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateTicketRequest) ProtoMessage() {} + +func (x *UpdateTicketRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateTicketRequest.ProtoReflect.Descriptor instead. +func (*UpdateTicketRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{12} +} + +func (x *UpdateTicketRequest) GetTicketId() string { + if x != nil { + return x.TicketId + } + return "" +} + +func (x *UpdateTicketRequest) GetStatus() TicketStatus { + if x != nil { + return x.Status + } + return TicketStatus_TICKET_STATUS_UNSPECIFIED +} + +func (x *UpdateTicketRequest) GetPriority() TicketPriority { + if x != nil { + return x.Priority + } + return TicketPriority_TICKET_PRIORITY_UNSPECIFIED +} + +func (x *UpdateTicketRequest) GetCategory() TicketCategory { + if x != nil { + return x.Category + } + return TicketCategory_TICKET_CATEGORY_UNSPECIFIED +} + +func (x *UpdateTicketRequest) GetAssignedToUserId() string { + if x != nil && x.AssignedToUserId != nil { + return *x.AssignedToUserId + } + return "" +} + +type UpdateTicketResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Ticket *Ticket `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateTicketResponse) Reset() { + *x = UpdateTicketResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateTicketResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateTicketResponse) ProtoMessage() {} + +func (x *UpdateTicketResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateTicketResponse.ProtoReflect.Descriptor instead. +func (*UpdateTicketResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{13} +} + +func (x *UpdateTicketResponse) GetTicket() *Ticket { + if x != nil { + return x.Ticket + } + return nil +} + +type ReassignTicketAuthorRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + TicketId string `protobuf:"bytes,1,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` + // The email of the platform user to set as the ticket's creator. + NewAuthorEmail string `protobuf:"bytes,2,opt,name=new_author_email,json=newAuthorEmail,proto3" json:"new_author_email,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReassignTicketAuthorRequest) Reset() { + *x = ReassignTicketAuthorRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReassignTicketAuthorRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReassignTicketAuthorRequest) ProtoMessage() {} + +func (x *ReassignTicketAuthorRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReassignTicketAuthorRequest.ProtoReflect.Descriptor instead. +func (*ReassignTicketAuthorRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{14} +} + +func (x *ReassignTicketAuthorRequest) GetTicketId() string { + if x != nil { + return x.TicketId + } + return "" +} + +func (x *ReassignTicketAuthorRequest) GetNewAuthorEmail() string { + if x != nil { + return x.NewAuthorEmail + } + return "" +} + +type ReassignTicketAuthorResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The ticket after the creator (and possibly account) was changed. + Ticket *Ticket `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReassignTicketAuthorResponse) Reset() { + *x = ReassignTicketAuthorResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReassignTicketAuthorResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReassignTicketAuthorResponse) ProtoMessage() {} + +func (x *ReassignTicketAuthorResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReassignTicketAuthorResponse.ProtoReflect.Descriptor instead. +func (*ReassignTicketAuthorResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{15} +} + +func (x *ReassignTicketAuthorResponse) GetTicket() *Ticket { + if x != nil { + return x.Ticket + } + return nil +} + +type AddMessageRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + TicketId string `protobuf:"bytes,1,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` + Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` + // reply or internal_note only; internal_note requires superadmin + MessageType TicketMessageType `protobuf:"varint,3,opt,name=message_type,json=messageType,proto3,enum=orchestrator.v1.TicketMessageType" json:"message_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AddMessageRequest) Reset() { + *x = AddMessageRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AddMessageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddMessageRequest) ProtoMessage() {} + +func (x *AddMessageRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddMessageRequest.ProtoReflect.Descriptor instead. +func (*AddMessageRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{16} +} + +func (x *AddMessageRequest) GetTicketId() string { + if x != nil { + return x.TicketId + } + return "" +} + +func (x *AddMessageRequest) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *AddMessageRequest) GetMessageType() TicketMessageType { + if x != nil { + return x.MessageType + } + return TicketMessageType_TICKET_MESSAGE_TYPE_UNSPECIFIED +} + +type AddMessageResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Message *TicketMessage `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + // The ticket after any auto-transitions (reopen, waiting -> open, auto-assign) + Ticket *Ticket `protobuf:"bytes,2,opt,name=ticket,proto3" json:"ticket,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AddMessageResponse) Reset() { + *x = AddMessageResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AddMessageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddMessageResponse) ProtoMessage() {} + +func (x *AddMessageResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddMessageResponse.ProtoReflect.Descriptor instead. +func (*AddMessageResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{17} +} + +func (x *AddMessageResponse) GetMessage() *TicketMessage { + if x != nil { + return x.Message + } + return nil +} + +func (x *AddMessageResponse) GetTicket() *Ticket { + if x != nil { + return x.Ticket + } + return nil +} + +type CloseTicketRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + TicketId string `protobuf:"bytes,1,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CloseTicketRequest) Reset() { + *x = CloseTicketRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CloseTicketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloseTicketRequest) ProtoMessage() {} + +func (x *CloseTicketRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloseTicketRequest.ProtoReflect.Descriptor instead. +func (*CloseTicketRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{18} +} + +func (x *CloseTicketRequest) GetTicketId() string { + if x != nil { + return x.TicketId + } + return "" +} + +type CloseTicketResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Ticket *Ticket `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CloseTicketResponse) Reset() { + *x = CloseTicketResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CloseTicketResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloseTicketResponse) ProtoMessage() {} + +func (x *CloseTicketResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloseTicketResponse.ProtoReflect.Descriptor instead. +func (*CloseTicketResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{19} +} + +func (x *CloseTicketResponse) GetTicket() *Ticket { + if x != nil { + return x.Ticket + } + return nil +} + +type ReopenTicketRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + TicketId string `protobuf:"bytes,1,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReopenTicketRequest) Reset() { + *x = ReopenTicketRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReopenTicketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReopenTicketRequest) ProtoMessage() {} + +func (x *ReopenTicketRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReopenTicketRequest.ProtoReflect.Descriptor instead. +func (*ReopenTicketRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{20} +} + +func (x *ReopenTicketRequest) GetTicketId() string { + if x != nil { + return x.TicketId + } + return "" +} + +type ReopenTicketResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Ticket *Ticket `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReopenTicketResponse) Reset() { + *x = ReopenTicketResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReopenTicketResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReopenTicketResponse) ProtoMessage() {} + +func (x *ReopenTicketResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReopenTicketResponse.ProtoReflect.Descriptor instead. +func (*ReopenTicketResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{21} +} + +func (x *ReopenTicketResponse) GetTicket() *Ticket { + if x != nil { + return x.Ticket + } + return nil +} + +type RateTicketRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + TicketId string `protobuf:"bytes,1,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` + // 1-5 stars + Rating int32 `protobuf:"varint,2,opt,name=rating,proto3" json:"rating,omitempty"` + Comment *string `protobuf:"bytes,3,opt,name=comment,proto3,oneof" json:"comment,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RateTicketRequest) Reset() { + *x = RateTicketRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RateTicketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateTicketRequest) ProtoMessage() {} + +func (x *RateTicketRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateTicketRequest.ProtoReflect.Descriptor instead. +func (*RateTicketRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{22} +} + +func (x *RateTicketRequest) GetTicketId() string { + if x != nil { + return x.TicketId + } + return "" +} + +func (x *RateTicketRequest) GetRating() int32 { + if x != nil { + return x.Rating + } + return 0 +} + +func (x *RateTicketRequest) GetComment() string { + if x != nil && x.Comment != nil { + return *x.Comment + } + return "" +} + +type RateTicketResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Ticket *Ticket `protobuf:"bytes,1,opt,name=ticket,proto3" json:"ticket,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RateTicketResponse) Reset() { + *x = RateTicketResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RateTicketResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateTicketResponse) ProtoMessage() {} + +func (x *RateTicketResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateTicketResponse.ProtoReflect.Descriptor instead. +func (*RateTicketResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{23} +} + +func (x *RateTicketResponse) GetTicket() *Ticket { + if x != nil { + return x.Ticket + } + return nil +} + +type ListCannedResponsesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Unspecified returns all + Category TicketCategory `protobuf:"varint,1,opt,name=category,proto3,enum=orchestrator.v1.TicketCategory" json:"category,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListCannedResponsesRequest) Reset() { + *x = ListCannedResponsesRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListCannedResponsesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCannedResponsesRequest) ProtoMessage() {} + +func (x *ListCannedResponsesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCannedResponsesRequest.ProtoReflect.Descriptor instead. +func (*ListCannedResponsesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{24} +} + +func (x *ListCannedResponsesRequest) GetCategory() TicketCategory { + if x != nil { + return x.Category + } + return TicketCategory_TICKET_CATEGORY_UNSPECIFIED +} + +type ListCannedResponsesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*CannedResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListCannedResponsesResponse) Reset() { + *x = ListCannedResponsesResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListCannedResponsesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCannedResponsesResponse) ProtoMessage() {} + +func (x *ListCannedResponsesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCannedResponsesResponse.ProtoReflect.Descriptor instead. +func (*ListCannedResponsesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{25} +} + +func (x *ListCannedResponsesResponse) GetResponses() []*CannedResponse { + if x != nil { + return x.Responses + } + return nil +} + +type CreateCannedResponseRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` + // Unspecified means not scoped to a category + Category TicketCategory `protobuf:"varint,3,opt,name=category,proto3,enum=orchestrator.v1.TicketCategory" json:"category,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateCannedResponseRequest) Reset() { + *x = CreateCannedResponseRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateCannedResponseRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateCannedResponseRequest) ProtoMessage() {} + +func (x *CreateCannedResponseRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateCannedResponseRequest.ProtoReflect.Descriptor instead. +func (*CreateCannedResponseRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{26} +} + +func (x *CreateCannedResponseRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *CreateCannedResponseRequest) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *CreateCannedResponseRequest) GetCategory() TicketCategory { + if x != nil { + return x.Category + } + return TicketCategory_TICKET_CATEGORY_UNSPECIFIED +} + +type CreateCannedResponseResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Response *CannedResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateCannedResponseResponse) Reset() { + *x = CreateCannedResponseResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateCannedResponseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateCannedResponseResponse) ProtoMessage() {} + +func (x *CreateCannedResponseResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateCannedResponseResponse.ProtoReflect.Descriptor instead. +func (*CreateCannedResponseResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{27} +} + +func (x *CreateCannedResponseResponse) GetResponse() *CannedResponse { + if x != nil { + return x.Response + } + return nil +} + +type UpdateCannedResponseRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` + Category TicketCategory `protobuf:"varint,4,opt,name=category,proto3,enum=orchestrator.v1.TicketCategory" json:"category,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateCannedResponseRequest) Reset() { + *x = UpdateCannedResponseRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateCannedResponseRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateCannedResponseRequest) ProtoMessage() {} + +func (x *UpdateCannedResponseRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateCannedResponseRequest.ProtoReflect.Descriptor instead. +func (*UpdateCannedResponseRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{28} +} + +func (x *UpdateCannedResponseRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateCannedResponseRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *UpdateCannedResponseRequest) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *UpdateCannedResponseRequest) GetCategory() TicketCategory { + if x != nil { + return x.Category + } + return TicketCategory_TICKET_CATEGORY_UNSPECIFIED +} + +type UpdateCannedResponseResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Response *CannedResponse `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateCannedResponseResponse) Reset() { + *x = UpdateCannedResponseResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateCannedResponseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateCannedResponseResponse) ProtoMessage() {} + +func (x *UpdateCannedResponseResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateCannedResponseResponse.ProtoReflect.Descriptor instead. +func (*UpdateCannedResponseResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{29} +} + +func (x *UpdateCannedResponseResponse) GetResponse() *CannedResponse { + if x != nil { + return x.Response + } + return nil +} + +type DeleteCannedResponseRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteCannedResponseRequest) Reset() { + *x = DeleteCannedResponseRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteCannedResponseRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteCannedResponseRequest) ProtoMessage() {} + +func (x *DeleteCannedResponseRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteCannedResponseRequest.ProtoReflect.Descriptor instead. +func (*DeleteCannedResponseRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{30} +} + +func (x *DeleteCannedResponseRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DeleteCannedResponseResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteCannedResponseResponse) Reset() { + *x = DeleteCannedResponseResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteCannedResponseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteCannedResponseResponse) ProtoMessage() {} + +func (x *DeleteCannedResponseResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteCannedResponseResponse.ProtoReflect.Descriptor instead. +func (*DeleteCannedResponseResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{31} +} + +func (x *DeleteCannedResponseResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +type ListModerationQueueRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Unspecified defaults to pending + Status ModerationStatus `protobuf:"varint,1,opt,name=status,proto3,enum=orchestrator.v1.ModerationStatus" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListModerationQueueRequest) Reset() { + *x = ListModerationQueueRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListModerationQueueRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModerationQueueRequest) ProtoMessage() {} + +func (x *ListModerationQueueRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListModerationQueueRequest.ProtoReflect.Descriptor instead. +func (*ListModerationQueueRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{32} +} + +func (x *ListModerationQueueRequest) GetStatus() ModerationStatus { + if x != nil { + return x.Status + } + return ModerationStatus_MODERATION_STATUS_UNSPECIFIED +} + +type ListModerationQueueResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Items []*ModerationItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListModerationQueueResponse) Reset() { + *x = ListModerationQueueResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListModerationQueueResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListModerationQueueResponse) ProtoMessage() {} + +func (x *ListModerationQueueResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListModerationQueueResponse.ProtoReflect.Descriptor instead. +func (*ListModerationQueueResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{33} +} + +func (x *ListModerationQueueResponse) GetItems() []*ModerationItem { + if x != nil { + return x.Items + } + return nil +} + +type ModerationActionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Action ModerationActionType `protobuf:"varint,2,opt,name=action,proto3,enum=orchestrator.v1.ModerationActionType" json:"action,omitempty"` + // Required when action is APPROVE: the account to create the ticket on + AccountId *string `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3,oneof" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ModerationActionRequest) Reset() { + *x = ModerationActionRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ModerationActionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModerationActionRequest) ProtoMessage() {} + +func (x *ModerationActionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ModerationActionRequest.ProtoReflect.Descriptor instead. +func (*ModerationActionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{34} +} + +func (x *ModerationActionRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ModerationActionRequest) GetAction() ModerationActionType { + if x != nil { + return x.Action + } + return ModerationActionType_MODERATION_ACTION_TYPE_UNSPECIFIED +} + +func (x *ModerationActionRequest) GetAccountId() string { + if x != nil && x.AccountId != nil { + return *x.AccountId + } + return "" +} + +type ModerationActionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Item *ModerationItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` + CreatedTicketId *string `protobuf:"bytes,2,opt,name=created_ticket_id,json=createdTicketId,proto3,oneof" json:"created_ticket_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ModerationActionResponse) Reset() { + *x = ModerationActionResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ModerationActionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModerationActionResponse) ProtoMessage() {} + +func (x *ModerationActionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ModerationActionResponse.ProtoReflect.Descriptor instead. +func (*ModerationActionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{35} +} + +func (x *ModerationActionResponse) GetItem() *ModerationItem { + if x != nil { + return x.Item + } + return nil +} + +func (x *ModerationActionResponse) GetCreatedTicketId() string { + if x != nil && x.CreatedTicketId != nil { + return *x.CreatedTicketId + } + return "" +} + +type GetTicketContextRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + TicketId string `protobuf:"bytes,1,opt,name=ticket_id,json=ticketId,proto3" json:"ticket_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetTicketContextRequest) Reset() { + *x = GetTicketContextRequest{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetTicketContextRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTicketContextRequest) ProtoMessage() {} + +func (x *GetTicketContextRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTicketContextRequest.ProtoReflect.Descriptor instead. +func (*GetTicketContextRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{36} +} + +func (x *GetTicketContextRequest) GetTicketId() string { + if x != nil { + return x.TicketId + } + return "" +} + +type GetTicketContextResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Live instance data in the same shape as the frozen context snapshot + // (empty when the ticket has no linked instance) + ContextJson string `protobuf:"bytes,1,opt,name=context_json,json=contextJson,proto3" json:"context_json,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetTicketContextResponse) Reset() { + *x = GetTicketContextResponse{} + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetTicketContextResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetTicketContextResponse) ProtoMessage() {} + +func (x *GetTicketContextResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_helpdesk_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetTicketContextResponse.ProtoReflect.Descriptor instead. +func (*GetTicketContextResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_helpdesk_proto_rawDescGZIP(), []int{37} +} + +func (x *GetTicketContextResponse) GetContextJson() string { + if x != nil { + return x.ContextJson + } + return "" +} + +var File_orchestrator_v1_helpdesk_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_helpdesk_proto_rawDesc = "" + + "\n" + + "\x1eorchestrator/v1/helpdesk.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd6\f\n" + + "\x06Ticket\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n" + + "\n" + + "account_id\x18\x02 \x01(\tR\taccountId\x12$\n" + + "\vinstance_id\x18\x03 \x01(\tH\x00R\n" + + "instanceId\x88\x01\x01\x120\n" + + "\x12created_by_user_id\x18\x04 \x01(\tH\x01R\x0fcreatedByUserId\x88\x01\x01\x12(\n" + + "\rcontact_email\x18\x05 \x01(\tH\x02R\fcontactEmail\x88\x01\x01\x122\n" + + "\x13assigned_to_user_id\x18\x06 \x01(\tH\x03R\x10assignedToUserId\x88\x01\x01\x12\x18\n" + + "\asubject\x18\a \x01(\tR\asubject\x12;\n" + + "\bcategory\x18\b \x01(\x0e2\x1f.orchestrator.v1.TicketCategoryR\bcategory\x125\n" + + "\x06status\x18\t \x01(\x0e2\x1d.orchestrator.v1.TicketStatusR\x06status\x12;\n" + + "\bpriority\x18\n" + + " \x01(\x0e2\x1f.orchestrator.v1.TicketPriorityR\bpriority\x125\n" + + "\x06source\x18\v \x01(\x0e2\x1d.orchestrator.v1.TicketSourceR\x06source\x122\n" + + "\x15context_snapshot_json\x18\f \x01(\tR\x13contextSnapshotJson\x124\n" + + "\x13satisfaction_rating\x18\r \x01(\x05H\x04R\x12satisfactionRating\x88\x01\x01\x126\n" + + "\x14satisfaction_comment\x18\x0e \x01(\tH\x05R\x13satisfactionComment\x88\x01\x01\x12@\n" + + "\vresolved_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampH\x06R\n" + + "resolvedAt\x88\x01\x01\x12<\n" + + "\tclosed_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampH\aR\bclosedAt\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\x12 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12!\n" + + "\faccount_name\x18\x13 \x01(\tR\vaccountName\x12!\n" + + "\faccount_slug\x18\x14 \x01(\tR\vaccountSlug\x12(\n" + + "\rinstance_name\x18\x15 \x01(\tH\bR\finstanceName\x88\x01\x01\x12(\n" + + "\rinstance_slug\x18\x16 \x01(\tH\tR\finstanceSlug\x88\x01\x01\x12&\n" + + "\fcreator_name\x18\x17 \x01(\tH\n" + + "R\vcreatorName\x88\x01\x01\x12(\n" + + "\rcreator_email\x18\x18 \x01(\tH\vR\fcreatorEmail\x88\x01\x01\x12(\n" + + "\rassignee_name\x18\x19 \x01(\tH\fR\fassigneeName\x88\x01\x01\x12*\n" + + "\x0eassignee_email\x18\x1a \x01(\tH\rR\rassigneeEmail\x88\x01\x01\x12\x1f\n" + + "\vreply_count\x18\x1b \x01(\x03R\n" + + "replyCount\x12I\n" + + "\x10last_activity_at\x18\x1c \x01(\v2\x1a.google.protobuf.TimestampH\x0eR\x0elastActivityAt\x88\x01\x01B\x0e\n" + + "\f_instance_idB\x15\n" + + "\x13_created_by_user_idB\x10\n" + + "\x0e_contact_emailB\x16\n" + + "\x14_assigned_to_user_idB\x16\n" + + "\x14_satisfaction_ratingB\x17\n" + + "\x15_satisfaction_commentB\x0e\n" + + "\f_resolved_atB\f\n" + + "\n" + + "_closed_atB\x10\n" + + "\x0e_instance_nameB\x10\n" + + "\x0e_instance_slugB\x0f\n" + + "\r_creator_nameB\x10\n" + + "\x0e_creator_emailB\x10\n" + + "\x0e_assignee_nameB\x11\n" + + "\x0f_assignee_emailB\x13\n" + + "\x11_last_activity_at\"\xc1\x04\n" + + "\rTicketMessage\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" + + "\tticket_id\x18\x02 \x01(\tR\bticketId\x12\x1c\n" + + "\auser_id\x18\x03 \x01(\tH\x00R\x06userId\x88\x01\x01\x12E\n" + + "\fmessage_type\x18\x04 \x01(\x0e2\".orchestrator.v1.TicketMessageTypeR\vmessageType\x12\x12\n" + + "\x04body\x18\x05 \x01(\tR\x04body\x12#\n" + + "\rmetadata_json\x18\x06 \x01(\tR\fmetadataJson\x12-\n" + + "\x10email_message_id\x18\a \x01(\tH\x01R\x0eemailMessageId\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12$\n" + + "\vauthor_name\x18\t \x01(\tH\x02R\n" + + "authorName\x88\x01\x01\x12&\n" + + "\fauthor_email\x18\n" + + " \x01(\tH\x03R\vauthorEmail\x88\x01\x01\x12&\n" + + "\x0fauthor_is_staff\x18\v \x01(\bR\rauthorIsStaff\x12C\n" + + "\vattachments\x18\f \x03(\v2!.orchestrator.v1.TicketAttachmentR\vattachmentsB\n" + + "\n" + + "\b_user_idB\x13\n" + + "\x11_email_message_idB\x0e\n" + + "\f_author_nameB\x0f\n" + + "\r_author_email\"\xe7\x01\n" + + "\x10TicketAttachment\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12*\n" + + "\x11ticket_message_id\x18\x02 \x01(\tR\x0fticketMessageId\x12\x1a\n" + + "\bfilename\x18\x03 \x01(\tR\bfilename\x12!\n" + + "\fcontent_type\x18\x04 \x01(\tR\vcontentType\x12\x1d\n" + + "\n" + + "size_bytes\x18\x05 \x01(\x03R\tsizeBytes\x129\n" + + "\n" + + "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\"\xaa\x02\n" + + "\x0eCannedResponse\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x12\n" + + "\x04body\x18\x03 \x01(\tR\x04body\x12;\n" + + "\bcategory\x18\x04 \x01(\x0e2\x1f.orchestrator.v1.TicketCategoryR\bcategory\x12+\n" + + "\x12created_by_user_id\x18\x05 \x01(\tR\x0fcreatedByUserId\x129\n" + + "\n" + + "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\x82\x04\n" + + "\x0eModerationItem\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fsender_email\x18\x02 \x01(\tR\vsenderEmail\x12$\n" + + "\vsender_name\x18\x03 \x01(\tH\x00R\n" + + "senderName\x88\x01\x01\x12\x18\n" + + "\asubject\x18\x04 \x01(\tR\asubject\x12\x12\n" + + "\x04body\x18\x05 \x01(\tR\x04body\x129\n" + + "\x06status\x18\x06 \x01(\x0e2!.orchestrator.v1.ModerationStatusR\x06status\x122\n" + + "\x13reviewed_by_user_id\x18\a \x01(\tH\x01R\x10reviewedByUserId\x88\x01\x01\x12/\n" + + "\x11created_ticket_id\x18\b \x01(\tH\x02R\x0fcreatedTicketId\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12@\n" + + "\vreviewed_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampH\x03R\n" + + "reviewedAt\x88\x01\x01B\x0e\n" + + "\f_sender_nameB\x16\n" + + "\x14_reviewed_by_user_idB\x14\n" + + "\x12_created_ticket_idB\x0e\n" + + "\f_reviewed_at\"P\n" + + "\vStaffMember\x12\x17\n" + + "\auser_id\x18\x01 \x01(\tR\x06userId\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x14\n" + + "\x05email\x18\x03 \x01(\tR\x05email\"\x8c\x02\n" + + "\x13CreateTicketRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12$\n" + + "\vinstance_id\x18\x02 \x01(\tH\x00R\n" + + "instanceId\x88\x01\x01\x12\x18\n" + + "\asubject\x18\x03 \x01(\tR\asubject\x12;\n" + + "\bcategory\x18\x04 \x01(\x0e2\x1f.orchestrator.v1.TicketCategoryR\bcategory\x12\x12\n" + + "\x04body\x18\x05 \x01(\tR\x04body\x125\n" + + "\x06source\x18\x06 \x01(\x0e2\x1d.orchestrator.v1.TicketSourceR\x06sourceB\x0e\n" + + "\f_instance_id\"\x81\x01\n" + + "\x14CreateTicketResponse\x12/\n" + + "\x06ticket\x18\x01 \x01(\v2\x17.orchestrator.v1.TicketR\x06ticket\x128\n" + + "\amessage\x18\x02 \x01(\v2\x1e.orchestrator.v1.TicketMessageR\amessage\"/\n" + + "\x10GetTicketRequest\x12\x1b\n" + + "\tticket_id\x18\x01 \x01(\tR\bticketId\"\xc9\x01\n" + + "\x11GetTicketResponse\x12/\n" + + "\x06ticket\x18\x01 \x01(\v2\x17.orchestrator.v1.TicketR\x06ticket\x12:\n" + + "\bmessages\x18\x02 \x03(\v2\x1e.orchestrator.v1.TicketMessageR\bmessages\x12G\n" + + "\x10assignable_staff\x18\x03 \x03(\v2\x1c.orchestrator.v1.StaffMemberR\x0fassignableStaff\"\xbf\x03\n" + + "\x12ListTicketsRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12$\n" + + "\vinstance_id\x18\x02 \x01(\tH\x00R\n" + + "instanceId\x88\x01\x01\x125\n" + + "\x06status\x18\x03 \x01(\x0e2\x1d.orchestrator.v1.TicketStatusR\x06status\x12;\n" + + "\bcategory\x18\x04 \x01(\x0e2\x1f.orchestrator.v1.TicketCategoryR\bcategory\x12;\n" + + "\bpriority\x18\x05 \x01(\x0e2\x1f.orchestrator.v1.TicketPriorityR\bpriority\x122\n" + + "\x13assigned_to_user_id\x18\x06 \x01(\tH\x01R\x10assignedToUserId\x88\x01\x01\x12\x1b\n" + + "\x06search\x18\a \x01(\tH\x02R\x06search\x88\x01\x01\x12\x12\n" + + "\x04page\x18\b \x01(\x05R\x04page\x12\x1b\n" + + "\tpage_size\x18\t \x01(\x05R\bpageSizeB\x0e\n" + + "\f_instance_idB\x16\n" + + "\x14_assigned_to_user_idB\t\n" + + "\a_search\"\xb2\x01\n" + + "\x13ListTicketsResponse\x121\n" + + "\atickets\x18\x01 \x03(\v2\x17.orchestrator.v1.TicketR\atickets\x12\x1f\n" + + "\vtotal_count\x18\x02 \x01(\x03R\n" + + "totalCount\x12G\n" + + "\x10assignable_staff\x18\x03 \x03(\v2\x1c.orchestrator.v1.StaffMemberR\x0fassignableStaff\"\xaf\x02\n" + + "\x13UpdateTicketRequest\x12\x1b\n" + + "\tticket_id\x18\x01 \x01(\tR\bticketId\x125\n" + + "\x06status\x18\x02 \x01(\x0e2\x1d.orchestrator.v1.TicketStatusR\x06status\x12;\n" + + "\bpriority\x18\x03 \x01(\x0e2\x1f.orchestrator.v1.TicketPriorityR\bpriority\x12;\n" + + "\bcategory\x18\x04 \x01(\x0e2\x1f.orchestrator.v1.TicketCategoryR\bcategory\x122\n" + + "\x13assigned_to_user_id\x18\x05 \x01(\tH\x00R\x10assignedToUserId\x88\x01\x01B\x16\n" + + "\x14_assigned_to_user_id\"G\n" + + "\x14UpdateTicketResponse\x12/\n" + + "\x06ticket\x18\x01 \x01(\v2\x17.orchestrator.v1.TicketR\x06ticket\"d\n" + + "\x1bReassignTicketAuthorRequest\x12\x1b\n" + + "\tticket_id\x18\x01 \x01(\tR\bticketId\x12(\n" + + "\x10new_author_email\x18\x02 \x01(\tR\x0enewAuthorEmail\"O\n" + + "\x1cReassignTicketAuthorResponse\x12/\n" + + "\x06ticket\x18\x01 \x01(\v2\x17.orchestrator.v1.TicketR\x06ticket\"\x8b\x01\n" + + "\x11AddMessageRequest\x12\x1b\n" + + "\tticket_id\x18\x01 \x01(\tR\bticketId\x12\x12\n" + + "\x04body\x18\x02 \x01(\tR\x04body\x12E\n" + + "\fmessage_type\x18\x03 \x01(\x0e2\".orchestrator.v1.TicketMessageTypeR\vmessageType\"\x7f\n" + + "\x12AddMessageResponse\x128\n" + + "\amessage\x18\x01 \x01(\v2\x1e.orchestrator.v1.TicketMessageR\amessage\x12/\n" + + "\x06ticket\x18\x02 \x01(\v2\x17.orchestrator.v1.TicketR\x06ticket\"1\n" + + "\x12CloseTicketRequest\x12\x1b\n" + + "\tticket_id\x18\x01 \x01(\tR\bticketId\"F\n" + + "\x13CloseTicketResponse\x12/\n" + + "\x06ticket\x18\x01 \x01(\v2\x17.orchestrator.v1.TicketR\x06ticket\"2\n" + + "\x13ReopenTicketRequest\x12\x1b\n" + + "\tticket_id\x18\x01 \x01(\tR\bticketId\"G\n" + + "\x14ReopenTicketResponse\x12/\n" + + "\x06ticket\x18\x01 \x01(\v2\x17.orchestrator.v1.TicketR\x06ticket\"s\n" + + "\x11RateTicketRequest\x12\x1b\n" + + "\tticket_id\x18\x01 \x01(\tR\bticketId\x12\x16\n" + + "\x06rating\x18\x02 \x01(\x05R\x06rating\x12\x1d\n" + + "\acomment\x18\x03 \x01(\tH\x00R\acomment\x88\x01\x01B\n" + + "\n" + + "\b_comment\"E\n" + + "\x12RateTicketResponse\x12/\n" + + "\x06ticket\x18\x01 \x01(\v2\x17.orchestrator.v1.TicketR\x06ticket\"Y\n" + + "\x1aListCannedResponsesRequest\x12;\n" + + "\bcategory\x18\x01 \x01(\x0e2\x1f.orchestrator.v1.TicketCategoryR\bcategory\"\\\n" + + "\x1bListCannedResponsesResponse\x12=\n" + + "\tresponses\x18\x01 \x03(\v2\x1f.orchestrator.v1.CannedResponseR\tresponses\"\x84\x01\n" + + "\x1bCreateCannedResponseRequest\x12\x14\n" + + "\x05title\x18\x01 \x01(\tR\x05title\x12\x12\n" + + "\x04body\x18\x02 \x01(\tR\x04body\x12;\n" + + "\bcategory\x18\x03 \x01(\x0e2\x1f.orchestrator.v1.TicketCategoryR\bcategory\"[\n" + + "\x1cCreateCannedResponseResponse\x12;\n" + + "\bresponse\x18\x01 \x01(\v2\x1f.orchestrator.v1.CannedResponseR\bresponse\"\x94\x01\n" + + "\x1bUpdateCannedResponseRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" + + "\x05title\x18\x02 \x01(\tR\x05title\x12\x12\n" + + "\x04body\x18\x03 \x01(\tR\x04body\x12;\n" + + "\bcategory\x18\x04 \x01(\x0e2\x1f.orchestrator.v1.TicketCategoryR\bcategory\"[\n" + + "\x1cUpdateCannedResponseResponse\x12;\n" + + "\bresponse\x18\x01 \x01(\v2\x1f.orchestrator.v1.CannedResponseR\bresponse\"-\n" + + "\x1bDeleteCannedResponseRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"8\n" + + "\x1cDeleteCannedResponseResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\"W\n" + + "\x1aListModerationQueueRequest\x129\n" + + "\x06status\x18\x01 \x01(\x0e2!.orchestrator.v1.ModerationStatusR\x06status\"T\n" + + "\x1bListModerationQueueResponse\x125\n" + + "\x05items\x18\x01 \x03(\v2\x1f.orchestrator.v1.ModerationItemR\x05items\"\x9b\x01\n" + + "\x17ModerationActionRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12=\n" + + "\x06action\x18\x02 \x01(\x0e2%.orchestrator.v1.ModerationActionTypeR\x06action\x12\"\n" + + "\n" + + "account_id\x18\x03 \x01(\tH\x00R\taccountId\x88\x01\x01B\r\n" + + "\v_account_id\"\x96\x01\n" + + "\x18ModerationActionResponse\x123\n" + + "\x04item\x18\x01 \x01(\v2\x1f.orchestrator.v1.ModerationItemR\x04item\x12/\n" + + "\x11created_ticket_id\x18\x02 \x01(\tH\x00R\x0fcreatedTicketId\x88\x01\x01B\x14\n" + + "\x12_created_ticket_id\"6\n" + + "\x17GetTicketContextRequest\x12\x1b\n" + + "\tticket_id\x18\x01 \x01(\tR\bticketId\"=\n" + + "\x18GetTicketContextResponse\x12!\n" + + "\fcontext_json\x18\x01 \x01(\tR\vcontextJson*\x85\x02\n" + + "\x0eTicketCategory\x12\x1f\n" + + "\x1bTICKET_CATEGORY_UNSPECIFIED\x10\x00\x12\x17\n" + + "\x13TICKET_CATEGORY_BUG\x10\x01\x12#\n" + + "\x1fTICKET_CATEGORY_FEATURE_REQUEST\x10\x02\x12\x1b\n" + + "\x17TICKET_CATEGORY_BILLING\x10\x03\x12\x1a\n" + + "\x16TICKET_CATEGORY_HOW_TO\x10\x04\x12\x1f\n" + + "\x1bTICKET_CATEGORY_DNS_DOMAINS\x10\x05\x12\x1f\n" + + "\x1bTICKET_CATEGORY_PERFORMANCE\x10\x06\x12\x19\n" + + "\x15TICKET_CATEGORY_OTHER\x10\a*\xd8\x01\n" + + "\fTicketStatus\x12\x1d\n" + + "\x19TICKET_STATUS_UNSPECIFIED\x10\x00\x12\x15\n" + + "\x11TICKET_STATUS_NEW\x10\x01\x12\x16\n" + + "\x12TICKET_STATUS_OPEN\x10\x02\x12\x1d\n" + + "\x19TICKET_STATUS_IN_PROGRESS\x10\x03\x12%\n" + + "!TICKET_STATUS_WAITING_ON_CUSTOMER\x10\x04\x12\x1a\n" + + "\x16TICKET_STATUS_RESOLVED\x10\x05\x12\x18\n" + + "\x14TICKET_STATUS_CLOSED\x10\x06*\x9c\x01\n" + + "\x0eTicketPriority\x12\x1f\n" + + "\x1bTICKET_PRIORITY_UNSPECIFIED\x10\x00\x12\x17\n" + + "\x13TICKET_PRIORITY_LOW\x10\x01\x12\x1a\n" + + "\x16TICKET_PRIORITY_NORMAL\x10\x02\x12\x18\n" + + "\x14TICKET_PRIORITY_HIGH\x10\x03\x12\x1a\n" + + "\x16TICKET_PRIORITY_URGENT\x10\x04*\x81\x01\n" + + "\fTicketSource\x12\x1d\n" + + "\x19TICKET_SOURCE_UNSPECIFIED\x10\x00\x12\x1b\n" + + "\x17TICKET_SOURCE_DASHBOARD\x10\x01\x12\x17\n" + + "\x13TICKET_SOURCE_EMAIL\x10\x02\x12\x1c\n" + + "\x18TICKET_SOURCE_CMS_WIDGET\x10\x03*\xc5\x01\n" + + "\x11TicketMessageType\x12#\n" + + "\x1fTICKET_MESSAGE_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n" + + "\x19TICKET_MESSAGE_TYPE_REPLY\x10\x01\x12%\n" + + "!TICKET_MESSAGE_TYPE_INTERNAL_NOTE\x10\x02\x12%\n" + + "!TICKET_MESSAGE_TYPE_STATUS_CHANGE\x10\x03\x12\x1e\n" + + "\x1aTICKET_MESSAGE_TYPE_SYSTEM\x10\x04*\x94\x01\n" + + "\x10ModerationStatus\x12!\n" + + "\x1dMODERATION_STATUS_UNSPECIFIED\x10\x00\x12\x1d\n" + + "\x19MODERATION_STATUS_PENDING\x10\x01\x12\x1e\n" + + "\x1aMODERATION_STATUS_APPROVED\x10\x02\x12\x1e\n" + + "\x1aMODERATION_STATUS_REJECTED\x10\x03*\x85\x01\n" + + "\x14ModerationActionType\x12&\n" + + "\"MODERATION_ACTION_TYPE_UNSPECIFIED\x10\x00\x12\"\n" + + "\x1eMODERATION_ACTION_TYPE_APPROVE\x10\x01\x12!\n" + + "\x1dMODERATION_ACTION_TYPE_REJECT\x10\x022\xe8\f\n" + + "\x0fHelpDeskService\x12[\n" + + "\fCreateTicket\x12$.orchestrator.v1.CreateTicketRequest\x1a%.orchestrator.v1.CreateTicketResponse\x12R\n" + + "\tGetTicket\x12!.orchestrator.v1.GetTicketRequest\x1a\".orchestrator.v1.GetTicketResponse\x12X\n" + + "\vListTickets\x12#.orchestrator.v1.ListTicketsRequest\x1a$.orchestrator.v1.ListTicketsResponse\x12[\n" + + "\fUpdateTicket\x12$.orchestrator.v1.UpdateTicketRequest\x1a%.orchestrator.v1.UpdateTicketResponse\x12s\n" + + "\x14ReassignTicketAuthor\x12,.orchestrator.v1.ReassignTicketAuthorRequest\x1a-.orchestrator.v1.ReassignTicketAuthorResponse\x12U\n" + + "\n" + + "AddMessage\x12\".orchestrator.v1.AddMessageRequest\x1a#.orchestrator.v1.AddMessageResponse\x12X\n" + + "\vCloseTicket\x12#.orchestrator.v1.CloseTicketRequest\x1a$.orchestrator.v1.CloseTicketResponse\x12[\n" + + "\fReopenTicket\x12$.orchestrator.v1.ReopenTicketRequest\x1a%.orchestrator.v1.ReopenTicketResponse\x12U\n" + + "\n" + + "RateTicket\x12\".orchestrator.v1.RateTicketRequest\x1a#.orchestrator.v1.RateTicketResponse\x12p\n" + + "\x13ListCannedResponses\x12+.orchestrator.v1.ListCannedResponsesRequest\x1a,.orchestrator.v1.ListCannedResponsesResponse\x12s\n" + + "\x14CreateCannedResponse\x12,.orchestrator.v1.CreateCannedResponseRequest\x1a-.orchestrator.v1.CreateCannedResponseResponse\x12s\n" + + "\x14UpdateCannedResponse\x12,.orchestrator.v1.UpdateCannedResponseRequest\x1a-.orchestrator.v1.UpdateCannedResponseResponse\x12s\n" + + "\x14DeleteCannedResponse\x12,.orchestrator.v1.DeleteCannedResponseRequest\x1a-.orchestrator.v1.DeleteCannedResponseResponse\x12p\n" + + "\x13ListModerationQueue\x12+.orchestrator.v1.ListModerationQueueRequest\x1a,.orchestrator.v1.ListModerationQueueResponse\x12g\n" + + "\x10ModerationAction\x12(.orchestrator.v1.ModerationActionRequest\x1a).orchestrator.v1.ModerationActionResponse\x12g\n" + + "\x10GetTicketContext\x12(.orchestrator.v1.GetTicketContextRequest\x1a).orchestrator.v1.GetTicketContextResponseB\xd0\x01\n" + + "\x13com.orchestrator.v1B\rHelpdeskProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_helpdesk_proto_rawDescOnce sync.Once + file_orchestrator_v1_helpdesk_proto_rawDescData []byte +) + +func file_orchestrator_v1_helpdesk_proto_rawDescGZIP() []byte { + file_orchestrator_v1_helpdesk_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_helpdesk_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_helpdesk_proto_rawDesc), len(file_orchestrator_v1_helpdesk_proto_rawDesc))) + }) + return file_orchestrator_v1_helpdesk_proto_rawDescData +} + +var file_orchestrator_v1_helpdesk_proto_enumTypes = make([]protoimpl.EnumInfo, 7) +var file_orchestrator_v1_helpdesk_proto_msgTypes = make([]protoimpl.MessageInfo, 38) +var file_orchestrator_v1_helpdesk_proto_goTypes = []any{ + (TicketCategory)(0), // 0: orchestrator.v1.TicketCategory + (TicketStatus)(0), // 1: orchestrator.v1.TicketStatus + (TicketPriority)(0), // 2: orchestrator.v1.TicketPriority + (TicketSource)(0), // 3: orchestrator.v1.TicketSource + (TicketMessageType)(0), // 4: orchestrator.v1.TicketMessageType + (ModerationStatus)(0), // 5: orchestrator.v1.ModerationStatus + (ModerationActionType)(0), // 6: orchestrator.v1.ModerationActionType + (*Ticket)(nil), // 7: orchestrator.v1.Ticket + (*TicketMessage)(nil), // 8: orchestrator.v1.TicketMessage + (*TicketAttachment)(nil), // 9: orchestrator.v1.TicketAttachment + (*CannedResponse)(nil), // 10: orchestrator.v1.CannedResponse + (*ModerationItem)(nil), // 11: orchestrator.v1.ModerationItem + (*StaffMember)(nil), // 12: orchestrator.v1.StaffMember + (*CreateTicketRequest)(nil), // 13: orchestrator.v1.CreateTicketRequest + (*CreateTicketResponse)(nil), // 14: orchestrator.v1.CreateTicketResponse + (*GetTicketRequest)(nil), // 15: orchestrator.v1.GetTicketRequest + (*GetTicketResponse)(nil), // 16: orchestrator.v1.GetTicketResponse + (*ListTicketsRequest)(nil), // 17: orchestrator.v1.ListTicketsRequest + (*ListTicketsResponse)(nil), // 18: orchestrator.v1.ListTicketsResponse + (*UpdateTicketRequest)(nil), // 19: orchestrator.v1.UpdateTicketRequest + (*UpdateTicketResponse)(nil), // 20: orchestrator.v1.UpdateTicketResponse + (*ReassignTicketAuthorRequest)(nil), // 21: orchestrator.v1.ReassignTicketAuthorRequest + (*ReassignTicketAuthorResponse)(nil), // 22: orchestrator.v1.ReassignTicketAuthorResponse + (*AddMessageRequest)(nil), // 23: orchestrator.v1.AddMessageRequest + (*AddMessageResponse)(nil), // 24: orchestrator.v1.AddMessageResponse + (*CloseTicketRequest)(nil), // 25: orchestrator.v1.CloseTicketRequest + (*CloseTicketResponse)(nil), // 26: orchestrator.v1.CloseTicketResponse + (*ReopenTicketRequest)(nil), // 27: orchestrator.v1.ReopenTicketRequest + (*ReopenTicketResponse)(nil), // 28: orchestrator.v1.ReopenTicketResponse + (*RateTicketRequest)(nil), // 29: orchestrator.v1.RateTicketRequest + (*RateTicketResponse)(nil), // 30: orchestrator.v1.RateTicketResponse + (*ListCannedResponsesRequest)(nil), // 31: orchestrator.v1.ListCannedResponsesRequest + (*ListCannedResponsesResponse)(nil), // 32: orchestrator.v1.ListCannedResponsesResponse + (*CreateCannedResponseRequest)(nil), // 33: orchestrator.v1.CreateCannedResponseRequest + (*CreateCannedResponseResponse)(nil), // 34: orchestrator.v1.CreateCannedResponseResponse + (*UpdateCannedResponseRequest)(nil), // 35: orchestrator.v1.UpdateCannedResponseRequest + (*UpdateCannedResponseResponse)(nil), // 36: orchestrator.v1.UpdateCannedResponseResponse + (*DeleteCannedResponseRequest)(nil), // 37: orchestrator.v1.DeleteCannedResponseRequest + (*DeleteCannedResponseResponse)(nil), // 38: orchestrator.v1.DeleteCannedResponseResponse + (*ListModerationQueueRequest)(nil), // 39: orchestrator.v1.ListModerationQueueRequest + (*ListModerationQueueResponse)(nil), // 40: orchestrator.v1.ListModerationQueueResponse + (*ModerationActionRequest)(nil), // 41: orchestrator.v1.ModerationActionRequest + (*ModerationActionResponse)(nil), // 42: orchestrator.v1.ModerationActionResponse + (*GetTicketContextRequest)(nil), // 43: orchestrator.v1.GetTicketContextRequest + (*GetTicketContextResponse)(nil), // 44: orchestrator.v1.GetTicketContextResponse + (*timestamppb.Timestamp)(nil), // 45: google.protobuf.Timestamp +} +var file_orchestrator_v1_helpdesk_proto_depIdxs = []int32{ + 0, // 0: orchestrator.v1.Ticket.category:type_name -> orchestrator.v1.TicketCategory + 1, // 1: orchestrator.v1.Ticket.status:type_name -> orchestrator.v1.TicketStatus + 2, // 2: orchestrator.v1.Ticket.priority:type_name -> orchestrator.v1.TicketPriority + 3, // 3: orchestrator.v1.Ticket.source:type_name -> orchestrator.v1.TicketSource + 45, // 4: orchestrator.v1.Ticket.resolved_at:type_name -> google.protobuf.Timestamp + 45, // 5: orchestrator.v1.Ticket.closed_at:type_name -> google.protobuf.Timestamp + 45, // 6: orchestrator.v1.Ticket.created_at:type_name -> google.protobuf.Timestamp + 45, // 7: orchestrator.v1.Ticket.updated_at:type_name -> google.protobuf.Timestamp + 45, // 8: orchestrator.v1.Ticket.last_activity_at:type_name -> google.protobuf.Timestamp + 4, // 9: orchestrator.v1.TicketMessage.message_type:type_name -> orchestrator.v1.TicketMessageType + 45, // 10: orchestrator.v1.TicketMessage.created_at:type_name -> google.protobuf.Timestamp + 9, // 11: orchestrator.v1.TicketMessage.attachments:type_name -> orchestrator.v1.TicketAttachment + 45, // 12: orchestrator.v1.TicketAttachment.created_at:type_name -> google.protobuf.Timestamp + 0, // 13: orchestrator.v1.CannedResponse.category:type_name -> orchestrator.v1.TicketCategory + 45, // 14: orchestrator.v1.CannedResponse.created_at:type_name -> google.protobuf.Timestamp + 45, // 15: orchestrator.v1.CannedResponse.updated_at:type_name -> google.protobuf.Timestamp + 5, // 16: orchestrator.v1.ModerationItem.status:type_name -> orchestrator.v1.ModerationStatus + 45, // 17: orchestrator.v1.ModerationItem.created_at:type_name -> google.protobuf.Timestamp + 45, // 18: orchestrator.v1.ModerationItem.reviewed_at:type_name -> google.protobuf.Timestamp + 0, // 19: orchestrator.v1.CreateTicketRequest.category:type_name -> orchestrator.v1.TicketCategory + 3, // 20: orchestrator.v1.CreateTicketRequest.source:type_name -> orchestrator.v1.TicketSource + 7, // 21: orchestrator.v1.CreateTicketResponse.ticket:type_name -> orchestrator.v1.Ticket + 8, // 22: orchestrator.v1.CreateTicketResponse.message:type_name -> orchestrator.v1.TicketMessage + 7, // 23: orchestrator.v1.GetTicketResponse.ticket:type_name -> orchestrator.v1.Ticket + 8, // 24: orchestrator.v1.GetTicketResponse.messages:type_name -> orchestrator.v1.TicketMessage + 12, // 25: orchestrator.v1.GetTicketResponse.assignable_staff:type_name -> orchestrator.v1.StaffMember + 1, // 26: orchestrator.v1.ListTicketsRequest.status:type_name -> orchestrator.v1.TicketStatus + 0, // 27: orchestrator.v1.ListTicketsRequest.category:type_name -> orchestrator.v1.TicketCategory + 2, // 28: orchestrator.v1.ListTicketsRequest.priority:type_name -> orchestrator.v1.TicketPriority + 7, // 29: orchestrator.v1.ListTicketsResponse.tickets:type_name -> orchestrator.v1.Ticket + 12, // 30: orchestrator.v1.ListTicketsResponse.assignable_staff:type_name -> orchestrator.v1.StaffMember + 1, // 31: orchestrator.v1.UpdateTicketRequest.status:type_name -> orchestrator.v1.TicketStatus + 2, // 32: orchestrator.v1.UpdateTicketRequest.priority:type_name -> orchestrator.v1.TicketPriority + 0, // 33: orchestrator.v1.UpdateTicketRequest.category:type_name -> orchestrator.v1.TicketCategory + 7, // 34: orchestrator.v1.UpdateTicketResponse.ticket:type_name -> orchestrator.v1.Ticket + 7, // 35: orchestrator.v1.ReassignTicketAuthorResponse.ticket:type_name -> orchestrator.v1.Ticket + 4, // 36: orchestrator.v1.AddMessageRequest.message_type:type_name -> orchestrator.v1.TicketMessageType + 8, // 37: orchestrator.v1.AddMessageResponse.message:type_name -> orchestrator.v1.TicketMessage + 7, // 38: orchestrator.v1.AddMessageResponse.ticket:type_name -> orchestrator.v1.Ticket + 7, // 39: orchestrator.v1.CloseTicketResponse.ticket:type_name -> orchestrator.v1.Ticket + 7, // 40: orchestrator.v1.ReopenTicketResponse.ticket:type_name -> orchestrator.v1.Ticket + 7, // 41: orchestrator.v1.RateTicketResponse.ticket:type_name -> orchestrator.v1.Ticket + 0, // 42: orchestrator.v1.ListCannedResponsesRequest.category:type_name -> orchestrator.v1.TicketCategory + 10, // 43: orchestrator.v1.ListCannedResponsesResponse.responses:type_name -> orchestrator.v1.CannedResponse + 0, // 44: orchestrator.v1.CreateCannedResponseRequest.category:type_name -> orchestrator.v1.TicketCategory + 10, // 45: orchestrator.v1.CreateCannedResponseResponse.response:type_name -> orchestrator.v1.CannedResponse + 0, // 46: orchestrator.v1.UpdateCannedResponseRequest.category:type_name -> orchestrator.v1.TicketCategory + 10, // 47: orchestrator.v1.UpdateCannedResponseResponse.response:type_name -> orchestrator.v1.CannedResponse + 5, // 48: orchestrator.v1.ListModerationQueueRequest.status:type_name -> orchestrator.v1.ModerationStatus + 11, // 49: orchestrator.v1.ListModerationQueueResponse.items:type_name -> orchestrator.v1.ModerationItem + 6, // 50: orchestrator.v1.ModerationActionRequest.action:type_name -> orchestrator.v1.ModerationActionType + 11, // 51: orchestrator.v1.ModerationActionResponse.item:type_name -> orchestrator.v1.ModerationItem + 13, // 52: orchestrator.v1.HelpDeskService.CreateTicket:input_type -> orchestrator.v1.CreateTicketRequest + 15, // 53: orchestrator.v1.HelpDeskService.GetTicket:input_type -> orchestrator.v1.GetTicketRequest + 17, // 54: orchestrator.v1.HelpDeskService.ListTickets:input_type -> orchestrator.v1.ListTicketsRequest + 19, // 55: orchestrator.v1.HelpDeskService.UpdateTicket:input_type -> orchestrator.v1.UpdateTicketRequest + 21, // 56: orchestrator.v1.HelpDeskService.ReassignTicketAuthor:input_type -> orchestrator.v1.ReassignTicketAuthorRequest + 23, // 57: orchestrator.v1.HelpDeskService.AddMessage:input_type -> orchestrator.v1.AddMessageRequest + 25, // 58: orchestrator.v1.HelpDeskService.CloseTicket:input_type -> orchestrator.v1.CloseTicketRequest + 27, // 59: orchestrator.v1.HelpDeskService.ReopenTicket:input_type -> orchestrator.v1.ReopenTicketRequest + 29, // 60: orchestrator.v1.HelpDeskService.RateTicket:input_type -> orchestrator.v1.RateTicketRequest + 31, // 61: orchestrator.v1.HelpDeskService.ListCannedResponses:input_type -> orchestrator.v1.ListCannedResponsesRequest + 33, // 62: orchestrator.v1.HelpDeskService.CreateCannedResponse:input_type -> orchestrator.v1.CreateCannedResponseRequest + 35, // 63: orchestrator.v1.HelpDeskService.UpdateCannedResponse:input_type -> orchestrator.v1.UpdateCannedResponseRequest + 37, // 64: orchestrator.v1.HelpDeskService.DeleteCannedResponse:input_type -> orchestrator.v1.DeleteCannedResponseRequest + 39, // 65: orchestrator.v1.HelpDeskService.ListModerationQueue:input_type -> orchestrator.v1.ListModerationQueueRequest + 41, // 66: orchestrator.v1.HelpDeskService.ModerationAction:input_type -> orchestrator.v1.ModerationActionRequest + 43, // 67: orchestrator.v1.HelpDeskService.GetTicketContext:input_type -> orchestrator.v1.GetTicketContextRequest + 14, // 68: orchestrator.v1.HelpDeskService.CreateTicket:output_type -> orchestrator.v1.CreateTicketResponse + 16, // 69: orchestrator.v1.HelpDeskService.GetTicket:output_type -> orchestrator.v1.GetTicketResponse + 18, // 70: orchestrator.v1.HelpDeskService.ListTickets:output_type -> orchestrator.v1.ListTicketsResponse + 20, // 71: orchestrator.v1.HelpDeskService.UpdateTicket:output_type -> orchestrator.v1.UpdateTicketResponse + 22, // 72: orchestrator.v1.HelpDeskService.ReassignTicketAuthor:output_type -> orchestrator.v1.ReassignTicketAuthorResponse + 24, // 73: orchestrator.v1.HelpDeskService.AddMessage:output_type -> orchestrator.v1.AddMessageResponse + 26, // 74: orchestrator.v1.HelpDeskService.CloseTicket:output_type -> orchestrator.v1.CloseTicketResponse + 28, // 75: orchestrator.v1.HelpDeskService.ReopenTicket:output_type -> orchestrator.v1.ReopenTicketResponse + 30, // 76: orchestrator.v1.HelpDeskService.RateTicket:output_type -> orchestrator.v1.RateTicketResponse + 32, // 77: orchestrator.v1.HelpDeskService.ListCannedResponses:output_type -> orchestrator.v1.ListCannedResponsesResponse + 34, // 78: orchestrator.v1.HelpDeskService.CreateCannedResponse:output_type -> orchestrator.v1.CreateCannedResponseResponse + 36, // 79: orchestrator.v1.HelpDeskService.UpdateCannedResponse:output_type -> orchestrator.v1.UpdateCannedResponseResponse + 38, // 80: orchestrator.v1.HelpDeskService.DeleteCannedResponse:output_type -> orchestrator.v1.DeleteCannedResponseResponse + 40, // 81: orchestrator.v1.HelpDeskService.ListModerationQueue:output_type -> orchestrator.v1.ListModerationQueueResponse + 42, // 82: orchestrator.v1.HelpDeskService.ModerationAction:output_type -> orchestrator.v1.ModerationActionResponse + 44, // 83: orchestrator.v1.HelpDeskService.GetTicketContext:output_type -> orchestrator.v1.GetTicketContextResponse + 68, // [68:84] is the sub-list for method output_type + 52, // [52:68] is the sub-list for method input_type + 52, // [52:52] is the sub-list for extension type_name + 52, // [52:52] is the sub-list for extension extendee + 0, // [0:52] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_helpdesk_proto_init() } +func file_orchestrator_v1_helpdesk_proto_init() { + if File_orchestrator_v1_helpdesk_proto != nil { + return + } + file_orchestrator_v1_helpdesk_proto_msgTypes[0].OneofWrappers = []any{} + file_orchestrator_v1_helpdesk_proto_msgTypes[1].OneofWrappers = []any{} + file_orchestrator_v1_helpdesk_proto_msgTypes[4].OneofWrappers = []any{} + file_orchestrator_v1_helpdesk_proto_msgTypes[6].OneofWrappers = []any{} + file_orchestrator_v1_helpdesk_proto_msgTypes[10].OneofWrappers = []any{} + file_orchestrator_v1_helpdesk_proto_msgTypes[12].OneofWrappers = []any{} + file_orchestrator_v1_helpdesk_proto_msgTypes[22].OneofWrappers = []any{} + file_orchestrator_v1_helpdesk_proto_msgTypes[34].OneofWrappers = []any{} + file_orchestrator_v1_helpdesk_proto_msgTypes[35].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_helpdesk_proto_rawDesc), len(file_orchestrator_v1_helpdesk_proto_rawDesc)), + NumEnums: 7, + NumMessages: 38, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_helpdesk_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_helpdesk_proto_depIdxs, + EnumInfos: file_orchestrator_v1_helpdesk_proto_enumTypes, + MessageInfos: file_orchestrator_v1_helpdesk_proto_msgTypes, + }.Build() + File_orchestrator_v1_helpdesk_proto = out.File + file_orchestrator_v1_helpdesk_proto_goTypes = nil + file_orchestrator_v1_helpdesk_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/infrastructure.pb.go b/internal/api/orchestrator/v1/infrastructure.pb.go new file mode 100644 index 0000000..188bcad --- /dev/null +++ b/internal/api/orchestrator/v1/infrastructure.pb.go @@ -0,0 +1,8558 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/infrastructure.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// OperationOutput is the streaming response for long-running operations. +// Frontend renders these lines in a terminal-style output panel. +type OperationOutput struct { + state protoimpl.MessageState `protogen:"open.v1"` + Line string `protobuf:"bytes,1,opt,name=line,proto3" json:"line,omitempty"` + Step string `protobuf:"bytes,2,opt,name=step,proto3" json:"step,omitempty"` + IsError bool `protobuf:"varint,3,opt,name=is_error,json=isError,proto3" json:"is_error,omitempty"` + IsComplete bool `protobuf:"varint,4,opt,name=is_complete,json=isComplete,proto3" json:"is_complete,omitempty"` + Success bool `protobuf:"varint,5,opt,name=success,proto3" json:"success,omitempty"` + ErrorMessage string `protobuf:"bytes,6,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OperationOutput) Reset() { + *x = OperationOutput{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OperationOutput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OperationOutput) ProtoMessage() {} + +func (x *OperationOutput) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OperationOutput.ProtoReflect.Descriptor instead. +func (*OperationOutput) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{0} +} + +func (x *OperationOutput) GetLine() string { + if x != nil { + return x.Line + } + return "" +} + +func (x *OperationOutput) GetStep() string { + if x != nil { + return x.Step + } + return "" +} + +func (x *OperationOutput) GetIsError() bool { + if x != nil { + return x.IsError + } + return false +} + +func (x *OperationOutput) GetIsComplete() bool { + if x != nil { + return x.IsComplete + } + return false +} + +func (x *OperationOutput) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *OperationOutput) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +type NodeHealthSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + NodeName string `protobuf:"bytes,2,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"` + NodeSlug string `protobuf:"bytes,3,opt,name=node_slug,json=nodeSlug,proto3" json:"node_slug,omitempty"` + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + SshHost *string `protobuf:"bytes,5,opt,name=ssh_host,json=sshHost,proto3,oneof" json:"ssh_host,omitempty"` + CountryCode *string `protobuf:"bytes,6,opt,name=country_code,json=countryCode,proto3,oneof" json:"country_code,omitempty"` + City *string `protobuf:"bytes,7,opt,name=city,proto3,oneof" json:"city,omitempty"` + CpuPercent *float32 `protobuf:"fixed32,8,opt,name=cpu_percent,json=cpuPercent,proto3,oneof" json:"cpu_percent,omitempty"` + MemoryUsedBytes *int64 `protobuf:"varint,9,opt,name=memory_used_bytes,json=memoryUsedBytes,proto3,oneof" json:"memory_used_bytes,omitempty"` + MemoryTotalBytes *int64 `protobuf:"varint,10,opt,name=memory_total_bytes,json=memoryTotalBytes,proto3,oneof" json:"memory_total_bytes,omitempty"` + DiskUsedBytes *int64 `protobuf:"varint,11,opt,name=disk_used_bytes,json=diskUsedBytes,proto3,oneof" json:"disk_used_bytes,omitempty"` + DiskTotalBytes *int64 `protobuf:"varint,12,opt,name=disk_total_bytes,json=diskTotalBytes,proto3,oneof" json:"disk_total_bytes,omitempty"` + RunningContainers int32 `protobuf:"varint,13,opt,name=running_containers,json=runningContainers,proto3" json:"running_containers,omitempty"` + CurrentInstances int32 `protobuf:"varint,14,opt,name=current_instances,json=currentInstances,proto3" json:"current_instances,omitempty"` + MaxInstances int32 `protobuf:"varint,15,opt,name=max_instances,json=maxInstances,proto3" json:"max_instances,omitempty"` + TraefikVersion *string `protobuf:"bytes,16,opt,name=traefik_version,json=traefikVersion,proto3,oneof" json:"traefik_version,omitempty"` + TraefikHealthy *bool `protobuf:"varint,17,opt,name=traefik_healthy,json=traefikHealthy,proto3,oneof" json:"traefik_healthy,omitempty"` + OpenbaoVersion *string `protobuf:"bytes,18,opt,name=openbao_version,json=openbaoVersion,proto3,oneof" json:"openbao_version,omitempty"` + OpenbaoSealed *bool `protobuf:"varint,19,opt,name=openbao_sealed,json=openbaoSealed,proto3,oneof" json:"openbao_sealed,omitempty"` + ConsulConnected *bool `protobuf:"varint,20,opt,name=consul_connected,json=consulConnected,proto3,oneof" json:"consul_connected,omitempty"` + TenantDbVersion *string `protobuf:"bytes,21,opt,name=tenant_db_version,json=tenantDbVersion,proto3,oneof" json:"tenant_db_version,omitempty"` + TenantDbHealthy *bool `protobuf:"varint,22,opt,name=tenant_db_healthy,json=tenantDbHealthy,proto3,oneof" json:"tenant_db_healthy,omitempty"` + FirewallInSync *bool `protobuf:"varint,23,opt,name=firewall_in_sync,json=firewallInSync,proto3,oneof" json:"firewall_in_sync,omitempty"` + PendingUpdates int32 `protobuf:"varint,24,opt,name=pending_updates,json=pendingUpdates,proto3" json:"pending_updates,omitempty"` + Uptime *string `protobuf:"bytes,25,opt,name=uptime,proto3,oneof" json:"uptime,omitempty"` + LastHealthCheck *timestamppb.Timestamp `protobuf:"bytes,26,opt,name=last_health_check,json=lastHealthCheck,proto3,oneof" json:"last_health_check,omitempty"` + Errors []*HealthCheckError `protobuf:"bytes,27,rep,name=errors,proto3" json:"errors,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeHealthSummary) Reset() { + *x = NodeHealthSummary{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeHealthSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeHealthSummary) ProtoMessage() {} + +func (x *NodeHealthSummary) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeHealthSummary.ProtoReflect.Descriptor instead. +func (*NodeHealthSummary) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{1} +} + +func (x *NodeHealthSummary) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *NodeHealthSummary) GetNodeName() string { + if x != nil { + return x.NodeName + } + return "" +} + +func (x *NodeHealthSummary) GetNodeSlug() string { + if x != nil { + return x.NodeSlug + } + return "" +} + +func (x *NodeHealthSummary) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *NodeHealthSummary) GetSshHost() string { + if x != nil && x.SshHost != nil { + return *x.SshHost + } + return "" +} + +func (x *NodeHealthSummary) GetCountryCode() string { + if x != nil && x.CountryCode != nil { + return *x.CountryCode + } + return "" +} + +func (x *NodeHealthSummary) GetCity() string { + if x != nil && x.City != nil { + return *x.City + } + return "" +} + +func (x *NodeHealthSummary) GetCpuPercent() float32 { + if x != nil && x.CpuPercent != nil { + return *x.CpuPercent + } + return 0 +} + +func (x *NodeHealthSummary) GetMemoryUsedBytes() int64 { + if x != nil && x.MemoryUsedBytes != nil { + return *x.MemoryUsedBytes + } + return 0 +} + +func (x *NodeHealthSummary) GetMemoryTotalBytes() int64 { + if x != nil && x.MemoryTotalBytes != nil { + return *x.MemoryTotalBytes + } + return 0 +} + +func (x *NodeHealthSummary) GetDiskUsedBytes() int64 { + if x != nil && x.DiskUsedBytes != nil { + return *x.DiskUsedBytes + } + return 0 +} + +func (x *NodeHealthSummary) GetDiskTotalBytes() int64 { + if x != nil && x.DiskTotalBytes != nil { + return *x.DiskTotalBytes + } + return 0 +} + +func (x *NodeHealthSummary) GetRunningContainers() int32 { + if x != nil { + return x.RunningContainers + } + return 0 +} + +func (x *NodeHealthSummary) GetCurrentInstances() int32 { + if x != nil { + return x.CurrentInstances + } + return 0 +} + +func (x *NodeHealthSummary) GetMaxInstances() int32 { + if x != nil { + return x.MaxInstances + } + return 0 +} + +func (x *NodeHealthSummary) GetTraefikVersion() string { + if x != nil && x.TraefikVersion != nil { + return *x.TraefikVersion + } + return "" +} + +func (x *NodeHealthSummary) GetTraefikHealthy() bool { + if x != nil && x.TraefikHealthy != nil { + return *x.TraefikHealthy + } + return false +} + +func (x *NodeHealthSummary) GetOpenbaoVersion() string { + if x != nil && x.OpenbaoVersion != nil { + return *x.OpenbaoVersion + } + return "" +} + +func (x *NodeHealthSummary) GetOpenbaoSealed() bool { + if x != nil && x.OpenbaoSealed != nil { + return *x.OpenbaoSealed + } + return false +} + +func (x *NodeHealthSummary) GetConsulConnected() bool { + if x != nil && x.ConsulConnected != nil { + return *x.ConsulConnected + } + return false +} + +func (x *NodeHealthSummary) GetTenantDbVersion() string { + if x != nil && x.TenantDbVersion != nil { + return *x.TenantDbVersion + } + return "" +} + +func (x *NodeHealthSummary) GetTenantDbHealthy() bool { + if x != nil && x.TenantDbHealthy != nil { + return *x.TenantDbHealthy + } + return false +} + +func (x *NodeHealthSummary) GetFirewallInSync() bool { + if x != nil && x.FirewallInSync != nil { + return *x.FirewallInSync + } + return false +} + +func (x *NodeHealthSummary) GetPendingUpdates() int32 { + if x != nil { + return x.PendingUpdates + } + return 0 +} + +func (x *NodeHealthSummary) GetUptime() string { + if x != nil && x.Uptime != nil { + return *x.Uptime + } + return "" +} + +func (x *NodeHealthSummary) GetLastHealthCheck() *timestamppb.Timestamp { + if x != nil { + return x.LastHealthCheck + } + return nil +} + +func (x *NodeHealthSummary) GetErrors() []*HealthCheckError { + if x != nil { + return x.Errors + } + return nil +} + +type HealthCheckError struct { + state protoimpl.MessageState `protogen:"open.v1"` + Check string `protobuf:"bytes,1,opt,name=check,proto3" json:"check,omitempty"` + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HealthCheckError) Reset() { + *x = HealthCheckError{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HealthCheckError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HealthCheckError) ProtoMessage() {} + +func (x *HealthCheckError) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HealthCheckError.ProtoReflect.Descriptor instead. +func (*HealthCheckError) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{2} +} + +func (x *HealthCheckError) GetCheck() string { + if x != nil { + return x.Check + } + return "" +} + +func (x *HealthCheckError) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +type CrossNodeConnectivity struct { + state protoimpl.MessageState `protogen:"open.v1"` + SourceNodeId string `protobuf:"bytes,1,opt,name=source_node_id,json=sourceNodeId,proto3" json:"source_node_id,omitempty"` + TargetNodeId string `protobuf:"bytes,2,opt,name=target_node_id,json=targetNodeId,proto3" json:"target_node_id,omitempty"` + SourceNodeName string `protobuf:"bytes,3,opt,name=source_node_name,json=sourceNodeName,proto3" json:"source_node_name,omitempty"` + TargetNodeName string `protobuf:"bytes,4,opt,name=target_node_name,json=targetNodeName,proto3" json:"target_node_name,omitempty"` + Port_8888 *bool `protobuf:"varint,5,opt,name=port_8888,json=port8888,proto3,oneof" json:"port_8888,omitempty"` + Consul *bool `protobuf:"varint,6,opt,name=consul,proto3,oneof" json:"consul,omitempty"` + Openbao *bool `protobuf:"varint,7,opt,name=openbao,proto3,oneof" json:"openbao,omitempty"` + LatencyMs *int64 `protobuf:"varint,8,opt,name=latency_ms,json=latencyMs,proto3,oneof" json:"latency_ms,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CrossNodeConnectivity) Reset() { + *x = CrossNodeConnectivity{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CrossNodeConnectivity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CrossNodeConnectivity) ProtoMessage() {} + +func (x *CrossNodeConnectivity) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CrossNodeConnectivity.ProtoReflect.Descriptor instead. +func (*CrossNodeConnectivity) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{3} +} + +func (x *CrossNodeConnectivity) GetSourceNodeId() string { + if x != nil { + return x.SourceNodeId + } + return "" +} + +func (x *CrossNodeConnectivity) GetTargetNodeId() string { + if x != nil { + return x.TargetNodeId + } + return "" +} + +func (x *CrossNodeConnectivity) GetSourceNodeName() string { + if x != nil { + return x.SourceNodeName + } + return "" +} + +func (x *CrossNodeConnectivity) GetTargetNodeName() string { + if x != nil { + return x.TargetNodeName + } + return "" +} + +func (x *CrossNodeConnectivity) GetPort_8888() bool { + if x != nil && x.Port_8888 != nil { + return *x.Port_8888 + } + return false +} + +func (x *CrossNodeConnectivity) GetConsul() bool { + if x != nil && x.Consul != nil { + return *x.Consul + } + return false +} + +func (x *CrossNodeConnectivity) GetOpenbao() bool { + if x != nil && x.Openbao != nil { + return *x.Openbao + } + return false +} + +func (x *CrossNodeConnectivity) GetLatencyMs() int64 { + if x != nil && x.LatencyMs != nil { + return *x.LatencyMs + } + return 0 +} + +type ActiveAlertSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + RuleName string `protobuf:"bytes,2,opt,name=rule_name,json=ruleName,proto3" json:"rule_name,omitempty"` + Severity string `protobuf:"bytes,3,opt,name=severity,proto3" json:"severity,omitempty"` + NodeName string `protobuf:"bytes,4,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"` + NodeId string `protobuf:"bytes,5,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + TriggeredAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=triggered_at,json=triggeredAt,proto3" json:"triggered_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActiveAlertSummary) Reset() { + *x = ActiveAlertSummary{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActiveAlertSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActiveAlertSummary) ProtoMessage() {} + +func (x *ActiveAlertSummary) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActiveAlertSummary.ProtoReflect.Descriptor instead. +func (*ActiveAlertSummary) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{4} +} + +func (x *ActiveAlertSummary) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ActiveAlertSummary) GetRuleName() string { + if x != nil { + return x.RuleName + } + return "" +} + +func (x *ActiveAlertSummary) GetSeverity() string { + if x != nil { + return x.Severity + } + return "" +} + +func (x *ActiveAlertSummary) GetNodeName() string { + if x != nil { + return x.NodeName + } + return "" +} + +func (x *ActiveAlertSummary) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *ActiveAlertSummary) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ActiveAlertSummary) GetTriggeredAt() *timestamppb.Timestamp { + if x != nil { + return x.TriggeredAt + } + return nil +} + +type InfraAuditLogEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + UserId *string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3,oneof" json:"user_id,omitempty"` + UserEmail string `protobuf:"bytes,3,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"` + NodeId *string `protobuf:"bytes,4,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` + NodeName *string `protobuf:"bytes,5,opt,name=node_name,json=nodeName,proto3,oneof" json:"node_name,omitempty"` + Action string `protobuf:"bytes,6,opt,name=action,proto3" json:"action,omitempty"` + Target *string `protobuf:"bytes,7,opt,name=target,proto3,oneof" json:"target,omitempty"` + Result string `protobuf:"bytes,8,opt,name=result,proto3" json:"result,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InfraAuditLogEntry) Reset() { + *x = InfraAuditLogEntry{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InfraAuditLogEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InfraAuditLogEntry) ProtoMessage() {} + +func (x *InfraAuditLogEntry) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InfraAuditLogEntry.ProtoReflect.Descriptor instead. +func (*InfraAuditLogEntry) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{5} +} + +func (x *InfraAuditLogEntry) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *InfraAuditLogEntry) GetUserId() string { + if x != nil && x.UserId != nil { + return *x.UserId + } + return "" +} + +func (x *InfraAuditLogEntry) GetUserEmail() string { + if x != nil { + return x.UserEmail + } + return "" +} + +func (x *InfraAuditLogEntry) GetNodeId() string { + if x != nil && x.NodeId != nil { + return *x.NodeId + } + return "" +} + +func (x *InfraAuditLogEntry) GetNodeName() string { + if x != nil && x.NodeName != nil { + return *x.NodeName + } + return "" +} + +func (x *InfraAuditLogEntry) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *InfraAuditLogEntry) GetTarget() string { + if x != nil && x.Target != nil { + return *x.Target + } + return "" +} + +func (x *InfraAuditLogEntry) GetResult() string { + if x != nil { + return x.Result + } + return "" +} + +func (x *InfraAuditLogEntry) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type GetInfrastructureOverviewRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInfrastructureOverviewRequest) Reset() { + *x = GetInfrastructureOverviewRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInfrastructureOverviewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInfrastructureOverviewRequest) ProtoMessage() {} + +func (x *GetInfrastructureOverviewRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInfrastructureOverviewRequest.ProtoReflect.Descriptor instead. +func (*GetInfrastructureOverviewRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{6} +} + +type GetInfrastructureOverviewResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Nodes []*NodeHealthSummary `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` + Connectivity []*CrossNodeConnectivity `protobuf:"bytes,2,rep,name=connectivity,proto3" json:"connectivity,omitempty"` + ActiveAlerts []*ActiveAlertSummary `protobuf:"bytes,3,rep,name=active_alerts,json=activeAlerts,proto3" json:"active_alerts,omitempty"` + RecentAudit []*InfraAuditLogEntry `protobuf:"bytes,4,rep,name=recent_audit,json=recentAudit,proto3" json:"recent_audit,omitempty"` + TotalNodes int32 `protobuf:"varint,5,opt,name=total_nodes,json=totalNodes,proto3" json:"total_nodes,omitempty"` + HealthyNodes int32 `protobuf:"varint,6,opt,name=healthy_nodes,json=healthyNodes,proto3" json:"healthy_nodes,omitempty"` + TotalContainers int32 `protobuf:"varint,7,opt,name=total_containers,json=totalContainers,proto3" json:"total_containers,omitempty"` + TotalActiveAlerts int32 `protobuf:"varint,8,opt,name=total_active_alerts,json=totalActiveAlerts,proto3" json:"total_active_alerts,omitempty"` + TlsCertsTotal int32 `protobuf:"varint,9,opt,name=tls_certs_total,json=tlsCertsTotal,proto3" json:"tls_certs_total,omitempty"` + TlsCertsExpiring int32 `protobuf:"varint,10,opt,name=tls_certs_expiring,json=tlsCertsExpiring,proto3" json:"tls_certs_expiring,omitempty"` + TotalPendingUpdates int32 `protobuf:"varint,11,opt,name=total_pending_updates,json=totalPendingUpdates,proto3" json:"total_pending_updates,omitempty"` + ConsulConnected *bool `protobuf:"varint,12,opt,name=consul_connected,json=consulConnected,proto3,oneof" json:"consul_connected,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInfrastructureOverviewResponse) Reset() { + *x = GetInfrastructureOverviewResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInfrastructureOverviewResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInfrastructureOverviewResponse) ProtoMessage() {} + +func (x *GetInfrastructureOverviewResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInfrastructureOverviewResponse.ProtoReflect.Descriptor instead. +func (*GetInfrastructureOverviewResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{7} +} + +func (x *GetInfrastructureOverviewResponse) GetNodes() []*NodeHealthSummary { + if x != nil { + return x.Nodes + } + return nil +} + +func (x *GetInfrastructureOverviewResponse) GetConnectivity() []*CrossNodeConnectivity { + if x != nil { + return x.Connectivity + } + return nil +} + +func (x *GetInfrastructureOverviewResponse) GetActiveAlerts() []*ActiveAlertSummary { + if x != nil { + return x.ActiveAlerts + } + return nil +} + +func (x *GetInfrastructureOverviewResponse) GetRecentAudit() []*InfraAuditLogEntry { + if x != nil { + return x.RecentAudit + } + return nil +} + +func (x *GetInfrastructureOverviewResponse) GetTotalNodes() int32 { + if x != nil { + return x.TotalNodes + } + return 0 +} + +func (x *GetInfrastructureOverviewResponse) GetHealthyNodes() int32 { + if x != nil { + return x.HealthyNodes + } + return 0 +} + +func (x *GetInfrastructureOverviewResponse) GetTotalContainers() int32 { + if x != nil { + return x.TotalContainers + } + return 0 +} + +func (x *GetInfrastructureOverviewResponse) GetTotalActiveAlerts() int32 { + if x != nil { + return x.TotalActiveAlerts + } + return 0 +} + +func (x *GetInfrastructureOverviewResponse) GetTlsCertsTotal() int32 { + if x != nil { + return x.TlsCertsTotal + } + return 0 +} + +func (x *GetInfrastructureOverviewResponse) GetTlsCertsExpiring() int32 { + if x != nil { + return x.TlsCertsExpiring + } + return 0 +} + +func (x *GetInfrastructureOverviewResponse) GetTotalPendingUpdates() int32 { + if x != nil { + return x.TotalPendingUpdates + } + return 0 +} + +func (x *GetInfrastructureOverviewResponse) GetConsulConnected() bool { + if x != nil && x.ConsulConnected != nil { + return *x.ConsulConnected + } + return false +} + +type GetNodeHealthRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNodeHealthRequest) Reset() { + *x = GetNodeHealthRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNodeHealthRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNodeHealthRequest) ProtoMessage() {} + +func (x *GetNodeHealthRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNodeHealthRequest.ProtoReflect.Descriptor instead. +func (*GetNodeHealthRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{8} +} + +func (x *GetNodeHealthRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type GetNodeHealthResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Node *NodeHealthSummary `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNodeHealthResponse) Reset() { + *x = GetNodeHealthResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNodeHealthResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNodeHealthResponse) ProtoMessage() {} + +func (x *GetNodeHealthResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNodeHealthResponse.ProtoReflect.Descriptor instead. +func (*GetNodeHealthResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{9} +} + +func (x *GetNodeHealthResponse) GetNode() *NodeHealthSummary { + if x != nil { + return x.Node + } + return nil +} + +type RunHealthCheckRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId *string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RunHealthCheckRequest) Reset() { + *x = RunHealthCheckRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RunHealthCheckRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunHealthCheckRequest) ProtoMessage() {} + +func (x *RunHealthCheckRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunHealthCheckRequest.ProtoReflect.Descriptor instead. +func (*RunHealthCheckRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{10} +} + +func (x *RunHealthCheckRequest) GetNodeId() string { + if x != nil && x.NodeId != nil { + return *x.NodeId + } + return "" +} + +type RunHealthCheckResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Results []*NodeHealthSummary `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RunHealthCheckResponse) Reset() { + *x = RunHealthCheckResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RunHealthCheckResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunHealthCheckResponse) ProtoMessage() {} + +func (x *RunHealthCheckResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunHealthCheckResponse.ProtoReflect.Descriptor instead. +func (*RunHealthCheckResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{11} +} + +func (x *RunHealthCheckResponse) GetResults() []*NodeHealthSummary { + if x != nil { + return x.Results + } + return nil +} + +type GetInfraHealthHistoryRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"` + EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3,oneof" json:"end_time,omitempty"` + Limit *int32 `protobuf:"varint,4,opt,name=limit,proto3,oneof" json:"limit,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInfraHealthHistoryRequest) Reset() { + *x = GetInfraHealthHistoryRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInfraHealthHistoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInfraHealthHistoryRequest) ProtoMessage() {} + +func (x *GetInfraHealthHistoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInfraHealthHistoryRequest.ProtoReflect.Descriptor instead. +func (*GetInfraHealthHistoryRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{12} +} + +func (x *GetInfraHealthHistoryRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *GetInfraHealthHistoryRequest) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *GetInfraHealthHistoryRequest) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *GetInfraHealthHistoryRequest) GetLimit() int32 { + if x != nil && x.Limit != nil { + return *x.Limit + } + return 0 +} + +type HealthCheckResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + NodeId string `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + CheckedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=checked_at,json=checkedAt,proto3" json:"checked_at,omitempty"` + CpuPercent *float32 `protobuf:"fixed32,4,opt,name=cpu_percent,json=cpuPercent,proto3,oneof" json:"cpu_percent,omitempty"` + MemoryUsedBytes *int64 `protobuf:"varint,5,opt,name=memory_used_bytes,json=memoryUsedBytes,proto3,oneof" json:"memory_used_bytes,omitempty"` + MemoryTotalBytes *int64 `protobuf:"varint,6,opt,name=memory_total_bytes,json=memoryTotalBytes,proto3,oneof" json:"memory_total_bytes,omitempty"` + DiskUsedBytes *int64 `protobuf:"varint,7,opt,name=disk_used_bytes,json=diskUsedBytes,proto3,oneof" json:"disk_used_bytes,omitempty"` + DiskTotalBytes *int64 `protobuf:"varint,8,opt,name=disk_total_bytes,json=diskTotalBytes,proto3,oneof" json:"disk_total_bytes,omitempty"` + ConsulConnected *bool `protobuf:"varint,9,opt,name=consul_connected,json=consulConnected,proto3,oneof" json:"consul_connected,omitempty"` + OpenbaoSealed *bool `protobuf:"varint,10,opt,name=openbao_sealed,json=openbaoSealed,proto3,oneof" json:"openbao_sealed,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HealthCheckResult) Reset() { + *x = HealthCheckResult{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HealthCheckResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HealthCheckResult) ProtoMessage() {} + +func (x *HealthCheckResult) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HealthCheckResult.ProtoReflect.Descriptor instead. +func (*HealthCheckResult) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{13} +} + +func (x *HealthCheckResult) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *HealthCheckResult) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *HealthCheckResult) GetCheckedAt() *timestamppb.Timestamp { + if x != nil { + return x.CheckedAt + } + return nil +} + +func (x *HealthCheckResult) GetCpuPercent() float32 { + if x != nil && x.CpuPercent != nil { + return *x.CpuPercent + } + return 0 +} + +func (x *HealthCheckResult) GetMemoryUsedBytes() int64 { + if x != nil && x.MemoryUsedBytes != nil { + return *x.MemoryUsedBytes + } + return 0 +} + +func (x *HealthCheckResult) GetMemoryTotalBytes() int64 { + if x != nil && x.MemoryTotalBytes != nil { + return *x.MemoryTotalBytes + } + return 0 +} + +func (x *HealthCheckResult) GetDiskUsedBytes() int64 { + if x != nil && x.DiskUsedBytes != nil { + return *x.DiskUsedBytes + } + return 0 +} + +func (x *HealthCheckResult) GetDiskTotalBytes() int64 { + if x != nil && x.DiskTotalBytes != nil { + return *x.DiskTotalBytes + } + return 0 +} + +func (x *HealthCheckResult) GetConsulConnected() bool { + if x != nil && x.ConsulConnected != nil { + return *x.ConsulConnected + } + return false +} + +func (x *HealthCheckResult) GetOpenbaoSealed() bool { + if x != nil && x.OpenbaoSealed != nil { + return *x.OpenbaoSealed + } + return false +} + +type GetInfraHealthHistoryResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Results []*HealthCheckResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInfraHealthHistoryResponse) Reset() { + *x = GetInfraHealthHistoryResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInfraHealthHistoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInfraHealthHistoryResponse) ProtoMessage() {} + +func (x *GetInfraHealthHistoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInfraHealthHistoryResponse.ProtoReflect.Descriptor instead. +func (*GetInfraHealthHistoryResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{14} +} + +func (x *GetInfraHealthHistoryResponse) GetResults() []*HealthCheckResult { + if x != nil { + return x.Results + } + return nil +} + +type ContainerInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + Uptime *string `protobuf:"bytes,4,opt,name=uptime,proto3,oneof" json:"uptime,omitempty"` + CpuPercent *float32 `protobuf:"fixed32,5,opt,name=cpu_percent,json=cpuPercent,proto3,oneof" json:"cpu_percent,omitempty"` + MemoryBytes *int64 `protobuf:"varint,6,opt,name=memory_bytes,json=memoryBytes,proto3,oneof" json:"memory_bytes,omitempty"` + Networks []string `protobuf:"bytes,7,rep,name=networks,proto3" json:"networks,omitempty"` + Ports []string `protobuf:"bytes,8,rep,name=ports,proto3" json:"ports,omitempty"` + Volumes []string `protobuf:"bytes,9,rep,name=volumes,proto3" json:"volumes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ContainerInfo) Reset() { + *x = ContainerInfo{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContainerInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContainerInfo) ProtoMessage() {} + +func (x *ContainerInfo) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContainerInfo.ProtoReflect.Descriptor instead. +func (*ContainerInfo) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{15} +} + +func (x *ContainerInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ContainerInfo) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + +func (x *ContainerInfo) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ContainerInfo) GetUptime() string { + if x != nil && x.Uptime != nil { + return *x.Uptime + } + return "" +} + +func (x *ContainerInfo) GetCpuPercent() float32 { + if x != nil && x.CpuPercent != nil { + return *x.CpuPercent + } + return 0 +} + +func (x *ContainerInfo) GetMemoryBytes() int64 { + if x != nil && x.MemoryBytes != nil { + return *x.MemoryBytes + } + return 0 +} + +func (x *ContainerInfo) GetNetworks() []string { + if x != nil { + return x.Networks + } + return nil +} + +func (x *ContainerInfo) GetPorts() []string { + if x != nil { + return x.Ports + } + return nil +} + +func (x *ContainerInfo) GetVolumes() []string { + if x != nil { + return x.Volumes + } + return nil +} + +type ContainerSpec struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + NodeId string `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + ContainerName string `protobuf:"bytes,3,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"` + Image string `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"` + Networks []string `protobuf:"bytes,5,rep,name=networks,proto3" json:"networks,omitempty"` + Ports []string `protobuf:"bytes,6,rep,name=ports,proto3" json:"ports,omitempty"` + Volumes []string `protobuf:"bytes,7,rep,name=volumes,proto3" json:"volumes,omitempty"` + EnvVars map[string]string `protobuf:"bytes,8,rep,name=env_vars,json=envVars,proto3" json:"env_vars,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ExtraFlags []string `protobuf:"bytes,9,rep,name=extra_flags,json=extraFlags,proto3" json:"extra_flags,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ContainerSpec) Reset() { + *x = ContainerSpec{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContainerSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContainerSpec) ProtoMessage() {} + +func (x *ContainerSpec) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContainerSpec.ProtoReflect.Descriptor instead. +func (*ContainerSpec) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{16} +} + +func (x *ContainerSpec) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ContainerSpec) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *ContainerSpec) GetContainerName() string { + if x != nil { + return x.ContainerName + } + return "" +} + +func (x *ContainerSpec) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + +func (x *ContainerSpec) GetNetworks() []string { + if x != nil { + return x.Networks + } + return nil +} + +func (x *ContainerSpec) GetPorts() []string { + if x != nil { + return x.Ports + } + return nil +} + +func (x *ContainerSpec) GetVolumes() []string { + if x != nil { + return x.Volumes + } + return nil +} + +func (x *ContainerSpec) GetEnvVars() map[string]string { + if x != nil { + return x.EnvVars + } + return nil +} + +func (x *ContainerSpec) GetExtraFlags() []string { + if x != nil { + return x.ExtraFlags + } + return nil +} + +func (x *ContainerSpec) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *ContainerSpec) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +type ListNodeContainersRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNodeContainersRequest) Reset() { + *x = ListNodeContainersRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNodeContainersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNodeContainersRequest) ProtoMessage() {} + +func (x *ListNodeContainersRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNodeContainersRequest.ProtoReflect.Descriptor instead. +func (*ListNodeContainersRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{17} +} + +func (x *ListNodeContainersRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type ListNodeContainersResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Containers []*ContainerInfo `protobuf:"bytes,1,rep,name=containers,proto3" json:"containers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNodeContainersResponse) Reset() { + *x = ListNodeContainersResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNodeContainersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNodeContainersResponse) ProtoMessage() {} + +func (x *ListNodeContainersResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNodeContainersResponse.ProtoReflect.Descriptor instead. +func (*ListNodeContainersResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{18} +} + +func (x *ListNodeContainersResponse) GetContainers() []*ContainerInfo { + if x != nil { + return x.Containers + } + return nil +} + +type GetContainerSpecRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + ContainerName string `protobuf:"bytes,2,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetContainerSpecRequest) Reset() { + *x = GetContainerSpecRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetContainerSpecRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetContainerSpecRequest) ProtoMessage() {} + +func (x *GetContainerSpecRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetContainerSpecRequest.ProtoReflect.Descriptor instead. +func (*GetContainerSpecRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{19} +} + +func (x *GetContainerSpecRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *GetContainerSpecRequest) GetContainerName() string { + if x != nil { + return x.ContainerName + } + return "" +} + +type GetContainerSpecResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Spec *ContainerSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetContainerSpecResponse) Reset() { + *x = GetContainerSpecResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetContainerSpecResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetContainerSpecResponse) ProtoMessage() {} + +func (x *GetContainerSpecResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetContainerSpecResponse.ProtoReflect.Descriptor instead. +func (*GetContainerSpecResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{20} +} + +func (x *GetContainerSpecResponse) GetSpec() *ContainerSpec { + if x != nil { + return x.Spec + } + return nil +} + +type RestartContainerRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + ContainerName string `protobuf:"bytes,2,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RestartContainerRequest) Reset() { + *x = RestartContainerRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RestartContainerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestartContainerRequest) ProtoMessage() {} + +func (x *RestartContainerRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RestartContainerRequest.ProtoReflect.Descriptor instead. +func (*RestartContainerRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{21} +} + +func (x *RestartContainerRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *RestartContainerRequest) GetContainerName() string { + if x != nil { + return x.ContainerName + } + return "" +} + +type RecreateContainerRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + ContainerName string `protobuf:"bytes,2,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"` + Confirmation string `protobuf:"bytes,3,opt,name=confirmation,proto3" json:"confirmation,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RecreateContainerRequest) Reset() { + *x = RecreateContainerRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RecreateContainerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecreateContainerRequest) ProtoMessage() {} + +func (x *RecreateContainerRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecreateContainerRequest.ProtoReflect.Descriptor instead. +func (*RecreateContainerRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{22} +} + +func (x *RecreateContainerRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *RecreateContainerRequest) GetContainerName() string { + if x != nil { + return x.ContainerName + } + return "" +} + +func (x *RecreateContainerRequest) GetConfirmation() string { + if x != nil { + return x.Confirmation + } + return "" +} + +type GetContainerLogsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + ContainerName string `protobuf:"bytes,2,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"` + TailLines *int32 `protobuf:"varint,3,opt,name=tail_lines,json=tailLines,proto3,oneof" json:"tail_lines,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetContainerLogsRequest) Reset() { + *x = GetContainerLogsRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetContainerLogsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetContainerLogsRequest) ProtoMessage() {} + +func (x *GetContainerLogsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetContainerLogsRequest.ProtoReflect.Descriptor instead. +func (*GetContainerLogsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{23} +} + +func (x *GetContainerLogsRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *GetContainerLogsRequest) GetContainerName() string { + if x != nil { + return x.ContainerName + } + return "" +} + +func (x *GetContainerLogsRequest) GetTailLines() int32 { + if x != nil && x.TailLines != nil { + return *x.TailLines + } + return 0 +} + +type GetContainerLogsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Lines []string `protobuf:"bytes,1,rep,name=lines,proto3" json:"lines,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetContainerLogsResponse) Reset() { + *x = GetContainerLogsResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetContainerLogsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetContainerLogsResponse) ProtoMessage() {} + +func (x *GetContainerLogsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetContainerLogsResponse.ProtoReflect.Descriptor instead. +func (*GetContainerLogsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{24} +} + +func (x *GetContainerLogsResponse) GetLines() []string { + if x != nil { + return x.Lines + } + return nil +} + +type InspectContainerRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + ContainerName string `protobuf:"bytes,2,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InspectContainerRequest) Reset() { + *x = InspectContainerRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InspectContainerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InspectContainerRequest) ProtoMessage() {} + +func (x *InspectContainerRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InspectContainerRequest.ProtoReflect.Descriptor instead. +func (*InspectContainerRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{25} +} + +func (x *InspectContainerRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *InspectContainerRequest) GetContainerName() string { + if x != nil { + return x.ContainerName + } + return "" +} + +type InspectContainerResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Container *ContainerInfo `protobuf:"bytes,1,opt,name=container,proto3" json:"container,omitempty"` + EnvVars map[string]string `protobuf:"bytes,2,rep,name=env_vars,json=envVars,proto3" json:"env_vars,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + RawInspect string `protobuf:"bytes,3,opt,name=raw_inspect,json=rawInspect,proto3" json:"raw_inspect,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InspectContainerResponse) Reset() { + *x = InspectContainerResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InspectContainerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InspectContainerResponse) ProtoMessage() {} + +func (x *InspectContainerResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InspectContainerResponse.ProtoReflect.Descriptor instead. +func (*InspectContainerResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{26} +} + +func (x *InspectContainerResponse) GetContainer() *ContainerInfo { + if x != nil { + return x.Container + } + return nil +} + +func (x *InspectContainerResponse) GetEnvVars() map[string]string { + if x != nil { + return x.EnvVars + } + return nil +} + +func (x *InspectContainerResponse) GetRawInspect() string { + if x != nil { + return x.RawInspect + } + return "" +} + +type FirewallRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` + Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"` + Port string `protobuf:"bytes,4,opt,name=port,proto3" json:"port,omitempty"` + Protocol string `protobuf:"bytes,5,opt,name=protocol,proto3" json:"protocol,omitempty"` + Comment *string `protobuf:"bytes,6,opt,name=comment,proto3,oneof" json:"comment,omitempty"` + SortOrder int32 `protobuf:"varint,7,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FirewallRule) Reset() { + *x = FirewallRule{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FirewallRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FirewallRule) ProtoMessage() {} + +func (x *FirewallRule) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FirewallRule.ProtoReflect.Descriptor instead. +func (*FirewallRule) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{27} +} + +func (x *FirewallRule) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *FirewallRule) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *FirewallRule) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *FirewallRule) GetPort() string { + if x != nil { + return x.Port + } + return "" +} + +func (x *FirewallRule) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *FirewallRule) GetComment() string { + if x != nil && x.Comment != nil { + return *x.Comment + } + return "" +} + +func (x *FirewallRule) GetSortOrder() int32 { + if x != nil { + return x.SortOrder + } + return 0 +} + +func (x *FirewallRule) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type FirewallNodeOverride struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + NodeId string `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"` + Source string `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"` + Port string `protobuf:"bytes,5,opt,name=port,proto3" json:"port,omitempty"` + Protocol string `protobuf:"bytes,6,opt,name=protocol,proto3" json:"protocol,omitempty"` + Comment *string `protobuf:"bytes,7,opt,name=comment,proto3,oneof" json:"comment,omitempty"` + SortOrder int32 `protobuf:"varint,8,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FirewallNodeOverride) Reset() { + *x = FirewallNodeOverride{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FirewallNodeOverride) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FirewallNodeOverride) ProtoMessage() {} + +func (x *FirewallNodeOverride) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FirewallNodeOverride.ProtoReflect.Descriptor instead. +func (*FirewallNodeOverride) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{28} +} + +func (x *FirewallNodeOverride) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *FirewallNodeOverride) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *FirewallNodeOverride) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *FirewallNodeOverride) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *FirewallNodeOverride) GetPort() string { + if x != nil { + return x.Port + } + return "" +} + +func (x *FirewallNodeOverride) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *FirewallNodeOverride) GetComment() string { + if x != nil && x.Comment != nil { + return *x.Comment + } + return "" +} + +func (x *FirewallNodeOverride) GetSortOrder() int32 { + if x != nil { + return x.SortOrder + } + return 0 +} + +func (x *FirewallNodeOverride) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type ListFirewallRulesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListFirewallRulesRequest) Reset() { + *x = ListFirewallRulesRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListFirewallRulesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFirewallRulesRequest) ProtoMessage() {} + +func (x *ListFirewallRulesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListFirewallRulesRequest.ProtoReflect.Descriptor instead. +func (*ListFirewallRulesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{29} +} + +type ListFirewallRulesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Rules []*FirewallRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListFirewallRulesResponse) Reset() { + *x = ListFirewallRulesResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListFirewallRulesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFirewallRulesResponse) ProtoMessage() {} + +func (x *ListFirewallRulesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListFirewallRulesResponse.ProtoReflect.Descriptor instead. +func (*ListFirewallRulesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{30} +} + +func (x *ListFirewallRulesResponse) GetRules() []*FirewallRule { + if x != nil { + return x.Rules + } + return nil +} + +type CreateFirewallRuleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Action string `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` + Port string `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"` + Protocol string `protobuf:"bytes,4,opt,name=protocol,proto3" json:"protocol,omitempty"` + Comment *string `protobuf:"bytes,5,opt,name=comment,proto3,oneof" json:"comment,omitempty"` + SortOrder *int32 `protobuf:"varint,6,opt,name=sort_order,json=sortOrder,proto3,oneof" json:"sort_order,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateFirewallRuleRequest) Reset() { + *x = CreateFirewallRuleRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateFirewallRuleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallRuleRequest) ProtoMessage() {} + +func (x *CreateFirewallRuleRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateFirewallRuleRequest.ProtoReflect.Descriptor instead. +func (*CreateFirewallRuleRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{31} +} + +func (x *CreateFirewallRuleRequest) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *CreateFirewallRuleRequest) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *CreateFirewallRuleRequest) GetPort() string { + if x != nil { + return x.Port + } + return "" +} + +func (x *CreateFirewallRuleRequest) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *CreateFirewallRuleRequest) GetComment() string { + if x != nil && x.Comment != nil { + return *x.Comment + } + return "" +} + +func (x *CreateFirewallRuleRequest) GetSortOrder() int32 { + if x != nil && x.SortOrder != nil { + return *x.SortOrder + } + return 0 +} + +type CreateFirewallRuleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Rule *FirewallRule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateFirewallRuleResponse) Reset() { + *x = CreateFirewallRuleResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateFirewallRuleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateFirewallRuleResponse) ProtoMessage() {} + +func (x *CreateFirewallRuleResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateFirewallRuleResponse.ProtoReflect.Descriptor instead. +func (*CreateFirewallRuleResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{32} +} + +func (x *CreateFirewallRuleResponse) GetRule() *FirewallRule { + if x != nil { + return x.Rule + } + return nil +} + +type UpdateFirewallRuleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Action *string `protobuf:"bytes,2,opt,name=action,proto3,oneof" json:"action,omitempty"` + Source *string `protobuf:"bytes,3,opt,name=source,proto3,oneof" json:"source,omitempty"` + Port *string `protobuf:"bytes,4,opt,name=port,proto3,oneof" json:"port,omitempty"` + Protocol *string `protobuf:"bytes,5,opt,name=protocol,proto3,oneof" json:"protocol,omitempty"` + Comment *string `protobuf:"bytes,6,opt,name=comment,proto3,oneof" json:"comment,omitempty"` + SortOrder *int32 `protobuf:"varint,7,opt,name=sort_order,json=sortOrder,proto3,oneof" json:"sort_order,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateFirewallRuleRequest) Reset() { + *x = UpdateFirewallRuleRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateFirewallRuleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFirewallRuleRequest) ProtoMessage() {} + +func (x *UpdateFirewallRuleRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateFirewallRuleRequest.ProtoReflect.Descriptor instead. +func (*UpdateFirewallRuleRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{33} +} + +func (x *UpdateFirewallRuleRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateFirewallRuleRequest) GetAction() string { + if x != nil && x.Action != nil { + return *x.Action + } + return "" +} + +func (x *UpdateFirewallRuleRequest) GetSource() string { + if x != nil && x.Source != nil { + return *x.Source + } + return "" +} + +func (x *UpdateFirewallRuleRequest) GetPort() string { + if x != nil && x.Port != nil { + return *x.Port + } + return "" +} + +func (x *UpdateFirewallRuleRequest) GetProtocol() string { + if x != nil && x.Protocol != nil { + return *x.Protocol + } + return "" +} + +func (x *UpdateFirewallRuleRequest) GetComment() string { + if x != nil && x.Comment != nil { + return *x.Comment + } + return "" +} + +func (x *UpdateFirewallRuleRequest) GetSortOrder() int32 { + if x != nil && x.SortOrder != nil { + return *x.SortOrder + } + return 0 +} + +type UpdateFirewallRuleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Rule *FirewallRule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateFirewallRuleResponse) Reset() { + *x = UpdateFirewallRuleResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateFirewallRuleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFirewallRuleResponse) ProtoMessage() {} + +func (x *UpdateFirewallRuleResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateFirewallRuleResponse.ProtoReflect.Descriptor instead. +func (*UpdateFirewallRuleResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{34} +} + +func (x *UpdateFirewallRuleResponse) GetRule() *FirewallRule { + if x != nil { + return x.Rule + } + return nil +} + +type DeleteFirewallRuleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteFirewallRuleRequest) Reset() { + *x = DeleteFirewallRuleRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteFirewallRuleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFirewallRuleRequest) ProtoMessage() {} + +func (x *DeleteFirewallRuleRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteFirewallRuleRequest.ProtoReflect.Descriptor instead. +func (*DeleteFirewallRuleRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{35} +} + +func (x *DeleteFirewallRuleRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DeleteFirewallRuleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteFirewallRuleResponse) Reset() { + *x = DeleteFirewallRuleResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteFirewallRuleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteFirewallRuleResponse) ProtoMessage() {} + +func (x *DeleteFirewallRuleResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteFirewallRuleResponse.ProtoReflect.Descriptor instead. +func (*DeleteFirewallRuleResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{36} +} + +type ListNodeFirewallOverridesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNodeFirewallOverridesRequest) Reset() { + *x = ListNodeFirewallOverridesRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNodeFirewallOverridesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNodeFirewallOverridesRequest) ProtoMessage() {} + +func (x *ListNodeFirewallOverridesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNodeFirewallOverridesRequest.ProtoReflect.Descriptor instead. +func (*ListNodeFirewallOverridesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{37} +} + +func (x *ListNodeFirewallOverridesRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type ListNodeFirewallOverridesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Overrides []*FirewallNodeOverride `protobuf:"bytes,1,rep,name=overrides,proto3" json:"overrides,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNodeFirewallOverridesResponse) Reset() { + *x = ListNodeFirewallOverridesResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNodeFirewallOverridesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNodeFirewallOverridesResponse) ProtoMessage() {} + +func (x *ListNodeFirewallOverridesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNodeFirewallOverridesResponse.ProtoReflect.Descriptor instead. +func (*ListNodeFirewallOverridesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{38} +} + +func (x *ListNodeFirewallOverridesResponse) GetOverrides() []*FirewallNodeOverride { + if x != nil { + return x.Overrides + } + return nil +} + +type CreateNodeFirewallOverrideRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` + Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"` + Port string `protobuf:"bytes,4,opt,name=port,proto3" json:"port,omitempty"` + Protocol string `protobuf:"bytes,5,opt,name=protocol,proto3" json:"protocol,omitempty"` + Comment *string `protobuf:"bytes,6,opt,name=comment,proto3,oneof" json:"comment,omitempty"` + SortOrder *int32 `protobuf:"varint,7,opt,name=sort_order,json=sortOrder,proto3,oneof" json:"sort_order,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateNodeFirewallOverrideRequest) Reset() { + *x = CreateNodeFirewallOverrideRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateNodeFirewallOverrideRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNodeFirewallOverrideRequest) ProtoMessage() {} + +func (x *CreateNodeFirewallOverrideRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNodeFirewallOverrideRequest.ProtoReflect.Descriptor instead. +func (*CreateNodeFirewallOverrideRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{39} +} + +func (x *CreateNodeFirewallOverrideRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *CreateNodeFirewallOverrideRequest) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *CreateNodeFirewallOverrideRequest) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *CreateNodeFirewallOverrideRequest) GetPort() string { + if x != nil { + return x.Port + } + return "" +} + +func (x *CreateNodeFirewallOverrideRequest) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + +func (x *CreateNodeFirewallOverrideRequest) GetComment() string { + if x != nil && x.Comment != nil { + return *x.Comment + } + return "" +} + +func (x *CreateNodeFirewallOverrideRequest) GetSortOrder() int32 { + if x != nil && x.SortOrder != nil { + return *x.SortOrder + } + return 0 +} + +type CreateNodeFirewallOverrideResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Override *FirewallNodeOverride `protobuf:"bytes,1,opt,name=override,proto3" json:"override,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateNodeFirewallOverrideResponse) Reset() { + *x = CreateNodeFirewallOverrideResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateNodeFirewallOverrideResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNodeFirewallOverrideResponse) ProtoMessage() {} + +func (x *CreateNodeFirewallOverrideResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNodeFirewallOverrideResponse.ProtoReflect.Descriptor instead. +func (*CreateNodeFirewallOverrideResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{40} +} + +func (x *CreateNodeFirewallOverrideResponse) GetOverride() *FirewallNodeOverride { + if x != nil { + return x.Override + } + return nil +} + +type DeleteNodeFirewallOverrideRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteNodeFirewallOverrideRequest) Reset() { + *x = DeleteNodeFirewallOverrideRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteNodeFirewallOverrideRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNodeFirewallOverrideRequest) ProtoMessage() {} + +func (x *DeleteNodeFirewallOverrideRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNodeFirewallOverrideRequest.ProtoReflect.Descriptor instead. +func (*DeleteNodeFirewallOverrideRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{41} +} + +func (x *DeleteNodeFirewallOverrideRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DeleteNodeFirewallOverrideResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteNodeFirewallOverrideResponse) Reset() { + *x = DeleteNodeFirewallOverrideResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteNodeFirewallOverrideResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNodeFirewallOverrideResponse) ProtoMessage() {} + +func (x *DeleteNodeFirewallOverrideResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNodeFirewallOverrideResponse.ProtoReflect.Descriptor instead. +func (*DeleteNodeFirewallOverrideResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{42} +} + +type NodeFirewallSyncStatus struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + NodeName string `protobuf:"bytes,2,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"` + InSync bool `protobuf:"varint,3,opt,name=in_sync,json=inSync,proto3" json:"in_sync,omitempty"` + ExpectedRuleCount int32 `protobuf:"varint,4,opt,name=expected_rule_count,json=expectedRuleCount,proto3" json:"expected_rule_count,omitempty"` + ActualRuleCount int32 `protobuf:"varint,5,opt,name=actual_rule_count,json=actualRuleCount,proto3" json:"actual_rule_count,omitempty"` + MissingRules []string `protobuf:"bytes,6,rep,name=missing_rules,json=missingRules,proto3" json:"missing_rules,omitempty"` + ExtraRules []string `protobuf:"bytes,7,rep,name=extra_rules,json=extraRules,proto3" json:"extra_rules,omitempty"` + LastSynced *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=last_synced,json=lastSynced,proto3,oneof" json:"last_synced,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeFirewallSyncStatus) Reset() { + *x = NodeFirewallSyncStatus{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeFirewallSyncStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeFirewallSyncStatus) ProtoMessage() {} + +func (x *NodeFirewallSyncStatus) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeFirewallSyncStatus.ProtoReflect.Descriptor instead. +func (*NodeFirewallSyncStatus) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{43} +} + +func (x *NodeFirewallSyncStatus) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *NodeFirewallSyncStatus) GetNodeName() string { + if x != nil { + return x.NodeName + } + return "" +} + +func (x *NodeFirewallSyncStatus) GetInSync() bool { + if x != nil { + return x.InSync + } + return false +} + +func (x *NodeFirewallSyncStatus) GetExpectedRuleCount() int32 { + if x != nil { + return x.ExpectedRuleCount + } + return 0 +} + +func (x *NodeFirewallSyncStatus) GetActualRuleCount() int32 { + if x != nil { + return x.ActualRuleCount + } + return 0 +} + +func (x *NodeFirewallSyncStatus) GetMissingRules() []string { + if x != nil { + return x.MissingRules + } + return nil +} + +func (x *NodeFirewallSyncStatus) GetExtraRules() []string { + if x != nil { + return x.ExtraRules + } + return nil +} + +func (x *NodeFirewallSyncStatus) GetLastSynced() *timestamppb.Timestamp { + if x != nil { + return x.LastSynced + } + return nil +} + +type GetFirewallSyncStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId *string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetFirewallSyncStatusRequest) Reset() { + *x = GetFirewallSyncStatusRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetFirewallSyncStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetFirewallSyncStatusRequest) ProtoMessage() {} + +func (x *GetFirewallSyncStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetFirewallSyncStatusRequest.ProtoReflect.Descriptor instead. +func (*GetFirewallSyncStatusRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{44} +} + +func (x *GetFirewallSyncStatusRequest) GetNodeId() string { + if x != nil && x.NodeId != nil { + return *x.NodeId + } + return "" +} + +type GetFirewallSyncStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Nodes []*NodeFirewallSyncStatus `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetFirewallSyncStatusResponse) Reset() { + *x = GetFirewallSyncStatusResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetFirewallSyncStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetFirewallSyncStatusResponse) ProtoMessage() {} + +func (x *GetFirewallSyncStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetFirewallSyncStatusResponse.ProtoReflect.Descriptor instead. +func (*GetFirewallSyncStatusResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{45} +} + +func (x *GetFirewallSyncStatusResponse) GetNodes() []*NodeFirewallSyncStatus { + if x != nil { + return x.Nodes + } + return nil +} + +type SyncNodeFirewallRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SyncNodeFirewallRequest) Reset() { + *x = SyncNodeFirewallRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SyncNodeFirewallRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncNodeFirewallRequest) ProtoMessage() {} + +func (x *SyncNodeFirewallRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SyncNodeFirewallRequest.ProtoReflect.Descriptor instead. +func (*SyncNodeFirewallRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{46} +} + +func (x *SyncNodeFirewallRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type SyncAllFirewallsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SyncAllFirewallsRequest) Reset() { + *x = SyncAllFirewallsRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SyncAllFirewallsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SyncAllFirewallsRequest) ProtoMessage() {} + +func (x *SyncAllFirewallsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SyncAllFirewallsRequest.ProtoReflect.Descriptor instead. +func (*SyncAllFirewallsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{47} +} + +type TestCrossNodeConnectivityRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestCrossNodeConnectivityRequest) Reset() { + *x = TestCrossNodeConnectivityRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestCrossNodeConnectivityRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestCrossNodeConnectivityRequest) ProtoMessage() {} + +func (x *TestCrossNodeConnectivityRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestCrossNodeConnectivityRequest.ProtoReflect.Descriptor instead. +func (*TestCrossNodeConnectivityRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{48} +} + +func (x *TestCrossNodeConnectivityRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type ConnectivityResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + TargetNodeId string `protobuf:"bytes,1,opt,name=target_node_id,json=targetNodeId,proto3" json:"target_node_id,omitempty"` + TargetNodeName string `protobuf:"bytes,2,opt,name=target_node_name,json=targetNodeName,proto3" json:"target_node_name,omitempty"` + TargetIp string `protobuf:"bytes,3,opt,name=target_ip,json=targetIp,proto3" json:"target_ip,omitempty"` + Port_8888 *bool `protobuf:"varint,4,opt,name=port_8888,json=port8888,proto3,oneof" json:"port_8888,omitempty"` + Consul_8500 *bool `protobuf:"varint,5,opt,name=consul_8500,json=consul8500,proto3,oneof" json:"consul_8500,omitempty"` + Openbao_8201 *bool `protobuf:"varint,6,opt,name=openbao_8201,json=openbao8201,proto3,oneof" json:"openbao_8201,omitempty"` + LatencyMs *int64 `protobuf:"varint,7,opt,name=latency_ms,json=latencyMs,proto3,oneof" json:"latency_ms,omitempty"` + Error *string `protobuf:"bytes,8,opt,name=error,proto3,oneof" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectivityResult) Reset() { + *x = ConnectivityResult{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectivityResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectivityResult) ProtoMessage() {} + +func (x *ConnectivityResult) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectivityResult.ProtoReflect.Descriptor instead. +func (*ConnectivityResult) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{49} +} + +func (x *ConnectivityResult) GetTargetNodeId() string { + if x != nil { + return x.TargetNodeId + } + return "" +} + +func (x *ConnectivityResult) GetTargetNodeName() string { + if x != nil { + return x.TargetNodeName + } + return "" +} + +func (x *ConnectivityResult) GetTargetIp() string { + if x != nil { + return x.TargetIp + } + return "" +} + +func (x *ConnectivityResult) GetPort_8888() bool { + if x != nil && x.Port_8888 != nil { + return *x.Port_8888 + } + return false +} + +func (x *ConnectivityResult) GetConsul_8500() bool { + if x != nil && x.Consul_8500 != nil { + return *x.Consul_8500 + } + return false +} + +func (x *ConnectivityResult) GetOpenbao_8201() bool { + if x != nil && x.Openbao_8201 != nil { + return *x.Openbao_8201 + } + return false +} + +func (x *ConnectivityResult) GetLatencyMs() int64 { + if x != nil && x.LatencyMs != nil { + return *x.LatencyMs + } + return 0 +} + +func (x *ConnectivityResult) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type TestCrossNodeConnectivityResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Results []*ConnectivityResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestCrossNodeConnectivityResponse) Reset() { + *x = TestCrossNodeConnectivityResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestCrossNodeConnectivityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestCrossNodeConnectivityResponse) ProtoMessage() {} + +func (x *TestCrossNodeConnectivityResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestCrossNodeConnectivityResponse.ProtoReflect.Descriptor instead. +func (*TestCrossNodeConnectivityResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{50} +} + +func (x *TestCrossNodeConnectivityResponse) GetResults() []*ConnectivityResult { + if x != nil { + return x.Results + } + return nil +} + +type TLSCertificate struct { + state protoimpl.MessageState `protogen:"open.v1"` + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + Issuer string `protobuf:"bytes,2,opt,name=issuer,proto3" json:"issuer,omitempty"` + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + DaysRemaining int32 `protobuf:"varint,4,opt,name=days_remaining,json=daysRemaining,proto3" json:"days_remaining,omitempty"` + Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` + AcmeError *string `protobuf:"bytes,6,opt,name=acme_error,json=acmeError,proto3,oneof" json:"acme_error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TLSCertificate) Reset() { + *x = TLSCertificate{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TLSCertificate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TLSCertificate) ProtoMessage() {} + +func (x *TLSCertificate) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TLSCertificate.ProtoReflect.Descriptor instead. +func (*TLSCertificate) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{51} +} + +func (x *TLSCertificate) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *TLSCertificate) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +func (x *TLSCertificate) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +func (x *TLSCertificate) GetDaysRemaining() int32 { + if x != nil { + return x.DaysRemaining + } + return 0 +} + +func (x *TLSCertificate) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *TLSCertificate) GetAcmeError() string { + if x != nil && x.AcmeError != nil { + return *x.AcmeError + } + return "" +} + +type ListTLSCertificatesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListTLSCertificatesRequest) Reset() { + *x = ListTLSCertificatesRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListTLSCertificatesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTLSCertificatesRequest) ProtoMessage() {} + +func (x *ListTLSCertificatesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTLSCertificatesRequest.ProtoReflect.Descriptor instead. +func (*ListTLSCertificatesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{52} +} + +func (x *ListTLSCertificatesRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type ListTLSCertificatesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Certificates []*TLSCertificate `protobuf:"bytes,1,rep,name=certificates,proto3" json:"certificates,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListTLSCertificatesResponse) Reset() { + *x = ListTLSCertificatesResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListTLSCertificatesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTLSCertificatesResponse) ProtoMessage() {} + +func (x *ListTLSCertificatesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTLSCertificatesResponse.ProtoReflect.Descriptor instead. +func (*ListTLSCertificatesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{53} +} + +func (x *ListTLSCertificatesResponse) GetCertificates() []*TLSCertificate { + if x != nil { + return x.Certificates + } + return nil +} + +type RenewCertificateRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RenewCertificateRequest) Reset() { + *x = RenewCertificateRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RenewCertificateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RenewCertificateRequest) ProtoMessage() {} + +func (x *RenewCertificateRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[54] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RenewCertificateRequest.ProtoReflect.Descriptor instead. +func (*RenewCertificateRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{54} +} + +func (x *RenewCertificateRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *RenewCertificateRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +type TraefikRoute struct { + state protoimpl.MessageState `protogen:"open.v1"` + RouterName string `protobuf:"bytes,1,opt,name=router_name,json=routerName,proto3" json:"router_name,omitempty"` + Rule string `protobuf:"bytes,2,opt,name=rule,proto3" json:"rule,omitempty"` + Service string `protobuf:"bytes,3,opt,name=service,proto3" json:"service,omitempty"` + Source string `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"` + TargetNode *string `protobuf:"bytes,5,opt,name=target_node,json=targetNode,proto3,oneof" json:"target_node,omitempty"` + Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TraefikRoute) Reset() { + *x = TraefikRoute{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TraefikRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TraefikRoute) ProtoMessage() {} + +func (x *TraefikRoute) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[55] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TraefikRoute.ProtoReflect.Descriptor instead. +func (*TraefikRoute) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{55} +} + +func (x *TraefikRoute) GetRouterName() string { + if x != nil { + return x.RouterName + } + return "" +} + +func (x *TraefikRoute) GetRule() string { + if x != nil { + return x.Rule + } + return "" +} + +func (x *TraefikRoute) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *TraefikRoute) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *TraefikRoute) GetTargetNode() string { + if x != nil && x.TargetNode != nil { + return *x.TargetNode + } + return "" +} + +func (x *TraefikRoute) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type ListTraefikRoutesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListTraefikRoutesRequest) Reset() { + *x = ListTraefikRoutesRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListTraefikRoutesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTraefikRoutesRequest) ProtoMessage() {} + +func (x *ListTraefikRoutesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[56] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTraefikRoutesRequest.ProtoReflect.Descriptor instead. +func (*ListTraefikRoutesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{56} +} + +func (x *ListTraefikRoutesRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type ListTraefikRoutesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Routes []*TraefikRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListTraefikRoutesResponse) Reset() { + *x = ListTraefikRoutesResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListTraefikRoutesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTraefikRoutesResponse) ProtoMessage() {} + +func (x *ListTraefikRoutesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[57] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTraefikRoutesResponse.ProtoReflect.Descriptor instead. +func (*ListTraefikRoutesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{57} +} + +func (x *ListTraefikRoutesResponse) GetRoutes() []*TraefikRoute { + if x != nil { + return x.Routes + } + return nil +} + +type TraceRouteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TraceRouteRequest) Reset() { + *x = TraceRouteRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TraceRouteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TraceRouteRequest) ProtoMessage() {} + +func (x *TraceRouteRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[58] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TraceRouteRequest.ProtoReflect.Descriptor instead. +func (*TraceRouteRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{58} +} + +func (x *TraceRouteRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *TraceRouteRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +type TraceRouteHop struct { + state protoimpl.MessageState `protogen:"open.v1"` + Step string `protobuf:"bytes,1,opt,name=step,proto3" json:"step,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Success bool `protobuf:"varint,3,opt,name=success,proto3" json:"success,omitempty"` + LatencyMs *int64 `protobuf:"varint,4,opt,name=latency_ms,json=latencyMs,proto3,oneof" json:"latency_ms,omitempty"` + Error *string `protobuf:"bytes,5,opt,name=error,proto3,oneof" json:"error,omitempty"` + Details map[string]string `protobuf:"bytes,6,rep,name=details,proto3" json:"details,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TraceRouteHop) Reset() { + *x = TraceRouteHop{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TraceRouteHop) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TraceRouteHop) ProtoMessage() {} + +func (x *TraceRouteHop) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[59] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TraceRouteHop.ProtoReflect.Descriptor instead. +func (*TraceRouteHop) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{59} +} + +func (x *TraceRouteHop) GetStep() string { + if x != nil { + return x.Step + } + return "" +} + +func (x *TraceRouteHop) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *TraceRouteHop) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *TraceRouteHop) GetLatencyMs() int64 { + if x != nil && x.LatencyMs != nil { + return *x.LatencyMs + } + return 0 +} + +func (x *TraceRouteHop) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +func (x *TraceRouteHop) GetDetails() map[string]string { + if x != nil { + return x.Details + } + return nil +} + +type TraceRouteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Hops []*TraceRouteHop `protobuf:"bytes,1,rep,name=hops,proto3" json:"hops,omitempty"` + OverallSuccess bool `protobuf:"varint,2,opt,name=overall_success,json=overallSuccess,proto3" json:"overall_success,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TraceRouteResponse) Reset() { + *x = TraceRouteResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TraceRouteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TraceRouteResponse) ProtoMessage() {} + +func (x *TraceRouteResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[60] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TraceRouteResponse.ProtoReflect.Descriptor instead. +func (*TraceRouteResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{60} +} + +func (x *TraceRouteResponse) GetHops() []*TraceRouteHop { + if x != nil { + return x.Hops + } + return nil +} + +func (x *TraceRouteResponse) GetOverallSuccess() bool { + if x != nil { + return x.OverallSuccess + } + return false +} + +type ContainerUpdate struct { + state protoimpl.MessageState `protogen:"open.v1"` + ContainerName string `protobuf:"bytes,1,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"` + CurrentVersion string `protobuf:"bytes,2,opt,name=current_version,json=currentVersion,proto3" json:"current_version,omitempty"` + LatestVersion string `protobuf:"bytes,3,opt,name=latest_version,json=latestVersion,proto3" json:"latest_version,omitempty"` + UpdateAvailable bool `protobuf:"varint,4,opt,name=update_available,json=updateAvailable,proto3" json:"update_available,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ContainerUpdate) Reset() { + *x = ContainerUpdate{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContainerUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContainerUpdate) ProtoMessage() {} + +func (x *ContainerUpdate) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[61] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContainerUpdate.ProtoReflect.Descriptor instead. +func (*ContainerUpdate) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{61} +} + +func (x *ContainerUpdate) GetContainerName() string { + if x != nil { + return x.ContainerName + } + return "" +} + +func (x *ContainerUpdate) GetCurrentVersion() string { + if x != nil { + return x.CurrentVersion + } + return "" +} + +func (x *ContainerUpdate) GetLatestVersion() string { + if x != nil { + return x.LatestVersion + } + return "" +} + +func (x *ContainerUpdate) GetUpdateAvailable() bool { + if x != nil { + return x.UpdateAvailable + } + return false +} + +type PackageUpdate struct { + state protoimpl.MessageState `protogen:"open.v1"` + PackageName string `protobuf:"bytes,1,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"` + CurrentVersion string `protobuf:"bytes,2,opt,name=current_version,json=currentVersion,proto3" json:"current_version,omitempty"` + AvailableVersion string `protobuf:"bytes,3,opt,name=available_version,json=availableVersion,proto3" json:"available_version,omitempty"` + UpdateType string `protobuf:"bytes,4,opt,name=update_type,json=updateType,proto3" json:"update_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PackageUpdate) Reset() { + *x = PackageUpdate{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PackageUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PackageUpdate) ProtoMessage() {} + +func (x *PackageUpdate) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[62] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PackageUpdate.ProtoReflect.Descriptor instead. +func (*PackageUpdate) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{62} +} + +func (x *PackageUpdate) GetPackageName() string { + if x != nil { + return x.PackageName + } + return "" +} + +func (x *PackageUpdate) GetCurrentVersion() string { + if x != nil { + return x.CurrentVersion + } + return "" +} + +func (x *PackageUpdate) GetAvailableVersion() string { + if x != nil { + return x.AvailableVersion + } + return "" +} + +func (x *PackageUpdate) GetUpdateType() string { + if x != nil { + return x.UpdateType + } + return "" +} + +type GetUpdateStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUpdateStatusRequest) Reset() { + *x = GetUpdateStatusRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUpdateStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUpdateStatusRequest) ProtoMessage() {} + +func (x *GetUpdateStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[63] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUpdateStatusRequest.ProtoReflect.Descriptor instead. +func (*GetUpdateStatusRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{63} +} + +func (x *GetUpdateStatusRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type GetUpdateStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Containers []*ContainerUpdate `protobuf:"bytes,1,rep,name=containers,proto3" json:"containers,omitempty"` + Packages []*PackageUpdate `protobuf:"bytes,2,rep,name=packages,proto3" json:"packages,omitempty"` + SecurityUpdateCount int32 `protobuf:"varint,3,opt,name=security_update_count,json=securityUpdateCount,proto3" json:"security_update_count,omitempty"` + StandardUpdateCount int32 `protobuf:"varint,4,opt,name=standard_update_count,json=standardUpdateCount,proto3" json:"standard_update_count,omitempty"` + ContainerUpdateCount int32 `protobuf:"varint,5,opt,name=container_update_count,json=containerUpdateCount,proto3" json:"container_update_count,omitempty"` + LastChecked *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_checked,json=lastChecked,proto3,oneof" json:"last_checked,omitempty"` + RebootRequired bool `protobuf:"varint,7,opt,name=reboot_required,json=rebootRequired,proto3" json:"reboot_required,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUpdateStatusResponse) Reset() { + *x = GetUpdateStatusResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUpdateStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUpdateStatusResponse) ProtoMessage() {} + +func (x *GetUpdateStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[64] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUpdateStatusResponse.ProtoReflect.Descriptor instead. +func (*GetUpdateStatusResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{64} +} + +func (x *GetUpdateStatusResponse) GetContainers() []*ContainerUpdate { + if x != nil { + return x.Containers + } + return nil +} + +func (x *GetUpdateStatusResponse) GetPackages() []*PackageUpdate { + if x != nil { + return x.Packages + } + return nil +} + +func (x *GetUpdateStatusResponse) GetSecurityUpdateCount() int32 { + if x != nil { + return x.SecurityUpdateCount + } + return 0 +} + +func (x *GetUpdateStatusResponse) GetStandardUpdateCount() int32 { + if x != nil { + return x.StandardUpdateCount + } + return 0 +} + +func (x *GetUpdateStatusResponse) GetContainerUpdateCount() int32 { + if x != nil { + return x.ContainerUpdateCount + } + return 0 +} + +func (x *GetUpdateStatusResponse) GetLastChecked() *timestamppb.Timestamp { + if x != nil { + return x.LastChecked + } + return nil +} + +func (x *GetUpdateStatusResponse) GetRebootRequired() bool { + if x != nil { + return x.RebootRequired + } + return false +} + +type CheckForUpdatesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CheckForUpdatesRequest) Reset() { + *x = CheckForUpdatesRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CheckForUpdatesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckForUpdatesRequest) ProtoMessage() {} + +func (x *CheckForUpdatesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[65] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckForUpdatesRequest.ProtoReflect.Descriptor instead. +func (*CheckForUpdatesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{65} +} + +func (x *CheckForUpdatesRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type ApplySecurityUpdatesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApplySecurityUpdatesRequest) Reset() { + *x = ApplySecurityUpdatesRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApplySecurityUpdatesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplySecurityUpdatesRequest) ProtoMessage() {} + +func (x *ApplySecurityUpdatesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[66] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplySecurityUpdatesRequest.ProtoReflect.Descriptor instead. +func (*ApplySecurityUpdatesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{66} +} + +func (x *ApplySecurityUpdatesRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type ApplyAllUpdatesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApplyAllUpdatesRequest) Reset() { + *x = ApplyAllUpdatesRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApplyAllUpdatesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplyAllUpdatesRequest) ProtoMessage() {} + +func (x *ApplyAllUpdatesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[67] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplyAllUpdatesRequest.ProtoReflect.Descriptor instead. +func (*ApplyAllUpdatesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{67} +} + +func (x *ApplyAllUpdatesRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type UpgradeContainerRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + ContainerName string `protobuf:"bytes,2,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpgradeContainerRequest) Reset() { + *x = UpgradeContainerRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpgradeContainerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeContainerRequest) ProtoMessage() {} + +func (x *UpgradeContainerRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[68] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpgradeContainerRequest.ProtoReflect.Descriptor instead. +func (*UpgradeContainerRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{68} +} + +func (x *UpgradeContainerRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *UpgradeContainerRequest) GetContainerName() string { + if x != nil { + return x.ContainerName + } + return "" +} + +type MaintenanceWindow struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + NodeId string `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + MaintenanceType string `protobuf:"bytes,3,opt,name=maintenance_type,json=maintenanceType,proto3" json:"maintenance_type,omitempty"` + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"` + ScheduledStart *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=scheduled_start,json=scheduledStart,proto3,oneof" json:"scheduled_start,omitempty"` + ActualStart *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=actual_start,json=actualStart,proto3,oneof" json:"actual_start,omitempty"` + ActualEnd *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=actual_end,json=actualEnd,proto3,oneof" json:"actual_end,omitempty"` + EstimatedDurationMinutes *int32 `protobuf:"varint,9,opt,name=estimated_duration_minutes,json=estimatedDurationMinutes,proto3,oneof" json:"estimated_duration_minutes,omitempty"` + AdvanceNoticeHours *int32 `protobuf:"varint,10,opt,name=advance_notice_hours,json=advanceNoticeHours,proto3,oneof" json:"advance_notice_hours,omitempty"` + NotifyOwners bool `protobuf:"varint,11,opt,name=notify_owners,json=notifyOwners,proto3" json:"notify_owners,omitempty"` + InitiatedBy *string `protobuf:"bytes,12,opt,name=initiated_by,json=initiatedBy,proto3,oneof" json:"initiated_by,omitempty"` + InitiatedByEmail *string `protobuf:"bytes,13,opt,name=initiated_by_email,json=initiatedByEmail,proto3,oneof" json:"initiated_by_email,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MaintenanceWindow) Reset() { + *x = MaintenanceWindow{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MaintenanceWindow) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MaintenanceWindow) ProtoMessage() {} + +func (x *MaintenanceWindow) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[69] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MaintenanceWindow.ProtoReflect.Descriptor instead. +func (*MaintenanceWindow) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{69} +} + +func (x *MaintenanceWindow) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *MaintenanceWindow) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *MaintenanceWindow) GetMaintenanceType() string { + if x != nil { + return x.MaintenanceType + } + return "" +} + +func (x *MaintenanceWindow) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *MaintenanceWindow) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *MaintenanceWindow) GetScheduledStart() *timestamppb.Timestamp { + if x != nil { + return x.ScheduledStart + } + return nil +} + +func (x *MaintenanceWindow) GetActualStart() *timestamppb.Timestamp { + if x != nil { + return x.ActualStart + } + return nil +} + +func (x *MaintenanceWindow) GetActualEnd() *timestamppb.Timestamp { + if x != nil { + return x.ActualEnd + } + return nil +} + +func (x *MaintenanceWindow) GetEstimatedDurationMinutes() int32 { + if x != nil && x.EstimatedDurationMinutes != nil { + return *x.EstimatedDurationMinutes + } + return 0 +} + +func (x *MaintenanceWindow) GetAdvanceNoticeHours() int32 { + if x != nil && x.AdvanceNoticeHours != nil { + return *x.AdvanceNoticeHours + } + return 0 +} + +func (x *MaintenanceWindow) GetNotifyOwners() bool { + if x != nil { + return x.NotifyOwners + } + return false +} + +func (x *MaintenanceWindow) GetInitiatedBy() string { + if x != nil && x.InitiatedBy != nil { + return *x.InitiatedBy + } + return "" +} + +func (x *MaintenanceWindow) GetInitiatedByEmail() string { + if x != nil && x.InitiatedByEmail != nil { + return *x.InitiatedByEmail + } + return "" +} + +func (x *MaintenanceWindow) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type ScheduleMaintenanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + ScheduledStart *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=scheduled_start,json=scheduledStart,proto3" json:"scheduled_start,omitempty"` + EstimatedDurationMinutes int32 `protobuf:"varint,3,opt,name=estimated_duration_minutes,json=estimatedDurationMinutes,proto3" json:"estimated_duration_minutes,omitempty"` + Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` + AdvanceNoticeHours *int32 `protobuf:"varint,5,opt,name=advance_notice_hours,json=advanceNoticeHours,proto3,oneof" json:"advance_notice_hours,omitempty"` + NotifyOwners bool `protobuf:"varint,6,opt,name=notify_owners,json=notifyOwners,proto3" json:"notify_owners,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScheduleMaintenanceRequest) Reset() { + *x = ScheduleMaintenanceRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScheduleMaintenanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScheduleMaintenanceRequest) ProtoMessage() {} + +func (x *ScheduleMaintenanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[70] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScheduleMaintenanceRequest.ProtoReflect.Descriptor instead. +func (*ScheduleMaintenanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{70} +} + +func (x *ScheduleMaintenanceRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *ScheduleMaintenanceRequest) GetScheduledStart() *timestamppb.Timestamp { + if x != nil { + return x.ScheduledStart + } + return nil +} + +func (x *ScheduleMaintenanceRequest) GetEstimatedDurationMinutes() int32 { + if x != nil { + return x.EstimatedDurationMinutes + } + return 0 +} + +func (x *ScheduleMaintenanceRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *ScheduleMaintenanceRequest) GetAdvanceNoticeHours() int32 { + if x != nil && x.AdvanceNoticeHours != nil { + return *x.AdvanceNoticeHours + } + return 0 +} + +func (x *ScheduleMaintenanceRequest) GetNotifyOwners() bool { + if x != nil { + return x.NotifyOwners + } + return false +} + +type ScheduleMaintenanceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Window *MaintenanceWindow `protobuf:"bytes,1,opt,name=window,proto3" json:"window,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScheduleMaintenanceResponse) Reset() { + *x = ScheduleMaintenanceResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScheduleMaintenanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScheduleMaintenanceResponse) ProtoMessage() {} + +func (x *ScheduleMaintenanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[71] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScheduleMaintenanceResponse.ProtoReflect.Descriptor instead. +func (*ScheduleMaintenanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{71} +} + +func (x *ScheduleMaintenanceResponse) GetWindow() *MaintenanceWindow { + if x != nil { + return x.Window + } + return nil +} + +type EnterMaintenanceNowRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + EstimatedDurationMinutes *int32 `protobuf:"varint,3,opt,name=estimated_duration_minutes,json=estimatedDurationMinutes,proto3,oneof" json:"estimated_duration_minutes,omitempty"` + NotifyOwners bool `protobuf:"varint,4,opt,name=notify_owners,json=notifyOwners,proto3" json:"notify_owners,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnterMaintenanceNowRequest) Reset() { + *x = EnterMaintenanceNowRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnterMaintenanceNowRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnterMaintenanceNowRequest) ProtoMessage() {} + +func (x *EnterMaintenanceNowRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[72] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnterMaintenanceNowRequest.ProtoReflect.Descriptor instead. +func (*EnterMaintenanceNowRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{72} +} + +func (x *EnterMaintenanceNowRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *EnterMaintenanceNowRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *EnterMaintenanceNowRequest) GetEstimatedDurationMinutes() int32 { + if x != nil && x.EstimatedDurationMinutes != nil { + return *x.EstimatedDurationMinutes + } + return 0 +} + +func (x *EnterMaintenanceNowRequest) GetNotifyOwners() bool { + if x != nil { + return x.NotifyOwners + } + return false +} + +type ExitMaintenanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExitMaintenanceRequest) Reset() { + *x = ExitMaintenanceRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExitMaintenanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExitMaintenanceRequest) ProtoMessage() {} + +func (x *ExitMaintenanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[73] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExitMaintenanceRequest.ProtoReflect.Descriptor instead. +func (*ExitMaintenanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{73} +} + +func (x *ExitMaintenanceRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type CancelScheduledMaintenanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelScheduledMaintenanceRequest) Reset() { + *x = CancelScheduledMaintenanceRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelScheduledMaintenanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelScheduledMaintenanceRequest) ProtoMessage() {} + +func (x *CancelScheduledMaintenanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[74] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelScheduledMaintenanceRequest.ProtoReflect.Descriptor instead. +func (*CancelScheduledMaintenanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{74} +} + +func (x *CancelScheduledMaintenanceRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type CancelScheduledMaintenanceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Window *MaintenanceWindow `protobuf:"bytes,1,opt,name=window,proto3" json:"window,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelScheduledMaintenanceResponse) Reset() { + *x = CancelScheduledMaintenanceResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelScheduledMaintenanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelScheduledMaintenanceResponse) ProtoMessage() {} + +func (x *CancelScheduledMaintenanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[75] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelScheduledMaintenanceResponse.ProtoReflect.Descriptor instead. +func (*CancelScheduledMaintenanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{75} +} + +func (x *CancelScheduledMaintenanceResponse) GetWindow() *MaintenanceWindow { + if x != nil { + return x.Window + } + return nil +} + +type ListMaintenanceWindowsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Status *string `protobuf:"bytes,2,opt,name=status,proto3,oneof" json:"status,omitempty"` + Limit *int32 `protobuf:"varint,3,opt,name=limit,proto3,oneof" json:"limit,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMaintenanceWindowsRequest) Reset() { + *x = ListMaintenanceWindowsRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMaintenanceWindowsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMaintenanceWindowsRequest) ProtoMessage() {} + +func (x *ListMaintenanceWindowsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[76] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMaintenanceWindowsRequest.ProtoReflect.Descriptor instead. +func (*ListMaintenanceWindowsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{76} +} + +func (x *ListMaintenanceWindowsRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *ListMaintenanceWindowsRequest) GetStatus() string { + if x != nil && x.Status != nil { + return *x.Status + } + return "" +} + +func (x *ListMaintenanceWindowsRequest) GetLimit() int32 { + if x != nil && x.Limit != nil { + return *x.Limit + } + return 0 +} + +type ListMaintenanceWindowsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Windows []*MaintenanceWindow `protobuf:"bytes,1,rep,name=windows,proto3" json:"windows,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMaintenanceWindowsResponse) Reset() { + *x = ListMaintenanceWindowsResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMaintenanceWindowsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMaintenanceWindowsResponse) ProtoMessage() {} + +func (x *ListMaintenanceWindowsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[77] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMaintenanceWindowsResponse.ProtoReflect.Descriptor instead. +func (*ListMaintenanceWindowsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{77} +} + +func (x *ListMaintenanceWindowsResponse) GetWindows() []*MaintenanceWindow { + if x != nil { + return x.Windows + } + return nil +} + +type SSHLoginEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + NodeId string `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + LoggedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=logged_at,json=loggedAt,proto3" json:"logged_at,omitempty"` + Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"` + SourceIp string `protobuf:"bytes,5,opt,name=source_ip,json=sourceIp,proto3" json:"source_ip,omitempty"` + AuthMethod string `protobuf:"bytes,6,opt,name=auth_method,json=authMethod,proto3" json:"auth_method,omitempty"` + Success bool `protobuf:"varint,7,opt,name=success,proto3" json:"success,omitempty"` + SessionDurationSeconds *int32 `protobuf:"varint,8,opt,name=session_duration_seconds,json=sessionDurationSeconds,proto3,oneof" json:"session_duration_seconds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SSHLoginEntry) Reset() { + *x = SSHLoginEntry{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SSHLoginEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SSHLoginEntry) ProtoMessage() {} + +func (x *SSHLoginEntry) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[78] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SSHLoginEntry.ProtoReflect.Descriptor instead. +func (*SSHLoginEntry) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{78} +} + +func (x *SSHLoginEntry) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *SSHLoginEntry) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *SSHLoginEntry) GetLoggedAt() *timestamppb.Timestamp { + if x != nil { + return x.LoggedAt + } + return nil +} + +func (x *SSHLoginEntry) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *SSHLoginEntry) GetSourceIp() string { + if x != nil { + return x.SourceIp + } + return "" +} + +func (x *SSHLoginEntry) GetAuthMethod() string { + if x != nil { + return x.AuthMethod + } + return "" +} + +func (x *SSHLoginEntry) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *SSHLoginEntry) GetSessionDurationSeconds() int32 { + if x != nil && x.SessionDurationSeconds != nil { + return *x.SessionDurationSeconds + } + return 0 +} + +type GetSSHLoginAuditRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"` + EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3,oneof" json:"end_time,omitempty"` + Page *int32 `protobuf:"varint,4,opt,name=page,proto3,oneof" json:"page,omitempty"` + PageSize *int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3,oneof" json:"page_size,omitempty"` + ExportCsv *bool `protobuf:"varint,6,opt,name=export_csv,json=exportCsv,proto3,oneof" json:"export_csv,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetSSHLoginAuditRequest) Reset() { + *x = GetSSHLoginAuditRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSSHLoginAuditRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSSHLoginAuditRequest) ProtoMessage() {} + +func (x *GetSSHLoginAuditRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[79] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSSHLoginAuditRequest.ProtoReflect.Descriptor instead. +func (*GetSSHLoginAuditRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{79} +} + +func (x *GetSSHLoginAuditRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *GetSSHLoginAuditRequest) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *GetSSHLoginAuditRequest) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *GetSSHLoginAuditRequest) GetPage() int32 { + if x != nil && x.Page != nil { + return *x.Page + } + return 0 +} + +func (x *GetSSHLoginAuditRequest) GetPageSize() int32 { + if x != nil && x.PageSize != nil { + return *x.PageSize + } + return 0 +} + +func (x *GetSSHLoginAuditRequest) GetExportCsv() bool { + if x != nil && x.ExportCsv != nil { + return *x.ExportCsv + } + return false +} + +type GetSSHLoginAuditResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Entries []*SSHLoginEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` + TotalCount int32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` + CsvData *string `protobuf:"bytes,3,opt,name=csv_data,json=csvData,proto3,oneof" json:"csv_data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetSSHLoginAuditResponse) Reset() { + *x = GetSSHLoginAuditResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSSHLoginAuditResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSSHLoginAuditResponse) ProtoMessage() {} + +func (x *GetSSHLoginAuditResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[80] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSSHLoginAuditResponse.ProtoReflect.Descriptor instead. +func (*GetSSHLoginAuditResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{80} +} + +func (x *GetSSHLoginAuditResponse) GetEntries() []*SSHLoginEntry { + if x != nil { + return x.Entries + } + return nil +} + +func (x *GetSSHLoginAuditResponse) GetTotalCount() int32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +func (x *GetSSHLoginAuditResponse) GetCsvData() string { + if x != nil && x.CsvData != nil { + return *x.CsvData + } + return "" +} + +type SecurityCheckResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + CheckName string `protobuf:"bytes,1,opt,name=check_name,json=checkName,proto3" json:"check_name,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Passed bool `protobuf:"varint,3,opt,name=passed,proto3" json:"passed,omitempty"` + Detail *string `protobuf:"bytes,4,opt,name=detail,proto3,oneof" json:"detail,omitempty"` + Severity string `protobuf:"bytes,5,opt,name=severity,proto3" json:"severity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SecurityCheckResult) Reset() { + *x = SecurityCheckResult{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SecurityCheckResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SecurityCheckResult) ProtoMessage() {} + +func (x *SecurityCheckResult) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[81] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SecurityCheckResult.ProtoReflect.Descriptor instead. +func (*SecurityCheckResult) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{81} +} + +func (x *SecurityCheckResult) GetCheckName() string { + if x != nil { + return x.CheckName + } + return "" +} + +func (x *SecurityCheckResult) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *SecurityCheckResult) GetPassed() bool { + if x != nil { + return x.Passed + } + return false +} + +func (x *SecurityCheckResult) GetDetail() string { + if x != nil && x.Detail != nil { + return *x.Detail + } + return "" +} + +func (x *SecurityCheckResult) GetSeverity() string { + if x != nil { + return x.Severity + } + return "" +} + +type RunSecurityAuditRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RunSecurityAuditRequest) Reset() { + *x = RunSecurityAuditRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RunSecurityAuditRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunSecurityAuditRequest) ProtoMessage() {} + +func (x *RunSecurityAuditRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[82] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunSecurityAuditRequest.ProtoReflect.Descriptor instead. +func (*RunSecurityAuditRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{82} +} + +func (x *RunSecurityAuditRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type RunSecurityAuditResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Checks []*SecurityCheckResult `protobuf:"bytes,1,rep,name=checks,proto3" json:"checks,omitempty"` + Passed int32 `protobuf:"varint,2,opt,name=passed,proto3" json:"passed,omitempty"` + Failed int32 `protobuf:"varint,3,opt,name=failed,proto3" json:"failed,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RunSecurityAuditResponse) Reset() { + *x = RunSecurityAuditResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RunSecurityAuditResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunSecurityAuditResponse) ProtoMessage() {} + +func (x *RunSecurityAuditResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[83] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunSecurityAuditResponse.ProtoReflect.Descriptor instead. +func (*RunSecurityAuditResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{83} +} + +func (x *RunSecurityAuditResponse) GetChecks() []*SecurityCheckResult { + if x != nil { + return x.Checks + } + return nil +} + +func (x *RunSecurityAuditResponse) GetPassed() int32 { + if x != nil { + return x.Passed + } + return 0 +} + +func (x *RunSecurityAuditResponse) GetFailed() int32 { + if x != nil { + return x.Failed + } + return 0 +} + +type AlertInstance struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + RuleId string `protobuf:"bytes,2,opt,name=rule_id,json=ruleId,proto3" json:"rule_id,omitempty"` + RuleName string `protobuf:"bytes,3,opt,name=rule_name,json=ruleName,proto3" json:"rule_name,omitempty"` + NodeId string `protobuf:"bytes,4,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + NodeName string `protobuf:"bytes,5,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"` + Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` + Severity string `protobuf:"bytes,7,opt,name=severity,proto3" json:"severity,omitempty"` + Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"` + TriggeredAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=triggered_at,json=triggeredAt,proto3" json:"triggered_at,omitempty"` + AcknowledgedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=acknowledged_at,json=acknowledgedAt,proto3,oneof" json:"acknowledged_at,omitempty"` + ResolvedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=resolved_at,json=resolvedAt,proto3,oneof" json:"resolved_at,omitempty"` + Context map[string]string `protobuf:"bytes,12,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AlertInstance) Reset() { + *x = AlertInstance{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AlertInstance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlertInstance) ProtoMessage() {} + +func (x *AlertInstance) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[84] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlertInstance.ProtoReflect.Descriptor instead. +func (*AlertInstance) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{84} +} + +func (x *AlertInstance) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AlertInstance) GetRuleId() string { + if x != nil { + return x.RuleId + } + return "" +} + +func (x *AlertInstance) GetRuleName() string { + if x != nil { + return x.RuleName + } + return "" +} + +func (x *AlertInstance) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *AlertInstance) GetNodeName() string { + if x != nil { + return x.NodeName + } + return "" +} + +func (x *AlertInstance) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *AlertInstance) GetSeverity() string { + if x != nil { + return x.Severity + } + return "" +} + +func (x *AlertInstance) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *AlertInstance) GetTriggeredAt() *timestamppb.Timestamp { + if x != nil { + return x.TriggeredAt + } + return nil +} + +func (x *AlertInstance) GetAcknowledgedAt() *timestamppb.Timestamp { + if x != nil { + return x.AcknowledgedAt + } + return nil +} + +func (x *AlertInstance) GetResolvedAt() *timestamppb.Timestamp { + if x != nil { + return x.ResolvedAt + } + return nil +} + +func (x *AlertInstance) GetContext() map[string]string { + if x != nil { + return x.Context + } + return nil +} + +type AlertRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + ConditionType string `protobuf:"bytes,3,opt,name=condition_type,json=conditionType,proto3" json:"condition_type,omitempty"` + ThresholdValue *float32 `protobuf:"fixed32,4,opt,name=threshold_value,json=thresholdValue,proto3,oneof" json:"threshold_value,omitempty"` + ThresholdDurationSeconds *int32 `protobuf:"varint,5,opt,name=threshold_duration_seconds,json=thresholdDurationSeconds,proto3,oneof" json:"threshold_duration_seconds,omitempty"` + Severity string `protobuf:"bytes,6,opt,name=severity,proto3" json:"severity,omitempty"` + NotifyEmail bool `protobuf:"varint,7,opt,name=notify_email,json=notifyEmail,proto3" json:"notify_email,omitempty"` + NotifyWebhook bool `protobuf:"varint,8,opt,name=notify_webhook,json=notifyWebhook,proto3" json:"notify_webhook,omitempty"` + Enabled bool `protobuf:"varint,9,opt,name=enabled,proto3" json:"enabled,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AlertRule) Reset() { + *x = AlertRule{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AlertRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlertRule) ProtoMessage() {} + +func (x *AlertRule) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[85] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlertRule.ProtoReflect.Descriptor instead. +func (*AlertRule) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{85} +} + +func (x *AlertRule) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AlertRule) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AlertRule) GetConditionType() string { + if x != nil { + return x.ConditionType + } + return "" +} + +func (x *AlertRule) GetThresholdValue() float32 { + if x != nil && x.ThresholdValue != nil { + return *x.ThresholdValue + } + return 0 +} + +func (x *AlertRule) GetThresholdDurationSeconds() int32 { + if x != nil && x.ThresholdDurationSeconds != nil { + return *x.ThresholdDurationSeconds + } + return 0 +} + +func (x *AlertRule) GetSeverity() string { + if x != nil { + return x.Severity + } + return "" +} + +func (x *AlertRule) GetNotifyEmail() bool { + if x != nil { + return x.NotifyEmail + } + return false +} + +func (x *AlertRule) GetNotifyWebhook() bool { + if x != nil { + return x.NotifyWebhook + } + return false +} + +func (x *AlertRule) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *AlertRule) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type NotificationChannel struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ChannelType string `protobuf:"bytes,2,opt,name=channel_type,json=channelType,proto3" json:"channel_type,omitempty"` + Config map[string]string `protobuf:"bytes,3,rep,name=config,proto3" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + Enabled bool `protobuf:"varint,4,opt,name=enabled,proto3" json:"enabled,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NotificationChannel) Reset() { + *x = NotificationChannel{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NotificationChannel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotificationChannel) ProtoMessage() {} + +func (x *NotificationChannel) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[86] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NotificationChannel.ProtoReflect.Descriptor instead. +func (*NotificationChannel) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{86} +} + +func (x *NotificationChannel) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *NotificationChannel) GetChannelType() string { + if x != nil { + return x.ChannelType + } + return "" +} + +func (x *NotificationChannel) GetConfig() map[string]string { + if x != nil { + return x.Config + } + return nil +} + +func (x *NotificationChannel) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *NotificationChannel) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type ListActiveAlertsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId *string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListActiveAlertsRequest) Reset() { + *x = ListActiveAlertsRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListActiveAlertsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListActiveAlertsRequest) ProtoMessage() {} + +func (x *ListActiveAlertsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[87] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListActiveAlertsRequest.ProtoReflect.Descriptor instead. +func (*ListActiveAlertsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{87} +} + +func (x *ListActiveAlertsRequest) GetNodeId() string { + if x != nil && x.NodeId != nil { + return *x.NodeId + } + return "" +} + +type ListActiveAlertsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Alerts []*AlertInstance `protobuf:"bytes,1,rep,name=alerts,proto3" json:"alerts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListActiveAlertsResponse) Reset() { + *x = ListActiveAlertsResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListActiveAlertsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListActiveAlertsResponse) ProtoMessage() {} + +func (x *ListActiveAlertsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[88] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListActiveAlertsResponse.ProtoReflect.Descriptor instead. +func (*ListActiveAlertsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{88} +} + +func (x *ListActiveAlertsResponse) GetAlerts() []*AlertInstance { + if x != nil { + return x.Alerts + } + return nil +} + +type AcknowledgeAlertRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AcknowledgeAlertRequest) Reset() { + *x = AcknowledgeAlertRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcknowledgeAlertRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcknowledgeAlertRequest) ProtoMessage() {} + +func (x *AcknowledgeAlertRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[89] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AcknowledgeAlertRequest.ProtoReflect.Descriptor instead. +func (*AcknowledgeAlertRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{89} +} + +func (x *AcknowledgeAlertRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type AcknowledgeAlertResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Alert *AlertInstance `protobuf:"bytes,1,opt,name=alert,proto3" json:"alert,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AcknowledgeAlertResponse) Reset() { + *x = AcknowledgeAlertResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcknowledgeAlertResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcknowledgeAlertResponse) ProtoMessage() {} + +func (x *AcknowledgeAlertResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[90] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AcknowledgeAlertResponse.ProtoReflect.Descriptor instead. +func (*AcknowledgeAlertResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{90} +} + +func (x *AcknowledgeAlertResponse) GetAlert() *AlertInstance { + if x != nil { + return x.Alert + } + return nil +} + +type ListAlertRulesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAlertRulesRequest) Reset() { + *x = ListAlertRulesRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAlertRulesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAlertRulesRequest) ProtoMessage() {} + +func (x *ListAlertRulesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[91] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAlertRulesRequest.ProtoReflect.Descriptor instead. +func (*ListAlertRulesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{91} +} + +type ListAlertRulesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Rules []*AlertRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAlertRulesResponse) Reset() { + *x = ListAlertRulesResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAlertRulesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAlertRulesResponse) ProtoMessage() {} + +func (x *ListAlertRulesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[92] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAlertRulesResponse.ProtoReflect.Descriptor instead. +func (*ListAlertRulesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{92} +} + +func (x *ListAlertRulesResponse) GetRules() []*AlertRule { + if x != nil { + return x.Rules + } + return nil +} + +type UpdateAlertRuleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` + ThresholdValue *float32 `protobuf:"fixed32,3,opt,name=threshold_value,json=thresholdValue,proto3,oneof" json:"threshold_value,omitempty"` + ThresholdDurationSeconds *int32 `protobuf:"varint,4,opt,name=threshold_duration_seconds,json=thresholdDurationSeconds,proto3,oneof" json:"threshold_duration_seconds,omitempty"` + Severity *string `protobuf:"bytes,5,opt,name=severity,proto3,oneof" json:"severity,omitempty"` + NotifyEmail *bool `protobuf:"varint,6,opt,name=notify_email,json=notifyEmail,proto3,oneof" json:"notify_email,omitempty"` + NotifyWebhook *bool `protobuf:"varint,7,opt,name=notify_webhook,json=notifyWebhook,proto3,oneof" json:"notify_webhook,omitempty"` + Enabled *bool `protobuf:"varint,8,opt,name=enabled,proto3,oneof" json:"enabled,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateAlertRuleRequest) Reset() { + *x = UpdateAlertRuleRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateAlertRuleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAlertRuleRequest) ProtoMessage() {} + +func (x *UpdateAlertRuleRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[93] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAlertRuleRequest.ProtoReflect.Descriptor instead. +func (*UpdateAlertRuleRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{93} +} + +func (x *UpdateAlertRuleRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateAlertRuleRequest) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *UpdateAlertRuleRequest) GetThresholdValue() float32 { + if x != nil && x.ThresholdValue != nil { + return *x.ThresholdValue + } + return 0 +} + +func (x *UpdateAlertRuleRequest) GetThresholdDurationSeconds() int32 { + if x != nil && x.ThresholdDurationSeconds != nil { + return *x.ThresholdDurationSeconds + } + return 0 +} + +func (x *UpdateAlertRuleRequest) GetSeverity() string { + if x != nil && x.Severity != nil { + return *x.Severity + } + return "" +} + +func (x *UpdateAlertRuleRequest) GetNotifyEmail() bool { + if x != nil && x.NotifyEmail != nil { + return *x.NotifyEmail + } + return false +} + +func (x *UpdateAlertRuleRequest) GetNotifyWebhook() bool { + if x != nil && x.NotifyWebhook != nil { + return *x.NotifyWebhook + } + return false +} + +func (x *UpdateAlertRuleRequest) GetEnabled() bool { + if x != nil && x.Enabled != nil { + return *x.Enabled + } + return false +} + +type UpdateAlertRuleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Rule *AlertRule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateAlertRuleResponse) Reset() { + *x = UpdateAlertRuleResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateAlertRuleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateAlertRuleResponse) ProtoMessage() {} + +func (x *UpdateAlertRuleResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[94] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateAlertRuleResponse.ProtoReflect.Descriptor instead. +func (*UpdateAlertRuleResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{94} +} + +func (x *UpdateAlertRuleResponse) GetRule() *AlertRule { + if x != nil { + return x.Rule + } + return nil +} + +type ListAlertHistoryRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId *string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` + StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"` + EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3,oneof" json:"end_time,omitempty"` + Page *int32 `protobuf:"varint,4,opt,name=page,proto3,oneof" json:"page,omitempty"` + PageSize *int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3,oneof" json:"page_size,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAlertHistoryRequest) Reset() { + *x = ListAlertHistoryRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAlertHistoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAlertHistoryRequest) ProtoMessage() {} + +func (x *ListAlertHistoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[95] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAlertHistoryRequest.ProtoReflect.Descriptor instead. +func (*ListAlertHistoryRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{95} +} + +func (x *ListAlertHistoryRequest) GetNodeId() string { + if x != nil && x.NodeId != nil { + return *x.NodeId + } + return "" +} + +func (x *ListAlertHistoryRequest) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *ListAlertHistoryRequest) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *ListAlertHistoryRequest) GetPage() int32 { + if x != nil && x.Page != nil { + return *x.Page + } + return 0 +} + +func (x *ListAlertHistoryRequest) GetPageSize() int32 { + if x != nil && x.PageSize != nil { + return *x.PageSize + } + return 0 +} + +type ListAlertHistoryResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Alerts []*AlertInstance `protobuf:"bytes,1,rep,name=alerts,proto3" json:"alerts,omitempty"` + TotalCount int32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAlertHistoryResponse) Reset() { + *x = ListAlertHistoryResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAlertHistoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAlertHistoryResponse) ProtoMessage() {} + +func (x *ListAlertHistoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[96] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAlertHistoryResponse.ProtoReflect.Descriptor instead. +func (*ListAlertHistoryResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{96} +} + +func (x *ListAlertHistoryResponse) GetAlerts() []*AlertInstance { + if x != nil { + return x.Alerts + } + return nil +} + +func (x *ListAlertHistoryResponse) GetTotalCount() int32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +type GetNotificationChannelsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNotificationChannelsRequest) Reset() { + *x = GetNotificationChannelsRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNotificationChannelsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotificationChannelsRequest) ProtoMessage() {} + +func (x *GetNotificationChannelsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[97] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNotificationChannelsRequest.ProtoReflect.Descriptor instead. +func (*GetNotificationChannelsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{97} +} + +type GetNotificationChannelsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Channels []*NotificationChannel `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNotificationChannelsResponse) Reset() { + *x = GetNotificationChannelsResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNotificationChannelsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotificationChannelsResponse) ProtoMessage() {} + +func (x *GetNotificationChannelsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[98] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNotificationChannelsResponse.ProtoReflect.Descriptor instead. +func (*GetNotificationChannelsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{98} +} + +func (x *GetNotificationChannelsResponse) GetChannels() []*NotificationChannel { + if x != nil { + return x.Channels + } + return nil +} + +type UpdateNotificationChannelRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ChannelType *string `protobuf:"bytes,2,opt,name=channel_type,json=channelType,proto3,oneof" json:"channel_type,omitempty"` + Config map[string]string `protobuf:"bytes,3,rep,name=config,proto3" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + Enabled *bool `protobuf:"varint,4,opt,name=enabled,proto3,oneof" json:"enabled,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateNotificationChannelRequest) Reset() { + *x = UpdateNotificationChannelRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateNotificationChannelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNotificationChannelRequest) ProtoMessage() {} + +func (x *UpdateNotificationChannelRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[99] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNotificationChannelRequest.ProtoReflect.Descriptor instead. +func (*UpdateNotificationChannelRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{99} +} + +func (x *UpdateNotificationChannelRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateNotificationChannelRequest) GetChannelType() string { + if x != nil && x.ChannelType != nil { + return *x.ChannelType + } + return "" +} + +func (x *UpdateNotificationChannelRequest) GetConfig() map[string]string { + if x != nil { + return x.Config + } + return nil +} + +func (x *UpdateNotificationChannelRequest) GetEnabled() bool { + if x != nil && x.Enabled != nil { + return *x.Enabled + } + return false +} + +type UpdateNotificationChannelResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Channel *NotificationChannel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateNotificationChannelResponse) Reset() { + *x = UpdateNotificationChannelResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateNotificationChannelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNotificationChannelResponse) ProtoMessage() {} + +func (x *UpdateNotificationChannelResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[100] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNotificationChannelResponse.ProtoReflect.Descriptor instead. +func (*UpdateNotificationChannelResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{100} +} + +func (x *UpdateNotificationChannelResponse) GetChannel() *NotificationChannel { + if x != nil { + return x.Channel + } + return nil +} + +type TestNotificationChannelRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestNotificationChannelRequest) Reset() { + *x = TestNotificationChannelRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestNotificationChannelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestNotificationChannelRequest) ProtoMessage() {} + +func (x *TestNotificationChannelRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[101] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestNotificationChannelRequest.ProtoReflect.Descriptor instead. +func (*TestNotificationChannelRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{101} +} + +func (x *TestNotificationChannelRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type TestNotificationChannelResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestNotificationChannelResponse) Reset() { + *x = TestNotificationChannelResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestNotificationChannelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestNotificationChannelResponse) ProtoMessage() {} + +func (x *TestNotificationChannelResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[102] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestNotificationChannelResponse.ProtoReflect.Descriptor instead. +func (*TestNotificationChannelResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{102} +} + +func (x *TestNotificationChannelResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *TestNotificationChannelResponse) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type ConsulKeyGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` + InstanceSlug string `protobuf:"bytes,2,opt,name=instance_slug,json=instanceSlug,proto3" json:"instance_slug,omitempty"` + InstanceId *string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + NodeName *string `protobuf:"bytes,4,opt,name=node_name,json=nodeName,proto3,oneof" json:"node_name,omitempty"` + KeyCount int32 `protobuf:"varint,5,opt,name=key_count,json=keyCount,proto3" json:"key_count,omitempty"` + LastModified *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_modified,json=lastModified,proto3,oneof" json:"last_modified,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConsulKeyGroup) Reset() { + *x = ConsulKeyGroup{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConsulKeyGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConsulKeyGroup) ProtoMessage() {} + +func (x *ConsulKeyGroup) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[103] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConsulKeyGroup.ProtoReflect.Descriptor instead. +func (*ConsulKeyGroup) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{103} +} + +func (x *ConsulKeyGroup) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +func (x *ConsulKeyGroup) GetInstanceSlug() string { + if x != nil { + return x.InstanceSlug + } + return "" +} + +func (x *ConsulKeyGroup) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +func (x *ConsulKeyGroup) GetNodeName() string { + if x != nil && x.NodeName != nil { + return *x.NodeName + } + return "" +} + +func (x *ConsulKeyGroup) GetKeyCount() int32 { + if x != nil { + return x.KeyCount + } + return 0 +} + +func (x *ConsulKeyGroup) GetLastModified() *timestamppb.Timestamp { + if x != nil { + return x.LastModified + } + return nil +} + +type ConsulKeyValue struct { + state protoimpl.MessageState `protogen:"open.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + LastModified *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_modified,json=lastModified,proto3,oneof" json:"last_modified,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConsulKeyValue) Reset() { + *x = ConsulKeyValue{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConsulKeyValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConsulKeyValue) ProtoMessage() {} + +func (x *ConsulKeyValue) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[104] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConsulKeyValue.ProtoReflect.Descriptor instead. +func (*ConsulKeyValue) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{104} +} + +func (x *ConsulKeyValue) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *ConsulKeyValue) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *ConsulKeyValue) GetLastModified() *timestamppb.Timestamp { + if x != nil { + return x.LastModified + } + return nil +} + +type ListConsulKeysRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListConsulKeysRequest) Reset() { + *x = ListConsulKeysRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListConsulKeysRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListConsulKeysRequest) ProtoMessage() {} + +func (x *ListConsulKeysRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[105] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListConsulKeysRequest.ProtoReflect.Descriptor instead. +func (*ListConsulKeysRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{105} +} + +type ListConsulKeysResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Groups []*ConsulKeyGroup `protobuf:"bytes,1,rep,name=groups,proto3" json:"groups,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListConsulKeysResponse) Reset() { + *x = ListConsulKeysResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListConsulKeysResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListConsulKeysResponse) ProtoMessage() {} + +func (x *ListConsulKeysResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[106] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListConsulKeysResponse.ProtoReflect.Descriptor instead. +func (*ListConsulKeysResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{106} +} + +func (x *ListConsulKeysResponse) GetGroups() []*ConsulKeyGroup { + if x != nil { + return x.Groups + } + return nil +} + +type GetConsulKeyGroupRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetConsulKeyGroupRequest) Reset() { + *x = GetConsulKeyGroupRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetConsulKeyGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetConsulKeyGroupRequest) ProtoMessage() {} + +func (x *GetConsulKeyGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[107] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetConsulKeyGroupRequest.ProtoReflect.Descriptor instead. +func (*GetConsulKeyGroupRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{107} +} + +func (x *GetConsulKeyGroupRequest) GetPrefix() string { + if x != nil { + return x.Prefix + } + return "" +} + +type GetConsulKeyGroupResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Group *ConsulKeyGroup `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"` + KeyValues []*ConsulKeyValue `protobuf:"bytes,2,rep,name=key_values,json=keyValues,proto3" json:"key_values,omitempty"` + LinkedService *string `protobuf:"bytes,3,opt,name=linked_service,json=linkedService,proto3,oneof" json:"linked_service,omitempty"` + InstanceNode *string `protobuf:"bytes,4,opt,name=instance_node,json=instanceNode,proto3,oneof" json:"instance_node,omitempty"` + RoutedFromNodes []string `protobuf:"bytes,5,rep,name=routed_from_nodes,json=routedFromNodes,proto3" json:"routed_from_nodes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetConsulKeyGroupResponse) Reset() { + *x = GetConsulKeyGroupResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetConsulKeyGroupResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetConsulKeyGroupResponse) ProtoMessage() {} + +func (x *GetConsulKeyGroupResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[108] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetConsulKeyGroupResponse.ProtoReflect.Descriptor instead. +func (*GetConsulKeyGroupResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{108} +} + +func (x *GetConsulKeyGroupResponse) GetGroup() *ConsulKeyGroup { + if x != nil { + return x.Group + } + return nil +} + +func (x *GetConsulKeyGroupResponse) GetKeyValues() []*ConsulKeyValue { + if x != nil { + return x.KeyValues + } + return nil +} + +func (x *GetConsulKeyGroupResponse) GetLinkedService() string { + if x != nil && x.LinkedService != nil { + return *x.LinkedService + } + return "" +} + +func (x *GetConsulKeyGroupResponse) GetInstanceNode() string { + if x != nil && x.InstanceNode != nil { + return *x.InstanceNode + } + return "" +} + +func (x *GetConsulKeyGroupResponse) GetRoutedFromNodes() []string { + if x != nil { + return x.RoutedFromNodes + } + return nil +} + +type RegenerateConsulRoutesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId *string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegenerateConsulRoutesRequest) Reset() { + *x = RegenerateConsulRoutesRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegenerateConsulRoutesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegenerateConsulRoutesRequest) ProtoMessage() {} + +func (x *RegenerateConsulRoutesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[109] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegenerateConsulRoutesRequest.ProtoReflect.Descriptor instead. +func (*RegenerateConsulRoutesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{109} +} + +func (x *RegenerateConsulRoutesRequest) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +type DeleteConsulKeysRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Keys []string `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteConsulKeysRequest) Reset() { + *x = DeleteConsulKeysRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteConsulKeysRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteConsulKeysRequest) ProtoMessage() {} + +func (x *DeleteConsulKeysRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[110] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteConsulKeysRequest.ProtoReflect.Descriptor instead. +func (*DeleteConsulKeysRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{110} +} + +func (x *DeleteConsulKeysRequest) GetKeys() []string { + if x != nil { + return x.Keys + } + return nil +} + +type DeleteConsulKeysResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + DeletedCount int32 `protobuf:"varint,1,opt,name=deleted_count,json=deletedCount,proto3" json:"deleted_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteConsulKeysResponse) Reset() { + *x = DeleteConsulKeysResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteConsulKeysResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteConsulKeysResponse) ProtoMessage() {} + +func (x *DeleteConsulKeysResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[111] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteConsulKeysResponse.ProtoReflect.Descriptor instead. +func (*DeleteConsulKeysResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{111} +} + +func (x *DeleteConsulKeysResponse) GetDeletedCount() int32 { + if x != nil { + return x.DeletedCount + } + return 0 +} + +type ListAuditLogRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId *string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` + Action *string `protobuf:"bytes,2,opt,name=action,proto3,oneof" json:"action,omitempty"` + UserEmail *string `protobuf:"bytes,3,opt,name=user_email,json=userEmail,proto3,oneof" json:"user_email,omitempty"` + StartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"` + EndTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3,oneof" json:"end_time,omitempty"` + Page *int32 `protobuf:"varint,6,opt,name=page,proto3,oneof" json:"page,omitempty"` + PageSize *int32 `protobuf:"varint,7,opt,name=page_size,json=pageSize,proto3,oneof" json:"page_size,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAuditLogRequest) Reset() { + *x = ListAuditLogRequest{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAuditLogRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAuditLogRequest) ProtoMessage() {} + +func (x *ListAuditLogRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[112] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAuditLogRequest.ProtoReflect.Descriptor instead. +func (*ListAuditLogRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{112} +} + +func (x *ListAuditLogRequest) GetNodeId() string { + if x != nil && x.NodeId != nil { + return *x.NodeId + } + return "" +} + +func (x *ListAuditLogRequest) GetAction() string { + if x != nil && x.Action != nil { + return *x.Action + } + return "" +} + +func (x *ListAuditLogRequest) GetUserEmail() string { + if x != nil && x.UserEmail != nil { + return *x.UserEmail + } + return "" +} + +func (x *ListAuditLogRequest) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *ListAuditLogRequest) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *ListAuditLogRequest) GetPage() int32 { + if x != nil && x.Page != nil { + return *x.Page + } + return 0 +} + +func (x *ListAuditLogRequest) GetPageSize() int32 { + if x != nil && x.PageSize != nil { + return *x.PageSize + } + return 0 +} + +type AuditLogDetail struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + UserId *string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3,oneof" json:"user_id,omitempty"` + UserEmail string `protobuf:"bytes,3,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"` + NodeId *string `protobuf:"bytes,4,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` + NodeName *string `protobuf:"bytes,5,opt,name=node_name,json=nodeName,proto3,oneof" json:"node_name,omitempty"` + Action string `protobuf:"bytes,6,opt,name=action,proto3" json:"action,omitempty"` + Target *string `protobuf:"bytes,7,opt,name=target,proto3,oneof" json:"target,omitempty"` + Parameters map[string]string `protobuf:"bytes,8,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + CommandsExecuted []string `protobuf:"bytes,9,rep,name=commands_executed,json=commandsExecuted,proto3" json:"commands_executed,omitempty"` + Result string `protobuf:"bytes,10,opt,name=result,proto3" json:"result,omitempty"` + OutputSummary *string `protobuf:"bytes,11,opt,name=output_summary,json=outputSummary,proto3,oneof" json:"output_summary,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AuditLogDetail) Reset() { + *x = AuditLogDetail{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AuditLogDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuditLogDetail) ProtoMessage() {} + +func (x *AuditLogDetail) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[113] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuditLogDetail.ProtoReflect.Descriptor instead. +func (*AuditLogDetail) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{113} +} + +func (x *AuditLogDetail) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *AuditLogDetail) GetUserId() string { + if x != nil && x.UserId != nil { + return *x.UserId + } + return "" +} + +func (x *AuditLogDetail) GetUserEmail() string { + if x != nil { + return x.UserEmail + } + return "" +} + +func (x *AuditLogDetail) GetNodeId() string { + if x != nil && x.NodeId != nil { + return *x.NodeId + } + return "" +} + +func (x *AuditLogDetail) GetNodeName() string { + if x != nil && x.NodeName != nil { + return *x.NodeName + } + return "" +} + +func (x *AuditLogDetail) GetAction() string { + if x != nil { + return x.Action + } + return "" +} + +func (x *AuditLogDetail) GetTarget() string { + if x != nil && x.Target != nil { + return *x.Target + } + return "" +} + +func (x *AuditLogDetail) GetParameters() map[string]string { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *AuditLogDetail) GetCommandsExecuted() []string { + if x != nil { + return x.CommandsExecuted + } + return nil +} + +func (x *AuditLogDetail) GetResult() string { + if x != nil { + return x.Result + } + return "" +} + +func (x *AuditLogDetail) GetOutputSummary() string { + if x != nil && x.OutputSummary != nil { + return *x.OutputSummary + } + return "" +} + +func (x *AuditLogDetail) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type ListAuditLogResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Entries []*AuditLogDetail `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` + TotalCount int32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAuditLogResponse) Reset() { + *x = ListAuditLogResponse{} + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAuditLogResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAuditLogResponse) ProtoMessage() {} + +func (x *ListAuditLogResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_infrastructure_proto_msgTypes[114] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAuditLogResponse.ProtoReflect.Descriptor instead. +func (*ListAuditLogResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_infrastructure_proto_rawDescGZIP(), []int{114} +} + +func (x *ListAuditLogResponse) GetEntries() []*AuditLogDetail { + if x != nil { + return x.Entries + } + return nil +} + +func (x *ListAuditLogResponse) GetTotalCount() int32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +var File_orchestrator_v1_infrastructure_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_infrastructure_proto_rawDesc = "" + + "\n" + + "$orchestrator/v1/infrastructure.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb4\x01\n" + + "\x0fOperationOutput\x12\x12\n" + + "\x04line\x18\x01 \x01(\tR\x04line\x12\x12\n" + + "\x04step\x18\x02 \x01(\tR\x04step\x12\x19\n" + + "\bis_error\x18\x03 \x01(\bR\aisError\x12\x1f\n" + + "\vis_complete\x18\x04 \x01(\bR\n" + + "isComplete\x12\x18\n" + + "\asuccess\x18\x05 \x01(\bR\asuccess\x12#\n" + + "\rerror_message\x18\x06 \x01(\tR\ferrorMessage\"\xde\v\n" + + "\x11NodeHealthSummary\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12\x1b\n" + + "\tnode_name\x18\x02 \x01(\tR\bnodeName\x12\x1b\n" + + "\tnode_slug\x18\x03 \x01(\tR\bnodeSlug\x12\x16\n" + + "\x06status\x18\x04 \x01(\tR\x06status\x12\x1e\n" + + "\bssh_host\x18\x05 \x01(\tH\x00R\asshHost\x88\x01\x01\x12&\n" + + "\fcountry_code\x18\x06 \x01(\tH\x01R\vcountryCode\x88\x01\x01\x12\x17\n" + + "\x04city\x18\a \x01(\tH\x02R\x04city\x88\x01\x01\x12$\n" + + "\vcpu_percent\x18\b \x01(\x02H\x03R\n" + + "cpuPercent\x88\x01\x01\x12/\n" + + "\x11memory_used_bytes\x18\t \x01(\x03H\x04R\x0fmemoryUsedBytes\x88\x01\x01\x121\n" + + "\x12memory_total_bytes\x18\n" + + " \x01(\x03H\x05R\x10memoryTotalBytes\x88\x01\x01\x12+\n" + + "\x0fdisk_used_bytes\x18\v \x01(\x03H\x06R\rdiskUsedBytes\x88\x01\x01\x12-\n" + + "\x10disk_total_bytes\x18\f \x01(\x03H\aR\x0ediskTotalBytes\x88\x01\x01\x12-\n" + + "\x12running_containers\x18\r \x01(\x05R\x11runningContainers\x12+\n" + + "\x11current_instances\x18\x0e \x01(\x05R\x10currentInstances\x12#\n" + + "\rmax_instances\x18\x0f \x01(\x05R\fmaxInstances\x12,\n" + + "\x0ftraefik_version\x18\x10 \x01(\tH\bR\x0etraefikVersion\x88\x01\x01\x12,\n" + + "\x0ftraefik_healthy\x18\x11 \x01(\bH\tR\x0etraefikHealthy\x88\x01\x01\x12,\n" + + "\x0fopenbao_version\x18\x12 \x01(\tH\n" + + "R\x0eopenbaoVersion\x88\x01\x01\x12*\n" + + "\x0eopenbao_sealed\x18\x13 \x01(\bH\vR\ropenbaoSealed\x88\x01\x01\x12.\n" + + "\x10consul_connected\x18\x14 \x01(\bH\fR\x0fconsulConnected\x88\x01\x01\x12/\n" + + "\x11tenant_db_version\x18\x15 \x01(\tH\rR\x0ftenantDbVersion\x88\x01\x01\x12/\n" + + "\x11tenant_db_healthy\x18\x16 \x01(\bH\x0eR\x0ftenantDbHealthy\x88\x01\x01\x12-\n" + + "\x10firewall_in_sync\x18\x17 \x01(\bH\x0fR\x0efirewallInSync\x88\x01\x01\x12'\n" + + "\x0fpending_updates\x18\x18 \x01(\x05R\x0ependingUpdates\x12\x1b\n" + + "\x06uptime\x18\x19 \x01(\tH\x10R\x06uptime\x88\x01\x01\x12K\n" + + "\x11last_health_check\x18\x1a \x01(\v2\x1a.google.protobuf.TimestampH\x11R\x0flastHealthCheck\x88\x01\x01\x129\n" + + "\x06errors\x18\x1b \x03(\v2!.orchestrator.v1.HealthCheckErrorR\x06errorsB\v\n" + + "\t_ssh_hostB\x0f\n" + + "\r_country_codeB\a\n" + + "\x05_cityB\x0e\n" + + "\f_cpu_percentB\x14\n" + + "\x12_memory_used_bytesB\x15\n" + + "\x13_memory_total_bytesB\x12\n" + + "\x10_disk_used_bytesB\x13\n" + + "\x11_disk_total_bytesB\x12\n" + + "\x10_traefik_versionB\x12\n" + + "\x10_traefik_healthyB\x12\n" + + "\x10_openbao_versionB\x11\n" + + "\x0f_openbao_sealedB\x13\n" + + "\x11_consul_connectedB\x14\n" + + "\x12_tenant_db_versionB\x14\n" + + "\x12_tenant_db_healthyB\x13\n" + + "\x11_firewall_in_syncB\t\n" + + "\a_uptimeB\x14\n" + + "\x12_last_health_check\">\n" + + "\x10HealthCheckError\x12\x14\n" + + "\x05check\x18\x01 \x01(\tR\x05check\x12\x14\n" + + "\x05error\x18\x02 \x01(\tR\x05error\"\xed\x02\n" + + "\x15CrossNodeConnectivity\x12$\n" + + "\x0esource_node_id\x18\x01 \x01(\tR\fsourceNodeId\x12$\n" + + "\x0etarget_node_id\x18\x02 \x01(\tR\ftargetNodeId\x12(\n" + + "\x10source_node_name\x18\x03 \x01(\tR\x0esourceNodeName\x12(\n" + + "\x10target_node_name\x18\x04 \x01(\tR\x0etargetNodeName\x12 \n" + + "\tport_8888\x18\x05 \x01(\bH\x00R\bport8888\x88\x01\x01\x12\x1b\n" + + "\x06consul\x18\x06 \x01(\bH\x01R\x06consul\x88\x01\x01\x12\x1d\n" + + "\aopenbao\x18\a \x01(\bH\x02R\aopenbao\x88\x01\x01\x12\"\n" + + "\n" + + "latency_ms\x18\b \x01(\x03H\x03R\tlatencyMs\x88\x01\x01B\f\n" + + "\n" + + "_port_8888B\t\n" + + "\a_consulB\n" + + "\n" + + "\b_openbaoB\r\n" + + "\v_latency_ms\"\xf4\x01\n" + + "\x12ActiveAlertSummary\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" + + "\trule_name\x18\x02 \x01(\tR\bruleName\x12\x1a\n" + + "\bseverity\x18\x03 \x01(\tR\bseverity\x12\x1b\n" + + "\tnode_name\x18\x04 \x01(\tR\bnodeName\x12\x17\n" + + "\anode_id\x18\x05 \x01(\tR\x06nodeId\x12 \n" + + "\vdescription\x18\x06 \x01(\tR\vdescription\x12=\n" + + "\ftriggered_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\vtriggeredAt\"\xda\x02\n" + + "\x12InfraAuditLogEntry\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1c\n" + + "\auser_id\x18\x02 \x01(\tH\x00R\x06userId\x88\x01\x01\x12\x1d\n" + + "\n" + + "user_email\x18\x03 \x01(\tR\tuserEmail\x12\x1c\n" + + "\anode_id\x18\x04 \x01(\tH\x01R\x06nodeId\x88\x01\x01\x12 \n" + + "\tnode_name\x18\x05 \x01(\tH\x02R\bnodeName\x88\x01\x01\x12\x16\n" + + "\x06action\x18\x06 \x01(\tR\x06action\x12\x1b\n" + + "\x06target\x18\a \x01(\tH\x03R\x06target\x88\x01\x01\x12\x16\n" + + "\x06result\x18\b \x01(\tR\x06result\x129\n" + + "\n" + + "created_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\n" + + "\n" + + "\b_user_idB\n" + + "\n" + + "\b_node_idB\f\n" + + "\n" + + "_node_nameB\t\n" + + "\a_target\"\"\n" + + " GetInfrastructureOverviewRequest\"\xab\x05\n" + + "!GetInfrastructureOverviewResponse\x128\n" + + "\x05nodes\x18\x01 \x03(\v2\".orchestrator.v1.NodeHealthSummaryR\x05nodes\x12J\n" + + "\fconnectivity\x18\x02 \x03(\v2&.orchestrator.v1.CrossNodeConnectivityR\fconnectivity\x12H\n" + + "\ractive_alerts\x18\x03 \x03(\v2#.orchestrator.v1.ActiveAlertSummaryR\factiveAlerts\x12F\n" + + "\frecent_audit\x18\x04 \x03(\v2#.orchestrator.v1.InfraAuditLogEntryR\vrecentAudit\x12\x1f\n" + + "\vtotal_nodes\x18\x05 \x01(\x05R\n" + + "totalNodes\x12#\n" + + "\rhealthy_nodes\x18\x06 \x01(\x05R\fhealthyNodes\x12)\n" + + "\x10total_containers\x18\a \x01(\x05R\x0ftotalContainers\x12.\n" + + "\x13total_active_alerts\x18\b \x01(\x05R\x11totalActiveAlerts\x12&\n" + + "\x0ftls_certs_total\x18\t \x01(\x05R\rtlsCertsTotal\x12,\n" + + "\x12tls_certs_expiring\x18\n" + + " \x01(\x05R\x10tlsCertsExpiring\x122\n" + + "\x15total_pending_updates\x18\v \x01(\x05R\x13totalPendingUpdates\x12.\n" + + "\x10consul_connected\x18\f \x01(\bH\x00R\x0fconsulConnected\x88\x01\x01B\x13\n" + + "\x11_consul_connected\"/\n" + + "\x14GetNodeHealthRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"O\n" + + "\x15GetNodeHealthResponse\x126\n" + + "\x04node\x18\x01 \x01(\v2\".orchestrator.v1.NodeHealthSummaryR\x04node\"A\n" + + "\x15RunHealthCheckRequest\x12\x1c\n" + + "\anode_id\x18\x01 \x01(\tH\x00R\x06nodeId\x88\x01\x01B\n" + + "\n" + + "\b_node_id\"V\n" + + "\x16RunHealthCheckResponse\x12<\n" + + "\aresults\x18\x01 \x03(\v2\".orchestrator.v1.NodeHealthSummaryR\aresults\"\xf4\x01\n" + + "\x1cGetInfraHealthHistoryRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12>\n" + + "\n" + + "start_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\tstartTime\x88\x01\x01\x12:\n" + + "\bend_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampH\x01R\aendTime\x88\x01\x01\x12\x19\n" + + "\x05limit\x18\x04 \x01(\x05H\x02R\x05limit\x88\x01\x01B\r\n" + + "\v_start_timeB\v\n" + + "\t_end_timeB\b\n" + + "\x06_limit\"\xc7\x04\n" + + "\x11HealthCheckResult\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\anode_id\x18\x02 \x01(\tR\x06nodeId\x129\n" + + "\n" + + "checked_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tcheckedAt\x12$\n" + + "\vcpu_percent\x18\x04 \x01(\x02H\x00R\n" + + "cpuPercent\x88\x01\x01\x12/\n" + + "\x11memory_used_bytes\x18\x05 \x01(\x03H\x01R\x0fmemoryUsedBytes\x88\x01\x01\x121\n" + + "\x12memory_total_bytes\x18\x06 \x01(\x03H\x02R\x10memoryTotalBytes\x88\x01\x01\x12+\n" + + "\x0fdisk_used_bytes\x18\a \x01(\x03H\x03R\rdiskUsedBytes\x88\x01\x01\x12-\n" + + "\x10disk_total_bytes\x18\b \x01(\x03H\x04R\x0ediskTotalBytes\x88\x01\x01\x12.\n" + + "\x10consul_connected\x18\t \x01(\bH\x05R\x0fconsulConnected\x88\x01\x01\x12*\n" + + "\x0eopenbao_sealed\x18\n" + + " \x01(\bH\x06R\ropenbaoSealed\x88\x01\x01B\x0e\n" + + "\f_cpu_percentB\x14\n" + + "\x12_memory_used_bytesB\x15\n" + + "\x13_memory_total_bytesB\x12\n" + + "\x10_disk_used_bytesB\x13\n" + + "\x11_disk_total_bytesB\x13\n" + + "\x11_consul_connectedB\x11\n" + + "\x0f_openbao_sealed\"]\n" + + "\x1dGetInfraHealthHistoryResponse\x12<\n" + + "\aresults\x18\x01 \x03(\v2\".orchestrator.v1.HealthCheckResultR\aresults\"\xb4\x02\n" + + "\rContainerInfo\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" + + "\x05image\x18\x02 \x01(\tR\x05image\x12\x16\n" + + "\x06status\x18\x03 \x01(\tR\x06status\x12\x1b\n" + + "\x06uptime\x18\x04 \x01(\tH\x00R\x06uptime\x88\x01\x01\x12$\n" + + "\vcpu_percent\x18\x05 \x01(\x02H\x01R\n" + + "cpuPercent\x88\x01\x01\x12&\n" + + "\fmemory_bytes\x18\x06 \x01(\x03H\x02R\vmemoryBytes\x88\x01\x01\x12\x1a\n" + + "\bnetworks\x18\a \x03(\tR\bnetworks\x12\x14\n" + + "\x05ports\x18\b \x03(\tR\x05ports\x12\x18\n" + + "\avolumes\x18\t \x03(\tR\avolumesB\t\n" + + "\a_uptimeB\x0e\n" + + "\f_cpu_percentB\x0f\n" + + "\r_memory_bytes\"\xdc\x03\n" + + "\rContainerSpec\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\anode_id\x18\x02 \x01(\tR\x06nodeId\x12%\n" + + "\x0econtainer_name\x18\x03 \x01(\tR\rcontainerName\x12\x14\n" + + "\x05image\x18\x04 \x01(\tR\x05image\x12\x1a\n" + + "\bnetworks\x18\x05 \x03(\tR\bnetworks\x12\x14\n" + + "\x05ports\x18\x06 \x03(\tR\x05ports\x12\x18\n" + + "\avolumes\x18\a \x03(\tR\avolumes\x12F\n" + + "\benv_vars\x18\b \x03(\v2+.orchestrator.v1.ContainerSpec.EnvVarsEntryR\aenvVars\x12\x1f\n" + + "\vextra_flags\x18\t \x03(\tR\n" + + "extraFlags\x129\n" + + "\n" + + "created_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x1a:\n" + + "\fEnvVarsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"4\n" + + "\x19ListNodeContainersRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"\\\n" + + "\x1aListNodeContainersResponse\x12>\n" + + "\n" + + "containers\x18\x01 \x03(\v2\x1e.orchestrator.v1.ContainerInfoR\n" + + "containers\"Y\n" + + "\x17GetContainerSpecRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12%\n" + + "\x0econtainer_name\x18\x02 \x01(\tR\rcontainerName\"N\n" + + "\x18GetContainerSpecResponse\x122\n" + + "\x04spec\x18\x01 \x01(\v2\x1e.orchestrator.v1.ContainerSpecR\x04spec\"Y\n" + + "\x17RestartContainerRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12%\n" + + "\x0econtainer_name\x18\x02 \x01(\tR\rcontainerName\"~\n" + + "\x18RecreateContainerRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12%\n" + + "\x0econtainer_name\x18\x02 \x01(\tR\rcontainerName\x12\"\n" + + "\fconfirmation\x18\x03 \x01(\tR\fconfirmation\"\x8c\x01\n" + + "\x17GetContainerLogsRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12%\n" + + "\x0econtainer_name\x18\x02 \x01(\tR\rcontainerName\x12\"\n" + + "\n" + + "tail_lines\x18\x03 \x01(\x05H\x00R\ttailLines\x88\x01\x01B\r\n" + + "\v_tail_lines\"0\n" + + "\x18GetContainerLogsResponse\x12\x14\n" + + "\x05lines\x18\x01 \x03(\tR\x05lines\"Y\n" + + "\x17InspectContainerRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12%\n" + + "\x0econtainer_name\x18\x02 \x01(\tR\rcontainerName\"\x88\x02\n" + + "\x18InspectContainerResponse\x12<\n" + + "\tcontainer\x18\x01 \x01(\v2\x1e.orchestrator.v1.ContainerInfoR\tcontainer\x12Q\n" + + "\benv_vars\x18\x02 \x03(\v26.orchestrator.v1.InspectContainerResponse.EnvVarsEntryR\aenvVars\x12\x1f\n" + + "\vraw_inspect\x18\x03 \x01(\tR\n" + + "rawInspect\x1a:\n" + + "\fEnvVarsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x83\x02\n" + + "\fFirewallRule\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" + + "\x06action\x18\x02 \x01(\tR\x06action\x12\x16\n" + + "\x06source\x18\x03 \x01(\tR\x06source\x12\x12\n" + + "\x04port\x18\x04 \x01(\tR\x04port\x12\x1a\n" + + "\bprotocol\x18\x05 \x01(\tR\bprotocol\x12\x1d\n" + + "\acomment\x18\x06 \x01(\tH\x00R\acomment\x88\x01\x01\x12\x1d\n" + + "\n" + + "sort_order\x18\a \x01(\x05R\tsortOrder\x129\n" + + "\n" + + "created_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\n" + + "\n" + + "\b_comment\"\xa4\x02\n" + + "\x14FirewallNodeOverride\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\anode_id\x18\x02 \x01(\tR\x06nodeId\x12\x16\n" + + "\x06action\x18\x03 \x01(\tR\x06action\x12\x16\n" + + "\x06source\x18\x04 \x01(\tR\x06source\x12\x12\n" + + "\x04port\x18\x05 \x01(\tR\x04port\x12\x1a\n" + + "\bprotocol\x18\x06 \x01(\tR\bprotocol\x12\x1d\n" + + "\acomment\x18\a \x01(\tH\x00R\acomment\x88\x01\x01\x12\x1d\n" + + "\n" + + "sort_order\x18\b \x01(\x05R\tsortOrder\x129\n" + + "\n" + + "created_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\n" + + "\n" + + "\b_comment\"\x1a\n" + + "\x18ListFirewallRulesRequest\"P\n" + + "\x19ListFirewallRulesResponse\x123\n" + + "\x05rules\x18\x01 \x03(\v2\x1d.orchestrator.v1.FirewallRuleR\x05rules\"\xd9\x01\n" + + "\x19CreateFirewallRuleRequest\x12\x16\n" + + "\x06action\x18\x01 \x01(\tR\x06action\x12\x16\n" + + "\x06source\x18\x02 \x01(\tR\x06source\x12\x12\n" + + "\x04port\x18\x03 \x01(\tR\x04port\x12\x1a\n" + + "\bprotocol\x18\x04 \x01(\tR\bprotocol\x12\x1d\n" + + "\acomment\x18\x05 \x01(\tH\x00R\acomment\x88\x01\x01\x12\"\n" + + "\n" + + "sort_order\x18\x06 \x01(\x05H\x01R\tsortOrder\x88\x01\x01B\n" + + "\n" + + "\b_commentB\r\n" + + "\v_sort_order\"O\n" + + "\x1aCreateFirewallRuleResponse\x121\n" + + "\x04rule\x18\x01 \x01(\v2\x1d.orchestrator.v1.FirewallRuleR\x04rule\"\xa9\x02\n" + + "\x19UpdateFirewallRuleRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" + + "\x06action\x18\x02 \x01(\tH\x00R\x06action\x88\x01\x01\x12\x1b\n" + + "\x06source\x18\x03 \x01(\tH\x01R\x06source\x88\x01\x01\x12\x17\n" + + "\x04port\x18\x04 \x01(\tH\x02R\x04port\x88\x01\x01\x12\x1f\n" + + "\bprotocol\x18\x05 \x01(\tH\x03R\bprotocol\x88\x01\x01\x12\x1d\n" + + "\acomment\x18\x06 \x01(\tH\x04R\acomment\x88\x01\x01\x12\"\n" + + "\n" + + "sort_order\x18\a \x01(\x05H\x05R\tsortOrder\x88\x01\x01B\t\n" + + "\a_actionB\t\n" + + "\a_sourceB\a\n" + + "\x05_portB\v\n" + + "\t_protocolB\n" + + "\n" + + "\b_commentB\r\n" + + "\v_sort_order\"O\n" + + "\x1aUpdateFirewallRuleResponse\x121\n" + + "\x04rule\x18\x01 \x01(\v2\x1d.orchestrator.v1.FirewallRuleR\x04rule\"+\n" + + "\x19DeleteFirewallRuleRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"\x1c\n" + + "\x1aDeleteFirewallRuleResponse\";\n" + + " ListNodeFirewallOverridesRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"h\n" + + "!ListNodeFirewallOverridesResponse\x12C\n" + + "\toverrides\x18\x01 \x03(\v2%.orchestrator.v1.FirewallNodeOverrideR\toverrides\"\xfa\x01\n" + + "!CreateNodeFirewallOverrideRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12\x16\n" + + "\x06action\x18\x02 \x01(\tR\x06action\x12\x16\n" + + "\x06source\x18\x03 \x01(\tR\x06source\x12\x12\n" + + "\x04port\x18\x04 \x01(\tR\x04port\x12\x1a\n" + + "\bprotocol\x18\x05 \x01(\tR\bprotocol\x12\x1d\n" + + "\acomment\x18\x06 \x01(\tH\x00R\acomment\x88\x01\x01\x12\"\n" + + "\n" + + "sort_order\x18\a \x01(\x05H\x01R\tsortOrder\x88\x01\x01B\n" + + "\n" + + "\b_commentB\r\n" + + "\v_sort_order\"g\n" + + "\"CreateNodeFirewallOverrideResponse\x12A\n" + + "\boverride\x18\x01 \x01(\v2%.orchestrator.v1.FirewallNodeOverrideR\boverride\"3\n" + + "!DeleteNodeFirewallOverrideRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"$\n" + + "\"DeleteNodeFirewallOverrideResponse\"\xdb\x02\n" + + "\x16NodeFirewallSyncStatus\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12\x1b\n" + + "\tnode_name\x18\x02 \x01(\tR\bnodeName\x12\x17\n" + + "\ain_sync\x18\x03 \x01(\bR\x06inSync\x12.\n" + + "\x13expected_rule_count\x18\x04 \x01(\x05R\x11expectedRuleCount\x12*\n" + + "\x11actual_rule_count\x18\x05 \x01(\x05R\x0factualRuleCount\x12#\n" + + "\rmissing_rules\x18\x06 \x03(\tR\fmissingRules\x12\x1f\n" + + "\vextra_rules\x18\a \x03(\tR\n" + + "extraRules\x12@\n" + + "\vlast_synced\x18\b \x01(\v2\x1a.google.protobuf.TimestampH\x00R\n" + + "lastSynced\x88\x01\x01B\x0e\n" + + "\f_last_synced\"H\n" + + "\x1cGetFirewallSyncStatusRequest\x12\x1c\n" + + "\anode_id\x18\x01 \x01(\tH\x00R\x06nodeId\x88\x01\x01B\n" + + "\n" + + "\b_node_id\"^\n" + + "\x1dGetFirewallSyncStatusResponse\x12=\n" + + "\x05nodes\x18\x01 \x03(\v2'.orchestrator.v1.NodeFirewallSyncStatusR\x05nodes\"2\n" + + "\x17SyncNodeFirewallRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"\x19\n" + + "\x17SyncAllFirewallsRequest\";\n" + + " TestCrossNodeConnectivityRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"\xf8\x02\n" + + "\x12ConnectivityResult\x12$\n" + + "\x0etarget_node_id\x18\x01 \x01(\tR\ftargetNodeId\x12(\n" + + "\x10target_node_name\x18\x02 \x01(\tR\x0etargetNodeName\x12\x1b\n" + + "\ttarget_ip\x18\x03 \x01(\tR\btargetIp\x12 \n" + + "\tport_8888\x18\x04 \x01(\bH\x00R\bport8888\x88\x01\x01\x12$\n" + + "\vconsul_8500\x18\x05 \x01(\bH\x01R\n" + + "consul8500\x88\x01\x01\x12&\n" + + "\fopenbao_8201\x18\x06 \x01(\bH\x02R\vopenbao8201\x88\x01\x01\x12\"\n" + + "\n" + + "latency_ms\x18\a \x01(\x03H\x03R\tlatencyMs\x88\x01\x01\x12\x19\n" + + "\x05error\x18\b \x01(\tH\x04R\x05error\x88\x01\x01B\f\n" + + "\n" + + "_port_8888B\x0e\n" + + "\f_consul_8500B\x0f\n" + + "\r_openbao_8201B\r\n" + + "\v_latency_msB\b\n" + + "\x06_error\"b\n" + + "!TestCrossNodeConnectivityResponse\x12=\n" + + "\aresults\x18\x01 \x03(\v2#.orchestrator.v1.ConnectivityResultR\aresults\"\xed\x01\n" + + "\x0eTLSCertificate\x12\x16\n" + + "\x06domain\x18\x01 \x01(\tR\x06domain\x12\x16\n" + + "\x06issuer\x18\x02 \x01(\tR\x06issuer\x129\n" + + "\n" + + "expires_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x12%\n" + + "\x0edays_remaining\x18\x04 \x01(\x05R\rdaysRemaining\x12\x16\n" + + "\x06status\x18\x05 \x01(\tR\x06status\x12\"\n" + + "\n" + + "acme_error\x18\x06 \x01(\tH\x00R\tacmeError\x88\x01\x01B\r\n" + + "\v_acme_error\"5\n" + + "\x1aListTLSCertificatesRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"b\n" + + "\x1bListTLSCertificatesResponse\x12C\n" + + "\fcertificates\x18\x01 \x03(\v2\x1f.orchestrator.v1.TLSCertificateR\fcertificates\"J\n" + + "\x17RenewCertificateRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12\x16\n" + + "\x06domain\x18\x02 \x01(\tR\x06domain\"\xc3\x01\n" + + "\fTraefikRoute\x12\x1f\n" + + "\vrouter_name\x18\x01 \x01(\tR\n" + + "routerName\x12\x12\n" + + "\x04rule\x18\x02 \x01(\tR\x04rule\x12\x18\n" + + "\aservice\x18\x03 \x01(\tR\aservice\x12\x16\n" + + "\x06source\x18\x04 \x01(\tR\x06source\x12$\n" + + "\vtarget_node\x18\x05 \x01(\tH\x00R\n" + + "targetNode\x88\x01\x01\x12\x16\n" + + "\x06status\x18\x06 \x01(\tR\x06statusB\x0e\n" + + "\f_target_node\"3\n" + + "\x18ListTraefikRoutesRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"R\n" + + "\x19ListTraefikRoutesResponse\x125\n" + + "\x06routes\x18\x01 \x03(\v2\x1d.orchestrator.v1.TraefikRouteR\x06routes\"D\n" + + "\x11TraceRouteRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12\x16\n" + + "\x06domain\x18\x02 \x01(\tR\x06domain\"\xba\x02\n" + + "\rTraceRouteHop\x12\x12\n" + + "\x04step\x18\x01 \x01(\tR\x04step\x12 \n" + + "\vdescription\x18\x02 \x01(\tR\vdescription\x12\x18\n" + + "\asuccess\x18\x03 \x01(\bR\asuccess\x12\"\n" + + "\n" + + "latency_ms\x18\x04 \x01(\x03H\x00R\tlatencyMs\x88\x01\x01\x12\x19\n" + + "\x05error\x18\x05 \x01(\tH\x01R\x05error\x88\x01\x01\x12E\n" + + "\adetails\x18\x06 \x03(\v2+.orchestrator.v1.TraceRouteHop.DetailsEntryR\adetails\x1a:\n" + + "\fDetailsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\r\n" + + "\v_latency_msB\b\n" + + "\x06_error\"q\n" + + "\x12TraceRouteResponse\x122\n" + + "\x04hops\x18\x01 \x03(\v2\x1e.orchestrator.v1.TraceRouteHopR\x04hops\x12'\n" + + "\x0foverall_success\x18\x02 \x01(\bR\x0eoverallSuccess\"\xb3\x01\n" + + "\x0fContainerUpdate\x12%\n" + + "\x0econtainer_name\x18\x01 \x01(\tR\rcontainerName\x12'\n" + + "\x0fcurrent_version\x18\x02 \x01(\tR\x0ecurrentVersion\x12%\n" + + "\x0elatest_version\x18\x03 \x01(\tR\rlatestVersion\x12)\n" + + "\x10update_available\x18\x04 \x01(\bR\x0fupdateAvailable\"\xa9\x01\n" + + "\rPackageUpdate\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\x12'\n" + + "\x0fcurrent_version\x18\x02 \x01(\tR\x0ecurrentVersion\x12+\n" + + "\x11available_version\x18\x03 \x01(\tR\x10availableVersion\x12\x1f\n" + + "\vupdate_type\x18\x04 \x01(\tR\n" + + "updateType\"1\n" + + "\x16GetUpdateStatusRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"\xb3\x03\n" + + "\x17GetUpdateStatusResponse\x12@\n" + + "\n" + + "containers\x18\x01 \x03(\v2 .orchestrator.v1.ContainerUpdateR\n" + + "containers\x12:\n" + + "\bpackages\x18\x02 \x03(\v2\x1e.orchestrator.v1.PackageUpdateR\bpackages\x122\n" + + "\x15security_update_count\x18\x03 \x01(\x05R\x13securityUpdateCount\x122\n" + + "\x15standard_update_count\x18\x04 \x01(\x05R\x13standardUpdateCount\x124\n" + + "\x16container_update_count\x18\x05 \x01(\x05R\x14containerUpdateCount\x12B\n" + + "\flast_checked\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\vlastChecked\x88\x01\x01\x12'\n" + + "\x0freboot_required\x18\a \x01(\bR\x0erebootRequiredB\x0f\n" + + "\r_last_checked\"1\n" + + "\x16CheckForUpdatesRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"6\n" + + "\x1bApplySecurityUpdatesRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"1\n" + + "\x16ApplyAllUpdatesRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"Y\n" + + "\x17UpgradeContainerRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12%\n" + + "\x0econtainer_name\x18\x02 \x01(\tR\rcontainerName\"\xae\x06\n" + + "\x11MaintenanceWindow\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\anode_id\x18\x02 \x01(\tR\x06nodeId\x12)\n" + + "\x10maintenance_type\x18\x03 \x01(\tR\x0fmaintenanceType\x12\x16\n" + + "\x06status\x18\x04 \x01(\tR\x06status\x12\x16\n" + + "\x06reason\x18\x05 \x01(\tR\x06reason\x12H\n" + + "\x0fscheduled_start\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\x0escheduledStart\x88\x01\x01\x12B\n" + + "\factual_start\x18\a \x01(\v2\x1a.google.protobuf.TimestampH\x01R\vactualStart\x88\x01\x01\x12>\n" + + "\n" + + "actual_end\x18\b \x01(\v2\x1a.google.protobuf.TimestampH\x02R\tactualEnd\x88\x01\x01\x12A\n" + + "\x1aestimated_duration_minutes\x18\t \x01(\x05H\x03R\x18estimatedDurationMinutes\x88\x01\x01\x125\n" + + "\x14advance_notice_hours\x18\n" + + " \x01(\x05H\x04R\x12advanceNoticeHours\x88\x01\x01\x12#\n" + + "\rnotify_owners\x18\v \x01(\bR\fnotifyOwners\x12&\n" + + "\finitiated_by\x18\f \x01(\tH\x05R\vinitiatedBy\x88\x01\x01\x121\n" + + "\x12initiated_by_email\x18\r \x01(\tH\x06R\x10initiatedByEmail\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\x12\n" + + "\x10_scheduled_startB\x0f\n" + + "\r_actual_startB\r\n" + + "\v_actual_endB\x1d\n" + + "\x1b_estimated_duration_minutesB\x17\n" + + "\x15_advance_notice_hoursB\x0f\n" + + "\r_initiated_byB\x15\n" + + "\x13_initiated_by_email\"\xc5\x02\n" + + "\x1aScheduleMaintenanceRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12C\n" + + "\x0fscheduled_start\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x0escheduledStart\x12<\n" + + "\x1aestimated_duration_minutes\x18\x03 \x01(\x05R\x18estimatedDurationMinutes\x12\x16\n" + + "\x06reason\x18\x04 \x01(\tR\x06reason\x125\n" + + "\x14advance_notice_hours\x18\x05 \x01(\x05H\x00R\x12advanceNoticeHours\x88\x01\x01\x12#\n" + + "\rnotify_owners\x18\x06 \x01(\bR\fnotifyOwnersB\x17\n" + + "\x15_advance_notice_hours\"Y\n" + + "\x1bScheduleMaintenanceResponse\x12:\n" + + "\x06window\x18\x01 \x01(\v2\".orchestrator.v1.MaintenanceWindowR\x06window\"\xd4\x01\n" + + "\x1aEnterMaintenanceNowRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\x12A\n" + + "\x1aestimated_duration_minutes\x18\x03 \x01(\x05H\x00R\x18estimatedDurationMinutes\x88\x01\x01\x12#\n" + + "\rnotify_owners\x18\x04 \x01(\bR\fnotifyOwnersB\x1d\n" + + "\x1b_estimated_duration_minutes\"1\n" + + "\x16ExitMaintenanceRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"3\n" + + "!CancelScheduledMaintenanceRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"`\n" + + "\"CancelScheduledMaintenanceResponse\x12:\n" + + "\x06window\x18\x01 \x01(\v2\".orchestrator.v1.MaintenanceWindowR\x06window\"\x85\x01\n" + + "\x1dListMaintenanceWindowsRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12\x1b\n" + + "\x06status\x18\x02 \x01(\tH\x00R\x06status\x88\x01\x01\x12\x19\n" + + "\x05limit\x18\x03 \x01(\x05H\x01R\x05limit\x88\x01\x01B\t\n" + + "\a_statusB\b\n" + + "\x06_limit\"^\n" + + "\x1eListMaintenanceWindowsResponse\x12<\n" + + "\awindows\x18\x01 \x03(\v2\".orchestrator.v1.MaintenanceWindowR\awindows\"\xc1\x02\n" + + "\rSSHLoginEntry\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\anode_id\x18\x02 \x01(\tR\x06nodeId\x127\n" + + "\tlogged_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\bloggedAt\x12\x1a\n" + + "\busername\x18\x04 \x01(\tR\busername\x12\x1b\n" + + "\tsource_ip\x18\x05 \x01(\tR\bsourceIp\x12\x1f\n" + + "\vauth_method\x18\x06 \x01(\tR\n" + + "authMethod\x12\x18\n" + + "\asuccess\x18\a \x01(\bR\asuccess\x12=\n" + + "\x18session_duration_seconds\x18\b \x01(\x05H\x00R\x16sessionDurationSeconds\x88\x01\x01B\x1b\n" + + "\x19_session_duration_seconds\"\xcf\x02\n" + + "\x17GetSSHLoginAuditRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12>\n" + + "\n" + + "start_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\tstartTime\x88\x01\x01\x12:\n" + + "\bend_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampH\x01R\aendTime\x88\x01\x01\x12\x17\n" + + "\x04page\x18\x04 \x01(\x05H\x02R\x04page\x88\x01\x01\x12 \n" + + "\tpage_size\x18\x05 \x01(\x05H\x03R\bpageSize\x88\x01\x01\x12\"\n" + + "\n" + + "export_csv\x18\x06 \x01(\bH\x04R\texportCsv\x88\x01\x01B\r\n" + + "\v_start_timeB\v\n" + + "\t_end_timeB\a\n" + + "\x05_pageB\f\n" + + "\n" + + "_page_sizeB\r\n" + + "\v_export_csv\"\xa2\x01\n" + + "\x18GetSSHLoginAuditResponse\x128\n" + + "\aentries\x18\x01 \x03(\v2\x1e.orchestrator.v1.SSHLoginEntryR\aentries\x12\x1f\n" + + "\vtotal_count\x18\x02 \x01(\x05R\n" + + "totalCount\x12\x1e\n" + + "\bcsv_data\x18\x03 \x01(\tH\x00R\acsvData\x88\x01\x01B\v\n" + + "\t_csv_data\"\xb2\x01\n" + + "\x13SecurityCheckResult\x12\x1d\n" + + "\n" + + "check_name\x18\x01 \x01(\tR\tcheckName\x12 \n" + + "\vdescription\x18\x02 \x01(\tR\vdescription\x12\x16\n" + + "\x06passed\x18\x03 \x01(\bR\x06passed\x12\x1b\n" + + "\x06detail\x18\x04 \x01(\tH\x00R\x06detail\x88\x01\x01\x12\x1a\n" + + "\bseverity\x18\x05 \x01(\tR\bseverityB\t\n" + + "\a_detail\"2\n" + + "\x17RunSecurityAuditRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"\x88\x01\n" + + "\x18RunSecurityAuditResponse\x12<\n" + + "\x06checks\x18\x01 \x03(\v2$.orchestrator.v1.SecurityCheckResultR\x06checks\x12\x16\n" + + "\x06passed\x18\x02 \x01(\x05R\x06passed\x12\x16\n" + + "\x06failed\x18\x03 \x01(\x05R\x06failed\"\xd3\x04\n" + + "\rAlertInstance\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\arule_id\x18\x02 \x01(\tR\x06ruleId\x12\x1b\n" + + "\trule_name\x18\x03 \x01(\tR\bruleName\x12\x17\n" + + "\anode_id\x18\x04 \x01(\tR\x06nodeId\x12\x1b\n" + + "\tnode_name\x18\x05 \x01(\tR\bnodeName\x12\x16\n" + + "\x06status\x18\x06 \x01(\tR\x06status\x12\x1a\n" + + "\bseverity\x18\a \x01(\tR\bseverity\x12 \n" + + "\vdescription\x18\b \x01(\tR\vdescription\x12=\n" + + "\ftriggered_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\vtriggeredAt\x12H\n" + + "\x0facknowledged_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampH\x00R\x0eacknowledgedAt\x88\x01\x01\x12@\n" + + "\vresolved_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampH\x01R\n" + + "resolvedAt\x88\x01\x01\x12E\n" + + "\acontext\x18\f \x03(\v2+.orchestrator.v1.AlertInstance.ContextEntryR\acontext\x1a:\n" + + "\fContextEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x12\n" + + "\x10_acknowledged_atB\x0e\n" + + "\f_resolved_at\"\xb5\x03\n" + + "\tAlertRule\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12%\n" + + "\x0econdition_type\x18\x03 \x01(\tR\rconditionType\x12,\n" + + "\x0fthreshold_value\x18\x04 \x01(\x02H\x00R\x0ethresholdValue\x88\x01\x01\x12A\n" + + "\x1athreshold_duration_seconds\x18\x05 \x01(\x05H\x01R\x18thresholdDurationSeconds\x88\x01\x01\x12\x1a\n" + + "\bseverity\x18\x06 \x01(\tR\bseverity\x12!\n" + + "\fnotify_email\x18\a \x01(\bR\vnotifyEmail\x12%\n" + + "\x0enotify_webhook\x18\b \x01(\bR\rnotifyWebhook\x12\x18\n" + + "\aenabled\x18\t \x01(\bR\aenabled\x129\n" + + "\n" + + "created_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\x12\n" + + "\x10_threshold_valueB\x1d\n" + + "\x1b_threshold_duration_seconds\"\xa2\x02\n" + + "\x13NotificationChannel\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12!\n" + + "\fchannel_type\x18\x02 \x01(\tR\vchannelType\x12H\n" + + "\x06config\x18\x03 \x03(\v20.orchestrator.v1.NotificationChannel.ConfigEntryR\x06config\x12\x18\n" + + "\aenabled\x18\x04 \x01(\bR\aenabled\x129\n" + + "\n" + + "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x1a9\n" + + "\vConfigEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"C\n" + + "\x17ListActiveAlertsRequest\x12\x1c\n" + + "\anode_id\x18\x01 \x01(\tH\x00R\x06nodeId\x88\x01\x01B\n" + + "\n" + + "\b_node_id\"R\n" + + "\x18ListActiveAlertsResponse\x126\n" + + "\x06alerts\x18\x01 \x03(\v2\x1e.orchestrator.v1.AlertInstanceR\x06alerts\")\n" + + "\x17AcknowledgeAlertRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"P\n" + + "\x18AcknowledgeAlertResponse\x124\n" + + "\x05alert\x18\x01 \x01(\v2\x1e.orchestrator.v1.AlertInstanceR\x05alert\"\x17\n" + + "\x15ListAlertRulesRequest\"J\n" + + "\x16ListAlertRulesResponse\x120\n" + + "\x05rules\x18\x01 \x03(\v2\x1a.orchestrator.v1.AlertRuleR\x05rules\"\xbf\x03\n" + + "\x16UpdateAlertRuleRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12,\n" + + "\x0fthreshold_value\x18\x03 \x01(\x02H\x01R\x0ethresholdValue\x88\x01\x01\x12A\n" + + "\x1athreshold_duration_seconds\x18\x04 \x01(\x05H\x02R\x18thresholdDurationSeconds\x88\x01\x01\x12\x1f\n" + + "\bseverity\x18\x05 \x01(\tH\x03R\bseverity\x88\x01\x01\x12&\n" + + "\fnotify_email\x18\x06 \x01(\bH\x04R\vnotifyEmail\x88\x01\x01\x12*\n" + + "\x0enotify_webhook\x18\a \x01(\bH\x05R\rnotifyWebhook\x88\x01\x01\x12\x1d\n" + + "\aenabled\x18\b \x01(\bH\x06R\aenabled\x88\x01\x01B\a\n" + + "\x05_nameB\x12\n" + + "\x10_threshold_valueB\x1d\n" + + "\x1b_threshold_duration_secondsB\v\n" + + "\t_severityB\x0f\n" + + "\r_notify_emailB\x11\n" + + "\x0f_notify_webhookB\n" + + "\n" + + "\b_enabled\"I\n" + + "\x17UpdateAlertRuleResponse\x12.\n" + + "\x04rule\x18\x01 \x01(\v2\x1a.orchestrator.v1.AlertRuleR\x04rule\"\xad\x02\n" + + "\x17ListAlertHistoryRequest\x12\x1c\n" + + "\anode_id\x18\x01 \x01(\tH\x00R\x06nodeId\x88\x01\x01\x12>\n" + + "\n" + + "start_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampH\x01R\tstartTime\x88\x01\x01\x12:\n" + + "\bend_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampH\x02R\aendTime\x88\x01\x01\x12\x17\n" + + "\x04page\x18\x04 \x01(\x05H\x03R\x04page\x88\x01\x01\x12 \n" + + "\tpage_size\x18\x05 \x01(\x05H\x04R\bpageSize\x88\x01\x01B\n" + + "\n" + + "\b_node_idB\r\n" + + "\v_start_timeB\v\n" + + "\t_end_timeB\a\n" + + "\x05_pageB\f\n" + + "\n" + + "_page_size\"s\n" + + "\x18ListAlertHistoryResponse\x126\n" + + "\x06alerts\x18\x01 \x03(\v2\x1e.orchestrator.v1.AlertInstanceR\x06alerts\x12\x1f\n" + + "\vtotal_count\x18\x02 \x01(\x05R\n" + + "totalCount\" \n" + + "\x1eGetNotificationChannelsRequest\"c\n" + + "\x1fGetNotificationChannelsResponse\x12@\n" + + "\bchannels\x18\x01 \x03(\v2$.orchestrator.v1.NotificationChannelR\bchannels\"\xa8\x02\n" + + " UpdateNotificationChannelRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12&\n" + + "\fchannel_type\x18\x02 \x01(\tH\x00R\vchannelType\x88\x01\x01\x12U\n" + + "\x06config\x18\x03 \x03(\v2=.orchestrator.v1.UpdateNotificationChannelRequest.ConfigEntryR\x06config\x12\x1d\n" + + "\aenabled\x18\x04 \x01(\bH\x01R\aenabled\x88\x01\x01\x1a9\n" + + "\vConfigEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x0f\n" + + "\r_channel_typeB\n" + + "\n" + + "\b_enabled\"c\n" + + "!UpdateNotificationChannelResponse\x12>\n" + + "\achannel\x18\x01 \x01(\v2$.orchestrator.v1.NotificationChannelR\achannel\"0\n" + + "\x1eTestNotificationChannelRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"`\n" + + "\x1fTestNotificationChannelResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x19\n" + + "\x05error\x18\x02 \x01(\tH\x00R\x05error\x88\x01\x01B\b\n" + + "\x06_error\"\xa8\x02\n" + + "\x0eConsulKeyGroup\x12\x16\n" + + "\x06prefix\x18\x01 \x01(\tR\x06prefix\x12#\n" + + "\rinstance_slug\x18\x02 \x01(\tR\finstanceSlug\x12$\n" + + "\vinstance_id\x18\x03 \x01(\tH\x00R\n" + + "instanceId\x88\x01\x01\x12 \n" + + "\tnode_name\x18\x04 \x01(\tH\x01R\bnodeName\x88\x01\x01\x12\x1b\n" + + "\tkey_count\x18\x05 \x01(\x05R\bkeyCount\x12D\n" + + "\rlast_modified\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampH\x02R\flastModified\x88\x01\x01B\x0e\n" + + "\f_instance_idB\f\n" + + "\n" + + "_node_nameB\x10\n" + + "\x0e_last_modified\"\x90\x01\n" + + "\x0eConsulKeyValue\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\x12D\n" + + "\rlast_modified\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\flastModified\x88\x01\x01B\x10\n" + + "\x0e_last_modified\"\x17\n" + + "\x15ListConsulKeysRequest\"Q\n" + + "\x16ListConsulKeysResponse\x127\n" + + "\x06groups\x18\x01 \x03(\v2\x1f.orchestrator.v1.ConsulKeyGroupR\x06groups\"2\n" + + "\x18GetConsulKeyGroupRequest\x12\x16\n" + + "\x06prefix\x18\x01 \x01(\tR\x06prefix\"\xb9\x02\n" + + "\x19GetConsulKeyGroupResponse\x125\n" + + "\x05group\x18\x01 \x01(\v2\x1f.orchestrator.v1.ConsulKeyGroupR\x05group\x12>\n" + + "\n" + + "key_values\x18\x02 \x03(\v2\x1f.orchestrator.v1.ConsulKeyValueR\tkeyValues\x12*\n" + + "\x0elinked_service\x18\x03 \x01(\tH\x00R\rlinkedService\x88\x01\x01\x12(\n" + + "\rinstance_node\x18\x04 \x01(\tH\x01R\finstanceNode\x88\x01\x01\x12*\n" + + "\x11routed_from_nodes\x18\x05 \x03(\tR\x0froutedFromNodesB\x11\n" + + "\x0f_linked_serviceB\x10\n" + + "\x0e_instance_node\"U\n" + + "\x1dRegenerateConsulRoutesRequest\x12$\n" + + "\vinstance_id\x18\x01 \x01(\tH\x00R\n" + + "instanceId\x88\x01\x01B\x0e\n" + + "\f_instance_id\"-\n" + + "\x17DeleteConsulKeysRequest\x12\x12\n" + + "\x04keys\x18\x01 \x03(\tR\x04keys\"?\n" + + "\x18DeleteConsulKeysResponse\x12#\n" + + "\rdeleted_count\x18\x01 \x01(\x05R\fdeletedCount\"\x84\x03\n" + + "\x13ListAuditLogRequest\x12\x1c\n" + + "\anode_id\x18\x01 \x01(\tH\x00R\x06nodeId\x88\x01\x01\x12\x1b\n" + + "\x06action\x18\x02 \x01(\tH\x01R\x06action\x88\x01\x01\x12\"\n" + + "\n" + + "user_email\x18\x03 \x01(\tH\x02R\tuserEmail\x88\x01\x01\x12>\n" + + "\n" + + "start_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampH\x03R\tstartTime\x88\x01\x01\x12:\n" + + "\bend_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampH\x04R\aendTime\x88\x01\x01\x12\x17\n" + + "\x04page\x18\x06 \x01(\x05H\x05R\x04page\x88\x01\x01\x12 \n" + + "\tpage_size\x18\a \x01(\x05H\x06R\bpageSize\x88\x01\x01B\n" + + "\n" + + "\b_node_idB\t\n" + + "\a_actionB\r\n" + + "\v_user_emailB\r\n" + + "\v_start_timeB\v\n" + + "\t_end_timeB\a\n" + + "\x05_pageB\f\n" + + "\n" + + "_page_size\"\xd2\x04\n" + + "\x0eAuditLogDetail\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1c\n" + + "\auser_id\x18\x02 \x01(\tH\x00R\x06userId\x88\x01\x01\x12\x1d\n" + + "\n" + + "user_email\x18\x03 \x01(\tR\tuserEmail\x12\x1c\n" + + "\anode_id\x18\x04 \x01(\tH\x01R\x06nodeId\x88\x01\x01\x12 \n" + + "\tnode_name\x18\x05 \x01(\tH\x02R\bnodeName\x88\x01\x01\x12\x16\n" + + "\x06action\x18\x06 \x01(\tR\x06action\x12\x1b\n" + + "\x06target\x18\a \x01(\tH\x03R\x06target\x88\x01\x01\x12O\n" + + "\n" + + "parameters\x18\b \x03(\v2/.orchestrator.v1.AuditLogDetail.ParametersEntryR\n" + + "parameters\x12+\n" + + "\x11commands_executed\x18\t \x03(\tR\x10commandsExecuted\x12\x16\n" + + "\x06result\x18\n" + + " \x01(\tR\x06result\x12*\n" + + "\x0eoutput_summary\x18\v \x01(\tH\x04R\routputSummary\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x1a=\n" + + "\x0fParametersEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\n" + + "\n" + + "\b_user_idB\n" + + "\n" + + "\b_node_idB\f\n" + + "\n" + + "_node_nameB\t\n" + + "\a_targetB\x11\n" + + "\x0f_output_summary\"r\n" + + "\x14ListAuditLogResponse\x129\n" + + "\aentries\x18\x01 \x03(\v2\x1f.orchestrator.v1.AuditLogDetailR\aentries\x12\x1f\n" + + "\vtotal_count\x18\x02 \x01(\x05R\n" + + "totalCount2\xf1*\n" + + "\x15InfrastructureService\x12\x82\x01\n" + + "\x19GetInfrastructureOverview\x121.orchestrator.v1.GetInfrastructureOverviewRequest\x1a2.orchestrator.v1.GetInfrastructureOverviewResponse\x12^\n" + + "\rGetNodeHealth\x12%.orchestrator.v1.GetNodeHealthRequest\x1a&.orchestrator.v1.GetNodeHealthResponse\x12a\n" + + "\x0eRunHealthCheck\x12&.orchestrator.v1.RunHealthCheckRequest\x1a'.orchestrator.v1.RunHealthCheckResponse\x12q\n" + + "\x10GetHealthHistory\x12-.orchestrator.v1.GetInfraHealthHistoryRequest\x1a..orchestrator.v1.GetInfraHealthHistoryResponse\x12m\n" + + "\x12ListNodeContainers\x12*.orchestrator.v1.ListNodeContainersRequest\x1a+.orchestrator.v1.ListNodeContainersResponse\x12g\n" + + "\x10GetContainerSpec\x12(.orchestrator.v1.GetContainerSpecRequest\x1a).orchestrator.v1.GetContainerSpecResponse\x12`\n" + + "\x10RestartContainer\x12(.orchestrator.v1.RestartContainerRequest\x1a .orchestrator.v1.OperationOutput0\x01\x12b\n" + + "\x11RecreateContainer\x12).orchestrator.v1.RecreateContainerRequest\x1a .orchestrator.v1.OperationOutput0\x01\x12g\n" + + "\x10GetContainerLogs\x12(.orchestrator.v1.GetContainerLogsRequest\x1a).orchestrator.v1.GetContainerLogsResponse\x12g\n" + + "\x10InspectContainer\x12(.orchestrator.v1.InspectContainerRequest\x1a).orchestrator.v1.InspectContainerResponse\x12j\n" + + "\x11ListFirewallRules\x12).orchestrator.v1.ListFirewallRulesRequest\x1a*.orchestrator.v1.ListFirewallRulesResponse\x12m\n" + + "\x12CreateFirewallRule\x12*.orchestrator.v1.CreateFirewallRuleRequest\x1a+.orchestrator.v1.CreateFirewallRuleResponse\x12m\n" + + "\x12UpdateFirewallRule\x12*.orchestrator.v1.UpdateFirewallRuleRequest\x1a+.orchestrator.v1.UpdateFirewallRuleResponse\x12m\n" + + "\x12DeleteFirewallRule\x12*.orchestrator.v1.DeleteFirewallRuleRequest\x1a+.orchestrator.v1.DeleteFirewallRuleResponse\x12\x82\x01\n" + + "\x19ListNodeFirewallOverrides\x121.orchestrator.v1.ListNodeFirewallOverridesRequest\x1a2.orchestrator.v1.ListNodeFirewallOverridesResponse\x12\x85\x01\n" + + "\x1aCreateNodeFirewallOverride\x122.orchestrator.v1.CreateNodeFirewallOverrideRequest\x1a3.orchestrator.v1.CreateNodeFirewallOverrideResponse\x12\x85\x01\n" + + "\x1aDeleteNodeFirewallOverride\x122.orchestrator.v1.DeleteNodeFirewallOverrideRequest\x1a3.orchestrator.v1.DeleteNodeFirewallOverrideResponse\x12v\n" + + "\x15GetFirewallSyncStatus\x12-.orchestrator.v1.GetFirewallSyncStatusRequest\x1a..orchestrator.v1.GetFirewallSyncStatusResponse\x12`\n" + + "\x10SyncNodeFirewall\x12(.orchestrator.v1.SyncNodeFirewallRequest\x1a .orchestrator.v1.OperationOutput0\x01\x12`\n" + + "\x10SyncAllFirewalls\x12(.orchestrator.v1.SyncAllFirewallsRequest\x1a .orchestrator.v1.OperationOutput0\x01\x12\x82\x01\n" + + "\x19TestCrossNodeConnectivity\x121.orchestrator.v1.TestCrossNodeConnectivityRequest\x1a2.orchestrator.v1.TestCrossNodeConnectivityResponse\x12p\n" + + "\x13ListTLSCertificates\x12+.orchestrator.v1.ListTLSCertificatesRequest\x1a,.orchestrator.v1.ListTLSCertificatesResponse\x12`\n" + + "\x10RenewCertificate\x12(.orchestrator.v1.RenewCertificateRequest\x1a .orchestrator.v1.OperationOutput0\x01\x12j\n" + + "\x11ListTraefikRoutes\x12).orchestrator.v1.ListTraefikRoutesRequest\x1a*.orchestrator.v1.ListTraefikRoutesResponse\x12U\n" + + "\n" + + "TraceRoute\x12\".orchestrator.v1.TraceRouteRequest\x1a#.orchestrator.v1.TraceRouteResponse\x12d\n" + + "\x0fGetUpdateStatus\x12'.orchestrator.v1.GetUpdateStatusRequest\x1a(.orchestrator.v1.GetUpdateStatusResponse\x12^\n" + + "\x0fCheckForUpdates\x12'.orchestrator.v1.CheckForUpdatesRequest\x1a .orchestrator.v1.OperationOutput0\x01\x12h\n" + + "\x14ApplySecurityUpdates\x12,.orchestrator.v1.ApplySecurityUpdatesRequest\x1a .orchestrator.v1.OperationOutput0\x01\x12^\n" + + "\x0fApplyAllUpdates\x12'.orchestrator.v1.ApplyAllUpdatesRequest\x1a .orchestrator.v1.OperationOutput0\x01\x12`\n" + + "\x10UpgradeContainer\x12(.orchestrator.v1.UpgradeContainerRequest\x1a .orchestrator.v1.OperationOutput0\x01\x12p\n" + + "\x13ScheduleMaintenance\x12+.orchestrator.v1.ScheduleMaintenanceRequest\x1a,.orchestrator.v1.ScheduleMaintenanceResponse\x12f\n" + + "\x13EnterMaintenanceNow\x12+.orchestrator.v1.EnterMaintenanceNowRequest\x1a .orchestrator.v1.OperationOutput0\x01\x12^\n" + + "\x0fExitMaintenance\x12'.orchestrator.v1.ExitMaintenanceRequest\x1a .orchestrator.v1.OperationOutput0\x01\x12\x85\x01\n" + + "\x1aCancelScheduledMaintenance\x122.orchestrator.v1.CancelScheduledMaintenanceRequest\x1a3.orchestrator.v1.CancelScheduledMaintenanceResponse\x12y\n" + + "\x16ListMaintenanceWindows\x12..orchestrator.v1.ListMaintenanceWindowsRequest\x1a/.orchestrator.v1.ListMaintenanceWindowsResponse\x12g\n" + + "\x10GetSSHLoginAudit\x12(.orchestrator.v1.GetSSHLoginAuditRequest\x1a).orchestrator.v1.GetSSHLoginAuditResponse\x12g\n" + + "\x10RunSecurityAudit\x12(.orchestrator.v1.RunSecurityAuditRequest\x1a).orchestrator.v1.RunSecurityAuditResponse\x12g\n" + + "\x10ListActiveAlerts\x12(.orchestrator.v1.ListActiveAlertsRequest\x1a).orchestrator.v1.ListActiveAlertsResponse\x12g\n" + + "\x10AcknowledgeAlert\x12(.orchestrator.v1.AcknowledgeAlertRequest\x1a).orchestrator.v1.AcknowledgeAlertResponse\x12a\n" + + "\x0eListAlertRules\x12&.orchestrator.v1.ListAlertRulesRequest\x1a'.orchestrator.v1.ListAlertRulesResponse\x12d\n" + + "\x0fUpdateAlertRule\x12'.orchestrator.v1.UpdateAlertRuleRequest\x1a(.orchestrator.v1.UpdateAlertRuleResponse\x12g\n" + + "\x10ListAlertHistory\x12(.orchestrator.v1.ListAlertHistoryRequest\x1a).orchestrator.v1.ListAlertHistoryResponse\x12|\n" + + "\x17GetNotificationChannels\x12/.orchestrator.v1.GetNotificationChannelsRequest\x1a0.orchestrator.v1.GetNotificationChannelsResponse\x12\x82\x01\n" + + "\x19UpdateNotificationChannel\x121.orchestrator.v1.UpdateNotificationChannelRequest\x1a2.orchestrator.v1.UpdateNotificationChannelResponse\x12|\n" + + "\x17TestNotificationChannel\x12/.orchestrator.v1.TestNotificationChannelRequest\x1a0.orchestrator.v1.TestNotificationChannelResponse\x12a\n" + + "\x0eListConsulKeys\x12&.orchestrator.v1.ListConsulKeysRequest\x1a'.orchestrator.v1.ListConsulKeysResponse\x12j\n" + + "\x11GetConsulKeyGroup\x12).orchestrator.v1.GetConsulKeyGroupRequest\x1a*.orchestrator.v1.GetConsulKeyGroupResponse\x12l\n" + + "\x16RegenerateConsulRoutes\x12..orchestrator.v1.RegenerateConsulRoutesRequest\x1a .orchestrator.v1.OperationOutput0\x01\x12g\n" + + "\x10DeleteConsulKeys\x12(.orchestrator.v1.DeleteConsulKeysRequest\x1a).orchestrator.v1.DeleteConsulKeysResponse\x12[\n" + + "\fListAuditLog\x12$.orchestrator.v1.ListAuditLogRequest\x1a%.orchestrator.v1.ListAuditLogResponseB\xd6\x01\n" + + "\x13com.orchestrator.v1B\x13InfrastructureProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_infrastructure_proto_rawDescOnce sync.Once + file_orchestrator_v1_infrastructure_proto_rawDescData []byte +) + +func file_orchestrator_v1_infrastructure_proto_rawDescGZIP() []byte { + file_orchestrator_v1_infrastructure_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_infrastructure_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_infrastructure_proto_rawDesc), len(file_orchestrator_v1_infrastructure_proto_rawDesc))) + }) + return file_orchestrator_v1_infrastructure_proto_rawDescData +} + +var file_orchestrator_v1_infrastructure_proto_msgTypes = make([]protoimpl.MessageInfo, 122) +var file_orchestrator_v1_infrastructure_proto_goTypes = []any{ + (*OperationOutput)(nil), // 0: orchestrator.v1.OperationOutput + (*NodeHealthSummary)(nil), // 1: orchestrator.v1.NodeHealthSummary + (*HealthCheckError)(nil), // 2: orchestrator.v1.HealthCheckError + (*CrossNodeConnectivity)(nil), // 3: orchestrator.v1.CrossNodeConnectivity + (*ActiveAlertSummary)(nil), // 4: orchestrator.v1.ActiveAlertSummary + (*InfraAuditLogEntry)(nil), // 5: orchestrator.v1.InfraAuditLogEntry + (*GetInfrastructureOverviewRequest)(nil), // 6: orchestrator.v1.GetInfrastructureOverviewRequest + (*GetInfrastructureOverviewResponse)(nil), // 7: orchestrator.v1.GetInfrastructureOverviewResponse + (*GetNodeHealthRequest)(nil), // 8: orchestrator.v1.GetNodeHealthRequest + (*GetNodeHealthResponse)(nil), // 9: orchestrator.v1.GetNodeHealthResponse + (*RunHealthCheckRequest)(nil), // 10: orchestrator.v1.RunHealthCheckRequest + (*RunHealthCheckResponse)(nil), // 11: orchestrator.v1.RunHealthCheckResponse + (*GetInfraHealthHistoryRequest)(nil), // 12: orchestrator.v1.GetInfraHealthHistoryRequest + (*HealthCheckResult)(nil), // 13: orchestrator.v1.HealthCheckResult + (*GetInfraHealthHistoryResponse)(nil), // 14: orchestrator.v1.GetInfraHealthHistoryResponse + (*ContainerInfo)(nil), // 15: orchestrator.v1.ContainerInfo + (*ContainerSpec)(nil), // 16: orchestrator.v1.ContainerSpec + (*ListNodeContainersRequest)(nil), // 17: orchestrator.v1.ListNodeContainersRequest + (*ListNodeContainersResponse)(nil), // 18: orchestrator.v1.ListNodeContainersResponse + (*GetContainerSpecRequest)(nil), // 19: orchestrator.v1.GetContainerSpecRequest + (*GetContainerSpecResponse)(nil), // 20: orchestrator.v1.GetContainerSpecResponse + (*RestartContainerRequest)(nil), // 21: orchestrator.v1.RestartContainerRequest + (*RecreateContainerRequest)(nil), // 22: orchestrator.v1.RecreateContainerRequest + (*GetContainerLogsRequest)(nil), // 23: orchestrator.v1.GetContainerLogsRequest + (*GetContainerLogsResponse)(nil), // 24: orchestrator.v1.GetContainerLogsResponse + (*InspectContainerRequest)(nil), // 25: orchestrator.v1.InspectContainerRequest + (*InspectContainerResponse)(nil), // 26: orchestrator.v1.InspectContainerResponse + (*FirewallRule)(nil), // 27: orchestrator.v1.FirewallRule + (*FirewallNodeOverride)(nil), // 28: orchestrator.v1.FirewallNodeOverride + (*ListFirewallRulesRequest)(nil), // 29: orchestrator.v1.ListFirewallRulesRequest + (*ListFirewallRulesResponse)(nil), // 30: orchestrator.v1.ListFirewallRulesResponse + (*CreateFirewallRuleRequest)(nil), // 31: orchestrator.v1.CreateFirewallRuleRequest + (*CreateFirewallRuleResponse)(nil), // 32: orchestrator.v1.CreateFirewallRuleResponse + (*UpdateFirewallRuleRequest)(nil), // 33: orchestrator.v1.UpdateFirewallRuleRequest + (*UpdateFirewallRuleResponse)(nil), // 34: orchestrator.v1.UpdateFirewallRuleResponse + (*DeleteFirewallRuleRequest)(nil), // 35: orchestrator.v1.DeleteFirewallRuleRequest + (*DeleteFirewallRuleResponse)(nil), // 36: orchestrator.v1.DeleteFirewallRuleResponse + (*ListNodeFirewallOverridesRequest)(nil), // 37: orchestrator.v1.ListNodeFirewallOverridesRequest + (*ListNodeFirewallOverridesResponse)(nil), // 38: orchestrator.v1.ListNodeFirewallOverridesResponse + (*CreateNodeFirewallOverrideRequest)(nil), // 39: orchestrator.v1.CreateNodeFirewallOverrideRequest + (*CreateNodeFirewallOverrideResponse)(nil), // 40: orchestrator.v1.CreateNodeFirewallOverrideResponse + (*DeleteNodeFirewallOverrideRequest)(nil), // 41: orchestrator.v1.DeleteNodeFirewallOverrideRequest + (*DeleteNodeFirewallOverrideResponse)(nil), // 42: orchestrator.v1.DeleteNodeFirewallOverrideResponse + (*NodeFirewallSyncStatus)(nil), // 43: orchestrator.v1.NodeFirewallSyncStatus + (*GetFirewallSyncStatusRequest)(nil), // 44: orchestrator.v1.GetFirewallSyncStatusRequest + (*GetFirewallSyncStatusResponse)(nil), // 45: orchestrator.v1.GetFirewallSyncStatusResponse + (*SyncNodeFirewallRequest)(nil), // 46: orchestrator.v1.SyncNodeFirewallRequest + (*SyncAllFirewallsRequest)(nil), // 47: orchestrator.v1.SyncAllFirewallsRequest + (*TestCrossNodeConnectivityRequest)(nil), // 48: orchestrator.v1.TestCrossNodeConnectivityRequest + (*ConnectivityResult)(nil), // 49: orchestrator.v1.ConnectivityResult + (*TestCrossNodeConnectivityResponse)(nil), // 50: orchestrator.v1.TestCrossNodeConnectivityResponse + (*TLSCertificate)(nil), // 51: orchestrator.v1.TLSCertificate + (*ListTLSCertificatesRequest)(nil), // 52: orchestrator.v1.ListTLSCertificatesRequest + (*ListTLSCertificatesResponse)(nil), // 53: orchestrator.v1.ListTLSCertificatesResponse + (*RenewCertificateRequest)(nil), // 54: orchestrator.v1.RenewCertificateRequest + (*TraefikRoute)(nil), // 55: orchestrator.v1.TraefikRoute + (*ListTraefikRoutesRequest)(nil), // 56: orchestrator.v1.ListTraefikRoutesRequest + (*ListTraefikRoutesResponse)(nil), // 57: orchestrator.v1.ListTraefikRoutesResponse + (*TraceRouteRequest)(nil), // 58: orchestrator.v1.TraceRouteRequest + (*TraceRouteHop)(nil), // 59: orchestrator.v1.TraceRouteHop + (*TraceRouteResponse)(nil), // 60: orchestrator.v1.TraceRouteResponse + (*ContainerUpdate)(nil), // 61: orchestrator.v1.ContainerUpdate + (*PackageUpdate)(nil), // 62: orchestrator.v1.PackageUpdate + (*GetUpdateStatusRequest)(nil), // 63: orchestrator.v1.GetUpdateStatusRequest + (*GetUpdateStatusResponse)(nil), // 64: orchestrator.v1.GetUpdateStatusResponse + (*CheckForUpdatesRequest)(nil), // 65: orchestrator.v1.CheckForUpdatesRequest + (*ApplySecurityUpdatesRequest)(nil), // 66: orchestrator.v1.ApplySecurityUpdatesRequest + (*ApplyAllUpdatesRequest)(nil), // 67: orchestrator.v1.ApplyAllUpdatesRequest + (*UpgradeContainerRequest)(nil), // 68: orchestrator.v1.UpgradeContainerRequest + (*MaintenanceWindow)(nil), // 69: orchestrator.v1.MaintenanceWindow + (*ScheduleMaintenanceRequest)(nil), // 70: orchestrator.v1.ScheduleMaintenanceRequest + (*ScheduleMaintenanceResponse)(nil), // 71: orchestrator.v1.ScheduleMaintenanceResponse + (*EnterMaintenanceNowRequest)(nil), // 72: orchestrator.v1.EnterMaintenanceNowRequest + (*ExitMaintenanceRequest)(nil), // 73: orchestrator.v1.ExitMaintenanceRequest + (*CancelScheduledMaintenanceRequest)(nil), // 74: orchestrator.v1.CancelScheduledMaintenanceRequest + (*CancelScheduledMaintenanceResponse)(nil), // 75: orchestrator.v1.CancelScheduledMaintenanceResponse + (*ListMaintenanceWindowsRequest)(nil), // 76: orchestrator.v1.ListMaintenanceWindowsRequest + (*ListMaintenanceWindowsResponse)(nil), // 77: orchestrator.v1.ListMaintenanceWindowsResponse + (*SSHLoginEntry)(nil), // 78: orchestrator.v1.SSHLoginEntry + (*GetSSHLoginAuditRequest)(nil), // 79: orchestrator.v1.GetSSHLoginAuditRequest + (*GetSSHLoginAuditResponse)(nil), // 80: orchestrator.v1.GetSSHLoginAuditResponse + (*SecurityCheckResult)(nil), // 81: orchestrator.v1.SecurityCheckResult + (*RunSecurityAuditRequest)(nil), // 82: orchestrator.v1.RunSecurityAuditRequest + (*RunSecurityAuditResponse)(nil), // 83: orchestrator.v1.RunSecurityAuditResponse + (*AlertInstance)(nil), // 84: orchestrator.v1.AlertInstance + (*AlertRule)(nil), // 85: orchestrator.v1.AlertRule + (*NotificationChannel)(nil), // 86: orchestrator.v1.NotificationChannel + (*ListActiveAlertsRequest)(nil), // 87: orchestrator.v1.ListActiveAlertsRequest + (*ListActiveAlertsResponse)(nil), // 88: orchestrator.v1.ListActiveAlertsResponse + (*AcknowledgeAlertRequest)(nil), // 89: orchestrator.v1.AcknowledgeAlertRequest + (*AcknowledgeAlertResponse)(nil), // 90: orchestrator.v1.AcknowledgeAlertResponse + (*ListAlertRulesRequest)(nil), // 91: orchestrator.v1.ListAlertRulesRequest + (*ListAlertRulesResponse)(nil), // 92: orchestrator.v1.ListAlertRulesResponse + (*UpdateAlertRuleRequest)(nil), // 93: orchestrator.v1.UpdateAlertRuleRequest + (*UpdateAlertRuleResponse)(nil), // 94: orchestrator.v1.UpdateAlertRuleResponse + (*ListAlertHistoryRequest)(nil), // 95: orchestrator.v1.ListAlertHistoryRequest + (*ListAlertHistoryResponse)(nil), // 96: orchestrator.v1.ListAlertHistoryResponse + (*GetNotificationChannelsRequest)(nil), // 97: orchestrator.v1.GetNotificationChannelsRequest + (*GetNotificationChannelsResponse)(nil), // 98: orchestrator.v1.GetNotificationChannelsResponse + (*UpdateNotificationChannelRequest)(nil), // 99: orchestrator.v1.UpdateNotificationChannelRequest + (*UpdateNotificationChannelResponse)(nil), // 100: orchestrator.v1.UpdateNotificationChannelResponse + (*TestNotificationChannelRequest)(nil), // 101: orchestrator.v1.TestNotificationChannelRequest + (*TestNotificationChannelResponse)(nil), // 102: orchestrator.v1.TestNotificationChannelResponse + (*ConsulKeyGroup)(nil), // 103: orchestrator.v1.ConsulKeyGroup + (*ConsulKeyValue)(nil), // 104: orchestrator.v1.ConsulKeyValue + (*ListConsulKeysRequest)(nil), // 105: orchestrator.v1.ListConsulKeysRequest + (*ListConsulKeysResponse)(nil), // 106: orchestrator.v1.ListConsulKeysResponse + (*GetConsulKeyGroupRequest)(nil), // 107: orchestrator.v1.GetConsulKeyGroupRequest + (*GetConsulKeyGroupResponse)(nil), // 108: orchestrator.v1.GetConsulKeyGroupResponse + (*RegenerateConsulRoutesRequest)(nil), // 109: orchestrator.v1.RegenerateConsulRoutesRequest + (*DeleteConsulKeysRequest)(nil), // 110: orchestrator.v1.DeleteConsulKeysRequest + (*DeleteConsulKeysResponse)(nil), // 111: orchestrator.v1.DeleteConsulKeysResponse + (*ListAuditLogRequest)(nil), // 112: orchestrator.v1.ListAuditLogRequest + (*AuditLogDetail)(nil), // 113: orchestrator.v1.AuditLogDetail + (*ListAuditLogResponse)(nil), // 114: orchestrator.v1.ListAuditLogResponse + nil, // 115: orchestrator.v1.ContainerSpec.EnvVarsEntry + nil, // 116: orchestrator.v1.InspectContainerResponse.EnvVarsEntry + nil, // 117: orchestrator.v1.TraceRouteHop.DetailsEntry + nil, // 118: orchestrator.v1.AlertInstance.ContextEntry + nil, // 119: orchestrator.v1.NotificationChannel.ConfigEntry + nil, // 120: orchestrator.v1.UpdateNotificationChannelRequest.ConfigEntry + nil, // 121: orchestrator.v1.AuditLogDetail.ParametersEntry + (*timestamppb.Timestamp)(nil), // 122: google.protobuf.Timestamp +} +var file_orchestrator_v1_infrastructure_proto_depIdxs = []int32{ + 122, // 0: orchestrator.v1.NodeHealthSummary.last_health_check:type_name -> google.protobuf.Timestamp + 2, // 1: orchestrator.v1.NodeHealthSummary.errors:type_name -> orchestrator.v1.HealthCheckError + 122, // 2: orchestrator.v1.ActiveAlertSummary.triggered_at:type_name -> google.protobuf.Timestamp + 122, // 3: orchestrator.v1.InfraAuditLogEntry.created_at:type_name -> google.protobuf.Timestamp + 1, // 4: orchestrator.v1.GetInfrastructureOverviewResponse.nodes:type_name -> orchestrator.v1.NodeHealthSummary + 3, // 5: orchestrator.v1.GetInfrastructureOverviewResponse.connectivity:type_name -> orchestrator.v1.CrossNodeConnectivity + 4, // 6: orchestrator.v1.GetInfrastructureOverviewResponse.active_alerts:type_name -> orchestrator.v1.ActiveAlertSummary + 5, // 7: orchestrator.v1.GetInfrastructureOverviewResponse.recent_audit:type_name -> orchestrator.v1.InfraAuditLogEntry + 1, // 8: orchestrator.v1.GetNodeHealthResponse.node:type_name -> orchestrator.v1.NodeHealthSummary + 1, // 9: orchestrator.v1.RunHealthCheckResponse.results:type_name -> orchestrator.v1.NodeHealthSummary + 122, // 10: orchestrator.v1.GetInfraHealthHistoryRequest.start_time:type_name -> google.protobuf.Timestamp + 122, // 11: orchestrator.v1.GetInfraHealthHistoryRequest.end_time:type_name -> google.protobuf.Timestamp + 122, // 12: orchestrator.v1.HealthCheckResult.checked_at:type_name -> google.protobuf.Timestamp + 13, // 13: orchestrator.v1.GetInfraHealthHistoryResponse.results:type_name -> orchestrator.v1.HealthCheckResult + 115, // 14: orchestrator.v1.ContainerSpec.env_vars:type_name -> orchestrator.v1.ContainerSpec.EnvVarsEntry + 122, // 15: orchestrator.v1.ContainerSpec.created_at:type_name -> google.protobuf.Timestamp + 122, // 16: orchestrator.v1.ContainerSpec.updated_at:type_name -> google.protobuf.Timestamp + 15, // 17: orchestrator.v1.ListNodeContainersResponse.containers:type_name -> orchestrator.v1.ContainerInfo + 16, // 18: orchestrator.v1.GetContainerSpecResponse.spec:type_name -> orchestrator.v1.ContainerSpec + 15, // 19: orchestrator.v1.InspectContainerResponse.container:type_name -> orchestrator.v1.ContainerInfo + 116, // 20: orchestrator.v1.InspectContainerResponse.env_vars:type_name -> orchestrator.v1.InspectContainerResponse.EnvVarsEntry + 122, // 21: orchestrator.v1.FirewallRule.created_at:type_name -> google.protobuf.Timestamp + 122, // 22: orchestrator.v1.FirewallNodeOverride.created_at:type_name -> google.protobuf.Timestamp + 27, // 23: orchestrator.v1.ListFirewallRulesResponse.rules:type_name -> orchestrator.v1.FirewallRule + 27, // 24: orchestrator.v1.CreateFirewallRuleResponse.rule:type_name -> orchestrator.v1.FirewallRule + 27, // 25: orchestrator.v1.UpdateFirewallRuleResponse.rule:type_name -> orchestrator.v1.FirewallRule + 28, // 26: orchestrator.v1.ListNodeFirewallOverridesResponse.overrides:type_name -> orchestrator.v1.FirewallNodeOverride + 28, // 27: orchestrator.v1.CreateNodeFirewallOverrideResponse.override:type_name -> orchestrator.v1.FirewallNodeOverride + 122, // 28: orchestrator.v1.NodeFirewallSyncStatus.last_synced:type_name -> google.protobuf.Timestamp + 43, // 29: orchestrator.v1.GetFirewallSyncStatusResponse.nodes:type_name -> orchestrator.v1.NodeFirewallSyncStatus + 49, // 30: orchestrator.v1.TestCrossNodeConnectivityResponse.results:type_name -> orchestrator.v1.ConnectivityResult + 122, // 31: orchestrator.v1.TLSCertificate.expires_at:type_name -> google.protobuf.Timestamp + 51, // 32: orchestrator.v1.ListTLSCertificatesResponse.certificates:type_name -> orchestrator.v1.TLSCertificate + 55, // 33: orchestrator.v1.ListTraefikRoutesResponse.routes:type_name -> orchestrator.v1.TraefikRoute + 117, // 34: orchestrator.v1.TraceRouteHop.details:type_name -> orchestrator.v1.TraceRouteHop.DetailsEntry + 59, // 35: orchestrator.v1.TraceRouteResponse.hops:type_name -> orchestrator.v1.TraceRouteHop + 61, // 36: orchestrator.v1.GetUpdateStatusResponse.containers:type_name -> orchestrator.v1.ContainerUpdate + 62, // 37: orchestrator.v1.GetUpdateStatusResponse.packages:type_name -> orchestrator.v1.PackageUpdate + 122, // 38: orchestrator.v1.GetUpdateStatusResponse.last_checked:type_name -> google.protobuf.Timestamp + 122, // 39: orchestrator.v1.MaintenanceWindow.scheduled_start:type_name -> google.protobuf.Timestamp + 122, // 40: orchestrator.v1.MaintenanceWindow.actual_start:type_name -> google.protobuf.Timestamp + 122, // 41: orchestrator.v1.MaintenanceWindow.actual_end:type_name -> google.protobuf.Timestamp + 122, // 42: orchestrator.v1.MaintenanceWindow.created_at:type_name -> google.protobuf.Timestamp + 122, // 43: orchestrator.v1.ScheduleMaintenanceRequest.scheduled_start:type_name -> google.protobuf.Timestamp + 69, // 44: orchestrator.v1.ScheduleMaintenanceResponse.window:type_name -> orchestrator.v1.MaintenanceWindow + 69, // 45: orchestrator.v1.CancelScheduledMaintenanceResponse.window:type_name -> orchestrator.v1.MaintenanceWindow + 69, // 46: orchestrator.v1.ListMaintenanceWindowsResponse.windows:type_name -> orchestrator.v1.MaintenanceWindow + 122, // 47: orchestrator.v1.SSHLoginEntry.logged_at:type_name -> google.protobuf.Timestamp + 122, // 48: orchestrator.v1.GetSSHLoginAuditRequest.start_time:type_name -> google.protobuf.Timestamp + 122, // 49: orchestrator.v1.GetSSHLoginAuditRequest.end_time:type_name -> google.protobuf.Timestamp + 78, // 50: orchestrator.v1.GetSSHLoginAuditResponse.entries:type_name -> orchestrator.v1.SSHLoginEntry + 81, // 51: orchestrator.v1.RunSecurityAuditResponse.checks:type_name -> orchestrator.v1.SecurityCheckResult + 122, // 52: orchestrator.v1.AlertInstance.triggered_at:type_name -> google.protobuf.Timestamp + 122, // 53: orchestrator.v1.AlertInstance.acknowledged_at:type_name -> google.protobuf.Timestamp + 122, // 54: orchestrator.v1.AlertInstance.resolved_at:type_name -> google.protobuf.Timestamp + 118, // 55: orchestrator.v1.AlertInstance.context:type_name -> orchestrator.v1.AlertInstance.ContextEntry + 122, // 56: orchestrator.v1.AlertRule.created_at:type_name -> google.protobuf.Timestamp + 119, // 57: orchestrator.v1.NotificationChannel.config:type_name -> orchestrator.v1.NotificationChannel.ConfigEntry + 122, // 58: orchestrator.v1.NotificationChannel.created_at:type_name -> google.protobuf.Timestamp + 84, // 59: orchestrator.v1.ListActiveAlertsResponse.alerts:type_name -> orchestrator.v1.AlertInstance + 84, // 60: orchestrator.v1.AcknowledgeAlertResponse.alert:type_name -> orchestrator.v1.AlertInstance + 85, // 61: orchestrator.v1.ListAlertRulesResponse.rules:type_name -> orchestrator.v1.AlertRule + 85, // 62: orchestrator.v1.UpdateAlertRuleResponse.rule:type_name -> orchestrator.v1.AlertRule + 122, // 63: orchestrator.v1.ListAlertHistoryRequest.start_time:type_name -> google.protobuf.Timestamp + 122, // 64: orchestrator.v1.ListAlertHistoryRequest.end_time:type_name -> google.protobuf.Timestamp + 84, // 65: orchestrator.v1.ListAlertHistoryResponse.alerts:type_name -> orchestrator.v1.AlertInstance + 86, // 66: orchestrator.v1.GetNotificationChannelsResponse.channels:type_name -> orchestrator.v1.NotificationChannel + 120, // 67: orchestrator.v1.UpdateNotificationChannelRequest.config:type_name -> orchestrator.v1.UpdateNotificationChannelRequest.ConfigEntry + 86, // 68: orchestrator.v1.UpdateNotificationChannelResponse.channel:type_name -> orchestrator.v1.NotificationChannel + 122, // 69: orchestrator.v1.ConsulKeyGroup.last_modified:type_name -> google.protobuf.Timestamp + 122, // 70: orchestrator.v1.ConsulKeyValue.last_modified:type_name -> google.protobuf.Timestamp + 103, // 71: orchestrator.v1.ListConsulKeysResponse.groups:type_name -> orchestrator.v1.ConsulKeyGroup + 103, // 72: orchestrator.v1.GetConsulKeyGroupResponse.group:type_name -> orchestrator.v1.ConsulKeyGroup + 104, // 73: orchestrator.v1.GetConsulKeyGroupResponse.key_values:type_name -> orchestrator.v1.ConsulKeyValue + 122, // 74: orchestrator.v1.ListAuditLogRequest.start_time:type_name -> google.protobuf.Timestamp + 122, // 75: orchestrator.v1.ListAuditLogRequest.end_time:type_name -> google.protobuf.Timestamp + 121, // 76: orchestrator.v1.AuditLogDetail.parameters:type_name -> orchestrator.v1.AuditLogDetail.ParametersEntry + 122, // 77: orchestrator.v1.AuditLogDetail.created_at:type_name -> google.protobuf.Timestamp + 113, // 78: orchestrator.v1.ListAuditLogResponse.entries:type_name -> orchestrator.v1.AuditLogDetail + 6, // 79: orchestrator.v1.InfrastructureService.GetInfrastructureOverview:input_type -> orchestrator.v1.GetInfrastructureOverviewRequest + 8, // 80: orchestrator.v1.InfrastructureService.GetNodeHealth:input_type -> orchestrator.v1.GetNodeHealthRequest + 10, // 81: orchestrator.v1.InfrastructureService.RunHealthCheck:input_type -> orchestrator.v1.RunHealthCheckRequest + 12, // 82: orchestrator.v1.InfrastructureService.GetHealthHistory:input_type -> orchestrator.v1.GetInfraHealthHistoryRequest + 17, // 83: orchestrator.v1.InfrastructureService.ListNodeContainers:input_type -> orchestrator.v1.ListNodeContainersRequest + 19, // 84: orchestrator.v1.InfrastructureService.GetContainerSpec:input_type -> orchestrator.v1.GetContainerSpecRequest + 21, // 85: orchestrator.v1.InfrastructureService.RestartContainer:input_type -> orchestrator.v1.RestartContainerRequest + 22, // 86: orchestrator.v1.InfrastructureService.RecreateContainer:input_type -> orchestrator.v1.RecreateContainerRequest + 23, // 87: orchestrator.v1.InfrastructureService.GetContainerLogs:input_type -> orchestrator.v1.GetContainerLogsRequest + 25, // 88: orchestrator.v1.InfrastructureService.InspectContainer:input_type -> orchestrator.v1.InspectContainerRequest + 29, // 89: orchestrator.v1.InfrastructureService.ListFirewallRules:input_type -> orchestrator.v1.ListFirewallRulesRequest + 31, // 90: orchestrator.v1.InfrastructureService.CreateFirewallRule:input_type -> orchestrator.v1.CreateFirewallRuleRequest + 33, // 91: orchestrator.v1.InfrastructureService.UpdateFirewallRule:input_type -> orchestrator.v1.UpdateFirewallRuleRequest + 35, // 92: orchestrator.v1.InfrastructureService.DeleteFirewallRule:input_type -> orchestrator.v1.DeleteFirewallRuleRequest + 37, // 93: orchestrator.v1.InfrastructureService.ListNodeFirewallOverrides:input_type -> orchestrator.v1.ListNodeFirewallOverridesRequest + 39, // 94: orchestrator.v1.InfrastructureService.CreateNodeFirewallOverride:input_type -> orchestrator.v1.CreateNodeFirewallOverrideRequest + 41, // 95: orchestrator.v1.InfrastructureService.DeleteNodeFirewallOverride:input_type -> orchestrator.v1.DeleteNodeFirewallOverrideRequest + 44, // 96: orchestrator.v1.InfrastructureService.GetFirewallSyncStatus:input_type -> orchestrator.v1.GetFirewallSyncStatusRequest + 46, // 97: orchestrator.v1.InfrastructureService.SyncNodeFirewall:input_type -> orchestrator.v1.SyncNodeFirewallRequest + 47, // 98: orchestrator.v1.InfrastructureService.SyncAllFirewalls:input_type -> orchestrator.v1.SyncAllFirewallsRequest + 48, // 99: orchestrator.v1.InfrastructureService.TestCrossNodeConnectivity:input_type -> orchestrator.v1.TestCrossNodeConnectivityRequest + 52, // 100: orchestrator.v1.InfrastructureService.ListTLSCertificates:input_type -> orchestrator.v1.ListTLSCertificatesRequest + 54, // 101: orchestrator.v1.InfrastructureService.RenewCertificate:input_type -> orchestrator.v1.RenewCertificateRequest + 56, // 102: orchestrator.v1.InfrastructureService.ListTraefikRoutes:input_type -> orchestrator.v1.ListTraefikRoutesRequest + 58, // 103: orchestrator.v1.InfrastructureService.TraceRoute:input_type -> orchestrator.v1.TraceRouteRequest + 63, // 104: orchestrator.v1.InfrastructureService.GetUpdateStatus:input_type -> orchestrator.v1.GetUpdateStatusRequest + 65, // 105: orchestrator.v1.InfrastructureService.CheckForUpdates:input_type -> orchestrator.v1.CheckForUpdatesRequest + 66, // 106: orchestrator.v1.InfrastructureService.ApplySecurityUpdates:input_type -> orchestrator.v1.ApplySecurityUpdatesRequest + 67, // 107: orchestrator.v1.InfrastructureService.ApplyAllUpdates:input_type -> orchestrator.v1.ApplyAllUpdatesRequest + 68, // 108: orchestrator.v1.InfrastructureService.UpgradeContainer:input_type -> orchestrator.v1.UpgradeContainerRequest + 70, // 109: orchestrator.v1.InfrastructureService.ScheduleMaintenance:input_type -> orchestrator.v1.ScheduleMaintenanceRequest + 72, // 110: orchestrator.v1.InfrastructureService.EnterMaintenanceNow:input_type -> orchestrator.v1.EnterMaintenanceNowRequest + 73, // 111: orchestrator.v1.InfrastructureService.ExitMaintenance:input_type -> orchestrator.v1.ExitMaintenanceRequest + 74, // 112: orchestrator.v1.InfrastructureService.CancelScheduledMaintenance:input_type -> orchestrator.v1.CancelScheduledMaintenanceRequest + 76, // 113: orchestrator.v1.InfrastructureService.ListMaintenanceWindows:input_type -> orchestrator.v1.ListMaintenanceWindowsRequest + 79, // 114: orchestrator.v1.InfrastructureService.GetSSHLoginAudit:input_type -> orchestrator.v1.GetSSHLoginAuditRequest + 82, // 115: orchestrator.v1.InfrastructureService.RunSecurityAudit:input_type -> orchestrator.v1.RunSecurityAuditRequest + 87, // 116: orchestrator.v1.InfrastructureService.ListActiveAlerts:input_type -> orchestrator.v1.ListActiveAlertsRequest + 89, // 117: orchestrator.v1.InfrastructureService.AcknowledgeAlert:input_type -> orchestrator.v1.AcknowledgeAlertRequest + 91, // 118: orchestrator.v1.InfrastructureService.ListAlertRules:input_type -> orchestrator.v1.ListAlertRulesRequest + 93, // 119: orchestrator.v1.InfrastructureService.UpdateAlertRule:input_type -> orchestrator.v1.UpdateAlertRuleRequest + 95, // 120: orchestrator.v1.InfrastructureService.ListAlertHistory:input_type -> orchestrator.v1.ListAlertHistoryRequest + 97, // 121: orchestrator.v1.InfrastructureService.GetNotificationChannels:input_type -> orchestrator.v1.GetNotificationChannelsRequest + 99, // 122: orchestrator.v1.InfrastructureService.UpdateNotificationChannel:input_type -> orchestrator.v1.UpdateNotificationChannelRequest + 101, // 123: orchestrator.v1.InfrastructureService.TestNotificationChannel:input_type -> orchestrator.v1.TestNotificationChannelRequest + 105, // 124: orchestrator.v1.InfrastructureService.ListConsulKeys:input_type -> orchestrator.v1.ListConsulKeysRequest + 107, // 125: orchestrator.v1.InfrastructureService.GetConsulKeyGroup:input_type -> orchestrator.v1.GetConsulKeyGroupRequest + 109, // 126: orchestrator.v1.InfrastructureService.RegenerateConsulRoutes:input_type -> orchestrator.v1.RegenerateConsulRoutesRequest + 110, // 127: orchestrator.v1.InfrastructureService.DeleteConsulKeys:input_type -> orchestrator.v1.DeleteConsulKeysRequest + 112, // 128: orchestrator.v1.InfrastructureService.ListAuditLog:input_type -> orchestrator.v1.ListAuditLogRequest + 7, // 129: orchestrator.v1.InfrastructureService.GetInfrastructureOverview:output_type -> orchestrator.v1.GetInfrastructureOverviewResponse + 9, // 130: orchestrator.v1.InfrastructureService.GetNodeHealth:output_type -> orchestrator.v1.GetNodeHealthResponse + 11, // 131: orchestrator.v1.InfrastructureService.RunHealthCheck:output_type -> orchestrator.v1.RunHealthCheckResponse + 14, // 132: orchestrator.v1.InfrastructureService.GetHealthHistory:output_type -> orchestrator.v1.GetInfraHealthHistoryResponse + 18, // 133: orchestrator.v1.InfrastructureService.ListNodeContainers:output_type -> orchestrator.v1.ListNodeContainersResponse + 20, // 134: orchestrator.v1.InfrastructureService.GetContainerSpec:output_type -> orchestrator.v1.GetContainerSpecResponse + 0, // 135: orchestrator.v1.InfrastructureService.RestartContainer:output_type -> orchestrator.v1.OperationOutput + 0, // 136: orchestrator.v1.InfrastructureService.RecreateContainer:output_type -> orchestrator.v1.OperationOutput + 24, // 137: orchestrator.v1.InfrastructureService.GetContainerLogs:output_type -> orchestrator.v1.GetContainerLogsResponse + 26, // 138: orchestrator.v1.InfrastructureService.InspectContainer:output_type -> orchestrator.v1.InspectContainerResponse + 30, // 139: orchestrator.v1.InfrastructureService.ListFirewallRules:output_type -> orchestrator.v1.ListFirewallRulesResponse + 32, // 140: orchestrator.v1.InfrastructureService.CreateFirewallRule:output_type -> orchestrator.v1.CreateFirewallRuleResponse + 34, // 141: orchestrator.v1.InfrastructureService.UpdateFirewallRule:output_type -> orchestrator.v1.UpdateFirewallRuleResponse + 36, // 142: orchestrator.v1.InfrastructureService.DeleteFirewallRule:output_type -> orchestrator.v1.DeleteFirewallRuleResponse + 38, // 143: orchestrator.v1.InfrastructureService.ListNodeFirewallOverrides:output_type -> orchestrator.v1.ListNodeFirewallOverridesResponse + 40, // 144: orchestrator.v1.InfrastructureService.CreateNodeFirewallOverride:output_type -> orchestrator.v1.CreateNodeFirewallOverrideResponse + 42, // 145: orchestrator.v1.InfrastructureService.DeleteNodeFirewallOverride:output_type -> orchestrator.v1.DeleteNodeFirewallOverrideResponse + 45, // 146: orchestrator.v1.InfrastructureService.GetFirewallSyncStatus:output_type -> orchestrator.v1.GetFirewallSyncStatusResponse + 0, // 147: orchestrator.v1.InfrastructureService.SyncNodeFirewall:output_type -> orchestrator.v1.OperationOutput + 0, // 148: orchestrator.v1.InfrastructureService.SyncAllFirewalls:output_type -> orchestrator.v1.OperationOutput + 50, // 149: orchestrator.v1.InfrastructureService.TestCrossNodeConnectivity:output_type -> orchestrator.v1.TestCrossNodeConnectivityResponse + 53, // 150: orchestrator.v1.InfrastructureService.ListTLSCertificates:output_type -> orchestrator.v1.ListTLSCertificatesResponse + 0, // 151: orchestrator.v1.InfrastructureService.RenewCertificate:output_type -> orchestrator.v1.OperationOutput + 57, // 152: orchestrator.v1.InfrastructureService.ListTraefikRoutes:output_type -> orchestrator.v1.ListTraefikRoutesResponse + 60, // 153: orchestrator.v1.InfrastructureService.TraceRoute:output_type -> orchestrator.v1.TraceRouteResponse + 64, // 154: orchestrator.v1.InfrastructureService.GetUpdateStatus:output_type -> orchestrator.v1.GetUpdateStatusResponse + 0, // 155: orchestrator.v1.InfrastructureService.CheckForUpdates:output_type -> orchestrator.v1.OperationOutput + 0, // 156: orchestrator.v1.InfrastructureService.ApplySecurityUpdates:output_type -> orchestrator.v1.OperationOutput + 0, // 157: orchestrator.v1.InfrastructureService.ApplyAllUpdates:output_type -> orchestrator.v1.OperationOutput + 0, // 158: orchestrator.v1.InfrastructureService.UpgradeContainer:output_type -> orchestrator.v1.OperationOutput + 71, // 159: orchestrator.v1.InfrastructureService.ScheduleMaintenance:output_type -> orchestrator.v1.ScheduleMaintenanceResponse + 0, // 160: orchestrator.v1.InfrastructureService.EnterMaintenanceNow:output_type -> orchestrator.v1.OperationOutput + 0, // 161: orchestrator.v1.InfrastructureService.ExitMaintenance:output_type -> orchestrator.v1.OperationOutput + 75, // 162: orchestrator.v1.InfrastructureService.CancelScheduledMaintenance:output_type -> orchestrator.v1.CancelScheduledMaintenanceResponse + 77, // 163: orchestrator.v1.InfrastructureService.ListMaintenanceWindows:output_type -> orchestrator.v1.ListMaintenanceWindowsResponse + 80, // 164: orchestrator.v1.InfrastructureService.GetSSHLoginAudit:output_type -> orchestrator.v1.GetSSHLoginAuditResponse + 83, // 165: orchestrator.v1.InfrastructureService.RunSecurityAudit:output_type -> orchestrator.v1.RunSecurityAuditResponse + 88, // 166: orchestrator.v1.InfrastructureService.ListActiveAlerts:output_type -> orchestrator.v1.ListActiveAlertsResponse + 90, // 167: orchestrator.v1.InfrastructureService.AcknowledgeAlert:output_type -> orchestrator.v1.AcknowledgeAlertResponse + 92, // 168: orchestrator.v1.InfrastructureService.ListAlertRules:output_type -> orchestrator.v1.ListAlertRulesResponse + 94, // 169: orchestrator.v1.InfrastructureService.UpdateAlertRule:output_type -> orchestrator.v1.UpdateAlertRuleResponse + 96, // 170: orchestrator.v1.InfrastructureService.ListAlertHistory:output_type -> orchestrator.v1.ListAlertHistoryResponse + 98, // 171: orchestrator.v1.InfrastructureService.GetNotificationChannels:output_type -> orchestrator.v1.GetNotificationChannelsResponse + 100, // 172: orchestrator.v1.InfrastructureService.UpdateNotificationChannel:output_type -> orchestrator.v1.UpdateNotificationChannelResponse + 102, // 173: orchestrator.v1.InfrastructureService.TestNotificationChannel:output_type -> orchestrator.v1.TestNotificationChannelResponse + 106, // 174: orchestrator.v1.InfrastructureService.ListConsulKeys:output_type -> orchestrator.v1.ListConsulKeysResponse + 108, // 175: orchestrator.v1.InfrastructureService.GetConsulKeyGroup:output_type -> orchestrator.v1.GetConsulKeyGroupResponse + 0, // 176: orchestrator.v1.InfrastructureService.RegenerateConsulRoutes:output_type -> orchestrator.v1.OperationOutput + 111, // 177: orchestrator.v1.InfrastructureService.DeleteConsulKeys:output_type -> orchestrator.v1.DeleteConsulKeysResponse + 114, // 178: orchestrator.v1.InfrastructureService.ListAuditLog:output_type -> orchestrator.v1.ListAuditLogResponse + 129, // [129:179] is the sub-list for method output_type + 79, // [79:129] is the sub-list for method input_type + 79, // [79:79] is the sub-list for extension type_name + 79, // [79:79] is the sub-list for extension extendee + 0, // [0:79] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_infrastructure_proto_init() } +func file_orchestrator_v1_infrastructure_proto_init() { + if File_orchestrator_v1_infrastructure_proto != nil { + return + } + file_orchestrator_v1_infrastructure_proto_msgTypes[1].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[3].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[5].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[7].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[10].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[12].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[13].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[15].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[23].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[27].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[28].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[31].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[33].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[39].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[43].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[44].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[49].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[51].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[55].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[59].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[64].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[69].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[70].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[72].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[76].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[78].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[79].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[80].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[81].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[84].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[85].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[87].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[93].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[95].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[99].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[102].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[103].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[104].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[108].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[109].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[112].OneofWrappers = []any{} + file_orchestrator_v1_infrastructure_proto_msgTypes[113].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_infrastructure_proto_rawDesc), len(file_orchestrator_v1_infrastructure_proto_rawDesc)), + NumEnums: 0, + NumMessages: 122, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_infrastructure_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_infrastructure_proto_depIdxs, + MessageInfos: file_orchestrator_v1_infrastructure_proto_msgTypes, + }.Build() + File_orchestrator_v1_infrastructure_proto = out.File + file_orchestrator_v1_infrastructure_proto_goTypes = nil + file_orchestrator_v1_infrastructure_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/instances.pb.go b/internal/api/orchestrator/v1/instances.pb.go new file mode 100644 index 0000000..d330246 --- /dev/null +++ b/internal/api/orchestrator/v1/instances.pb.go @@ -0,0 +1,6238 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/instances.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Instance status +type InstanceStatus int32 + +const ( + InstanceStatus_INSTANCE_STATUS_UNSPECIFIED InstanceStatus = 0 + InstanceStatus_INSTANCE_STATUS_PROVISIONING InstanceStatus = 1 + InstanceStatus_INSTANCE_STATUS_RUNNING InstanceStatus = 2 + InstanceStatus_INSTANCE_STATUS_STOPPED InstanceStatus = 3 + InstanceStatus_INSTANCE_STATUS_ERROR InstanceStatus = 4 + InstanceStatus_INSTANCE_STATUS_DEPROVISIONING InstanceStatus = 5 + InstanceStatus_INSTANCE_STATUS_DELETED InstanceStatus = 6 + InstanceStatus_INSTANCE_STATUS_MIGRATING InstanceStatus = 7 +) + +// Enum value maps for InstanceStatus. +var ( + InstanceStatus_name = map[int32]string{ + 0: "INSTANCE_STATUS_UNSPECIFIED", + 1: "INSTANCE_STATUS_PROVISIONING", + 2: "INSTANCE_STATUS_RUNNING", + 3: "INSTANCE_STATUS_STOPPED", + 4: "INSTANCE_STATUS_ERROR", + 5: "INSTANCE_STATUS_DEPROVISIONING", + 6: "INSTANCE_STATUS_DELETED", + 7: "INSTANCE_STATUS_MIGRATING", + } + InstanceStatus_value = map[string]int32{ + "INSTANCE_STATUS_UNSPECIFIED": 0, + "INSTANCE_STATUS_PROVISIONING": 1, + "INSTANCE_STATUS_RUNNING": 2, + "INSTANCE_STATUS_STOPPED": 3, + "INSTANCE_STATUS_ERROR": 4, + "INSTANCE_STATUS_DEPROVISIONING": 5, + "INSTANCE_STATUS_DELETED": 6, + "INSTANCE_STATUS_MIGRATING": 7, + } +) + +func (x InstanceStatus) Enum() *InstanceStatus { + p := new(InstanceStatus) + *p = x + return p +} + +func (x InstanceStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InstanceStatus) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_instances_proto_enumTypes[0].Descriptor() +} + +func (InstanceStatus) Type() protoreflect.EnumType { + return &file_orchestrator_v1_instances_proto_enumTypes[0] +} + +func (x InstanceStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InstanceStatus.Descriptor instead. +func (InstanceStatus) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{0} +} + +// Instance role for users +type InstanceRole int32 + +const ( + InstanceRole_INSTANCE_ROLE_UNSPECIFIED InstanceRole = 0 + InstanceRole_INSTANCE_ROLE_VIEWER InstanceRole = 1 + InstanceRole_INSTANCE_ROLE_EDITOR InstanceRole = 2 + InstanceRole_INSTANCE_ROLE_ADMIN InstanceRole = 3 + InstanceRole_INSTANCE_ROLE_OWNER InstanceRole = 4 +) + +// Enum value maps for InstanceRole. +var ( + InstanceRole_name = map[int32]string{ + 0: "INSTANCE_ROLE_UNSPECIFIED", + 1: "INSTANCE_ROLE_VIEWER", + 2: "INSTANCE_ROLE_EDITOR", + 3: "INSTANCE_ROLE_ADMIN", + 4: "INSTANCE_ROLE_OWNER", + } + InstanceRole_value = map[string]int32{ + "INSTANCE_ROLE_UNSPECIFIED": 0, + "INSTANCE_ROLE_VIEWER": 1, + "INSTANCE_ROLE_EDITOR": 2, + "INSTANCE_ROLE_ADMIN": 3, + "INSTANCE_ROLE_OWNER": 4, + } +) + +func (x InstanceRole) Enum() *InstanceRole { + p := new(InstanceRole) + *p = x + return p +} + +func (x InstanceRole) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InstanceRole) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_instances_proto_enumTypes[1].Descriptor() +} + +func (InstanceRole) Type() protoreflect.EnumType { + return &file_orchestrator_v1_instances_proto_enumTypes[1] +} + +func (x InstanceRole) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InstanceRole.Descriptor instead. +func (InstanceRole) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{1} +} + +// Type of a state-backed instance operation. +type InstanceOperationType int32 + +const ( + InstanceOperationType_INSTANCE_OPERATION_TYPE_UNSPECIFIED InstanceOperationType = 0 + InstanceOperationType_INSTANCE_OPERATION_TYPE_UPGRADE InstanceOperationType = 1 + InstanceOperationType_INSTANCE_OPERATION_TYPE_RESTART InstanceOperationType = 2 + InstanceOperationType_INSTANCE_OPERATION_TYPE_DEPLOY InstanceOperationType = 3 + InstanceOperationType_INSTANCE_OPERATION_TYPE_PROVISION InstanceOperationType = 4 +) + +// Enum value maps for InstanceOperationType. +var ( + InstanceOperationType_name = map[int32]string{ + 0: "INSTANCE_OPERATION_TYPE_UNSPECIFIED", + 1: "INSTANCE_OPERATION_TYPE_UPGRADE", + 2: "INSTANCE_OPERATION_TYPE_RESTART", + 3: "INSTANCE_OPERATION_TYPE_DEPLOY", + 4: "INSTANCE_OPERATION_TYPE_PROVISION", + } + InstanceOperationType_value = map[string]int32{ + "INSTANCE_OPERATION_TYPE_UNSPECIFIED": 0, + "INSTANCE_OPERATION_TYPE_UPGRADE": 1, + "INSTANCE_OPERATION_TYPE_RESTART": 2, + "INSTANCE_OPERATION_TYPE_DEPLOY": 3, + "INSTANCE_OPERATION_TYPE_PROVISION": 4, + } +) + +func (x InstanceOperationType) Enum() *InstanceOperationType { + p := new(InstanceOperationType) + *p = x + return p +} + +func (x InstanceOperationType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InstanceOperationType) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_instances_proto_enumTypes[2].Descriptor() +} + +func (InstanceOperationType) Type() protoreflect.EnumType { + return &file_orchestrator_v1_instances_proto_enumTypes[2] +} + +func (x InstanceOperationType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InstanceOperationType.Descriptor instead. +func (InstanceOperationType) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{2} +} + +// Lifecycle status of an instance operation. awaiting_ready means the container +// work is done and the orchestrator is waiting for a recorded readiness push. +type InstanceOperationStatus int32 + +const ( + InstanceOperationStatus_INSTANCE_OPERATION_STATUS_UNSPECIFIED InstanceOperationStatus = 0 + InstanceOperationStatus_INSTANCE_OPERATION_STATUS_PENDING InstanceOperationStatus = 1 + InstanceOperationStatus_INSTANCE_OPERATION_STATUS_RUNNING InstanceOperationStatus = 2 + InstanceOperationStatus_INSTANCE_OPERATION_STATUS_AWAITING_READY InstanceOperationStatus = 3 + InstanceOperationStatus_INSTANCE_OPERATION_STATUS_SUCCEEDED InstanceOperationStatus = 4 + InstanceOperationStatus_INSTANCE_OPERATION_STATUS_FAILED InstanceOperationStatus = 5 +) + +// Enum value maps for InstanceOperationStatus. +var ( + InstanceOperationStatus_name = map[int32]string{ + 0: "INSTANCE_OPERATION_STATUS_UNSPECIFIED", + 1: "INSTANCE_OPERATION_STATUS_PENDING", + 2: "INSTANCE_OPERATION_STATUS_RUNNING", + 3: "INSTANCE_OPERATION_STATUS_AWAITING_READY", + 4: "INSTANCE_OPERATION_STATUS_SUCCEEDED", + 5: "INSTANCE_OPERATION_STATUS_FAILED", + } + InstanceOperationStatus_value = map[string]int32{ + "INSTANCE_OPERATION_STATUS_UNSPECIFIED": 0, + "INSTANCE_OPERATION_STATUS_PENDING": 1, + "INSTANCE_OPERATION_STATUS_RUNNING": 2, + "INSTANCE_OPERATION_STATUS_AWAITING_READY": 3, + "INSTANCE_OPERATION_STATUS_SUCCEEDED": 4, + "INSTANCE_OPERATION_STATUS_FAILED": 5, + } +) + +func (x InstanceOperationStatus) Enum() *InstanceOperationStatus { + p := new(InstanceOperationStatus) + *p = x + return p +} + +func (x InstanceOperationStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InstanceOperationStatus) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_instances_proto_enumTypes[3].Descriptor() +} + +func (InstanceOperationStatus) Type() protoreflect.EnumType { + return &file_orchestrator_v1_instances_proto_enumTypes[3] +} + +func (x InstanceOperationStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InstanceOperationStatus.Descriptor instead. +func (InstanceOperationStatus) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{3} +} + +// Instance represents a CMS container +type Instance struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Slug string `protobuf:"bytes,4,opt,name=slug,proto3" json:"slug,omitempty"` + Status InstanceStatus `protobuf:"varint,5,opt,name=status,proto3,enum=orchestrator.v1.InstanceStatus" json:"status,omitempty"` + StatusMessage *string `protobuf:"bytes,6,opt,name=status_message,json=statusMessage,proto3,oneof" json:"status_message,omitempty"` + HealthStatus *string `protobuf:"bytes,7,opt,name=health_status,json=healthStatus,proto3,oneof" json:"health_status,omitempty"` + LastHealthCheck *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=last_health_check,json=lastHealthCheck,proto3,oneof" json:"last_health_check,omitempty"` + CurrentStorageBytes int64 `protobuf:"varint,9,opt,name=current_storage_bytes,json=currentStorageBytes,proto3" json:"current_storage_bytes,omitempty"` + CurrentBandwidthBytes int64 `protobuf:"varint,10,opt,name=current_bandwidth_bytes,json=currentBandwidthBytes,proto3" json:"current_bandwidth_bytes,omitempty"` + ProvisionedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=provisioned_at,json=provisionedAt,proto3,oneof" json:"provisioned_at,omitempty"` + LastStartedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=last_started_at,json=lastStartedAt,proto3,oneof" json:"last_started_at,omitempty"` + LastStoppedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=last_stopped_at,json=lastStoppedAt,proto3,oneof" json:"last_stopped_at,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Primary domain for the instance + PrimaryDomain *string `protobuf:"bytes,16,opt,name=primary_domain,json=primaryDomain,proto3,oneof" json:"primary_domain,omitempty"` + NodeId *string `protobuf:"bytes,17,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` + // CMS version currently running (from instance_health) + CmsVersion *string `protobuf:"bytes,18,opt,name=cms_version,json=cmsVersion,proto3,oneof" json:"cms_version,omitempty"` + // Cached latest complete-day Core Web Vitals p75s across all devices, + // refreshed from instance health reports. Absent until the instance + // reports beacon-backed vitals. + CwvLcpMsP75 *int32 `protobuf:"varint,19,opt,name=cwv_lcp_ms_p75,json=cwvLcpMsP75,proto3,oneof" json:"cwv_lcp_ms_p75,omitempty"` + CwvClsP75 *float64 `protobuf:"fixed64,20,opt,name=cwv_cls_p75,json=cwvClsP75,proto3,oneof" json:"cwv_cls_p75,omitempty"` + CwvInpMsP75 *int32 `protobuf:"varint,21,opt,name=cwv_inp_ms_p75,json=cwvInpMsP75,proto3,oneof" json:"cwv_inp_ms_p75,omitempty"` + CwvSampleCount *int64 `protobuf:"varint,22,opt,name=cwv_sample_count,json=cwvSampleCount,proto3,oneof" json:"cwv_sample_count,omitempty"` + CwvDate *string `protobuf:"bytes,23,opt,name=cwv_date,json=cwvDate,proto3,oneof" json:"cwv_date,omitempty"` // YYYY-MM-DD (UTC) of the summarized day + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Instance) Reset() { + *x = Instance{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Instance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Instance) ProtoMessage() {} + +func (x *Instance) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Instance.ProtoReflect.Descriptor instead. +func (*Instance) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{0} +} + +func (x *Instance) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Instance) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *Instance) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Instance) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *Instance) GetStatus() InstanceStatus { + if x != nil { + return x.Status + } + return InstanceStatus_INSTANCE_STATUS_UNSPECIFIED +} + +func (x *Instance) GetStatusMessage() string { + if x != nil && x.StatusMessage != nil { + return *x.StatusMessage + } + return "" +} + +func (x *Instance) GetHealthStatus() string { + if x != nil && x.HealthStatus != nil { + return *x.HealthStatus + } + return "" +} + +func (x *Instance) GetLastHealthCheck() *timestamppb.Timestamp { + if x != nil { + return x.LastHealthCheck + } + return nil +} + +func (x *Instance) GetCurrentStorageBytes() int64 { + if x != nil { + return x.CurrentStorageBytes + } + return 0 +} + +func (x *Instance) GetCurrentBandwidthBytes() int64 { + if x != nil { + return x.CurrentBandwidthBytes + } + return 0 +} + +func (x *Instance) GetProvisionedAt() *timestamppb.Timestamp { + if x != nil { + return x.ProvisionedAt + } + return nil +} + +func (x *Instance) GetLastStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.LastStartedAt + } + return nil +} + +func (x *Instance) GetLastStoppedAt() *timestamppb.Timestamp { + if x != nil { + return x.LastStoppedAt + } + return nil +} + +func (x *Instance) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *Instance) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *Instance) GetPrimaryDomain() string { + if x != nil && x.PrimaryDomain != nil { + return *x.PrimaryDomain + } + return "" +} + +func (x *Instance) GetNodeId() string { + if x != nil && x.NodeId != nil { + return *x.NodeId + } + return "" +} + +func (x *Instance) GetCmsVersion() string { + if x != nil && x.CmsVersion != nil { + return *x.CmsVersion + } + return "" +} + +func (x *Instance) GetCwvLcpMsP75() int32 { + if x != nil && x.CwvLcpMsP75 != nil { + return *x.CwvLcpMsP75 + } + return 0 +} + +func (x *Instance) GetCwvClsP75() float64 { + if x != nil && x.CwvClsP75 != nil { + return *x.CwvClsP75 + } + return 0 +} + +func (x *Instance) GetCwvInpMsP75() int32 { + if x != nil && x.CwvInpMsP75 != nil { + return *x.CwvInpMsP75 + } + return 0 +} + +func (x *Instance) GetCwvSampleCount() int64 { + if x != nil && x.CwvSampleCount != nil { + return *x.CwvSampleCount + } + return 0 +} + +func (x *Instance) GetCwvDate() string { + if x != nil && x.CwvDate != nil { + return *x.CwvDate + } + return "" +} + +// InstanceUser represents a user's access to an instance +// InstanceUser represents a user's active access to an instance. Pending +// invites are no longer modelled here — see InviteService / PendingInvite. +type InstanceUser struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` + FirstName string `protobuf:"bytes,5,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,6,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + Role InstanceRole `protobuf:"varint,7,opt,name=role,proto3,enum=orchestrator.v1.InstanceRole" json:"role,omitempty"` + LastAccessedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_accessed_at,json=lastAccessedAt,proto3,oneof" json:"last_accessed_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstanceUser) Reset() { + *x = InstanceUser{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstanceUser) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceUser) ProtoMessage() {} + +func (x *InstanceUser) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceUser.ProtoReflect.Descriptor instead. +func (*InstanceUser) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{1} +} + +func (x *InstanceUser) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *InstanceUser) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *InstanceUser) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *InstanceUser) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *InstanceUser) GetFirstName() string { + if x != nil { + return x.FirstName + } + return "" +} + +func (x *InstanceUser) GetLastName() string { + if x != nil { + return x.LastName + } + return "" +} + +func (x *InstanceUser) GetRole() InstanceRole { + if x != nil { + return x.Role + } + return InstanceRole_INSTANCE_ROLE_UNSPECIFIED +} + +func (x *InstanceUser) GetLastAccessedAt() *timestamppb.Timestamp { + if x != nil { + return x.LastAccessedAt + } + return nil +} + +// Log entry from container +type LogEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + Stream string `protobuf:"bytes,3,opt,name=stream,proto3" json:"stream,omitempty"` // stdout or stderr + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LogEntry) Reset() { + *x = LogEntry{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LogEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LogEntry) ProtoMessage() {} + +func (x *LogEntry) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LogEntry.ProtoReflect.Descriptor instead. +func (*LogEntry) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{2} +} + +func (x *LogEntry) GetTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.Timestamp + } + return nil +} + +func (x *LogEntry) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *LogEntry) GetStream() string { + if x != nil { + return x.Stream + } + return "" +} + +// Operation progress for streaming operations (upgrade, restart, etc.) +type OperationProgress struct { + state protoimpl.MessageState `protogen:"open.v1"` + Step string `protobuf:"bytes,1,opt,name=step,proto3" json:"step,omitempty"` // Current step name (e.g., "pulling_image", "stopping_container") + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` // Human-readable message + Stream string `protobuf:"bytes,3,opt,name=stream,proto3" json:"stream,omitempty"` // "stdout", "stderr", or "status" + IsError bool `protobuf:"varint,4,opt,name=is_error,json=isError,proto3" json:"is_error,omitempty"` // True if this is an error message + IsComplete bool `protobuf:"varint,5,opt,name=is_complete,json=isComplete,proto3" json:"is_complete,omitempty"` // True when operation is complete + Instance *Instance `protobuf:"bytes,6,opt,name=instance,proto3" json:"instance,omitempty"` // Final instance state (only set when is_complete=true) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OperationProgress) Reset() { + *x = OperationProgress{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OperationProgress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OperationProgress) ProtoMessage() {} + +func (x *OperationProgress) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OperationProgress.ProtoReflect.Descriptor instead. +func (*OperationProgress) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{3} +} + +func (x *OperationProgress) GetStep() string { + if x != nil { + return x.Step + } + return "" +} + +func (x *OperationProgress) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *OperationProgress) GetStream() string { + if x != nil { + return x.Stream + } + return "" +} + +func (x *OperationProgress) GetIsError() bool { + if x != nil { + return x.IsError + } + return false +} + +func (x *OperationProgress) GetIsComplete() bool { + if x != nil { + return x.IsComplete + } + return false +} + +func (x *OperationProgress) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +// A single persisted log line for an operation. +type InstanceOperationLog struct { + state protoimpl.MessageState `protogen:"open.v1"` + Seq int32 `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"` + Stream string `protobuf:"bytes,2,opt,name=stream,proto3" json:"stream,omitempty"` // "stdout", "stderr", or "status" + Step string `protobuf:"bytes,3,opt,name=step,proto3" json:"step,omitempty"` + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` + IsError bool `protobuf:"varint,5,opt,name=is_error,json=isError,proto3" json:"is_error,omitempty"` + CreatedAt string `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // RFC3339 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstanceOperationLog) Reset() { + *x = InstanceOperationLog{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstanceOperationLog) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceOperationLog) ProtoMessage() {} + +func (x *InstanceOperationLog) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceOperationLog.ProtoReflect.Descriptor instead. +func (*InstanceOperationLog) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{4} +} + +func (x *InstanceOperationLog) GetSeq() int32 { + if x != nil { + return x.Seq + } + return 0 +} + +func (x *InstanceOperationLog) GetStream() string { + if x != nil { + return x.Stream + } + return "" +} + +func (x *InstanceOperationLog) GetStep() string { + if x != nil { + return x.Step + } + return "" +} + +func (x *InstanceOperationLog) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *InstanceOperationLog) GetIsError() bool { + if x != nil { + return x.IsError + } + return false +} + +func (x *InstanceOperationLog) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +// A state-backed instance operation. Timestamps are RFC3339 strings ("" if unset). +type InstanceOperation struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + AccountId string `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + Type InstanceOperationType `protobuf:"varint,4,opt,name=type,proto3,enum=orchestrator.v1.InstanceOperationType" json:"type,omitempty"` + Status InstanceOperationStatus `protobuf:"varint,5,opt,name=status,proto3,enum=orchestrator.v1.InstanceOperationStatus" json:"status,omitempty"` + Step string `protobuf:"bytes,6,opt,name=step,proto3" json:"step,omitempty"` + Message string `protobuf:"bytes,7,opt,name=message,proto3" json:"message,omitempty"` + Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"` + FromVersion string `protobuf:"bytes,9,opt,name=from_version,json=fromVersion,proto3" json:"from_version,omitempty"` + TargetVersion string `protobuf:"bytes,10,opt,name=target_version,json=targetVersion,proto3" json:"target_version,omitempty"` + StartedAt string `protobuf:"bytes,11,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` + ReadyAt string `protobuf:"bytes,12,opt,name=ready_at,json=readyAt,proto3" json:"ready_at,omitempty"` + FinishedAt string `protobuf:"bytes,13,opt,name=finished_at,json=finishedAt,proto3" json:"finished_at,omitempty"` + Instance *Instance `protobuf:"bytes,14,opt,name=instance,proto3" json:"instance,omitempty"` // Optional; populated on terminal states + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstanceOperation) Reset() { + *x = InstanceOperation{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstanceOperation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceOperation) ProtoMessage() {} + +func (x *InstanceOperation) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceOperation.ProtoReflect.Descriptor instead. +func (*InstanceOperation) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{5} +} + +func (x *InstanceOperation) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *InstanceOperation) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *InstanceOperation) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *InstanceOperation) GetType() InstanceOperationType { + if x != nil { + return x.Type + } + return InstanceOperationType_INSTANCE_OPERATION_TYPE_UNSPECIFIED +} + +func (x *InstanceOperation) GetStatus() InstanceOperationStatus { + if x != nil { + return x.Status + } + return InstanceOperationStatus_INSTANCE_OPERATION_STATUS_UNSPECIFIED +} + +func (x *InstanceOperation) GetStep() string { + if x != nil { + return x.Step + } + return "" +} + +func (x *InstanceOperation) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *InstanceOperation) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *InstanceOperation) GetFromVersion() string { + if x != nil { + return x.FromVersion + } + return "" +} + +func (x *InstanceOperation) GetTargetVersion() string { + if x != nil { + return x.TargetVersion + } + return "" +} + +func (x *InstanceOperation) GetStartedAt() string { + if x != nil { + return x.StartedAt + } + return "" +} + +func (x *InstanceOperation) GetReadyAt() string { + if x != nil { + return x.ReadyAt + } + return "" +} + +func (x *InstanceOperation) GetFinishedAt() string { + if x != nil { + return x.FinishedAt + } + return "" +} + +func (x *InstanceOperation) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +type StartOperationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + Type InstanceOperationType `protobuf:"varint,2,opt,name=type,proto3,enum=orchestrator.v1.InstanceOperationType" json:"type,omitempty"` + TargetVersion string `protobuf:"bytes,3,opt,name=target_version,json=targetVersion,proto3" json:"target_version,omitempty"` // required for upgrade + DeployImage string `protobuf:"bytes,4,opt,name=deploy_image,json=deployImage,proto3" json:"deploy_image,omitempty"` // required for deploy + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartOperationRequest) Reset() { + *x = StartOperationRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartOperationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartOperationRequest) ProtoMessage() {} + +func (x *StartOperationRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartOperationRequest.ProtoReflect.Descriptor instead. +func (*StartOperationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{6} +} + +func (x *StartOperationRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *StartOperationRequest) GetType() InstanceOperationType { + if x != nil { + return x.Type + } + return InstanceOperationType_INSTANCE_OPERATION_TYPE_UNSPECIFIED +} + +func (x *StartOperationRequest) GetTargetVersion() string { + if x != nil { + return x.TargetVersion + } + return "" +} + +func (x *StartOperationRequest) GetDeployImage() string { + if x != nil { + return x.DeployImage + } + return "" +} + +type StartOperationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartOperationResponse) Reset() { + *x = StartOperationResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartOperationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartOperationResponse) ProtoMessage() {} + +func (x *StartOperationResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartOperationResponse.ProtoReflect.Descriptor instead. +func (*StartOperationResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{7} +} + +func (x *StartOperationResponse) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +type GetOperationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetOperationRequest) Reset() { + *x = GetOperationRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetOperationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetOperationRequest) ProtoMessage() {} + +func (x *GetOperationRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetOperationRequest.ProtoReflect.Descriptor instead. +func (*GetOperationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{8} +} + +func (x *GetOperationRequest) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +type GetOperationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Operation *InstanceOperation `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"` + Logs []*InstanceOperationLog `protobuf:"bytes,2,rep,name=logs,proto3" json:"logs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetOperationResponse) Reset() { + *x = GetOperationResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetOperationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetOperationResponse) ProtoMessage() {} + +func (x *GetOperationResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetOperationResponse.ProtoReflect.Descriptor instead. +func (*GetOperationResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{9} +} + +func (x *GetOperationResponse) GetOperation() *InstanceOperation { + if x != nil { + return x.Operation + } + return nil +} + +func (x *GetOperationResponse) GetLogs() []*InstanceOperationLog { + if x != nil { + return x.Logs + } + return nil +} + +type GetActiveOperationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetActiveOperationRequest) Reset() { + *x = GetActiveOperationRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetActiveOperationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetActiveOperationRequest) ProtoMessage() {} + +func (x *GetActiveOperationRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetActiveOperationRequest.ProtoReflect.Descriptor instead. +func (*GetActiveOperationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{10} +} + +func (x *GetActiveOperationRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +type GetActiveOperationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Operation *InstanceOperation `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetActiveOperationResponse) Reset() { + *x = GetActiveOperationResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetActiveOperationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetActiveOperationResponse) ProtoMessage() {} + +func (x *GetActiveOperationResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetActiveOperationResponse.ProtoReflect.Descriptor instead. +func (*GetActiveOperationResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{11} +} + +func (x *GetActiveOperationResponse) GetOperation() *InstanceOperation { + if x != nil { + return x.Operation + } + return nil +} + +type GetLatestOperationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetLatestOperationRequest) Reset() { + *x = GetLatestOperationRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetLatestOperationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetLatestOperationRequest) ProtoMessage() {} + +func (x *GetLatestOperationRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetLatestOperationRequest.ProtoReflect.Descriptor instead. +func (*GetLatestOperationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{12} +} + +func (x *GetLatestOperationRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +type GetLatestOperationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Operation *InstanceOperation `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetLatestOperationResponse) Reset() { + *x = GetLatestOperationResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetLatestOperationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetLatestOperationResponse) ProtoMessage() {} + +func (x *GetLatestOperationResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetLatestOperationResponse.ProtoReflect.Descriptor instead. +func (*GetLatestOperationResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{13} +} + +func (x *GetLatestOperationResponse) GetOperation() *InstanceOperation { + if x != nil { + return x.Operation + } + return nil +} + +type CancelOperationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelOperationRequest) Reset() { + *x = CancelOperationRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelOperationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelOperationRequest) ProtoMessage() {} + +func (x *CancelOperationRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelOperationRequest.ProtoReflect.Descriptor instead. +func (*CancelOperationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{14} +} + +func (x *CancelOperationRequest) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +type CancelOperationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Cancelled bool `protobuf:"varint,1,opt,name=cancelled,proto3" json:"cancelled,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelOperationResponse) Reset() { + *x = CancelOperationResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelOperationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelOperationResponse) ProtoMessage() {} + +func (x *CancelOperationResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelOperationResponse.ProtoReflect.Descriptor instead. +func (*CancelOperationResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{15} +} + +func (x *CancelOperationResponse) GetCancelled() bool { + if x != nil { + return x.Cancelled + } + return false +} + +type GetLatestCMSVersionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetLatestCMSVersionRequest) Reset() { + *x = GetLatestCMSVersionRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetLatestCMSVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetLatestCMSVersionRequest) ProtoMessage() {} + +func (x *GetLatestCMSVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetLatestCMSVersionRequest.ProtoReflect.Descriptor instead. +func (*GetLatestCMSVersionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{16} +} + +type GetLatestCMSVersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetLatestCMSVersionResponse) Reset() { + *x = GetLatestCMSVersionResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetLatestCMSVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetLatestCMSVersionResponse) ProtoMessage() {} + +func (x *GetLatestCMSVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetLatestCMSVersionResponse.ProtoReflect.Descriptor instead. +func (*GetLatestCMSVersionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{17} +} + +func (x *GetLatestCMSVersionResponse) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +// A rolling upgrade campaign across running instances. Timestamps are RFC3339 +// strings ("" if unset). +type UpgradeCampaign struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + TargetVersion string `protobuf:"bytes,2,opt,name=target_version,json=targetVersion,proto3" json:"target_version,omitempty"` + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` // running|paused|completed|failed|cancelled + NodeConcurrency int32 `protobuf:"varint,4,opt,name=node_concurrency,json=nodeConcurrency,proto3" json:"node_concurrency,omitempty"` + FailureThreshold int32 `protobuf:"varint,5,opt,name=failure_threshold,json=failureThreshold,proto3" json:"failure_threshold,omitempty"` + CreatedAt string `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // RFC3339 + StartedAt string `protobuf:"bytes,7,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` + FinishedAt string `protobuf:"bytes,8,opt,name=finished_at,json=finishedAt,proto3" json:"finished_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpgradeCampaign) Reset() { + *x = UpgradeCampaign{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpgradeCampaign) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeCampaign) ProtoMessage() {} + +func (x *UpgradeCampaign) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpgradeCampaign.ProtoReflect.Descriptor instead. +func (*UpgradeCampaign) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{18} +} + +func (x *UpgradeCampaign) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpgradeCampaign) GetTargetVersion() string { + if x != nil { + return x.TargetVersion + } + return "" +} + +func (x *UpgradeCampaign) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *UpgradeCampaign) GetNodeConcurrency() int32 { + if x != nil { + return x.NodeConcurrency + } + return 0 +} + +func (x *UpgradeCampaign) GetFailureThreshold() int32 { + if x != nil { + return x.FailureThreshold + } + return 0 +} + +func (x *UpgradeCampaign) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *UpgradeCampaign) GetStartedAt() string { + if x != nil { + return x.StartedAt + } + return "" +} + +func (x *UpgradeCampaign) GetFinishedAt() string { + if x != nil { + return x.FinishedAt + } + return "" +} + +// A single instance's membership in an upgrade campaign. +type UpgradeCampaignItem struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + CampaignId string `protobuf:"bytes,2,opt,name=campaign_id,json=campaignId,proto3" json:"campaign_id,omitempty"` + InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + NodeId string `protobuf:"bytes,4,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` // queued|upgrading|succeeded|failed|skipped + OperationId string `protobuf:"bytes,6,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` // "" until an op is created + FromVersion string `protobuf:"bytes,7,opt,name=from_version,json=fromVersion,proto3" json:"from_version,omitempty"` + Error string `protobuf:"bytes,8,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpgradeCampaignItem) Reset() { + *x = UpgradeCampaignItem{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpgradeCampaignItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeCampaignItem) ProtoMessage() {} + +func (x *UpgradeCampaignItem) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpgradeCampaignItem.ProtoReflect.Descriptor instead. +func (*UpgradeCampaignItem) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{19} +} + +func (x *UpgradeCampaignItem) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpgradeCampaignItem) GetCampaignId() string { + if x != nil { + return x.CampaignId + } + return "" +} + +func (x *UpgradeCampaignItem) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *UpgradeCampaignItem) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *UpgradeCampaignItem) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *UpgradeCampaignItem) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *UpgradeCampaignItem) GetFromVersion() string { + if x != nil { + return x.FromVersion + } + return "" +} + +func (x *UpgradeCampaignItem) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +type PreviewUpgradeCampaignRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + TargetVersion string `protobuf:"bytes,1,opt,name=target_version,json=targetVersion,proto3" json:"target_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PreviewUpgradeCampaignRequest) Reset() { + *x = PreviewUpgradeCampaignRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PreviewUpgradeCampaignRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreviewUpgradeCampaignRequest) ProtoMessage() {} + +func (x *PreviewUpgradeCampaignRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PreviewUpgradeCampaignRequest.ProtoReflect.Descriptor instead. +func (*PreviewUpgradeCampaignRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{20} +} + +func (x *PreviewUpgradeCampaignRequest) GetTargetVersion() string { + if x != nil { + return x.TargetVersion + } + return "" +} + +type PreviewNodeGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + UpgradeCount int32 `protobuf:"varint,2,opt,name=upgrade_count,json=upgradeCount,proto3" json:"upgrade_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PreviewNodeGroup) Reset() { + *x = PreviewNodeGroup{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PreviewNodeGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreviewNodeGroup) ProtoMessage() {} + +func (x *PreviewNodeGroup) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PreviewNodeGroup.ProtoReflect.Descriptor instead. +func (*PreviewNodeGroup) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{21} +} + +func (x *PreviewNodeGroup) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *PreviewNodeGroup) GetUpgradeCount() int32 { + if x != nil { + return x.UpgradeCount + } + return 0 +} + +type PreviewUpgradeCampaignResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + TargetVersion string `protobuf:"bytes,1,opt,name=target_version,json=targetVersion,proto3" json:"target_version,omitempty"` + Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` + Nodes []*PreviewNodeGroup `protobuf:"bytes,3,rep,name=nodes,proto3" json:"nodes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PreviewUpgradeCampaignResponse) Reset() { + *x = PreviewUpgradeCampaignResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PreviewUpgradeCampaignResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreviewUpgradeCampaignResponse) ProtoMessage() {} + +func (x *PreviewUpgradeCampaignResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PreviewUpgradeCampaignResponse.ProtoReflect.Descriptor instead. +func (*PreviewUpgradeCampaignResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{22} +} + +func (x *PreviewUpgradeCampaignResponse) GetTargetVersion() string { + if x != nil { + return x.TargetVersion + } + return "" +} + +func (x *PreviewUpgradeCampaignResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *PreviewUpgradeCampaignResponse) GetNodes() []*PreviewNodeGroup { + if x != nil { + return x.Nodes + } + return nil +} + +type StartUpgradeCampaignRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + TargetVersion string `protobuf:"bytes,1,opt,name=target_version,json=targetVersion,proto3" json:"target_version,omitempty"` // "" = latest + NodeConcurrency int32 `protobuf:"varint,2,opt,name=node_concurrency,json=nodeConcurrency,proto3" json:"node_concurrency,omitempty"` // 0 -> default 2 + FailureThreshold int32 `protobuf:"varint,3,opt,name=failure_threshold,json=failureThreshold,proto3" json:"failure_threshold,omitempty"` // 0 -> default 3 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartUpgradeCampaignRequest) Reset() { + *x = StartUpgradeCampaignRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartUpgradeCampaignRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartUpgradeCampaignRequest) ProtoMessage() {} + +func (x *StartUpgradeCampaignRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartUpgradeCampaignRequest.ProtoReflect.Descriptor instead. +func (*StartUpgradeCampaignRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{23} +} + +func (x *StartUpgradeCampaignRequest) GetTargetVersion() string { + if x != nil { + return x.TargetVersion + } + return "" +} + +func (x *StartUpgradeCampaignRequest) GetNodeConcurrency() int32 { + if x != nil { + return x.NodeConcurrency + } + return 0 +} + +func (x *StartUpgradeCampaignRequest) GetFailureThreshold() int32 { + if x != nil { + return x.FailureThreshold + } + return 0 +} + +type StartUpgradeCampaignResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + CampaignId string `protobuf:"bytes,1,opt,name=campaign_id,json=campaignId,proto3" json:"campaign_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartUpgradeCampaignResponse) Reset() { + *x = StartUpgradeCampaignResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartUpgradeCampaignResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartUpgradeCampaignResponse) ProtoMessage() {} + +func (x *StartUpgradeCampaignResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartUpgradeCampaignResponse.ProtoReflect.Descriptor instead. +func (*StartUpgradeCampaignResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{24} +} + +func (x *StartUpgradeCampaignResponse) GetCampaignId() string { + if x != nil { + return x.CampaignId + } + return "" +} + +type GetUpgradeCampaignRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + CampaignId string `protobuf:"bytes,1,opt,name=campaign_id,json=campaignId,proto3" json:"campaign_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUpgradeCampaignRequest) Reset() { + *x = GetUpgradeCampaignRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUpgradeCampaignRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUpgradeCampaignRequest) ProtoMessage() {} + +func (x *GetUpgradeCampaignRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUpgradeCampaignRequest.ProtoReflect.Descriptor instead. +func (*GetUpgradeCampaignRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{25} +} + +func (x *GetUpgradeCampaignRequest) GetCampaignId() string { + if x != nil { + return x.CampaignId + } + return "" +} + +type GetUpgradeCampaignResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Campaign *UpgradeCampaign `protobuf:"bytes,1,opt,name=campaign,proto3" json:"campaign,omitempty"` + Items []*UpgradeCampaignItem `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUpgradeCampaignResponse) Reset() { + *x = GetUpgradeCampaignResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUpgradeCampaignResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUpgradeCampaignResponse) ProtoMessage() {} + +func (x *GetUpgradeCampaignResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUpgradeCampaignResponse.ProtoReflect.Descriptor instead. +func (*GetUpgradeCampaignResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{26} +} + +func (x *GetUpgradeCampaignResponse) GetCampaign() *UpgradeCampaign { + if x != nil { + return x.Campaign + } + return nil +} + +func (x *GetUpgradeCampaignResponse) GetItems() []*UpgradeCampaignItem { + if x != nil { + return x.Items + } + return nil +} + +type ListUpgradeCampaignsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListUpgradeCampaignsRequest) Reset() { + *x = ListUpgradeCampaignsRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListUpgradeCampaignsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListUpgradeCampaignsRequest) ProtoMessage() {} + +func (x *ListUpgradeCampaignsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListUpgradeCampaignsRequest.ProtoReflect.Descriptor instead. +func (*ListUpgradeCampaignsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{27} +} + +func (x *ListUpgradeCampaignsRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListUpgradeCampaignsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +type ListUpgradeCampaignsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Campaigns []*UpgradeCampaign `protobuf:"bytes,1,rep,name=campaigns,proto3" json:"campaigns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListUpgradeCampaignsResponse) Reset() { + *x = ListUpgradeCampaignsResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListUpgradeCampaignsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListUpgradeCampaignsResponse) ProtoMessage() {} + +func (x *ListUpgradeCampaignsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListUpgradeCampaignsResponse.ProtoReflect.Descriptor instead. +func (*ListUpgradeCampaignsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{28} +} + +func (x *ListUpgradeCampaignsResponse) GetCampaigns() []*UpgradeCampaign { + if x != nil { + return x.Campaigns + } + return nil +} + +type CampaignActionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + CampaignId string `protobuf:"bytes,1,opt,name=campaign_id,json=campaignId,proto3" json:"campaign_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CampaignActionRequest) Reset() { + *x = CampaignActionRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CampaignActionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CampaignActionRequest) ProtoMessage() {} + +func (x *CampaignActionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CampaignActionRequest.ProtoReflect.Descriptor instead. +func (*CampaignActionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{29} +} + +func (x *CampaignActionRequest) GetCampaignId() string { + if x != nil { + return x.CampaignId + } + return "" +} + +type CampaignActionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Ok bool `protobuf:"varint,1,opt,name=ok,proto3" json:"ok,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CampaignActionResponse) Reset() { + *x = CampaignActionResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CampaignActionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CampaignActionResponse) ProtoMessage() {} + +func (x *CampaignActionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CampaignActionResponse.ProtoReflect.Descriptor instead. +func (*CampaignActionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{30} +} + +func (x *CampaignActionResponse) GetOk() bool { + if x != nil { + return x.Ok + } + return false +} + +type CreateInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"` + PlanId *string `protobuf:"bytes,4,opt,name=plan_id,json=planId,proto3,oneof" json:"plan_id,omitempty"` // Plan ID (defaults to free if not specified) + // Theme is the qualified registry ref "/" (e.g. "@themes/art-deco") + // of the published theme to install at provisioning. Empty = no theme install + // (instance comes up on the protected `default` template). See spec §5.4. + Theme *string `protobuf:"bytes,5,opt,name=theme,proto3,oneof" json:"theme,omitempty"` + // SiteType selects the CMS starter-content preset (business/blog/portfolio/blank). + // Threaded to the CMS via INSTANCE_SITE_TYPE. Empty = CMS default (business). + SiteType *string `protobuf:"bytes,6,opt,name=site_type,json=siteType,proto3,oneof" json:"site_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateInstanceRequest) Reset() { + *x = CreateInstanceRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateInstanceRequest) ProtoMessage() {} + +func (x *CreateInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateInstanceRequest.ProtoReflect.Descriptor instead. +func (*CreateInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{31} +} + +func (x *CreateInstanceRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *CreateInstanceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateInstanceRequest) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *CreateInstanceRequest) GetPlanId() string { + if x != nil && x.PlanId != nil { + return *x.PlanId + } + return "" +} + +func (x *CreateInstanceRequest) GetTheme() string { + if x != nil && x.Theme != nil { + return *x.Theme + } + return "" +} + +func (x *CreateInstanceRequest) GetSiteType() string { + if x != nil && x.SiteType != nil { + return *x.SiteType + } + return "" +} + +type CreateInstanceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + // Operation tracking the provisioning of this instance. + OperationId string `protobuf:"bytes,2,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateInstanceResponse) Reset() { + *x = CreateInstanceResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateInstanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateInstanceResponse) ProtoMessage() {} + +func (x *CreateInstanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateInstanceResponse.ProtoReflect.Descriptor instead. +func (*CreateInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{32} +} + +func (x *CreateInstanceResponse) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +func (x *CreateInstanceResponse) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +type GetInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceRequest) Reset() { + *x = GetInstanceRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceRequest) ProtoMessage() {} + +func (x *GetInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{33} +} + +func (x *GetInstanceRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetInstanceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceResponse) Reset() { + *x = GetInstanceResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceResponse) ProtoMessage() {} + +func (x *GetInstanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{34} +} + +func (x *GetInstanceResponse) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +type ListInstancesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + Status *InstanceStatus `protobuf:"varint,2,opt,name=status,proto3,enum=orchestrator.v1.InstanceStatus,oneof" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListInstancesRequest) Reset() { + *x = ListInstancesRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListInstancesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListInstancesRequest) ProtoMessage() {} + +func (x *ListInstancesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListInstancesRequest.ProtoReflect.Descriptor instead. +func (*ListInstancesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{35} +} + +func (x *ListInstancesRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *ListInstancesRequest) GetStatus() InstanceStatus { + if x != nil && x.Status != nil { + return *x.Status + } + return InstanceStatus_INSTANCE_STATUS_UNSPECIFIED +} + +type ListInstancesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Instances []*Instance `protobuf:"bytes,1,rep,name=instances,proto3" json:"instances,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListInstancesResponse) Reset() { + *x = ListInstancesResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListInstancesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListInstancesResponse) ProtoMessage() {} + +func (x *ListInstancesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListInstancesResponse.ProtoReflect.Descriptor instead. +func (*ListInstancesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{36} +} + +func (x *ListInstancesResponse) GetInstances() []*Instance { + if x != nil { + return x.Instances + } + return nil +} + +type ListMyInstancesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyInstancesRequest) Reset() { + *x = ListMyInstancesRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyInstancesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyInstancesRequest) ProtoMessage() {} + +func (x *ListMyInstancesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyInstancesRequest.ProtoReflect.Descriptor instead. +func (*ListMyInstancesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{37} +} + +type ListMyInstancesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Instances []*Instance `protobuf:"bytes,1,rep,name=instances,proto3" json:"instances,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyInstancesResponse) Reset() { + *x = ListMyInstancesResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyInstancesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyInstancesResponse) ProtoMessage() {} + +func (x *ListMyInstancesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyInstancesResponse.ProtoReflect.Descriptor instead. +func (*ListMyInstancesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{38} +} + +func (x *ListMyInstancesResponse) GetInstances() []*Instance { + if x != nil { + return x.Instances + } + return nil +} + +type ListAllInstancesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status *InstanceStatus `protobuf:"varint,1,opt,name=status,proto3,enum=orchestrator.v1.InstanceStatus,oneof" json:"status,omitempty"` + Search *string `protobuf:"bytes,2,opt,name=search,proto3,oneof" json:"search,omitempty"` // Search by name, slug, or domain + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAllInstancesRequest) Reset() { + *x = ListAllInstancesRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAllInstancesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAllInstancesRequest) ProtoMessage() {} + +func (x *ListAllInstancesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAllInstancesRequest.ProtoReflect.Descriptor instead. +func (*ListAllInstancesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{39} +} + +func (x *ListAllInstancesRequest) GetStatus() InstanceStatus { + if x != nil && x.Status != nil { + return *x.Status + } + return InstanceStatus_INSTANCE_STATUS_UNSPECIFIED +} + +func (x *ListAllInstancesRequest) GetSearch() string { + if x != nil && x.Search != nil { + return *x.Search + } + return "" +} + +type ListAllInstancesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Instances []*Instance `protobuf:"bytes,1,rep,name=instances,proto3" json:"instances,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListAllInstancesResponse) Reset() { + *x = ListAllInstancesResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListAllInstancesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListAllInstancesResponse) ProtoMessage() {} + +func (x *ListAllInstancesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListAllInstancesResponse.ProtoReflect.Descriptor instead. +func (*ListAllInstancesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{40} +} + +func (x *ListAllInstancesResponse) GetInstances() []*Instance { + if x != nil { + return x.Instances + } + return nil +} + +type UpdateInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateInstanceRequest) Reset() { + *x = UpdateInstanceRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateInstanceRequest) ProtoMessage() {} + +func (x *UpdateInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateInstanceRequest.ProtoReflect.Descriptor instead. +func (*UpdateInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{41} +} + +func (x *UpdateInstanceRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateInstanceRequest) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +type UpdateInstanceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateInstanceResponse) Reset() { + *x = UpdateInstanceResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateInstanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateInstanceResponse) ProtoMessage() {} + +func (x *UpdateInstanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateInstanceResponse.ProtoReflect.Descriptor instead. +func (*UpdateInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{42} +} + +func (x *UpdateInstanceResponse) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +type DeleteInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteInstanceRequest) Reset() { + *x = DeleteInstanceRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteInstanceRequest) ProtoMessage() {} + +func (x *DeleteInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteInstanceRequest.ProtoReflect.Descriptor instead. +func (*DeleteInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{43} +} + +func (x *DeleteInstanceRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DeleteInstanceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteInstanceResponse) Reset() { + *x = DeleteInstanceResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteInstanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteInstanceResponse) ProtoMessage() {} + +func (x *DeleteInstanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteInstanceResponse.ProtoReflect.Descriptor instead. +func (*DeleteInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{44} +} + +type StartInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartInstanceRequest) Reset() { + *x = StartInstanceRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartInstanceRequest) ProtoMessage() {} + +func (x *StartInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartInstanceRequest.ProtoReflect.Descriptor instead. +func (*StartInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{45} +} + +func (x *StartInstanceRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type StartInstanceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartInstanceResponse) Reset() { + *x = StartInstanceResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartInstanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartInstanceResponse) ProtoMessage() {} + +func (x *StartInstanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartInstanceResponse.ProtoReflect.Descriptor instead. +func (*StartInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{46} +} + +func (x *StartInstanceResponse) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +type StopInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StopInstanceRequest) Reset() { + *x = StopInstanceRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StopInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopInstanceRequest) ProtoMessage() {} + +func (x *StopInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StopInstanceRequest.ProtoReflect.Descriptor instead. +func (*StopInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{47} +} + +func (x *StopInstanceRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type StopInstanceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StopInstanceResponse) Reset() { + *x = StopInstanceResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StopInstanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopInstanceResponse) ProtoMessage() {} + +func (x *StopInstanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StopInstanceResponse.ProtoReflect.Descriptor instead. +func (*StopInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{48} +} + +func (x *StopInstanceResponse) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +type RestartInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RestartInstanceRequest) Reset() { + *x = RestartInstanceRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RestartInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestartInstanceRequest) ProtoMessage() {} + +func (x *RestartInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RestartInstanceRequest.ProtoReflect.Descriptor instead. +func (*RestartInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{49} +} + +func (x *RestartInstanceRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type UpgradeInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + TargetVersion string `protobuf:"bytes,2,opt,name=target_version,json=targetVersion,proto3" json:"target_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpgradeInstanceRequest) Reset() { + *x = UpgradeInstanceRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpgradeInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeInstanceRequest) ProtoMessage() {} + +func (x *UpgradeInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpgradeInstanceRequest.ProtoReflect.Descriptor instead. +func (*UpgradeInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{50} +} + +func (x *UpgradeInstanceRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpgradeInstanceRequest) GetTargetVersion() string { + if x != nil { + return x.TargetVersion + } + return "" +} + +type GetInstanceLogsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Tail int32 `protobuf:"varint,2,opt,name=tail,proto3" json:"tail,omitempty"` // Number of lines from end + Follow bool `protobuf:"varint,3,opt,name=follow,proto3" json:"follow,omitempty"` // Stream new logs + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceLogsRequest) Reset() { + *x = GetInstanceLogsRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceLogsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceLogsRequest) ProtoMessage() {} + +func (x *GetInstanceLogsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceLogsRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceLogsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{51} +} + +func (x *GetInstanceLogsRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *GetInstanceLogsRequest) GetTail() int32 { + if x != nil { + return x.Tail + } + return 0 +} + +func (x *GetInstanceLogsRequest) GetFollow() bool { + if x != nil { + return x.Follow + } + return false +} + +type ListInstanceUsersRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListInstanceUsersRequest) Reset() { + *x = ListInstanceUsersRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListInstanceUsersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListInstanceUsersRequest) ProtoMessage() {} + +func (x *ListInstanceUsersRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListInstanceUsersRequest.ProtoReflect.Descriptor instead. +func (*ListInstanceUsersRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{52} +} + +func (x *ListInstanceUsersRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +type ListInstanceUsersResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Users []*InstanceUser `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListInstanceUsersResponse) Reset() { + *x = ListInstanceUsersResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListInstanceUsersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListInstanceUsersResponse) ProtoMessage() {} + +func (x *ListInstanceUsersResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListInstanceUsersResponse.ProtoReflect.Descriptor instead. +func (*ListInstanceUsersResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{53} +} + +func (x *ListInstanceUsersResponse) GetUsers() []*InstanceUser { + if x != nil { + return x.Users + } + return nil +} + +type GrantInstanceAccessRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Role InstanceRole `protobuf:"varint,3,opt,name=role,proto3,enum=orchestrator.v1.InstanceRole" json:"role,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantInstanceAccessRequest) Reset() { + *x = GrantInstanceAccessRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantInstanceAccessRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantInstanceAccessRequest) ProtoMessage() {} + +func (x *GrantInstanceAccessRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[54] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrantInstanceAccessRequest.ProtoReflect.Descriptor instead. +func (*GrantInstanceAccessRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{54} +} + +func (x *GrantInstanceAccessRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *GrantInstanceAccessRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *GrantInstanceAccessRequest) GetRole() InstanceRole { + if x != nil { + return x.Role + } + return InstanceRole_INSTANCE_ROLE_UNSPECIFIED +} + +type GrantInstanceAccessResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceUser *InstanceUser `protobuf:"bytes,1,opt,name=instance_user,json=instanceUser,proto3" json:"instance_user,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrantInstanceAccessResponse) Reset() { + *x = GrantInstanceAccessResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrantInstanceAccessResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrantInstanceAccessResponse) ProtoMessage() {} + +func (x *GrantInstanceAccessResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[55] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrantInstanceAccessResponse.ProtoReflect.Descriptor instead. +func (*GrantInstanceAccessResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{55} +} + +func (x *GrantInstanceAccessResponse) GetInstanceUser() *InstanceUser { + if x != nil { + return x.InstanceUser + } + return nil +} + +type UpdateUserRoleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceUserId string `protobuf:"bytes,1,opt,name=instance_user_id,json=instanceUserId,proto3" json:"instance_user_id,omitempty"` + Role InstanceRole `protobuf:"varint,2,opt,name=role,proto3,enum=orchestrator.v1.InstanceRole" json:"role,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateUserRoleRequest) Reset() { + *x = UpdateUserRoleRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateUserRoleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateUserRoleRequest) ProtoMessage() {} + +func (x *UpdateUserRoleRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[56] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateUserRoleRequest.ProtoReflect.Descriptor instead. +func (*UpdateUserRoleRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{56} +} + +func (x *UpdateUserRoleRequest) GetInstanceUserId() string { + if x != nil { + return x.InstanceUserId + } + return "" +} + +func (x *UpdateUserRoleRequest) GetRole() InstanceRole { + if x != nil { + return x.Role + } + return InstanceRole_INSTANCE_ROLE_UNSPECIFIED +} + +type UpdateUserRoleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceUser *InstanceUser `protobuf:"bytes,1,opt,name=instance_user,json=instanceUser,proto3" json:"instance_user,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateUserRoleResponse) Reset() { + *x = UpdateUserRoleResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateUserRoleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateUserRoleResponse) ProtoMessage() {} + +func (x *UpdateUserRoleResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[57] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateUserRoleResponse.ProtoReflect.Descriptor instead. +func (*UpdateUserRoleResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{57} +} + +func (x *UpdateUserRoleResponse) GetInstanceUser() *InstanceUser { + if x != nil { + return x.InstanceUser + } + return nil +} + +type RemoveUserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceUserId string `protobuf:"bytes,1,opt,name=instance_user_id,json=instanceUserId,proto3" json:"instance_user_id,omitempty"` + // If true, permanently delete from CMS; if false, deactivate (default) + Permanent bool `protobuf:"varint,2,opt,name=permanent,proto3" json:"permanent,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveUserRequest) Reset() { + *x = RemoveUserRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveUserRequest) ProtoMessage() {} + +func (x *RemoveUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[58] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveUserRequest.ProtoReflect.Descriptor instead. +func (*RemoveUserRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{58} +} + +func (x *RemoveUserRequest) GetInstanceUserId() string { + if x != nil { + return x.InstanceUserId + } + return "" +} + +func (x *RemoveUserRequest) GetPermanent() bool { + if x != nil { + return x.Permanent + } + return false +} + +type RemoveUserResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveUserResponse) Reset() { + *x = RemoveUserResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveUserResponse) ProtoMessage() {} + +func (x *RemoveUserResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[59] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveUserResponse.ProtoReflect.Descriptor instead. +func (*RemoveUserResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{59} +} + +// Storage limits request - can use instance_id or be called by the instance itself +type GetInstanceStorageLimitsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceStorageLimitsRequest) Reset() { + *x = GetInstanceStorageLimitsRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceStorageLimitsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceStorageLimitsRequest) ProtoMessage() {} + +func (x *GetInstanceStorageLimitsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[60] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceStorageLimitsRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceStorageLimitsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{60} +} + +func (x *GetInstanceStorageLimitsRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +// Storage limits response with current usage and plan limits +type GetInstanceStorageLimitsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + MediaStorageLimitBytes int64 `protobuf:"varint,1,opt,name=media_storage_limit_bytes,json=mediaStorageLimitBytes,proto3" json:"media_storage_limit_bytes,omitempty"` + MediaStorageUsedBytes int64 `protobuf:"varint,2,opt,name=media_storage_used_bytes,json=mediaStorageUsedBytes,proto3" json:"media_storage_used_bytes,omitempty"` + TotalStorageLimitBytes int64 `protobuf:"varint,3,opt,name=total_storage_limit_bytes,json=totalStorageLimitBytes,proto3" json:"total_storage_limit_bytes,omitempty"` + TotalStorageUsedBytes int64 `protobuf:"varint,4,opt,name=total_storage_used_bytes,json=totalStorageUsedBytes,proto3" json:"total_storage_used_bytes,omitempty"` + MediaPercentUsed float64 `protobuf:"fixed64,5,opt,name=media_percent_used,json=mediaPercentUsed,proto3" json:"media_percent_used,omitempty"` + WarningLevel string `protobuf:"bytes,6,opt,name=warning_level,json=warningLevel,proto3" json:"warning_level,omitempty"` // "", "warning" (80%), "critical" (95%) + OverageRateCents int64 `protobuf:"varint,7,opt,name=overage_rate_cents,json=overageRateCents,proto3" json:"overage_rate_cents,omitempty"` // cents per GB (e.g., 10 = $0.10/GB) + IsOverLimit bool `protobuf:"varint,8,opt,name=is_over_limit,json=isOverLimit,proto3" json:"is_over_limit,omitempty"` + // Enforcement fields for free tier hard limits + EnforcementMode string `protobuf:"bytes,9,opt,name=enforcement_mode,json=enforcementMode,proto3" json:"enforcement_mode,omitempty"` // "hard" (block), "soft" (overage), "none" + CanUpload bool `protobuf:"varint,10,opt,name=can_upload,json=canUpload,proto3" json:"can_upload,omitempty"` // false if hard limit exceeded + UpgradeRequired bool `protobuf:"varint,11,opt,name=upgrade_required,json=upgradeRequired,proto3" json:"upgrade_required,omitempty"` // true if over limit on free tier + UpgradeMessage string `protobuf:"bytes,12,opt,name=upgrade_message,json=upgradeMessage,proto3" json:"upgrade_message,omitempty"` // User-facing upgrade prompt + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceStorageLimitsResponse) Reset() { + *x = GetInstanceStorageLimitsResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceStorageLimitsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceStorageLimitsResponse) ProtoMessage() {} + +func (x *GetInstanceStorageLimitsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[61] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceStorageLimitsResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceStorageLimitsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{61} +} + +func (x *GetInstanceStorageLimitsResponse) GetMediaStorageLimitBytes() int64 { + if x != nil { + return x.MediaStorageLimitBytes + } + return 0 +} + +func (x *GetInstanceStorageLimitsResponse) GetMediaStorageUsedBytes() int64 { + if x != nil { + return x.MediaStorageUsedBytes + } + return 0 +} + +func (x *GetInstanceStorageLimitsResponse) GetTotalStorageLimitBytes() int64 { + if x != nil { + return x.TotalStorageLimitBytes + } + return 0 +} + +func (x *GetInstanceStorageLimitsResponse) GetTotalStorageUsedBytes() int64 { + if x != nil { + return x.TotalStorageUsedBytes + } + return 0 +} + +func (x *GetInstanceStorageLimitsResponse) GetMediaPercentUsed() float64 { + if x != nil { + return x.MediaPercentUsed + } + return 0 +} + +func (x *GetInstanceStorageLimitsResponse) GetWarningLevel() string { + if x != nil { + return x.WarningLevel + } + return "" +} + +func (x *GetInstanceStorageLimitsResponse) GetOverageRateCents() int64 { + if x != nil { + return x.OverageRateCents + } + return 0 +} + +func (x *GetInstanceStorageLimitsResponse) GetIsOverLimit() bool { + if x != nil { + return x.IsOverLimit + } + return false +} + +func (x *GetInstanceStorageLimitsResponse) GetEnforcementMode() string { + if x != nil { + return x.EnforcementMode + } + return "" +} + +func (x *GetInstanceStorageLimitsResponse) GetCanUpload() bool { + if x != nil { + return x.CanUpload + } + return false +} + +func (x *GetInstanceStorageLimitsResponse) GetUpgradeRequired() bool { + if x != nil { + return x.UpgradeRequired + } + return false +} + +func (x *GetInstanceStorageLimitsResponse) GetUpgradeMessage() string { + if x != nil { + return x.UpgradeMessage + } + return "" +} + +type BulkInstancesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceIds []string `protobuf:"bytes,1,rep,name=instance_ids,json=instanceIds,proto3" json:"instance_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BulkInstancesRequest) Reset() { + *x = BulkInstancesRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BulkInstancesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BulkInstancesRequest) ProtoMessage() {} + +func (x *BulkInstancesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[62] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BulkInstancesRequest.ProtoReflect.Descriptor instead. +func (*BulkInstancesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{62} +} + +func (x *BulkInstancesRequest) GetInstanceIds() []string { + if x != nil { + return x.InstanceIds + } + return nil +} + +type BulkInstancesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Results []*BulkInstanceResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BulkInstancesResponse) Reset() { + *x = BulkInstancesResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BulkInstancesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BulkInstancesResponse) ProtoMessage() {} + +func (x *BulkInstancesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[63] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BulkInstancesResponse.ProtoReflect.Descriptor instead. +func (*BulkInstancesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{63} +} + +func (x *BulkInstancesResponse) GetResults() []*BulkInstanceResult { + if x != nil { + return x.Results + } + return nil +} + +type BulkInstanceResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` + Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BulkInstanceResult) Reset() { + *x = BulkInstanceResult{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BulkInstanceResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BulkInstanceResult) ProtoMessage() {} + +func (x *BulkInstanceResult) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[64] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BulkInstanceResult.ProtoReflect.Descriptor instead. +func (*BulkInstanceResult) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{64} +} + +func (x *BulkInstanceResult) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *BulkInstanceResult) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *BulkInstanceResult) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +// Instance metrics request +type GetInstanceMetricsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceMetricsRequest) Reset() { + *x = GetInstanceMetricsRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceMetricsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceMetricsRequest) ProtoMessage() {} + +func (x *GetInstanceMetricsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[65] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceMetricsRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceMetricsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{65} +} + +func (x *GetInstanceMetricsRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +// Instance metrics response with storage, content, and bandwidth data +type GetInstanceMetricsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Storage metrics + MediaStorageBytes int64 `protobuf:"varint,1,opt,name=media_storage_bytes,json=mediaStorageBytes,proto3" json:"media_storage_bytes,omitempty"` + DatabaseSizeBytes int64 `protobuf:"varint,2,opt,name=database_size_bytes,json=databaseSizeBytes,proto3" json:"database_size_bytes,omitempty"` + TotalStorageBytes int64 `protobuf:"varint,3,opt,name=total_storage_bytes,json=totalStorageBytes,proto3" json:"total_storage_bytes,omitempty"` + StorageLimitBytes int64 `protobuf:"varint,4,opt,name=storage_limit_bytes,json=storageLimitBytes,proto3" json:"storage_limit_bytes,omitempty"` + StoragePercentUsed float64 `protobuf:"fixed64,5,opt,name=storage_percent_used,json=storagePercentUsed,proto3" json:"storage_percent_used,omitempty"` + // Content counts + PageCount int32 `protobuf:"varint,6,opt,name=page_count,json=pageCount,proto3" json:"page_count,omitempty"` + BlockCount int32 `protobuf:"varint,7,opt,name=block_count,json=blockCount,proto3" json:"block_count,omitempty"` + PostCount int32 `protobuf:"varint,8,opt,name=post_count,json=postCount,proto3" json:"post_count,omitempty"` + MediaCount int32 `protobuf:"varint,9,opt,name=media_count,json=mediaCount,proto3" json:"media_count,omitempty"` + AdminUserCount int32 `protobuf:"varint,10,opt,name=admin_user_count,json=adminUserCount,proto3" json:"admin_user_count,omitempty"` + // Bandwidth (current billing period) + BandwidthInBytes int64 `protobuf:"varint,11,opt,name=bandwidth_in_bytes,json=bandwidthInBytes,proto3" json:"bandwidth_in_bytes,omitempty"` + BandwidthOutBytes int64 `protobuf:"varint,12,opt,name=bandwidth_out_bytes,json=bandwidthOutBytes,proto3" json:"bandwidth_out_bytes,omitempty"` + BandwidthLimitBytes int64 `protobuf:"varint,13,opt,name=bandwidth_limit_bytes,json=bandwidthLimitBytes,proto3" json:"bandwidth_limit_bytes,omitempty"` + BandwidthPercentUsed float64 `protobuf:"fixed64,14,opt,name=bandwidth_percent_used,json=bandwidthPercentUsed,proto3" json:"bandwidth_percent_used,omitempty"` + // Traffic + Pageviews int64 `protobuf:"varint,15,opt,name=pageviews,proto3" json:"pageviews,omitempty"` + UniqueVisitors int64 `protobuf:"varint,16,opt,name=unique_visitors,json=uniqueVisitors,proto3" json:"unique_visitors,omitempty"` + // Timestamps + LastUpdated *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` + // CMS version reported by instance + CmsVersion string `protobuf:"bytes,18,opt,name=cms_version,json=cmsVersion,proto3" json:"cms_version,omitempty"` + // Release name (codename for the minor series) reported by instance + ReleaseName string `protobuf:"bytes,19,opt,name=release_name,json=releaseName,proto3" json:"release_name,omitempty"` + // Patch tag (per-patch description) reported by instance + PatchTag string `protobuf:"bytes,20,opt,name=patch_tag,json=patchTag,proto3" json:"patch_tag,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceMetricsResponse) Reset() { + *x = GetInstanceMetricsResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceMetricsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceMetricsResponse) ProtoMessage() {} + +func (x *GetInstanceMetricsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[66] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceMetricsResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceMetricsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{66} +} + +func (x *GetInstanceMetricsResponse) GetMediaStorageBytes() int64 { + if x != nil { + return x.MediaStorageBytes + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetDatabaseSizeBytes() int64 { + if x != nil { + return x.DatabaseSizeBytes + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetTotalStorageBytes() int64 { + if x != nil { + return x.TotalStorageBytes + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetStorageLimitBytes() int64 { + if x != nil { + return x.StorageLimitBytes + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetStoragePercentUsed() float64 { + if x != nil { + return x.StoragePercentUsed + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetPageCount() int32 { + if x != nil { + return x.PageCount + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetBlockCount() int32 { + if x != nil { + return x.BlockCount + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetPostCount() int32 { + if x != nil { + return x.PostCount + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetMediaCount() int32 { + if x != nil { + return x.MediaCount + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetAdminUserCount() int32 { + if x != nil { + return x.AdminUserCount + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetBandwidthInBytes() int64 { + if x != nil { + return x.BandwidthInBytes + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetBandwidthOutBytes() int64 { + if x != nil { + return x.BandwidthOutBytes + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetBandwidthLimitBytes() int64 { + if x != nil { + return x.BandwidthLimitBytes + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetBandwidthPercentUsed() float64 { + if x != nil { + return x.BandwidthPercentUsed + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetPageviews() int64 { + if x != nil { + return x.Pageviews + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetUniqueVisitors() int64 { + if x != nil { + return x.UniqueVisitors + } + return 0 +} + +func (x *GetInstanceMetricsResponse) GetLastUpdated() *timestamppb.Timestamp { + if x != nil { + return x.LastUpdated + } + return nil +} + +func (x *GetInstanceMetricsResponse) GetCmsVersion() string { + if x != nil { + return x.CmsVersion + } + return "" +} + +func (x *GetInstanceMetricsResponse) GetReleaseName() string { + if x != nil { + return x.ReleaseName + } + return "" +} + +func (x *GetInstanceMetricsResponse) GetPatchTag() string { + if x != nil { + return x.PatchTag + } + return "" +} + +// Bandwidth history request +type GetBandwidthHistoryRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + // Number of days to fetch (7 or 30), defaults to 7 + Days int32 `protobuf:"varint,2,opt,name=days,proto3" json:"days,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetBandwidthHistoryRequest) Reset() { + *x = GetBandwidthHistoryRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetBandwidthHistoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBandwidthHistoryRequest) ProtoMessage() {} + +func (x *GetBandwidthHistoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[67] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetBandwidthHistoryRequest.ProtoReflect.Descriptor instead. +func (*GetBandwidthHistoryRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{67} +} + +func (x *GetBandwidthHistoryRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *GetBandwidthHistoryRequest) GetDays() int32 { + if x != nil { + return x.Days + } + return 0 +} + +// Single day's bandwidth data point +type BandwidthDataPoint struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Date in YYYY-MM-DD format + Date string `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"` + BytesIn int64 `protobuf:"varint,2,opt,name=bytes_in,json=bytesIn,proto3" json:"bytes_in,omitempty"` + BytesOut int64 `protobuf:"varint,3,opt,name=bytes_out,json=bytesOut,proto3" json:"bytes_out,omitempty"` + TotalBytes int64 `protobuf:"varint,4,opt,name=total_bytes,json=totalBytes,proto3" json:"total_bytes,omitempty"` + // Pageviews for this day + Pageviews int64 `protobuf:"varint,5,opt,name=pageviews,proto3" json:"pageviews,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BandwidthDataPoint) Reset() { + *x = BandwidthDataPoint{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BandwidthDataPoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BandwidthDataPoint) ProtoMessage() {} + +func (x *BandwidthDataPoint) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[68] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BandwidthDataPoint.ProtoReflect.Descriptor instead. +func (*BandwidthDataPoint) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{68} +} + +func (x *BandwidthDataPoint) GetDate() string { + if x != nil { + return x.Date + } + return "" +} + +func (x *BandwidthDataPoint) GetBytesIn() int64 { + if x != nil { + return x.BytesIn + } + return 0 +} + +func (x *BandwidthDataPoint) GetBytesOut() int64 { + if x != nil { + return x.BytesOut + } + return 0 +} + +func (x *BandwidthDataPoint) GetTotalBytes() int64 { + if x != nil { + return x.TotalBytes + } + return 0 +} + +func (x *BandwidthDataPoint) GetPageviews() int64 { + if x != nil { + return x.Pageviews + } + return 0 +} + +// Bandwidth history response +type GetBandwidthHistoryResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + DataPoints []*BandwidthDataPoint `protobuf:"bytes,1,rep,name=data_points,json=dataPoints,proto3" json:"data_points,omitempty"` + // Summary totals for the period + TotalBytesIn int64 `protobuf:"varint,2,opt,name=total_bytes_in,json=totalBytesIn,proto3" json:"total_bytes_in,omitempty"` + TotalBytesOut int64 `protobuf:"varint,3,opt,name=total_bytes_out,json=totalBytesOut,proto3" json:"total_bytes_out,omitempty"` + TotalBytes int64 `protobuf:"varint,4,opt,name=total_bytes,json=totalBytes,proto3" json:"total_bytes,omitempty"` + TotalPageviews int64 `protobuf:"varint,5,opt,name=total_pageviews,json=totalPageviews,proto3" json:"total_pageviews,omitempty"` + // Period covered + StartDate string `protobuf:"bytes,6,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"` + EndDate string `protobuf:"bytes,7,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetBandwidthHistoryResponse) Reset() { + *x = GetBandwidthHistoryResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetBandwidthHistoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBandwidthHistoryResponse) ProtoMessage() {} + +func (x *GetBandwidthHistoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[69] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetBandwidthHistoryResponse.ProtoReflect.Descriptor instead. +func (*GetBandwidthHistoryResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{69} +} + +func (x *GetBandwidthHistoryResponse) GetDataPoints() []*BandwidthDataPoint { + if x != nil { + return x.DataPoints + } + return nil +} + +func (x *GetBandwidthHistoryResponse) GetTotalBytesIn() int64 { + if x != nil { + return x.TotalBytesIn + } + return 0 +} + +func (x *GetBandwidthHistoryResponse) GetTotalBytesOut() int64 { + if x != nil { + return x.TotalBytesOut + } + return 0 +} + +func (x *GetBandwidthHistoryResponse) GetTotalBytes() int64 { + if x != nil { + return x.TotalBytes + } + return 0 +} + +func (x *GetBandwidthHistoryResponse) GetTotalPageviews() int64 { + if x != nil { + return x.TotalPageviews + } + return 0 +} + +func (x *GetBandwidthHistoryResponse) GetStartDate() string { + if x != nil { + return x.StartDate + } + return "" +} + +func (x *GetBandwidthHistoryResponse) GetEndDate() string { + if x != nil { + return x.EndDate + } + return "" +} + +// Regenerate all Traefik configs request (empty - processes all instances) +type RegenerateAllTraefikConfigsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegenerateAllTraefikConfigsRequest) Reset() { + *x = RegenerateAllTraefikConfigsRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegenerateAllTraefikConfigsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegenerateAllTraefikConfigsRequest) ProtoMessage() {} + +func (x *RegenerateAllTraefikConfigsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[70] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegenerateAllTraefikConfigsRequest.ProtoReflect.Descriptor instead. +func (*RegenerateAllTraefikConfigsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{70} +} + +type GetInstanceConfigurationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceConfigurationRequest) Reset() { + *x = GetInstanceConfigurationRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceConfigurationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceConfigurationRequest) ProtoMessage() {} + +func (x *GetInstanceConfigurationRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[71] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceConfigurationRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceConfigurationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{71} +} + +func (x *GetInstanceConfigurationRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetInstanceConfigurationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Account info + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + AccountSlug string `protobuf:"bytes,2,opt,name=account_slug,json=accountSlug,proto3" json:"account_slug,omitempty"` + AccountName string `protobuf:"bytes,3,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"` + // Vault configuration + Vault *VaultConfiguration `protobuf:"bytes,4,opt,name=vault,proto3" json:"vault,omitempty"` + // Reconstructed environment (from DB + Vault + config, NOT container inspection) + Environment []*EnvironmentVariable `protobuf:"bytes,5,rep,name=environment,proto3" json:"environment,omitempty"` + // Instance metadata from DB + InstanceSlug string `protobuf:"bytes,6,opt,name=instance_slug,json=instanceSlug,proto3" json:"instance_slug,omitempty"` + InstanceName string `protobuf:"bytes,7,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` + InstanceStatus string `protobuf:"bytes,8,opt,name=instance_status,json=instanceStatus,proto3" json:"instance_status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceConfigurationResponse) Reset() { + *x = GetInstanceConfigurationResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceConfigurationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceConfigurationResponse) ProtoMessage() {} + +func (x *GetInstanceConfigurationResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[72] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceConfigurationResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceConfigurationResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{72} +} + +func (x *GetInstanceConfigurationResponse) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *GetInstanceConfigurationResponse) GetAccountSlug() string { + if x != nil { + return x.AccountSlug + } + return "" +} + +func (x *GetInstanceConfigurationResponse) GetAccountName() string { + if x != nil { + return x.AccountName + } + return "" +} + +func (x *GetInstanceConfigurationResponse) GetVault() *VaultConfiguration { + if x != nil { + return x.Vault + } + return nil +} + +func (x *GetInstanceConfigurationResponse) GetEnvironment() []*EnvironmentVariable { + if x != nil { + return x.Environment + } + return nil +} + +func (x *GetInstanceConfigurationResponse) GetInstanceSlug() string { + if x != nil { + return x.InstanceSlug + } + return "" +} + +func (x *GetInstanceConfigurationResponse) GetInstanceName() string { + if x != nil { + return x.InstanceName + } + return "" +} + +func (x *GetInstanceConfigurationResponse) GetInstanceStatus() string { + if x != nil { + return x.InstanceStatus + } + return "" +} + +// Vault/OpenBao configuration for an instance +type VaultConfiguration struct { + state protoimpl.MessageState `protogen:"open.v1"` + VaultAddress string `protobuf:"bytes,1,opt,name=vault_address,json=vaultAddress,proto3" json:"vault_address,omitempty"` + AccountSecretPath string `protobuf:"bytes,2,opt,name=account_secret_path,json=accountSecretPath,proto3" json:"account_secret_path,omitempty"` // secret/accounts/{slug} + InstanceSecretPath string `protobuf:"bytes,3,opt,name=instance_secret_path,json=instanceSecretPath,proto3" json:"instance_secret_path,omitempty"` // secret/accounts/{slug}/{instance} + AccountSecretExists bool `protobuf:"varint,4,opt,name=account_secret_exists,json=accountSecretExists,proto3" json:"account_secret_exists,omitempty"` + InstanceSecretExists bool `protobuf:"varint,5,opt,name=instance_secret_exists,json=instanceSecretExists,proto3" json:"instance_secret_exists,omitempty"` + InstanceSecretKeys []string `protobuf:"bytes,6,rep,name=instance_secret_keys,json=instanceSecretKeys,proto3" json:"instance_secret_keys,omitempty"` // ["DATABASE_URL", "JWT_SECRET"] + ApproleName string `protobuf:"bytes,7,opt,name=approle_name,json=approleName,proto3" json:"approle_name,omitempty"` // account-{slug} + ApproleRoleId string `protobuf:"bytes,8,opt,name=approle_role_id,json=approleRoleId,proto3" json:"approle_role_id,omitempty"` // Static role ID for debugging + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VaultConfiguration) Reset() { + *x = VaultConfiguration{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VaultConfiguration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VaultConfiguration) ProtoMessage() {} + +func (x *VaultConfiguration) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[73] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VaultConfiguration.ProtoReflect.Descriptor instead. +func (*VaultConfiguration) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{73} +} + +func (x *VaultConfiguration) GetVaultAddress() string { + if x != nil { + return x.VaultAddress + } + return "" +} + +func (x *VaultConfiguration) GetAccountSecretPath() string { + if x != nil { + return x.AccountSecretPath + } + return "" +} + +func (x *VaultConfiguration) GetInstanceSecretPath() string { + if x != nil { + return x.InstanceSecretPath + } + return "" +} + +func (x *VaultConfiguration) GetAccountSecretExists() bool { + if x != nil { + return x.AccountSecretExists + } + return false +} + +func (x *VaultConfiguration) GetInstanceSecretExists() bool { + if x != nil { + return x.InstanceSecretExists + } + return false +} + +func (x *VaultConfiguration) GetInstanceSecretKeys() []string { + if x != nil { + return x.InstanceSecretKeys + } + return nil +} + +func (x *VaultConfiguration) GetApproleName() string { + if x != nil { + return x.ApproleName + } + return "" +} + +func (x *VaultConfiguration) GetApproleRoleId() string { + if x != nil { + return x.ApproleRoleId + } + return "" +} + +// Environment variable with source and masking info +type EnvironmentVariable struct { + state protoimpl.MessageState `protogen:"open.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // Actual value or "••••••••" if masked + IsMasked bool `protobuf:"varint,3,opt,name=is_masked,json=isMasked,proto3" json:"is_masked,omitempty"` + Source string `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"` // "vault", "config", "db" - where this value comes from + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnvironmentVariable) Reset() { + *x = EnvironmentVariable{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnvironmentVariable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnvironmentVariable) ProtoMessage() {} + +func (x *EnvironmentVariable) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[74] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnvironmentVariable.ProtoReflect.Descriptor instead. +func (*EnvironmentVariable) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{74} +} + +func (x *EnvironmentVariable) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *EnvironmentVariable) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *EnvironmentVariable) GetIsMasked() bool { + if x != nil { + return x.IsMasked + } + return false +} + +func (x *EnvironmentVariable) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +// Request for getting password hashes for instance users (called by CMS on startup) +type GetInstanceUserPasswordsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceUserPasswordsRequest) Reset() { + *x = GetInstanceUserPasswordsRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceUserPasswordsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceUserPasswordsRequest) ProtoMessage() {} + +func (x *GetInstanceUserPasswordsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[75] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceUserPasswordsRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceUserPasswordsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{75} +} + +func (x *GetInstanceUserPasswordsRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +// Response with password hashes for all SSO users in the instance +type GetInstanceUserPasswordsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Users []*UserPasswordEntry `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceUserPasswordsResponse) Reset() { + *x = GetInstanceUserPasswordsResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceUserPasswordsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceUserPasswordsResponse) ProtoMessage() {} + +func (x *GetInstanceUserPasswordsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[76] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceUserPasswordsResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceUserPasswordsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{76} +} + +func (x *GetInstanceUserPasswordsResponse) GetUsers() []*UserPasswordEntry { + if x != nil { + return x.Users + } + return nil +} + +// Password entry for a single user +type UserPasswordEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` + PasswordHash string `protobuf:"bytes,2,opt,name=password_hash,json=passwordHash,proto3" json:"password_hash,omitempty"` // bcrypt hash (empty if user has no password set) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserPasswordEntry) Reset() { + *x = UserPasswordEntry{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserPasswordEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserPasswordEntry) ProtoMessage() {} + +func (x *UserPasswordEntry) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[77] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserPasswordEntry.ProtoReflect.Descriptor instead. +func (*UserPasswordEntry) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{77} +} + +func (x *UserPasswordEntry) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *UserPasswordEntry) GetPasswordHash() string { + if x != nil { + return x.PasswordHash + } + return "" +} + +type RequestSelfRestartRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestSelfRestartRequest) Reset() { + *x = RequestSelfRestartRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestSelfRestartRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestSelfRestartRequest) ProtoMessage() {} + +func (x *RequestSelfRestartRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[78] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestSelfRestartRequest.ProtoReflect.Descriptor instead. +func (*RequestSelfRestartRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{78} +} + +func (x *RequestSelfRestartRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +type RequestSelfRestartResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Accepted bool `protobuf:"varint,1,opt,name=accepted,proto3" json:"accepted,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + RestartDelaySeconds int32 `protobuf:"varint,3,opt,name=restart_delay_seconds,json=restartDelaySeconds,proto3" json:"restart_delay_seconds,omitempty"` // How many seconds until the container restarts + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestSelfRestartResponse) Reset() { + *x = RequestSelfRestartResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestSelfRestartResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestSelfRestartResponse) ProtoMessage() {} + +func (x *RequestSelfRestartResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[79] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestSelfRestartResponse.ProtoReflect.Descriptor instead. +func (*RequestSelfRestartResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{79} +} + +func (x *RequestSelfRestartResponse) GetAccepted() bool { + if x != nil { + return x.Accepted + } + return false +} + +func (x *RequestSelfRestartResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *RequestSelfRestartResponse) GetRestartDelaySeconds() int32 { + if x != nil { + return x.RestartDelaySeconds + } + return 0 +} + +type WatchAndRestartInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + WatchToken string `protobuf:"bytes,2,opt,name=watch_token,json=watchToken,proto3" json:"watch_token,omitempty"` + WatchTokenExpiry int64 `protobuf:"varint,3,opt,name=watch_token_expiry,json=watchTokenExpiry,proto3" json:"watch_token_expiry,omitempty"` + // If set, replace the container with this image instead of just restarting. + // Used after orchestrator-driven plugin builds. + DeployImage string `protobuf:"bytes,4,opt,name=deploy_image,json=deployImage,proto3" json:"deploy_image,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WatchAndRestartInstanceRequest) Reset() { + *x = WatchAndRestartInstanceRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WatchAndRestartInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WatchAndRestartInstanceRequest) ProtoMessage() {} + +func (x *WatchAndRestartInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[80] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WatchAndRestartInstanceRequest.ProtoReflect.Descriptor instead. +func (*WatchAndRestartInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{80} +} + +func (x *WatchAndRestartInstanceRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *WatchAndRestartInstanceRequest) GetWatchToken() string { + if x != nil { + return x.WatchToken + } + return "" +} + +func (x *WatchAndRestartInstanceRequest) GetWatchTokenExpiry() int64 { + if x != nil { + return x.WatchTokenExpiry + } + return 0 +} + +func (x *WatchAndRestartInstanceRequest) GetDeployImage() string { + if x != nil { + return x.DeployImage + } + return "" +} + +type MoveInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + TargetAccountId string `protobuf:"bytes,2,opt,name=target_account_id,json=targetAccountId,proto3" json:"target_account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MoveInstanceRequest) Reset() { + *x = MoveInstanceRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MoveInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MoveInstanceRequest) ProtoMessage() {} + +func (x *MoveInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[81] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MoveInstanceRequest.ProtoReflect.Descriptor instead. +func (*MoveInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{81} +} + +func (x *MoveInstanceRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *MoveInstanceRequest) GetTargetAccountId() string { + if x != nil { + return x.TargetAccountId + } + return "" +} + +type MoveInstanceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MoveInstanceResponse) Reset() { + *x = MoveInstanceResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MoveInstanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MoveInstanceResponse) ProtoMessage() {} + +func (x *MoveInstanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[82] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MoveInstanceResponse.ProtoReflect.Descriptor instead. +func (*MoveInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{82} +} + +func (x *MoveInstanceResponse) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +type MoveInstanceToNodeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + TargetNodeId string `protobuf:"bytes,2,opt,name=target_node_id,json=targetNodeId,proto3" json:"target_node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MoveInstanceToNodeRequest) Reset() { + *x = MoveInstanceToNodeRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MoveInstanceToNodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MoveInstanceToNodeRequest) ProtoMessage() {} + +func (x *MoveInstanceToNodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[83] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MoveInstanceToNodeRequest.ProtoReflect.Descriptor instead. +func (*MoveInstanceToNodeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{83} +} + +func (x *MoveInstanceToNodeRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *MoveInstanceToNodeRequest) GetTargetNodeId() string { + if x != nil { + return x.TargetNodeId + } + return "" +} + +type MoveInstanceToNodeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MoveInstanceToNodeResponse) Reset() { + *x = MoveInstanceToNodeResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MoveInstanceToNodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MoveInstanceToNodeResponse) ProtoMessage() {} + +func (x *MoveInstanceToNodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[84] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MoveInstanceToNodeResponse.ProtoReflect.Descriptor instead. +func (*MoveInstanceToNodeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{84} +} + +func (x *MoveInstanceToNodeResponse) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +type InstallPluginToInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + ScopeSlug string `protobuf:"bytes,2,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + PluginName string `protobuf:"bytes,3,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + // version_or_channel: explicit version or "@channel"; empty → "@latest". + VersionOrChannel string `protobuf:"bytes,4,opt,name=version_or_channel,json=versionOrChannel,proto3" json:"version_or_channel,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallPluginToInstanceRequest) Reset() { + *x = InstallPluginToInstanceRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallPluginToInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallPluginToInstanceRequest) ProtoMessage() {} + +func (x *InstallPluginToInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[85] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallPluginToInstanceRequest.ProtoReflect.Descriptor instead. +func (*InstallPluginToInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{85} +} + +func (x *InstallPluginToInstanceRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *InstallPluginToInstanceRequest) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *InstallPluginToInstanceRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *InstallPluginToInstanceRequest) GetVersionOrChannel() string { + if x != nil { + return x.VersionOrChannel + } + return "" +} + +type InstallPluginToInstanceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstalledVersion string `protobuf:"bytes,1,opt,name=installed_version,json=installedVersion,proto3" json:"installed_version,omitempty"` + // restart_required is true when the CMS staged the plugin for its next + // restart instead of hot-loading it. + RestartRequired bool `protobuf:"varint,2,opt,name=restart_required,json=restartRequired,proto3" json:"restart_required,omitempty"` + AlreadyInstalled bool `protobuf:"varint,3,opt,name=already_installed,json=alreadyInstalled,proto3" json:"already_installed,omitempty"` + // message is a human-readable outcome note surfaced in the dashboard toast. + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallPluginToInstanceResponse) Reset() { + *x = InstallPluginToInstanceResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallPluginToInstanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallPluginToInstanceResponse) ProtoMessage() {} + +func (x *InstallPluginToInstanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_instances_proto_msgTypes[86] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallPluginToInstanceResponse.ProtoReflect.Descriptor instead. +func (*InstallPluginToInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{86} +} + +func (x *InstallPluginToInstanceResponse) GetInstalledVersion() string { + if x != nil { + return x.InstalledVersion + } + return "" +} + +func (x *InstallPluginToInstanceResponse) GetRestartRequired() bool { + if x != nil { + return x.RestartRequired + } + return false +} + +func (x *InstallPluginToInstanceResponse) GetAlreadyInstalled() bool { + if x != nil { + return x.AlreadyInstalled + } + return false +} + +func (x *InstallPluginToInstanceResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +var File_orchestrator_v1_instances_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_instances_proto_rawDesc = "" + + "\n" + + "\x1forchestrator/v1/instances.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xae\n" + + "\n" + + "\bInstance\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n" + + "\n" + + "account_id\x18\x02 \x01(\tR\taccountId\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12\x12\n" + + "\x04slug\x18\x04 \x01(\tR\x04slug\x127\n" + + "\x06status\x18\x05 \x01(\x0e2\x1f.orchestrator.v1.InstanceStatusR\x06status\x12*\n" + + "\x0estatus_message\x18\x06 \x01(\tH\x00R\rstatusMessage\x88\x01\x01\x12(\n" + + "\rhealth_status\x18\a \x01(\tH\x01R\fhealthStatus\x88\x01\x01\x12K\n" + + "\x11last_health_check\x18\b \x01(\v2\x1a.google.protobuf.TimestampH\x02R\x0flastHealthCheck\x88\x01\x01\x122\n" + + "\x15current_storage_bytes\x18\t \x01(\x03R\x13currentStorageBytes\x126\n" + + "\x17current_bandwidth_bytes\x18\n" + + " \x01(\x03R\x15currentBandwidthBytes\x12F\n" + + "\x0eprovisioned_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampH\x03R\rprovisionedAt\x88\x01\x01\x12G\n" + + "\x0flast_started_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampH\x04R\rlastStartedAt\x88\x01\x01\x12G\n" + + "\x0flast_stopped_at\x18\r \x01(\v2\x1a.google.protobuf.TimestampH\x05R\rlastStoppedAt\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12*\n" + + "\x0eprimary_domain\x18\x10 \x01(\tH\x06R\rprimaryDomain\x88\x01\x01\x12\x1c\n" + + "\anode_id\x18\x11 \x01(\tH\aR\x06nodeId\x88\x01\x01\x12$\n" + + "\vcms_version\x18\x12 \x01(\tH\bR\n" + + "cmsVersion\x88\x01\x01\x12(\n" + + "\x0ecwv_lcp_ms_p75\x18\x13 \x01(\x05H\tR\vcwvLcpMsP75\x88\x01\x01\x12#\n" + + "\vcwv_cls_p75\x18\x14 \x01(\x01H\n" + + "R\tcwvClsP75\x88\x01\x01\x12(\n" + + "\x0ecwv_inp_ms_p75\x18\x15 \x01(\x05H\vR\vcwvInpMsP75\x88\x01\x01\x12-\n" + + "\x10cwv_sample_count\x18\x16 \x01(\x03H\fR\x0ecwvSampleCount\x88\x01\x01\x12\x1e\n" + + "\bcwv_date\x18\x17 \x01(\tH\rR\acwvDate\x88\x01\x01B\x11\n" + + "\x0f_status_messageB\x10\n" + + "\x0e_health_statusB\x14\n" + + "\x12_last_health_checkB\x11\n" + + "\x0f_provisioned_atB\x12\n" + + "\x10_last_started_atB\x12\n" + + "\x10_last_stopped_atB\x11\n" + + "\x0f_primary_domainB\n" + + "\n" + + "\b_node_idB\x0e\n" + + "\f_cms_versionB\x11\n" + + "\x0f_cwv_lcp_ms_p75B\x0e\n" + + "\f_cwv_cls_p75B\x11\n" + + "\x0f_cwv_inp_ms_p75B\x13\n" + + "\x11_cwv_sample_countB\v\n" + + "\t_cwv_date\"\xc3\x02\n" + + "\fInstanceUser\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" + + "\vinstance_id\x18\x02 \x01(\tR\n" + + "instanceId\x12\x17\n" + + "\auser_id\x18\x03 \x01(\tR\x06userId\x12\x14\n" + + "\x05email\x18\x04 \x01(\tR\x05email\x12\x1d\n" + + "\n" + + "first_name\x18\x05 \x01(\tR\tfirstName\x12\x1b\n" + + "\tlast_name\x18\x06 \x01(\tR\blastName\x121\n" + + "\x04role\x18\a \x01(\x0e2\x1d.orchestrator.v1.InstanceRoleR\x04role\x12I\n" + + "\x10last_accessed_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampH\x00R\x0elastAccessedAt\x88\x01\x01B\x13\n" + + "\x11_last_accessed_atJ\x04\b\b\x10\t\"v\n" + + "\bLogEntry\x128\n" + + "\ttimestamp\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x12\x16\n" + + "\x06stream\x18\x03 \x01(\tR\x06stream\"\xcc\x01\n" + + "\x11OperationProgress\x12\x12\n" + + "\x04step\x18\x01 \x01(\tR\x04step\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x12\x16\n" + + "\x06stream\x18\x03 \x01(\tR\x06stream\x12\x19\n" + + "\bis_error\x18\x04 \x01(\bR\aisError\x12\x1f\n" + + "\vis_complete\x18\x05 \x01(\bR\n" + + "isComplete\x125\n" + + "\binstance\x18\x06 \x01(\v2\x19.orchestrator.v1.InstanceR\binstance\"\xa8\x01\n" + + "\x14InstanceOperationLog\x12\x10\n" + + "\x03seq\x18\x01 \x01(\x05R\x03seq\x12\x16\n" + + "\x06stream\x18\x02 \x01(\tR\x06stream\x12\x12\n" + + "\x04step\x18\x03 \x01(\tR\x04step\x12\x18\n" + + "\amessage\x18\x04 \x01(\tR\amessage\x12\x19\n" + + "\bis_error\x18\x05 \x01(\bR\aisError\x12\x1d\n" + + "\n" + + "created_at\x18\x06 \x01(\tR\tcreatedAt\"\x81\x04\n" + + "\x11InstanceOperation\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" + + "\vinstance_id\x18\x02 \x01(\tR\n" + + "instanceId\x12\x1d\n" + + "\n" + + "account_id\x18\x03 \x01(\tR\taccountId\x12:\n" + + "\x04type\x18\x04 \x01(\x0e2&.orchestrator.v1.InstanceOperationTypeR\x04type\x12@\n" + + "\x06status\x18\x05 \x01(\x0e2(.orchestrator.v1.InstanceOperationStatusR\x06status\x12\x12\n" + + "\x04step\x18\x06 \x01(\tR\x04step\x12\x18\n" + + "\amessage\x18\a \x01(\tR\amessage\x12\x14\n" + + "\x05error\x18\b \x01(\tR\x05error\x12!\n" + + "\ffrom_version\x18\t \x01(\tR\vfromVersion\x12%\n" + + "\x0etarget_version\x18\n" + + " \x01(\tR\rtargetVersion\x12\x1d\n" + + "\n" + + "started_at\x18\v \x01(\tR\tstartedAt\x12\x19\n" + + "\bready_at\x18\f \x01(\tR\areadyAt\x12\x1f\n" + + "\vfinished_at\x18\r \x01(\tR\n" + + "finishedAt\x125\n" + + "\binstance\x18\x0e \x01(\v2\x19.orchestrator.v1.InstanceR\binstance\"\xbe\x01\n" + + "\x15StartOperationRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12:\n" + + "\x04type\x18\x02 \x01(\x0e2&.orchestrator.v1.InstanceOperationTypeR\x04type\x12%\n" + + "\x0etarget_version\x18\x03 \x01(\tR\rtargetVersion\x12!\n" + + "\fdeploy_image\x18\x04 \x01(\tR\vdeployImage\";\n" + + "\x16StartOperationResponse\x12!\n" + + "\foperation_id\x18\x01 \x01(\tR\voperationId\"8\n" + + "\x13GetOperationRequest\x12!\n" + + "\foperation_id\x18\x01 \x01(\tR\voperationId\"\x93\x01\n" + + "\x14GetOperationResponse\x12@\n" + + "\toperation\x18\x01 \x01(\v2\".orchestrator.v1.InstanceOperationR\toperation\x129\n" + + "\x04logs\x18\x02 \x03(\v2%.orchestrator.v1.InstanceOperationLogR\x04logs\"<\n" + + "\x19GetActiveOperationRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"^\n" + + "\x1aGetActiveOperationResponse\x12@\n" + + "\toperation\x18\x01 \x01(\v2\".orchestrator.v1.InstanceOperationR\toperation\"<\n" + + "\x19GetLatestOperationRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"^\n" + + "\x1aGetLatestOperationResponse\x12@\n" + + "\toperation\x18\x01 \x01(\v2\".orchestrator.v1.InstanceOperationR\toperation\";\n" + + "\x16CancelOperationRequest\x12!\n" + + "\foperation_id\x18\x01 \x01(\tR\voperationId\"7\n" + + "\x17CancelOperationResponse\x12\x1c\n" + + "\tcancelled\x18\x01 \x01(\bR\tcancelled\"\x1c\n" + + "\x1aGetLatestCMSVersionRequest\"7\n" + + "\x1bGetLatestCMSVersionResponse\x12\x18\n" + + "\aversion\x18\x01 \x01(\tR\aversion\"\x97\x02\n" + + "\x0fUpgradeCampaign\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12%\n" + + "\x0etarget_version\x18\x02 \x01(\tR\rtargetVersion\x12\x16\n" + + "\x06status\x18\x03 \x01(\tR\x06status\x12)\n" + + "\x10node_concurrency\x18\x04 \x01(\x05R\x0fnodeConcurrency\x12+\n" + + "\x11failure_threshold\x18\x05 \x01(\x05R\x10failureThreshold\x12\x1d\n" + + "\n" + + "created_at\x18\x06 \x01(\tR\tcreatedAt\x12\x1d\n" + + "\n" + + "started_at\x18\a \x01(\tR\tstartedAt\x12\x1f\n" + + "\vfinished_at\x18\b \x01(\tR\n" + + "finishedAt\"\xf4\x01\n" + + "\x13UpgradeCampaignItem\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" + + "\vcampaign_id\x18\x02 \x01(\tR\n" + + "campaignId\x12\x1f\n" + + "\vinstance_id\x18\x03 \x01(\tR\n" + + "instanceId\x12\x17\n" + + "\anode_id\x18\x04 \x01(\tR\x06nodeId\x12\x16\n" + + "\x06status\x18\x05 \x01(\tR\x06status\x12!\n" + + "\foperation_id\x18\x06 \x01(\tR\voperationId\x12!\n" + + "\ffrom_version\x18\a \x01(\tR\vfromVersion\x12\x14\n" + + "\x05error\x18\b \x01(\tR\x05error\"F\n" + + "\x1dPreviewUpgradeCampaignRequest\x12%\n" + + "\x0etarget_version\x18\x01 \x01(\tR\rtargetVersion\"P\n" + + "\x10PreviewNodeGroup\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12#\n" + + "\rupgrade_count\x18\x02 \x01(\x05R\fupgradeCount\"\x96\x01\n" + + "\x1ePreviewUpgradeCampaignResponse\x12%\n" + + "\x0etarget_version\x18\x01 \x01(\tR\rtargetVersion\x12\x14\n" + + "\x05total\x18\x02 \x01(\x05R\x05total\x127\n" + + "\x05nodes\x18\x03 \x03(\v2!.orchestrator.v1.PreviewNodeGroupR\x05nodes\"\x9c\x01\n" + + "\x1bStartUpgradeCampaignRequest\x12%\n" + + "\x0etarget_version\x18\x01 \x01(\tR\rtargetVersion\x12)\n" + + "\x10node_concurrency\x18\x02 \x01(\x05R\x0fnodeConcurrency\x12+\n" + + "\x11failure_threshold\x18\x03 \x01(\x05R\x10failureThreshold\"?\n" + + "\x1cStartUpgradeCampaignResponse\x12\x1f\n" + + "\vcampaign_id\x18\x01 \x01(\tR\n" + + "campaignId\"<\n" + + "\x19GetUpgradeCampaignRequest\x12\x1f\n" + + "\vcampaign_id\x18\x01 \x01(\tR\n" + + "campaignId\"\x96\x01\n" + + "\x1aGetUpgradeCampaignResponse\x12<\n" + + "\bcampaign\x18\x01 \x01(\v2 .orchestrator.v1.UpgradeCampaignR\bcampaign\x12:\n" + + "\x05items\x18\x02 \x03(\v2$.orchestrator.v1.UpgradeCampaignItemR\x05items\"N\n" + + "\x1bListUpgradeCampaignsRequest\x12\x12\n" + + "\x04page\x18\x01 \x01(\x05R\x04page\x12\x1b\n" + + "\tpage_size\x18\x02 \x01(\x05R\bpageSize\"^\n" + + "\x1cListUpgradeCampaignsResponse\x12>\n" + + "\tcampaigns\x18\x01 \x03(\v2 .orchestrator.v1.UpgradeCampaignR\tcampaigns\"8\n" + + "\x15CampaignActionRequest\x12\x1f\n" + + "\vcampaign_id\x18\x01 \x01(\tR\n" + + "campaignId\"(\n" + + "\x16CampaignActionResponse\x12\x0e\n" + + "\x02ok\x18\x01 \x01(\bR\x02ok\"\xdd\x01\n" + + "\x15CreateInstanceRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" + + "\x04slug\x18\x03 \x01(\tR\x04slug\x12\x1c\n" + + "\aplan_id\x18\x04 \x01(\tH\x00R\x06planId\x88\x01\x01\x12\x19\n" + + "\x05theme\x18\x05 \x01(\tH\x01R\x05theme\x88\x01\x01\x12 \n" + + "\tsite_type\x18\x06 \x01(\tH\x02R\bsiteType\x88\x01\x01B\n" + + "\n" + + "\b_plan_idB\b\n" + + "\x06_themeB\f\n" + + "\n" + + "_site_type\"r\n" + + "\x16CreateInstanceResponse\x125\n" + + "\binstance\x18\x01 \x01(\v2\x19.orchestrator.v1.InstanceR\binstance\x12!\n" + + "\foperation_id\x18\x02 \x01(\tR\voperationId\"$\n" + + "\x12GetInstanceRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"L\n" + + "\x13GetInstanceResponse\x125\n" + + "\binstance\x18\x01 \x01(\v2\x19.orchestrator.v1.InstanceR\binstance\"~\n" + + "\x14ListInstancesRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12<\n" + + "\x06status\x18\x02 \x01(\x0e2\x1f.orchestrator.v1.InstanceStatusH\x00R\x06status\x88\x01\x01B\t\n" + + "\a_status\"P\n" + + "\x15ListInstancesResponse\x127\n" + + "\tinstances\x18\x01 \x03(\v2\x19.orchestrator.v1.InstanceR\tinstances\"\x18\n" + + "\x16ListMyInstancesRequest\"R\n" + + "\x17ListMyInstancesResponse\x127\n" + + "\tinstances\x18\x01 \x03(\v2\x19.orchestrator.v1.InstanceR\tinstances\"\x8a\x01\n" + + "\x17ListAllInstancesRequest\x12<\n" + + "\x06status\x18\x01 \x01(\x0e2\x1f.orchestrator.v1.InstanceStatusH\x00R\x06status\x88\x01\x01\x12\x1b\n" + + "\x06search\x18\x02 \x01(\tH\x01R\x06search\x88\x01\x01B\t\n" + + "\a_statusB\t\n" + + "\a_search\"S\n" + + "\x18ListAllInstancesResponse\x127\n" + + "\tinstances\x18\x01 \x03(\v2\x19.orchestrator.v1.InstanceR\tinstances\"I\n" + + "\x15UpdateInstanceRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01B\a\n" + + "\x05_name\"O\n" + + "\x16UpdateInstanceResponse\x125\n" + + "\binstance\x18\x01 \x01(\v2\x19.orchestrator.v1.InstanceR\binstance\"'\n" + + "\x15DeleteInstanceRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"\x18\n" + + "\x16DeleteInstanceResponse\"&\n" + + "\x14StartInstanceRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"N\n" + + "\x15StartInstanceResponse\x125\n" + + "\binstance\x18\x01 \x01(\v2\x19.orchestrator.v1.InstanceR\binstance\"%\n" + + "\x13StopInstanceRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"M\n" + + "\x14StopInstanceResponse\x125\n" + + "\binstance\x18\x01 \x01(\v2\x19.orchestrator.v1.InstanceR\binstance\"(\n" + + "\x16RestartInstanceRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"O\n" + + "\x16UpgradeInstanceRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12%\n" + + "\x0etarget_version\x18\x02 \x01(\tR\rtargetVersion\"T\n" + + "\x16GetInstanceLogsRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04tail\x18\x02 \x01(\x05R\x04tail\x12\x16\n" + + "\x06follow\x18\x03 \x01(\bR\x06follow\";\n" + + "\x18ListInstanceUsersRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"P\n" + + "\x19ListInstanceUsersResponse\x123\n" + + "\x05users\x18\x01 \x03(\v2\x1d.orchestrator.v1.InstanceUserR\x05users\"\x89\x01\n" + + "\x1aGrantInstanceAccessRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x17\n" + + "\auser_id\x18\x02 \x01(\tR\x06userId\x121\n" + + "\x04role\x18\x03 \x01(\x0e2\x1d.orchestrator.v1.InstanceRoleR\x04role\"a\n" + + "\x1bGrantInstanceAccessResponse\x12B\n" + + "\rinstance_user\x18\x01 \x01(\v2\x1d.orchestrator.v1.InstanceUserR\finstanceUser\"t\n" + + "\x15UpdateUserRoleRequest\x12(\n" + + "\x10instance_user_id\x18\x01 \x01(\tR\x0einstanceUserId\x121\n" + + "\x04role\x18\x02 \x01(\x0e2\x1d.orchestrator.v1.InstanceRoleR\x04role\"\\\n" + + "\x16UpdateUserRoleResponse\x12B\n" + + "\rinstance_user\x18\x01 \x01(\v2\x1d.orchestrator.v1.InstanceUserR\finstanceUser\"[\n" + + "\x11RemoveUserRequest\x12(\n" + + "\x10instance_user_id\x18\x01 \x01(\tR\x0einstanceUserId\x12\x1c\n" + + "\tpermanent\x18\x02 \x01(\bR\tpermanent\"\x14\n" + + "\x12RemoveUserResponse\"B\n" + + "\x1fGetInstanceStorageLimitsRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"\xcd\x04\n" + + " GetInstanceStorageLimitsResponse\x129\n" + + "\x19media_storage_limit_bytes\x18\x01 \x01(\x03R\x16mediaStorageLimitBytes\x127\n" + + "\x18media_storage_used_bytes\x18\x02 \x01(\x03R\x15mediaStorageUsedBytes\x129\n" + + "\x19total_storage_limit_bytes\x18\x03 \x01(\x03R\x16totalStorageLimitBytes\x127\n" + + "\x18total_storage_used_bytes\x18\x04 \x01(\x03R\x15totalStorageUsedBytes\x12,\n" + + "\x12media_percent_used\x18\x05 \x01(\x01R\x10mediaPercentUsed\x12#\n" + + "\rwarning_level\x18\x06 \x01(\tR\fwarningLevel\x12,\n" + + "\x12overage_rate_cents\x18\a \x01(\x03R\x10overageRateCents\x12\"\n" + + "\ris_over_limit\x18\b \x01(\bR\visOverLimit\x12)\n" + + "\x10enforcement_mode\x18\t \x01(\tR\x0fenforcementMode\x12\x1d\n" + + "\n" + + "can_upload\x18\n" + + " \x01(\bR\tcanUpload\x12)\n" + + "\x10upgrade_required\x18\v \x01(\bR\x0fupgradeRequired\x12'\n" + + "\x0fupgrade_message\x18\f \x01(\tR\x0eupgradeMessage\"9\n" + + "\x14BulkInstancesRequest\x12!\n" + + "\finstance_ids\x18\x01 \x03(\tR\vinstanceIds\"V\n" + + "\x15BulkInstancesResponse\x12=\n" + + "\aresults\x18\x01 \x03(\v2#.orchestrator.v1.BulkInstanceResultR\aresults\"T\n" + + "\x12BulkInstanceResult\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n" + + "\asuccess\x18\x02 \x01(\bR\asuccess\x12\x14\n" + + "\x05error\x18\x03 \x01(\tR\x05error\"<\n" + + "\x19GetInstanceMetricsRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"\xe7\x06\n" + + "\x1aGetInstanceMetricsResponse\x12.\n" + + "\x13media_storage_bytes\x18\x01 \x01(\x03R\x11mediaStorageBytes\x12.\n" + + "\x13database_size_bytes\x18\x02 \x01(\x03R\x11databaseSizeBytes\x12.\n" + + "\x13total_storage_bytes\x18\x03 \x01(\x03R\x11totalStorageBytes\x12.\n" + + "\x13storage_limit_bytes\x18\x04 \x01(\x03R\x11storageLimitBytes\x120\n" + + "\x14storage_percent_used\x18\x05 \x01(\x01R\x12storagePercentUsed\x12\x1d\n" + + "\n" + + "page_count\x18\x06 \x01(\x05R\tpageCount\x12\x1f\n" + + "\vblock_count\x18\a \x01(\x05R\n" + + "blockCount\x12\x1d\n" + + "\n" + + "post_count\x18\b \x01(\x05R\tpostCount\x12\x1f\n" + + "\vmedia_count\x18\t \x01(\x05R\n" + + "mediaCount\x12(\n" + + "\x10admin_user_count\x18\n" + + " \x01(\x05R\x0eadminUserCount\x12,\n" + + "\x12bandwidth_in_bytes\x18\v \x01(\x03R\x10bandwidthInBytes\x12.\n" + + "\x13bandwidth_out_bytes\x18\f \x01(\x03R\x11bandwidthOutBytes\x122\n" + + "\x15bandwidth_limit_bytes\x18\r \x01(\x03R\x13bandwidthLimitBytes\x124\n" + + "\x16bandwidth_percent_used\x18\x0e \x01(\x01R\x14bandwidthPercentUsed\x12\x1c\n" + + "\tpageviews\x18\x0f \x01(\x03R\tpageviews\x12'\n" + + "\x0funique_visitors\x18\x10 \x01(\x03R\x0euniqueVisitors\x12=\n" + + "\flast_updated\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\vlastUpdated\x12\x1f\n" + + "\vcms_version\x18\x12 \x01(\tR\n" + + "cmsVersion\x12!\n" + + "\frelease_name\x18\x13 \x01(\tR\vreleaseName\x12\x1b\n" + + "\tpatch_tag\x18\x14 \x01(\tR\bpatchTag\"Q\n" + + "\x1aGetBandwidthHistoryRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x12\n" + + "\x04days\x18\x02 \x01(\x05R\x04days\"\x9f\x01\n" + + "\x12BandwidthDataPoint\x12\x12\n" + + "\x04date\x18\x01 \x01(\tR\x04date\x12\x19\n" + + "\bbytes_in\x18\x02 \x01(\x03R\abytesIn\x12\x1b\n" + + "\tbytes_out\x18\x03 \x01(\x03R\bbytesOut\x12\x1f\n" + + "\vtotal_bytes\x18\x04 \x01(\x03R\n" + + "totalBytes\x12\x1c\n" + + "\tpageviews\x18\x05 \x01(\x03R\tpageviews\"\xb5\x02\n" + + "\x1bGetBandwidthHistoryResponse\x12D\n" + + "\vdata_points\x18\x01 \x03(\v2#.orchestrator.v1.BandwidthDataPointR\n" + + "dataPoints\x12$\n" + + "\x0etotal_bytes_in\x18\x02 \x01(\x03R\ftotalBytesIn\x12&\n" + + "\x0ftotal_bytes_out\x18\x03 \x01(\x03R\rtotalBytesOut\x12\x1f\n" + + "\vtotal_bytes\x18\x04 \x01(\x03R\n" + + "totalBytes\x12'\n" + + "\x0ftotal_pageviews\x18\x05 \x01(\x03R\x0etotalPageviews\x12\x1d\n" + + "\n" + + "start_date\x18\x06 \x01(\tR\tstartDate\x12\x19\n" + + "\bend_date\x18\a \x01(\tR\aendDate\"$\n" + + "\"RegenerateAllTraefikConfigsRequest\"1\n" + + "\x1fGetInstanceConfigurationRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"\xfd\x02\n" + + " GetInstanceConfigurationResponse\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12!\n" + + "\faccount_slug\x18\x02 \x01(\tR\vaccountSlug\x12!\n" + + "\faccount_name\x18\x03 \x01(\tR\vaccountName\x129\n" + + "\x05vault\x18\x04 \x01(\v2#.orchestrator.v1.VaultConfigurationR\x05vault\x12F\n" + + "\venvironment\x18\x05 \x03(\v2$.orchestrator.v1.EnvironmentVariableR\venvironment\x12#\n" + + "\rinstance_slug\x18\x06 \x01(\tR\finstanceSlug\x12#\n" + + "\rinstance_name\x18\a \x01(\tR\finstanceName\x12'\n" + + "\x0finstance_status\x18\b \x01(\tR\x0einstanceStatus\"\x82\x03\n" + + "\x12VaultConfiguration\x12#\n" + + "\rvault_address\x18\x01 \x01(\tR\fvaultAddress\x12.\n" + + "\x13account_secret_path\x18\x02 \x01(\tR\x11accountSecretPath\x120\n" + + "\x14instance_secret_path\x18\x03 \x01(\tR\x12instanceSecretPath\x122\n" + + "\x15account_secret_exists\x18\x04 \x01(\bR\x13accountSecretExists\x124\n" + + "\x16instance_secret_exists\x18\x05 \x01(\bR\x14instanceSecretExists\x120\n" + + "\x14instance_secret_keys\x18\x06 \x03(\tR\x12instanceSecretKeys\x12!\n" + + "\fapprole_name\x18\a \x01(\tR\vapproleName\x12&\n" + + "\x0fapprole_role_id\x18\b \x01(\tR\rapproleRoleId\"r\n" + + "\x13EnvironmentVariable\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\x12\x1b\n" + + "\tis_masked\x18\x03 \x01(\bR\bisMasked\x12\x16\n" + + "\x06source\x18\x04 \x01(\tR\x06source\"B\n" + + "\x1fGetInstanceUserPasswordsRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"\\\n" + + " GetInstanceUserPasswordsResponse\x128\n" + + "\x05users\x18\x01 \x03(\v2\".orchestrator.v1.UserPasswordEntryR\x05users\"N\n" + + "\x11UserPasswordEntry\x12\x14\n" + + "\x05email\x18\x01 \x01(\tR\x05email\x12#\n" + + "\rpassword_hash\x18\x02 \x01(\tR\fpasswordHash\"<\n" + + "\x19RequestSelfRestartRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"\x86\x01\n" + + "\x1aRequestSelfRestartResponse\x12\x1a\n" + + "\baccepted\x18\x01 \x01(\bR\baccepted\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x122\n" + + "\x15restart_delay_seconds\x18\x03 \x01(\x05R\x13restartDelaySeconds\"\xb3\x01\n" + + "\x1eWatchAndRestartInstanceRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1f\n" + + "\vwatch_token\x18\x02 \x01(\tR\n" + + "watchToken\x12,\n" + + "\x12watch_token_expiry\x18\x03 \x01(\x03R\x10watchTokenExpiry\x12!\n" + + "\fdeploy_image\x18\x04 \x01(\tR\vdeployImage\"b\n" + + "\x13MoveInstanceRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12*\n" + + "\x11target_account_id\x18\x02 \x01(\tR\x0ftargetAccountId\"M\n" + + "\x14MoveInstanceResponse\x125\n" + + "\binstance\x18\x01 \x01(\v2\x19.orchestrator.v1.InstanceR\binstance\"b\n" + + "\x19MoveInstanceToNodeRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12$\n" + + "\x0etarget_node_id\x18\x02 \x01(\tR\ftargetNodeId\"S\n" + + "\x1aMoveInstanceToNodeResponse\x125\n" + + "\binstance\x18\x01 \x01(\v2\x19.orchestrator.v1.InstanceR\binstance\"\xaf\x01\n" + + "\x1eInstallPluginToInstanceRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1d\n" + + "\n" + + "scope_slug\x18\x02 \x01(\tR\tscopeSlug\x12\x1f\n" + + "\vplugin_name\x18\x03 \x01(\tR\n" + + "pluginName\x12,\n" + + "\x12version_or_channel\x18\x04 \x01(\tR\x10versionOrChannel\"\xc0\x01\n" + + "\x1fInstallPluginToInstanceResponse\x12+\n" + + "\x11installed_version\x18\x01 \x01(\tR\x10installedVersion\x12)\n" + + "\x10restart_required\x18\x02 \x01(\bR\x0frestartRequired\x12+\n" + + "\x11already_installed\x18\x03 \x01(\bR\x10alreadyInstalled\x12\x18\n" + + "\amessage\x18\x04 \x01(\tR\amessage*\x88\x02\n" + + "\x0eInstanceStatus\x12\x1f\n" + + "\x1bINSTANCE_STATUS_UNSPECIFIED\x10\x00\x12 \n" + + "\x1cINSTANCE_STATUS_PROVISIONING\x10\x01\x12\x1b\n" + + "\x17INSTANCE_STATUS_RUNNING\x10\x02\x12\x1b\n" + + "\x17INSTANCE_STATUS_STOPPED\x10\x03\x12\x19\n" + + "\x15INSTANCE_STATUS_ERROR\x10\x04\x12\"\n" + + "\x1eINSTANCE_STATUS_DEPROVISIONING\x10\x05\x12\x1b\n" + + "\x17INSTANCE_STATUS_DELETED\x10\x06\x12\x1d\n" + + "\x19INSTANCE_STATUS_MIGRATING\x10\a*\x93\x01\n" + + "\fInstanceRole\x12\x1d\n" + + "\x19INSTANCE_ROLE_UNSPECIFIED\x10\x00\x12\x18\n" + + "\x14INSTANCE_ROLE_VIEWER\x10\x01\x12\x18\n" + + "\x14INSTANCE_ROLE_EDITOR\x10\x02\x12\x17\n" + + "\x13INSTANCE_ROLE_ADMIN\x10\x03\x12\x17\n" + + "\x13INSTANCE_ROLE_OWNER\x10\x04*\xd5\x01\n" + + "\x15InstanceOperationType\x12'\n" + + "#INSTANCE_OPERATION_TYPE_UNSPECIFIED\x10\x00\x12#\n" + + "\x1fINSTANCE_OPERATION_TYPE_UPGRADE\x10\x01\x12#\n" + + "\x1fINSTANCE_OPERATION_TYPE_RESTART\x10\x02\x12\"\n" + + "\x1eINSTANCE_OPERATION_TYPE_DEPLOY\x10\x03\x12%\n" + + "!INSTANCE_OPERATION_TYPE_PROVISION\x10\x04*\x8f\x02\n" + + "\x17InstanceOperationStatus\x12)\n" + + "%INSTANCE_OPERATION_STATUS_UNSPECIFIED\x10\x00\x12%\n" + + "!INSTANCE_OPERATION_STATUS_PENDING\x10\x01\x12%\n" + + "!INSTANCE_OPERATION_STATUS_RUNNING\x10\x02\x12,\n" + + "(INSTANCE_OPERATION_STATUS_AWAITING_READY\x10\x03\x12'\n" + + "#INSTANCE_OPERATION_STATUS_SUCCEEDED\x10\x04\x12$\n" + + " INSTANCE_OPERATION_STATUS_FAILED\x10\x052\x88$\n" + + "\x0fInstanceService\x12a\n" + + "\x0eCreateInstance\x12&.orchestrator.v1.CreateInstanceRequest\x1a'.orchestrator.v1.CreateInstanceResponse\x12X\n" + + "\vGetInstance\x12#.orchestrator.v1.GetInstanceRequest\x1a$.orchestrator.v1.GetInstanceResponse\x12^\n" + + "\rListInstances\x12%.orchestrator.v1.ListInstancesRequest\x1a&.orchestrator.v1.ListInstancesResponse\x12g\n" + + "\x10ListAllInstances\x12(.orchestrator.v1.ListAllInstancesRequest\x1a).orchestrator.v1.ListAllInstancesResponse\x12d\n" + + "\x0fListMyInstances\x12'.orchestrator.v1.ListMyInstancesRequest\x1a(.orchestrator.v1.ListMyInstancesResponse\x12a\n" + + "\x0eUpdateInstance\x12&.orchestrator.v1.UpdateInstanceRequest\x1a'.orchestrator.v1.UpdateInstanceResponse\x12a\n" + + "\x0eDeleteInstance\x12&.orchestrator.v1.DeleteInstanceRequest\x1a'.orchestrator.v1.DeleteInstanceResponse\x12^\n" + + "\rStartInstance\x12%.orchestrator.v1.StartInstanceRequest\x1a&.orchestrator.v1.StartInstanceResponse\x12[\n" + + "\fStopInstance\x12$.orchestrator.v1.StopInstanceRequest\x1a%.orchestrator.v1.StopInstanceResponse\x12a\n" + + "\x0eStartOperation\x12&.orchestrator.v1.StartOperationRequest\x1a'.orchestrator.v1.StartOperationResponse\x12[\n" + + "\fGetOperation\x12$.orchestrator.v1.GetOperationRequest\x1a%.orchestrator.v1.GetOperationResponse\x12m\n" + + "\x12GetActiveOperation\x12*.orchestrator.v1.GetActiveOperationRequest\x1a+.orchestrator.v1.GetActiveOperationResponse\x12m\n" + + "\x12GetLatestOperation\x12*.orchestrator.v1.GetLatestOperationRequest\x1a+.orchestrator.v1.GetLatestOperationResponse\x12d\n" + + "\x0fCancelOperation\x12'.orchestrator.v1.CancelOperationRequest\x1a(.orchestrator.v1.CancelOperationResponse\x12p\n" + + "\x13GetLatestCMSVersion\x12+.orchestrator.v1.GetLatestCMSVersionRequest\x1a,.orchestrator.v1.GetLatestCMSVersionResponse\x12W\n" + + "\x0fGetInstanceLogs\x12'.orchestrator.v1.GetInstanceLogsRequest\x1a\x19.orchestrator.v1.LogEntry0\x01\x12j\n" + + "\x11ListInstanceUsers\x12).orchestrator.v1.ListInstanceUsersRequest\x1a*.orchestrator.v1.ListInstanceUsersResponse\x12p\n" + + "\x13GrantInstanceAccess\x12+.orchestrator.v1.GrantInstanceAccessRequest\x1a,.orchestrator.v1.GrantInstanceAccessResponse\x12a\n" + + "\x0eUpdateUserRole\x12&.orchestrator.v1.UpdateUserRoleRequest\x1a'.orchestrator.v1.UpdateUserRoleResponse\x12U\n" + + "\n" + + "RemoveUser\x12\".orchestrator.v1.RemoveUserRequest\x1a#.orchestrator.v1.RemoveUserResponse\x12\x7f\n" + + "\x18GetInstanceStorageLimits\x120.orchestrator.v1.GetInstanceStorageLimitsRequest\x1a1.orchestrator.v1.GetInstanceStorageLimitsResponse\x12|\n" + + "\x17InstallPluginToInstance\x12/.orchestrator.v1.InstallPluginToInstanceRequest\x1a0.orchestrator.v1.InstallPluginToInstanceResponse\x12m\n" + + "\x12GetInstanceMetrics\x12*.orchestrator.v1.GetInstanceMetricsRequest\x1a+.orchestrator.v1.GetInstanceMetricsResponse\x12p\n" + + "\x13GetBandwidthHistory\x12+.orchestrator.v1.GetBandwidthHistoryRequest\x1a,.orchestrator.v1.GetBandwidthHistoryResponse\x12c\n" + + "\x12BulkStartInstances\x12%.orchestrator.v1.BulkInstancesRequest\x1a&.orchestrator.v1.BulkInstancesResponse\x12b\n" + + "\x11BulkStopInstances\x12%.orchestrator.v1.BulkInstancesRequest\x1a&.orchestrator.v1.BulkInstancesResponse\x12e\n" + + "\x14BulkRestartInstances\x12%.orchestrator.v1.BulkInstancesRequest\x1a&.orchestrator.v1.BulkInstancesResponse\x12d\n" + + "\x13BulkDeleteInstances\x12%.orchestrator.v1.BulkInstancesRequest\x1a&.orchestrator.v1.BulkInstancesResponse\x12m\n" + + "\x1cBulkRegenerateTraefikConfigs\x12%.orchestrator.v1.BulkInstancesRequest\x1a&.orchestrator.v1.BulkInstancesResponse\x12z\n" + + "\x1bRegenerateAllTraefikConfigs\x123.orchestrator.v1.RegenerateAllTraefikConfigsRequest\x1a&.orchestrator.v1.BulkInstancesResponse\x12\x7f\n" + + "\x18GetInstanceConfiguration\x120.orchestrator.v1.GetInstanceConfigurationRequest\x1a1.orchestrator.v1.GetInstanceConfigurationResponse\x12\x7f\n" + + "\x18GetInstanceUserPasswords\x120.orchestrator.v1.GetInstanceUserPasswordsRequest\x1a1.orchestrator.v1.GetInstanceUserPasswordsResponse\x12m\n" + + "\x12RequestSelfRestart\x12*.orchestrator.v1.RequestSelfRestartRequest\x1a+.orchestrator.v1.RequestSelfRestartResponse\x12p\n" + + "\x17WatchAndRestartInstance\x12/.orchestrator.v1.WatchAndRestartInstanceRequest\x1a\".orchestrator.v1.OperationProgress0\x01\x12[\n" + + "\fMoveInstance\x12$.orchestrator.v1.MoveInstanceRequest\x1a%.orchestrator.v1.MoveInstanceResponse\x12m\n" + + "\x12MoveInstanceToNode\x12*.orchestrator.v1.MoveInstanceToNodeRequest\x1a+.orchestrator.v1.MoveInstanceToNodeResponse\x12y\n" + + "\x16PreviewUpgradeCampaign\x12..orchestrator.v1.PreviewUpgradeCampaignRequest\x1a/.orchestrator.v1.PreviewUpgradeCampaignResponse\x12s\n" + + "\x14StartUpgradeCampaign\x12,.orchestrator.v1.StartUpgradeCampaignRequest\x1a-.orchestrator.v1.StartUpgradeCampaignResponse\x12m\n" + + "\x12GetUpgradeCampaign\x12*.orchestrator.v1.GetUpgradeCampaignRequest\x1a+.orchestrator.v1.GetUpgradeCampaignResponse\x12s\n" + + "\x14ListUpgradeCampaigns\x12,.orchestrator.v1.ListUpgradeCampaignsRequest\x1a-.orchestrator.v1.ListUpgradeCampaignsResponse\x12g\n" + + "\x14PauseUpgradeCampaign\x12&.orchestrator.v1.CampaignActionRequest\x1a'.orchestrator.v1.CampaignActionResponse\x12h\n" + + "\x15ResumeUpgradeCampaign\x12&.orchestrator.v1.CampaignActionRequest\x1a'.orchestrator.v1.CampaignActionResponse\x12h\n" + + "\x15CancelUpgradeCampaign\x12&.orchestrator.v1.CampaignActionRequest\x1a'.orchestrator.v1.CampaignActionResponseB\xd1\x01\n" + + "\x13com.orchestrator.v1B\x0eInstancesProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_instances_proto_rawDescOnce sync.Once + file_orchestrator_v1_instances_proto_rawDescData []byte +) + +func file_orchestrator_v1_instances_proto_rawDescGZIP() []byte { + file_orchestrator_v1_instances_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_instances_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_instances_proto_rawDesc), len(file_orchestrator_v1_instances_proto_rawDesc))) + }) + return file_orchestrator_v1_instances_proto_rawDescData +} + +var file_orchestrator_v1_instances_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_orchestrator_v1_instances_proto_msgTypes = make([]protoimpl.MessageInfo, 87) +var file_orchestrator_v1_instances_proto_goTypes = []any{ + (InstanceStatus)(0), // 0: orchestrator.v1.InstanceStatus + (InstanceRole)(0), // 1: orchestrator.v1.InstanceRole + (InstanceOperationType)(0), // 2: orchestrator.v1.InstanceOperationType + (InstanceOperationStatus)(0), // 3: orchestrator.v1.InstanceOperationStatus + (*Instance)(nil), // 4: orchestrator.v1.Instance + (*InstanceUser)(nil), // 5: orchestrator.v1.InstanceUser + (*LogEntry)(nil), // 6: orchestrator.v1.LogEntry + (*OperationProgress)(nil), // 7: orchestrator.v1.OperationProgress + (*InstanceOperationLog)(nil), // 8: orchestrator.v1.InstanceOperationLog + (*InstanceOperation)(nil), // 9: orchestrator.v1.InstanceOperation + (*StartOperationRequest)(nil), // 10: orchestrator.v1.StartOperationRequest + (*StartOperationResponse)(nil), // 11: orchestrator.v1.StartOperationResponse + (*GetOperationRequest)(nil), // 12: orchestrator.v1.GetOperationRequest + (*GetOperationResponse)(nil), // 13: orchestrator.v1.GetOperationResponse + (*GetActiveOperationRequest)(nil), // 14: orchestrator.v1.GetActiveOperationRequest + (*GetActiveOperationResponse)(nil), // 15: orchestrator.v1.GetActiveOperationResponse + (*GetLatestOperationRequest)(nil), // 16: orchestrator.v1.GetLatestOperationRequest + (*GetLatestOperationResponse)(nil), // 17: orchestrator.v1.GetLatestOperationResponse + (*CancelOperationRequest)(nil), // 18: orchestrator.v1.CancelOperationRequest + (*CancelOperationResponse)(nil), // 19: orchestrator.v1.CancelOperationResponse + (*GetLatestCMSVersionRequest)(nil), // 20: orchestrator.v1.GetLatestCMSVersionRequest + (*GetLatestCMSVersionResponse)(nil), // 21: orchestrator.v1.GetLatestCMSVersionResponse + (*UpgradeCampaign)(nil), // 22: orchestrator.v1.UpgradeCampaign + (*UpgradeCampaignItem)(nil), // 23: orchestrator.v1.UpgradeCampaignItem + (*PreviewUpgradeCampaignRequest)(nil), // 24: orchestrator.v1.PreviewUpgradeCampaignRequest + (*PreviewNodeGroup)(nil), // 25: orchestrator.v1.PreviewNodeGroup + (*PreviewUpgradeCampaignResponse)(nil), // 26: orchestrator.v1.PreviewUpgradeCampaignResponse + (*StartUpgradeCampaignRequest)(nil), // 27: orchestrator.v1.StartUpgradeCampaignRequest + (*StartUpgradeCampaignResponse)(nil), // 28: orchestrator.v1.StartUpgradeCampaignResponse + (*GetUpgradeCampaignRequest)(nil), // 29: orchestrator.v1.GetUpgradeCampaignRequest + (*GetUpgradeCampaignResponse)(nil), // 30: orchestrator.v1.GetUpgradeCampaignResponse + (*ListUpgradeCampaignsRequest)(nil), // 31: orchestrator.v1.ListUpgradeCampaignsRequest + (*ListUpgradeCampaignsResponse)(nil), // 32: orchestrator.v1.ListUpgradeCampaignsResponse + (*CampaignActionRequest)(nil), // 33: orchestrator.v1.CampaignActionRequest + (*CampaignActionResponse)(nil), // 34: orchestrator.v1.CampaignActionResponse + (*CreateInstanceRequest)(nil), // 35: orchestrator.v1.CreateInstanceRequest + (*CreateInstanceResponse)(nil), // 36: orchestrator.v1.CreateInstanceResponse + (*GetInstanceRequest)(nil), // 37: orchestrator.v1.GetInstanceRequest + (*GetInstanceResponse)(nil), // 38: orchestrator.v1.GetInstanceResponse + (*ListInstancesRequest)(nil), // 39: orchestrator.v1.ListInstancesRequest + (*ListInstancesResponse)(nil), // 40: orchestrator.v1.ListInstancesResponse + (*ListMyInstancesRequest)(nil), // 41: orchestrator.v1.ListMyInstancesRequest + (*ListMyInstancesResponse)(nil), // 42: orchestrator.v1.ListMyInstancesResponse + (*ListAllInstancesRequest)(nil), // 43: orchestrator.v1.ListAllInstancesRequest + (*ListAllInstancesResponse)(nil), // 44: orchestrator.v1.ListAllInstancesResponse + (*UpdateInstanceRequest)(nil), // 45: orchestrator.v1.UpdateInstanceRequest + (*UpdateInstanceResponse)(nil), // 46: orchestrator.v1.UpdateInstanceResponse + (*DeleteInstanceRequest)(nil), // 47: orchestrator.v1.DeleteInstanceRequest + (*DeleteInstanceResponse)(nil), // 48: orchestrator.v1.DeleteInstanceResponse + (*StartInstanceRequest)(nil), // 49: orchestrator.v1.StartInstanceRequest + (*StartInstanceResponse)(nil), // 50: orchestrator.v1.StartInstanceResponse + (*StopInstanceRequest)(nil), // 51: orchestrator.v1.StopInstanceRequest + (*StopInstanceResponse)(nil), // 52: orchestrator.v1.StopInstanceResponse + (*RestartInstanceRequest)(nil), // 53: orchestrator.v1.RestartInstanceRequest + (*UpgradeInstanceRequest)(nil), // 54: orchestrator.v1.UpgradeInstanceRequest + (*GetInstanceLogsRequest)(nil), // 55: orchestrator.v1.GetInstanceLogsRequest + (*ListInstanceUsersRequest)(nil), // 56: orchestrator.v1.ListInstanceUsersRequest + (*ListInstanceUsersResponse)(nil), // 57: orchestrator.v1.ListInstanceUsersResponse + (*GrantInstanceAccessRequest)(nil), // 58: orchestrator.v1.GrantInstanceAccessRequest + (*GrantInstanceAccessResponse)(nil), // 59: orchestrator.v1.GrantInstanceAccessResponse + (*UpdateUserRoleRequest)(nil), // 60: orchestrator.v1.UpdateUserRoleRequest + (*UpdateUserRoleResponse)(nil), // 61: orchestrator.v1.UpdateUserRoleResponse + (*RemoveUserRequest)(nil), // 62: orchestrator.v1.RemoveUserRequest + (*RemoveUserResponse)(nil), // 63: orchestrator.v1.RemoveUserResponse + (*GetInstanceStorageLimitsRequest)(nil), // 64: orchestrator.v1.GetInstanceStorageLimitsRequest + (*GetInstanceStorageLimitsResponse)(nil), // 65: orchestrator.v1.GetInstanceStorageLimitsResponse + (*BulkInstancesRequest)(nil), // 66: orchestrator.v1.BulkInstancesRequest + (*BulkInstancesResponse)(nil), // 67: orchestrator.v1.BulkInstancesResponse + (*BulkInstanceResult)(nil), // 68: orchestrator.v1.BulkInstanceResult + (*GetInstanceMetricsRequest)(nil), // 69: orchestrator.v1.GetInstanceMetricsRequest + (*GetInstanceMetricsResponse)(nil), // 70: orchestrator.v1.GetInstanceMetricsResponse + (*GetBandwidthHistoryRequest)(nil), // 71: orchestrator.v1.GetBandwidthHistoryRequest + (*BandwidthDataPoint)(nil), // 72: orchestrator.v1.BandwidthDataPoint + (*GetBandwidthHistoryResponse)(nil), // 73: orchestrator.v1.GetBandwidthHistoryResponse + (*RegenerateAllTraefikConfigsRequest)(nil), // 74: orchestrator.v1.RegenerateAllTraefikConfigsRequest + (*GetInstanceConfigurationRequest)(nil), // 75: orchestrator.v1.GetInstanceConfigurationRequest + (*GetInstanceConfigurationResponse)(nil), // 76: orchestrator.v1.GetInstanceConfigurationResponse + (*VaultConfiguration)(nil), // 77: orchestrator.v1.VaultConfiguration + (*EnvironmentVariable)(nil), // 78: orchestrator.v1.EnvironmentVariable + (*GetInstanceUserPasswordsRequest)(nil), // 79: orchestrator.v1.GetInstanceUserPasswordsRequest + (*GetInstanceUserPasswordsResponse)(nil), // 80: orchestrator.v1.GetInstanceUserPasswordsResponse + (*UserPasswordEntry)(nil), // 81: orchestrator.v1.UserPasswordEntry + (*RequestSelfRestartRequest)(nil), // 82: orchestrator.v1.RequestSelfRestartRequest + (*RequestSelfRestartResponse)(nil), // 83: orchestrator.v1.RequestSelfRestartResponse + (*WatchAndRestartInstanceRequest)(nil), // 84: orchestrator.v1.WatchAndRestartInstanceRequest + (*MoveInstanceRequest)(nil), // 85: orchestrator.v1.MoveInstanceRequest + (*MoveInstanceResponse)(nil), // 86: orchestrator.v1.MoveInstanceResponse + (*MoveInstanceToNodeRequest)(nil), // 87: orchestrator.v1.MoveInstanceToNodeRequest + (*MoveInstanceToNodeResponse)(nil), // 88: orchestrator.v1.MoveInstanceToNodeResponse + (*InstallPluginToInstanceRequest)(nil), // 89: orchestrator.v1.InstallPluginToInstanceRequest + (*InstallPluginToInstanceResponse)(nil), // 90: orchestrator.v1.InstallPluginToInstanceResponse + (*timestamppb.Timestamp)(nil), // 91: google.protobuf.Timestamp +} +var file_orchestrator_v1_instances_proto_depIdxs = []int32{ + 0, // 0: orchestrator.v1.Instance.status:type_name -> orchestrator.v1.InstanceStatus + 91, // 1: orchestrator.v1.Instance.last_health_check:type_name -> google.protobuf.Timestamp + 91, // 2: orchestrator.v1.Instance.provisioned_at:type_name -> google.protobuf.Timestamp + 91, // 3: orchestrator.v1.Instance.last_started_at:type_name -> google.protobuf.Timestamp + 91, // 4: orchestrator.v1.Instance.last_stopped_at:type_name -> google.protobuf.Timestamp + 91, // 5: orchestrator.v1.Instance.created_at:type_name -> google.protobuf.Timestamp + 91, // 6: orchestrator.v1.Instance.updated_at:type_name -> google.protobuf.Timestamp + 1, // 7: orchestrator.v1.InstanceUser.role:type_name -> orchestrator.v1.InstanceRole + 91, // 8: orchestrator.v1.InstanceUser.last_accessed_at:type_name -> google.protobuf.Timestamp + 91, // 9: orchestrator.v1.LogEntry.timestamp:type_name -> google.protobuf.Timestamp + 4, // 10: orchestrator.v1.OperationProgress.instance:type_name -> orchestrator.v1.Instance + 2, // 11: orchestrator.v1.InstanceOperation.type:type_name -> orchestrator.v1.InstanceOperationType + 3, // 12: orchestrator.v1.InstanceOperation.status:type_name -> orchestrator.v1.InstanceOperationStatus + 4, // 13: orchestrator.v1.InstanceOperation.instance:type_name -> orchestrator.v1.Instance + 2, // 14: orchestrator.v1.StartOperationRequest.type:type_name -> orchestrator.v1.InstanceOperationType + 9, // 15: orchestrator.v1.GetOperationResponse.operation:type_name -> orchestrator.v1.InstanceOperation + 8, // 16: orchestrator.v1.GetOperationResponse.logs:type_name -> orchestrator.v1.InstanceOperationLog + 9, // 17: orchestrator.v1.GetActiveOperationResponse.operation:type_name -> orchestrator.v1.InstanceOperation + 9, // 18: orchestrator.v1.GetLatestOperationResponse.operation:type_name -> orchestrator.v1.InstanceOperation + 25, // 19: orchestrator.v1.PreviewUpgradeCampaignResponse.nodes:type_name -> orchestrator.v1.PreviewNodeGroup + 22, // 20: orchestrator.v1.GetUpgradeCampaignResponse.campaign:type_name -> orchestrator.v1.UpgradeCampaign + 23, // 21: orchestrator.v1.GetUpgradeCampaignResponse.items:type_name -> orchestrator.v1.UpgradeCampaignItem + 22, // 22: orchestrator.v1.ListUpgradeCampaignsResponse.campaigns:type_name -> orchestrator.v1.UpgradeCampaign + 4, // 23: orchestrator.v1.CreateInstanceResponse.instance:type_name -> orchestrator.v1.Instance + 4, // 24: orchestrator.v1.GetInstanceResponse.instance:type_name -> orchestrator.v1.Instance + 0, // 25: orchestrator.v1.ListInstancesRequest.status:type_name -> orchestrator.v1.InstanceStatus + 4, // 26: orchestrator.v1.ListInstancesResponse.instances:type_name -> orchestrator.v1.Instance + 4, // 27: orchestrator.v1.ListMyInstancesResponse.instances:type_name -> orchestrator.v1.Instance + 0, // 28: orchestrator.v1.ListAllInstancesRequest.status:type_name -> orchestrator.v1.InstanceStatus + 4, // 29: orchestrator.v1.ListAllInstancesResponse.instances:type_name -> orchestrator.v1.Instance + 4, // 30: orchestrator.v1.UpdateInstanceResponse.instance:type_name -> orchestrator.v1.Instance + 4, // 31: orchestrator.v1.StartInstanceResponse.instance:type_name -> orchestrator.v1.Instance + 4, // 32: orchestrator.v1.StopInstanceResponse.instance:type_name -> orchestrator.v1.Instance + 5, // 33: orchestrator.v1.ListInstanceUsersResponse.users:type_name -> orchestrator.v1.InstanceUser + 1, // 34: orchestrator.v1.GrantInstanceAccessRequest.role:type_name -> orchestrator.v1.InstanceRole + 5, // 35: orchestrator.v1.GrantInstanceAccessResponse.instance_user:type_name -> orchestrator.v1.InstanceUser + 1, // 36: orchestrator.v1.UpdateUserRoleRequest.role:type_name -> orchestrator.v1.InstanceRole + 5, // 37: orchestrator.v1.UpdateUserRoleResponse.instance_user:type_name -> orchestrator.v1.InstanceUser + 68, // 38: orchestrator.v1.BulkInstancesResponse.results:type_name -> orchestrator.v1.BulkInstanceResult + 91, // 39: orchestrator.v1.GetInstanceMetricsResponse.last_updated:type_name -> google.protobuf.Timestamp + 72, // 40: orchestrator.v1.GetBandwidthHistoryResponse.data_points:type_name -> orchestrator.v1.BandwidthDataPoint + 77, // 41: orchestrator.v1.GetInstanceConfigurationResponse.vault:type_name -> orchestrator.v1.VaultConfiguration + 78, // 42: orchestrator.v1.GetInstanceConfigurationResponse.environment:type_name -> orchestrator.v1.EnvironmentVariable + 81, // 43: orchestrator.v1.GetInstanceUserPasswordsResponse.users:type_name -> orchestrator.v1.UserPasswordEntry + 4, // 44: orchestrator.v1.MoveInstanceResponse.instance:type_name -> orchestrator.v1.Instance + 4, // 45: orchestrator.v1.MoveInstanceToNodeResponse.instance:type_name -> orchestrator.v1.Instance + 35, // 46: orchestrator.v1.InstanceService.CreateInstance:input_type -> orchestrator.v1.CreateInstanceRequest + 37, // 47: orchestrator.v1.InstanceService.GetInstance:input_type -> orchestrator.v1.GetInstanceRequest + 39, // 48: orchestrator.v1.InstanceService.ListInstances:input_type -> orchestrator.v1.ListInstancesRequest + 43, // 49: orchestrator.v1.InstanceService.ListAllInstances:input_type -> orchestrator.v1.ListAllInstancesRequest + 41, // 50: orchestrator.v1.InstanceService.ListMyInstances:input_type -> orchestrator.v1.ListMyInstancesRequest + 45, // 51: orchestrator.v1.InstanceService.UpdateInstance:input_type -> orchestrator.v1.UpdateInstanceRequest + 47, // 52: orchestrator.v1.InstanceService.DeleteInstance:input_type -> orchestrator.v1.DeleteInstanceRequest + 49, // 53: orchestrator.v1.InstanceService.StartInstance:input_type -> orchestrator.v1.StartInstanceRequest + 51, // 54: orchestrator.v1.InstanceService.StopInstance:input_type -> orchestrator.v1.StopInstanceRequest + 10, // 55: orchestrator.v1.InstanceService.StartOperation:input_type -> orchestrator.v1.StartOperationRequest + 12, // 56: orchestrator.v1.InstanceService.GetOperation:input_type -> orchestrator.v1.GetOperationRequest + 14, // 57: orchestrator.v1.InstanceService.GetActiveOperation:input_type -> orchestrator.v1.GetActiveOperationRequest + 16, // 58: orchestrator.v1.InstanceService.GetLatestOperation:input_type -> orchestrator.v1.GetLatestOperationRequest + 18, // 59: orchestrator.v1.InstanceService.CancelOperation:input_type -> orchestrator.v1.CancelOperationRequest + 20, // 60: orchestrator.v1.InstanceService.GetLatestCMSVersion:input_type -> orchestrator.v1.GetLatestCMSVersionRequest + 55, // 61: orchestrator.v1.InstanceService.GetInstanceLogs:input_type -> orchestrator.v1.GetInstanceLogsRequest + 56, // 62: orchestrator.v1.InstanceService.ListInstanceUsers:input_type -> orchestrator.v1.ListInstanceUsersRequest + 58, // 63: orchestrator.v1.InstanceService.GrantInstanceAccess:input_type -> orchestrator.v1.GrantInstanceAccessRequest + 60, // 64: orchestrator.v1.InstanceService.UpdateUserRole:input_type -> orchestrator.v1.UpdateUserRoleRequest + 62, // 65: orchestrator.v1.InstanceService.RemoveUser:input_type -> orchestrator.v1.RemoveUserRequest + 64, // 66: orchestrator.v1.InstanceService.GetInstanceStorageLimits:input_type -> orchestrator.v1.GetInstanceStorageLimitsRequest + 89, // 67: orchestrator.v1.InstanceService.InstallPluginToInstance:input_type -> orchestrator.v1.InstallPluginToInstanceRequest + 69, // 68: orchestrator.v1.InstanceService.GetInstanceMetrics:input_type -> orchestrator.v1.GetInstanceMetricsRequest + 71, // 69: orchestrator.v1.InstanceService.GetBandwidthHistory:input_type -> orchestrator.v1.GetBandwidthHistoryRequest + 66, // 70: orchestrator.v1.InstanceService.BulkStartInstances:input_type -> orchestrator.v1.BulkInstancesRequest + 66, // 71: orchestrator.v1.InstanceService.BulkStopInstances:input_type -> orchestrator.v1.BulkInstancesRequest + 66, // 72: orchestrator.v1.InstanceService.BulkRestartInstances:input_type -> orchestrator.v1.BulkInstancesRequest + 66, // 73: orchestrator.v1.InstanceService.BulkDeleteInstances:input_type -> orchestrator.v1.BulkInstancesRequest + 66, // 74: orchestrator.v1.InstanceService.BulkRegenerateTraefikConfigs:input_type -> orchestrator.v1.BulkInstancesRequest + 74, // 75: orchestrator.v1.InstanceService.RegenerateAllTraefikConfigs:input_type -> orchestrator.v1.RegenerateAllTraefikConfigsRequest + 75, // 76: orchestrator.v1.InstanceService.GetInstanceConfiguration:input_type -> orchestrator.v1.GetInstanceConfigurationRequest + 79, // 77: orchestrator.v1.InstanceService.GetInstanceUserPasswords:input_type -> orchestrator.v1.GetInstanceUserPasswordsRequest + 82, // 78: orchestrator.v1.InstanceService.RequestSelfRestart:input_type -> orchestrator.v1.RequestSelfRestartRequest + 84, // 79: orchestrator.v1.InstanceService.WatchAndRestartInstance:input_type -> orchestrator.v1.WatchAndRestartInstanceRequest + 85, // 80: orchestrator.v1.InstanceService.MoveInstance:input_type -> orchestrator.v1.MoveInstanceRequest + 87, // 81: orchestrator.v1.InstanceService.MoveInstanceToNode:input_type -> orchestrator.v1.MoveInstanceToNodeRequest + 24, // 82: orchestrator.v1.InstanceService.PreviewUpgradeCampaign:input_type -> orchestrator.v1.PreviewUpgradeCampaignRequest + 27, // 83: orchestrator.v1.InstanceService.StartUpgradeCampaign:input_type -> orchestrator.v1.StartUpgradeCampaignRequest + 29, // 84: orchestrator.v1.InstanceService.GetUpgradeCampaign:input_type -> orchestrator.v1.GetUpgradeCampaignRequest + 31, // 85: orchestrator.v1.InstanceService.ListUpgradeCampaigns:input_type -> orchestrator.v1.ListUpgradeCampaignsRequest + 33, // 86: orchestrator.v1.InstanceService.PauseUpgradeCampaign:input_type -> orchestrator.v1.CampaignActionRequest + 33, // 87: orchestrator.v1.InstanceService.ResumeUpgradeCampaign:input_type -> orchestrator.v1.CampaignActionRequest + 33, // 88: orchestrator.v1.InstanceService.CancelUpgradeCampaign:input_type -> orchestrator.v1.CampaignActionRequest + 36, // 89: orchestrator.v1.InstanceService.CreateInstance:output_type -> orchestrator.v1.CreateInstanceResponse + 38, // 90: orchestrator.v1.InstanceService.GetInstance:output_type -> orchestrator.v1.GetInstanceResponse + 40, // 91: orchestrator.v1.InstanceService.ListInstances:output_type -> orchestrator.v1.ListInstancesResponse + 44, // 92: orchestrator.v1.InstanceService.ListAllInstances:output_type -> orchestrator.v1.ListAllInstancesResponse + 42, // 93: orchestrator.v1.InstanceService.ListMyInstances:output_type -> orchestrator.v1.ListMyInstancesResponse + 46, // 94: orchestrator.v1.InstanceService.UpdateInstance:output_type -> orchestrator.v1.UpdateInstanceResponse + 48, // 95: orchestrator.v1.InstanceService.DeleteInstance:output_type -> orchestrator.v1.DeleteInstanceResponse + 50, // 96: orchestrator.v1.InstanceService.StartInstance:output_type -> orchestrator.v1.StartInstanceResponse + 52, // 97: orchestrator.v1.InstanceService.StopInstance:output_type -> orchestrator.v1.StopInstanceResponse + 11, // 98: orchestrator.v1.InstanceService.StartOperation:output_type -> orchestrator.v1.StartOperationResponse + 13, // 99: orchestrator.v1.InstanceService.GetOperation:output_type -> orchestrator.v1.GetOperationResponse + 15, // 100: orchestrator.v1.InstanceService.GetActiveOperation:output_type -> orchestrator.v1.GetActiveOperationResponse + 17, // 101: orchestrator.v1.InstanceService.GetLatestOperation:output_type -> orchestrator.v1.GetLatestOperationResponse + 19, // 102: orchestrator.v1.InstanceService.CancelOperation:output_type -> orchestrator.v1.CancelOperationResponse + 21, // 103: orchestrator.v1.InstanceService.GetLatestCMSVersion:output_type -> orchestrator.v1.GetLatestCMSVersionResponse + 6, // 104: orchestrator.v1.InstanceService.GetInstanceLogs:output_type -> orchestrator.v1.LogEntry + 57, // 105: orchestrator.v1.InstanceService.ListInstanceUsers:output_type -> orchestrator.v1.ListInstanceUsersResponse + 59, // 106: orchestrator.v1.InstanceService.GrantInstanceAccess:output_type -> orchestrator.v1.GrantInstanceAccessResponse + 61, // 107: orchestrator.v1.InstanceService.UpdateUserRole:output_type -> orchestrator.v1.UpdateUserRoleResponse + 63, // 108: orchestrator.v1.InstanceService.RemoveUser:output_type -> orchestrator.v1.RemoveUserResponse + 65, // 109: orchestrator.v1.InstanceService.GetInstanceStorageLimits:output_type -> orchestrator.v1.GetInstanceStorageLimitsResponse + 90, // 110: orchestrator.v1.InstanceService.InstallPluginToInstance:output_type -> orchestrator.v1.InstallPluginToInstanceResponse + 70, // 111: orchestrator.v1.InstanceService.GetInstanceMetrics:output_type -> orchestrator.v1.GetInstanceMetricsResponse + 73, // 112: orchestrator.v1.InstanceService.GetBandwidthHistory:output_type -> orchestrator.v1.GetBandwidthHistoryResponse + 67, // 113: orchestrator.v1.InstanceService.BulkStartInstances:output_type -> orchestrator.v1.BulkInstancesResponse + 67, // 114: orchestrator.v1.InstanceService.BulkStopInstances:output_type -> orchestrator.v1.BulkInstancesResponse + 67, // 115: orchestrator.v1.InstanceService.BulkRestartInstances:output_type -> orchestrator.v1.BulkInstancesResponse + 67, // 116: orchestrator.v1.InstanceService.BulkDeleteInstances:output_type -> orchestrator.v1.BulkInstancesResponse + 67, // 117: orchestrator.v1.InstanceService.BulkRegenerateTraefikConfigs:output_type -> orchestrator.v1.BulkInstancesResponse + 67, // 118: orchestrator.v1.InstanceService.RegenerateAllTraefikConfigs:output_type -> orchestrator.v1.BulkInstancesResponse + 76, // 119: orchestrator.v1.InstanceService.GetInstanceConfiguration:output_type -> orchestrator.v1.GetInstanceConfigurationResponse + 80, // 120: orchestrator.v1.InstanceService.GetInstanceUserPasswords:output_type -> orchestrator.v1.GetInstanceUserPasswordsResponse + 83, // 121: orchestrator.v1.InstanceService.RequestSelfRestart:output_type -> orchestrator.v1.RequestSelfRestartResponse + 7, // 122: orchestrator.v1.InstanceService.WatchAndRestartInstance:output_type -> orchestrator.v1.OperationProgress + 86, // 123: orchestrator.v1.InstanceService.MoveInstance:output_type -> orchestrator.v1.MoveInstanceResponse + 88, // 124: orchestrator.v1.InstanceService.MoveInstanceToNode:output_type -> orchestrator.v1.MoveInstanceToNodeResponse + 26, // 125: orchestrator.v1.InstanceService.PreviewUpgradeCampaign:output_type -> orchestrator.v1.PreviewUpgradeCampaignResponse + 28, // 126: orchestrator.v1.InstanceService.StartUpgradeCampaign:output_type -> orchestrator.v1.StartUpgradeCampaignResponse + 30, // 127: orchestrator.v1.InstanceService.GetUpgradeCampaign:output_type -> orchestrator.v1.GetUpgradeCampaignResponse + 32, // 128: orchestrator.v1.InstanceService.ListUpgradeCampaigns:output_type -> orchestrator.v1.ListUpgradeCampaignsResponse + 34, // 129: orchestrator.v1.InstanceService.PauseUpgradeCampaign:output_type -> orchestrator.v1.CampaignActionResponse + 34, // 130: orchestrator.v1.InstanceService.ResumeUpgradeCampaign:output_type -> orchestrator.v1.CampaignActionResponse + 34, // 131: orchestrator.v1.InstanceService.CancelUpgradeCampaign:output_type -> orchestrator.v1.CampaignActionResponse + 89, // [89:132] is the sub-list for method output_type + 46, // [46:89] is the sub-list for method input_type + 46, // [46:46] is the sub-list for extension type_name + 46, // [46:46] is the sub-list for extension extendee + 0, // [0:46] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_instances_proto_init() } +func file_orchestrator_v1_instances_proto_init() { + if File_orchestrator_v1_instances_proto != nil { + return + } + file_orchestrator_v1_instances_proto_msgTypes[0].OneofWrappers = []any{} + file_orchestrator_v1_instances_proto_msgTypes[1].OneofWrappers = []any{} + file_orchestrator_v1_instances_proto_msgTypes[31].OneofWrappers = []any{} + file_orchestrator_v1_instances_proto_msgTypes[35].OneofWrappers = []any{} + file_orchestrator_v1_instances_proto_msgTypes[39].OneofWrappers = []any{} + file_orchestrator_v1_instances_proto_msgTypes[41].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_instances_proto_rawDesc), len(file_orchestrator_v1_instances_proto_rawDesc)), + NumEnums: 4, + NumMessages: 87, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_instances_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_instances_proto_depIdxs, + EnumInfos: file_orchestrator_v1_instances_proto_enumTypes, + MessageInfos: file_orchestrator_v1_instances_proto_msgTypes, + }.Build() + File_orchestrator_v1_instances_proto = out.File + file_orchestrator_v1_instances_proto_goTypes = nil + file_orchestrator_v1_instances_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/invites.pb.go b/internal/api/orchestrator/v1/invites.pb.go new file mode 100644 index 0000000..e7ceb36 --- /dev/null +++ b/internal/api/orchestrator/v1/invites.pb.go @@ -0,0 +1,959 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/invites.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Whether an invite grants account-team or instance access. +type InviteType int32 + +const ( + InviteType_INVITE_TYPE_UNSPECIFIED InviteType = 0 + InviteType_INVITE_TYPE_ACCOUNT InviteType = 1 + InviteType_INVITE_TYPE_INSTANCE InviteType = 2 +) + +// Enum value maps for InviteType. +var ( + InviteType_name = map[int32]string{ + 0: "INVITE_TYPE_UNSPECIFIED", + 1: "INVITE_TYPE_ACCOUNT", + 2: "INVITE_TYPE_INSTANCE", + } + InviteType_value = map[string]int32{ + "INVITE_TYPE_UNSPECIFIED": 0, + "INVITE_TYPE_ACCOUNT": 1, + "INVITE_TYPE_INSTANCE": 2, + } +) + +func (x InviteType) Enum() *InviteType { + p := new(InviteType) + *p = x + return p +} + +func (x InviteType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InviteType) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_invites_proto_enumTypes[0].Descriptor() +} + +func (InviteType) Type() protoreflect.EnumType { + return &file_orchestrator_v1_invites_proto_enumTypes[0] +} + +func (x InviteType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InviteType.Descriptor instead. +func (InviteType) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{0} +} + +// PendingInvite is an invitation that has been sent but not yet accepted. It is +// keyed by email and is independent of the users table — the invitee may not +// have a BlockNinja account yet. Accepting it creates the membership row. +type PendingInvite struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + InviteType InviteType `protobuf:"varint,3,opt,name=invite_type,json=inviteType,proto3,enum=orchestrator.v1.InviteType" json:"invite_type,omitempty"` + AccountId *string `protobuf:"bytes,4,opt,name=account_id,json=accountId,proto3,oneof" json:"account_id,omitempty"` + InstanceId *string `protobuf:"bytes,5,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + // Canonical role string: owner|manager|member (account) or + // owner|admin|editor|viewer (instance). + RoleName string `protobuf:"bytes,6,opt,name=role_name,json=roleName,proto3" json:"role_name,omitempty"` + HasBillingAccess bool `protobuf:"varint,7,opt,name=has_billing_access,json=hasBillingAccess,proto3" json:"has_billing_access,omitempty"` // account invites only + InviteExpiresAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=invite_expires_at,json=inviteExpiresAt,proto3" json:"invite_expires_at,omitempty"` + InvitedById string `protobuf:"bytes,9,opt,name=invited_by_id,json=invitedById,proto3" json:"invited_by_id,omitempty"` + InvitedByName string `protobuf:"bytes,10,opt,name=invited_by_name,json=invitedByName,proto3" json:"invited_by_name,omitempty"` + // Display names of the invite target, joined for the UI. + AccountName *string `protobuf:"bytes,11,opt,name=account_name,json=accountName,proto3,oneof" json:"account_name,omitempty"` + InstanceName *string `protobuf:"bytes,12,opt,name=instance_name,json=instanceName,proto3,oneof" json:"instance_name,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PendingInvite) Reset() { + *x = PendingInvite{} + mi := &file_orchestrator_v1_invites_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PendingInvite) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PendingInvite) ProtoMessage() {} + +func (x *PendingInvite) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_invites_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PendingInvite.ProtoReflect.Descriptor instead. +func (*PendingInvite) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{0} +} + +func (x *PendingInvite) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PendingInvite) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *PendingInvite) GetInviteType() InviteType { + if x != nil { + return x.InviteType + } + return InviteType_INVITE_TYPE_UNSPECIFIED +} + +func (x *PendingInvite) GetAccountId() string { + if x != nil && x.AccountId != nil { + return *x.AccountId + } + return "" +} + +func (x *PendingInvite) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +func (x *PendingInvite) GetRoleName() string { + if x != nil { + return x.RoleName + } + return "" +} + +func (x *PendingInvite) GetHasBillingAccess() bool { + if x != nil { + return x.HasBillingAccess + } + return false +} + +func (x *PendingInvite) GetInviteExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.InviteExpiresAt + } + return nil +} + +func (x *PendingInvite) GetInvitedById() string { + if x != nil { + return x.InvitedById + } + return "" +} + +func (x *PendingInvite) GetInvitedByName() string { + if x != nil { + return x.InvitedByName + } + return "" +} + +func (x *PendingInvite) GetAccountName() string { + if x != nil && x.AccountName != nil { + return *x.AccountName + } + return "" +} + +func (x *PendingInvite) GetInstanceName() string { + if x != nil && x.InstanceName != nil { + return *x.InstanceName + } + return "" +} + +func (x *PendingInvite) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type CreateInviteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InviteType InviteType `protobuf:"varint,1,opt,name=invite_type,json=inviteType,proto3,enum=orchestrator.v1.InviteType" json:"invite_type,omitempty"` + AccountId *string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3,oneof" json:"account_id,omitempty"` + InstanceId *string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` + RoleName string `protobuf:"bytes,5,opt,name=role_name,json=roleName,proto3" json:"role_name,omitempty"` + HasBillingAccess bool `protobuf:"varint,6,opt,name=has_billing_access,json=hasBillingAccess,proto3" json:"has_billing_access,omitempty"` // account invites only + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateInviteRequest) Reset() { + *x = CreateInviteRequest{} + mi := &file_orchestrator_v1_invites_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateInviteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateInviteRequest) ProtoMessage() {} + +func (x *CreateInviteRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_invites_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateInviteRequest.ProtoReflect.Descriptor instead. +func (*CreateInviteRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{1} +} + +func (x *CreateInviteRequest) GetInviteType() InviteType { + if x != nil { + return x.InviteType + } + return InviteType_INVITE_TYPE_UNSPECIFIED +} + +func (x *CreateInviteRequest) GetAccountId() string { + if x != nil && x.AccountId != nil { + return *x.AccountId + } + return "" +} + +func (x *CreateInviteRequest) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +func (x *CreateInviteRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *CreateInviteRequest) GetRoleName() string { + if x != nil { + return x.RoleName + } + return "" +} + +func (x *CreateInviteRequest) GetHasBillingAccess() bool { + if x != nil { + return x.HasBillingAccess + } + return false +} + +type CreateInviteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Invite *PendingInvite `protobuf:"bytes,1,opt,name=invite,proto3" json:"invite,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateInviteResponse) Reset() { + *x = CreateInviteResponse{} + mi := &file_orchestrator_v1_invites_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateInviteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateInviteResponse) ProtoMessage() {} + +func (x *CreateInviteResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_invites_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateInviteResponse.ProtoReflect.Descriptor instead. +func (*CreateInviteResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{2} +} + +func (x *CreateInviteResponse) GetInvite() *PendingInvite { + if x != nil { + return x.Invite + } + return nil +} + +type ListPendingInvitesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InviteType InviteType `protobuf:"varint,1,opt,name=invite_type,json=inviteType,proto3,enum=orchestrator.v1.InviteType" json:"invite_type,omitempty"` + AccountId *string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3,oneof" json:"account_id,omitempty"` + InstanceId *string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPendingInvitesRequest) Reset() { + *x = ListPendingInvitesRequest{} + mi := &file_orchestrator_v1_invites_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPendingInvitesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPendingInvitesRequest) ProtoMessage() {} + +func (x *ListPendingInvitesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_invites_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPendingInvitesRequest.ProtoReflect.Descriptor instead. +func (*ListPendingInvitesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{3} +} + +func (x *ListPendingInvitesRequest) GetInviteType() InviteType { + if x != nil { + return x.InviteType + } + return InviteType_INVITE_TYPE_UNSPECIFIED +} + +func (x *ListPendingInvitesRequest) GetAccountId() string { + if x != nil && x.AccountId != nil { + return *x.AccountId + } + return "" +} + +func (x *ListPendingInvitesRequest) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +type ListPendingInvitesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Invites []*PendingInvite `protobuf:"bytes,1,rep,name=invites,proto3" json:"invites,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPendingInvitesResponse) Reset() { + *x = ListPendingInvitesResponse{} + mi := &file_orchestrator_v1_invites_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPendingInvitesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPendingInvitesResponse) ProtoMessage() {} + +func (x *ListPendingInvitesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_invites_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPendingInvitesResponse.ProtoReflect.Descriptor instead. +func (*ListPendingInvitesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{4} +} + +func (x *ListPendingInvitesResponse) GetInvites() []*PendingInvite { + if x != nil { + return x.Invites + } + return nil +} + +type RevokeInviteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InviteId string `protobuf:"bytes,1,opt,name=invite_id,json=inviteId,proto3" json:"invite_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RevokeInviteRequest) Reset() { + *x = RevokeInviteRequest{} + mi := &file_orchestrator_v1_invites_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RevokeInviteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeInviteRequest) ProtoMessage() {} + +func (x *RevokeInviteRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_invites_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevokeInviteRequest.ProtoReflect.Descriptor instead. +func (*RevokeInviteRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{5} +} + +func (x *RevokeInviteRequest) GetInviteId() string { + if x != nil { + return x.InviteId + } + return "" +} + +type RevokeInviteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RevokeInviteResponse) Reset() { + *x = RevokeInviteResponse{} + mi := &file_orchestrator_v1_invites_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RevokeInviteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RevokeInviteResponse) ProtoMessage() {} + +func (x *RevokeInviteResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_invites_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RevokeInviteResponse.ProtoReflect.Descriptor instead. +func (*RevokeInviteResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{6} +} + +type ListMyInvitesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyInvitesRequest) Reset() { + *x = ListMyInvitesRequest{} + mi := &file_orchestrator_v1_invites_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyInvitesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyInvitesRequest) ProtoMessage() {} + +func (x *ListMyInvitesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_invites_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyInvitesRequest.ProtoReflect.Descriptor instead. +func (*ListMyInvitesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{7} +} + +type ListMyInvitesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Invites []*PendingInvite `protobuf:"bytes,1,rep,name=invites,proto3" json:"invites,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyInvitesResponse) Reset() { + *x = ListMyInvitesResponse{} + mi := &file_orchestrator_v1_invites_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyInvitesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyInvitesResponse) ProtoMessage() {} + +func (x *ListMyInvitesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_invites_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyInvitesResponse.ProtoReflect.Descriptor instead. +func (*ListMyInvitesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{8} +} + +func (x *ListMyInvitesResponse) GetInvites() []*PendingInvite { + if x != nil { + return x.Invites + } + return nil +} + +type AcceptInviteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Accept by emailed token (from the invite link) OR by invite_id (for the + // in-app banner / invitations page, where the signed-in user already owns the + // listed invite). Exactly one is required. + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + InviteId string `protobuf:"bytes,2,opt,name=invite_id,json=inviteId,proto3" json:"invite_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AcceptInviteRequest) Reset() { + *x = AcceptInviteRequest{} + mi := &file_orchestrator_v1_invites_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcceptInviteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcceptInviteRequest) ProtoMessage() {} + +func (x *AcceptInviteRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_invites_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AcceptInviteRequest.ProtoReflect.Descriptor instead. +func (*AcceptInviteRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{9} +} + +func (x *AcceptInviteRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *AcceptInviteRequest) GetInviteId() string { + if x != nil { + return x.InviteId + } + return "" +} + +type AcceptInviteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Invite *PendingInvite `protobuf:"bytes,1,opt,name=invite,proto3" json:"invite,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AcceptInviteResponse) Reset() { + *x = AcceptInviteResponse{} + mi := &file_orchestrator_v1_invites_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcceptInviteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcceptInviteResponse) ProtoMessage() {} + +func (x *AcceptInviteResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_invites_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AcceptInviteResponse.ProtoReflect.Descriptor instead. +func (*AcceptInviteResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{10} +} + +func (x *AcceptInviteResponse) GetInvite() *PendingInvite { + if x != nil { + return x.Invite + } + return nil +} + +type DeclineInviteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InviteId string `protobuf:"bytes,1,opt,name=invite_id,json=inviteId,proto3" json:"invite_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeclineInviteRequest) Reset() { + *x = DeclineInviteRequest{} + mi := &file_orchestrator_v1_invites_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeclineInviteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeclineInviteRequest) ProtoMessage() {} + +func (x *DeclineInviteRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_invites_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeclineInviteRequest.ProtoReflect.Descriptor instead. +func (*DeclineInviteRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{11} +} + +func (x *DeclineInviteRequest) GetInviteId() string { + if x != nil { + return x.InviteId + } + return "" +} + +type DeclineInviteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeclineInviteResponse) Reset() { + *x = DeclineInviteResponse{} + mi := &file_orchestrator_v1_invites_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeclineInviteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeclineInviteResponse) ProtoMessage() {} + +func (x *DeclineInviteResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_invites_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeclineInviteResponse.ProtoReflect.Descriptor instead. +func (*DeclineInviteResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_invites_proto_rawDescGZIP(), []int{12} +} + +var File_orchestrator_v1_invites_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_invites_proto_rawDesc = "" + + "\n" + + "\x1dorchestrator/v1/invites.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xeb\x04\n" + + "\rPendingInvite\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" + + "\x05email\x18\x02 \x01(\tR\x05email\x12<\n" + + "\vinvite_type\x18\x03 \x01(\x0e2\x1b.orchestrator.v1.InviteTypeR\n" + + "inviteType\x12\"\n" + + "\n" + + "account_id\x18\x04 \x01(\tH\x00R\taccountId\x88\x01\x01\x12$\n" + + "\vinstance_id\x18\x05 \x01(\tH\x01R\n" + + "instanceId\x88\x01\x01\x12\x1b\n" + + "\trole_name\x18\x06 \x01(\tR\broleName\x12,\n" + + "\x12has_billing_access\x18\a \x01(\bR\x10hasBillingAccess\x12F\n" + + "\x11invite_expires_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\x0finviteExpiresAt\x12\"\n" + + "\rinvited_by_id\x18\t \x01(\tR\vinvitedById\x12&\n" + + "\x0finvited_by_name\x18\n" + + " \x01(\tR\rinvitedByName\x12&\n" + + "\faccount_name\x18\v \x01(\tH\x02R\vaccountName\x88\x01\x01\x12(\n" + + "\rinstance_name\x18\f \x01(\tH\x03R\finstanceName\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\r\n" + + "\v_account_idB\x0e\n" + + "\f_instance_idB\x0f\n" + + "\r_account_nameB\x10\n" + + "\x0e_instance_name\"\x9d\x02\n" + + "\x13CreateInviteRequest\x12<\n" + + "\vinvite_type\x18\x01 \x01(\x0e2\x1b.orchestrator.v1.InviteTypeR\n" + + "inviteType\x12\"\n" + + "\n" + + "account_id\x18\x02 \x01(\tH\x00R\taccountId\x88\x01\x01\x12$\n" + + "\vinstance_id\x18\x03 \x01(\tH\x01R\n" + + "instanceId\x88\x01\x01\x12\x14\n" + + "\x05email\x18\x04 \x01(\tR\x05email\x12\x1b\n" + + "\trole_name\x18\x05 \x01(\tR\broleName\x12,\n" + + "\x12has_billing_access\x18\x06 \x01(\bR\x10hasBillingAccessB\r\n" + + "\v_account_idB\x0e\n" + + "\f_instance_id\"N\n" + + "\x14CreateInviteResponse\x126\n" + + "\x06invite\x18\x01 \x01(\v2\x1e.orchestrator.v1.PendingInviteR\x06invite\"\xc2\x01\n" + + "\x19ListPendingInvitesRequest\x12<\n" + + "\vinvite_type\x18\x01 \x01(\x0e2\x1b.orchestrator.v1.InviteTypeR\n" + + "inviteType\x12\"\n" + + "\n" + + "account_id\x18\x02 \x01(\tH\x00R\taccountId\x88\x01\x01\x12$\n" + + "\vinstance_id\x18\x03 \x01(\tH\x01R\n" + + "instanceId\x88\x01\x01B\r\n" + + "\v_account_idB\x0e\n" + + "\f_instance_id\"V\n" + + "\x1aListPendingInvitesResponse\x128\n" + + "\ainvites\x18\x01 \x03(\v2\x1e.orchestrator.v1.PendingInviteR\ainvites\"2\n" + + "\x13RevokeInviteRequest\x12\x1b\n" + + "\tinvite_id\x18\x01 \x01(\tR\binviteId\"\x16\n" + + "\x14RevokeInviteResponse\"\x16\n" + + "\x14ListMyInvitesRequest\"Q\n" + + "\x15ListMyInvitesResponse\x128\n" + + "\ainvites\x18\x01 \x03(\v2\x1e.orchestrator.v1.PendingInviteR\ainvites\"H\n" + + "\x13AcceptInviteRequest\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x12\x1b\n" + + "\tinvite_id\x18\x02 \x01(\tR\binviteId\"N\n" + + "\x14AcceptInviteResponse\x126\n" + + "\x06invite\x18\x01 \x01(\v2\x1e.orchestrator.v1.PendingInviteR\x06invite\"3\n" + + "\x14DeclineInviteRequest\x12\x1b\n" + + "\tinvite_id\x18\x01 \x01(\tR\binviteId\"\x17\n" + + "\x15DeclineInviteResponse*\\\n" + + "\n" + + "InviteType\x12\x1b\n" + + "\x17INVITE_TYPE_UNSPECIFIED\x10\x00\x12\x17\n" + + "\x13INVITE_TYPE_ACCOUNT\x10\x01\x12\x18\n" + + "\x14INVITE_TYPE_INSTANCE\x10\x022\xd5\x04\n" + + "\rInviteService\x12[\n" + + "\fCreateInvite\x12$.orchestrator.v1.CreateInviteRequest\x1a%.orchestrator.v1.CreateInviteResponse\x12m\n" + + "\x12ListPendingInvites\x12*.orchestrator.v1.ListPendingInvitesRequest\x1a+.orchestrator.v1.ListPendingInvitesResponse\x12[\n" + + "\fRevokeInvite\x12$.orchestrator.v1.RevokeInviteRequest\x1a%.orchestrator.v1.RevokeInviteResponse\x12^\n" + + "\rListMyInvites\x12%.orchestrator.v1.ListMyInvitesRequest\x1a&.orchestrator.v1.ListMyInvitesResponse\x12[\n" + + "\fAcceptInvite\x12$.orchestrator.v1.AcceptInviteRequest\x1a%.orchestrator.v1.AcceptInviteResponse\x12^\n" + + "\rDeclineInvite\x12%.orchestrator.v1.DeclineInviteRequest\x1a&.orchestrator.v1.DeclineInviteResponseB\xcf\x01\n" + + "\x13com.orchestrator.v1B\fInvitesProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_invites_proto_rawDescOnce sync.Once + file_orchestrator_v1_invites_proto_rawDescData []byte +) + +func file_orchestrator_v1_invites_proto_rawDescGZIP() []byte { + file_orchestrator_v1_invites_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_invites_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_invites_proto_rawDesc), len(file_orchestrator_v1_invites_proto_rawDesc))) + }) + return file_orchestrator_v1_invites_proto_rawDescData +} + +var file_orchestrator_v1_invites_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_orchestrator_v1_invites_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_orchestrator_v1_invites_proto_goTypes = []any{ + (InviteType)(0), // 0: orchestrator.v1.InviteType + (*PendingInvite)(nil), // 1: orchestrator.v1.PendingInvite + (*CreateInviteRequest)(nil), // 2: orchestrator.v1.CreateInviteRequest + (*CreateInviteResponse)(nil), // 3: orchestrator.v1.CreateInviteResponse + (*ListPendingInvitesRequest)(nil), // 4: orchestrator.v1.ListPendingInvitesRequest + (*ListPendingInvitesResponse)(nil), // 5: orchestrator.v1.ListPendingInvitesResponse + (*RevokeInviteRequest)(nil), // 6: orchestrator.v1.RevokeInviteRequest + (*RevokeInviteResponse)(nil), // 7: orchestrator.v1.RevokeInviteResponse + (*ListMyInvitesRequest)(nil), // 8: orchestrator.v1.ListMyInvitesRequest + (*ListMyInvitesResponse)(nil), // 9: orchestrator.v1.ListMyInvitesResponse + (*AcceptInviteRequest)(nil), // 10: orchestrator.v1.AcceptInviteRequest + (*AcceptInviteResponse)(nil), // 11: orchestrator.v1.AcceptInviteResponse + (*DeclineInviteRequest)(nil), // 12: orchestrator.v1.DeclineInviteRequest + (*DeclineInviteResponse)(nil), // 13: orchestrator.v1.DeclineInviteResponse + (*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp +} +var file_orchestrator_v1_invites_proto_depIdxs = []int32{ + 0, // 0: orchestrator.v1.PendingInvite.invite_type:type_name -> orchestrator.v1.InviteType + 14, // 1: orchestrator.v1.PendingInvite.invite_expires_at:type_name -> google.protobuf.Timestamp + 14, // 2: orchestrator.v1.PendingInvite.created_at:type_name -> google.protobuf.Timestamp + 0, // 3: orchestrator.v1.CreateInviteRequest.invite_type:type_name -> orchestrator.v1.InviteType + 1, // 4: orchestrator.v1.CreateInviteResponse.invite:type_name -> orchestrator.v1.PendingInvite + 0, // 5: orchestrator.v1.ListPendingInvitesRequest.invite_type:type_name -> orchestrator.v1.InviteType + 1, // 6: orchestrator.v1.ListPendingInvitesResponse.invites:type_name -> orchestrator.v1.PendingInvite + 1, // 7: orchestrator.v1.ListMyInvitesResponse.invites:type_name -> orchestrator.v1.PendingInvite + 1, // 8: orchestrator.v1.AcceptInviteResponse.invite:type_name -> orchestrator.v1.PendingInvite + 2, // 9: orchestrator.v1.InviteService.CreateInvite:input_type -> orchestrator.v1.CreateInviteRequest + 4, // 10: orchestrator.v1.InviteService.ListPendingInvites:input_type -> orchestrator.v1.ListPendingInvitesRequest + 6, // 11: orchestrator.v1.InviteService.RevokeInvite:input_type -> orchestrator.v1.RevokeInviteRequest + 8, // 12: orchestrator.v1.InviteService.ListMyInvites:input_type -> orchestrator.v1.ListMyInvitesRequest + 10, // 13: orchestrator.v1.InviteService.AcceptInvite:input_type -> orchestrator.v1.AcceptInviteRequest + 12, // 14: orchestrator.v1.InviteService.DeclineInvite:input_type -> orchestrator.v1.DeclineInviteRequest + 3, // 15: orchestrator.v1.InviteService.CreateInvite:output_type -> orchestrator.v1.CreateInviteResponse + 5, // 16: orchestrator.v1.InviteService.ListPendingInvites:output_type -> orchestrator.v1.ListPendingInvitesResponse + 7, // 17: orchestrator.v1.InviteService.RevokeInvite:output_type -> orchestrator.v1.RevokeInviteResponse + 9, // 18: orchestrator.v1.InviteService.ListMyInvites:output_type -> orchestrator.v1.ListMyInvitesResponse + 11, // 19: orchestrator.v1.InviteService.AcceptInvite:output_type -> orchestrator.v1.AcceptInviteResponse + 13, // 20: orchestrator.v1.InviteService.DeclineInvite:output_type -> orchestrator.v1.DeclineInviteResponse + 15, // [15:21] is the sub-list for method output_type + 9, // [9:15] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_invites_proto_init() } +func file_orchestrator_v1_invites_proto_init() { + if File_orchestrator_v1_invites_proto != nil { + return + } + file_orchestrator_v1_invites_proto_msgTypes[0].OneofWrappers = []any{} + file_orchestrator_v1_invites_proto_msgTypes[1].OneofWrappers = []any{} + file_orchestrator_v1_invites_proto_msgTypes[3].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_invites_proto_rawDesc), len(file_orchestrator_v1_invites_proto_rawDesc)), + NumEnums: 1, + NumMessages: 13, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_invites_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_invites_proto_depIdxs, + EnumInfos: file_orchestrator_v1_invites_proto_enumTypes, + MessageInfos: file_orchestrator_v1_invites_proto_msgTypes, + }.Build() + File_orchestrator_v1_invites_proto = out.File + file_orchestrator_v1_invites_proto_goTypes = nil + file_orchestrator_v1_invites_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/nodes.pb.go b/internal/api/orchestrator/v1/nodes.pb.go new file mode 100644 index 0000000..218d52e --- /dev/null +++ b/internal/api/orchestrator/v1/nodes.pb.go @@ -0,0 +1,4736 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/nodes.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Node status +type NodeStatus int32 + +const ( + NodeStatus_NODE_STATUS_UNSPECIFIED NodeStatus = 0 + NodeStatus_NODE_STATUS_ACTIVE NodeStatus = 1 + NodeStatus_NODE_STATUS_DRAINING NodeStatus = 2 + NodeStatus_NODE_STATUS_OFFLINE NodeStatus = 3 + NodeStatus_NODE_STATUS_ERROR NodeStatus = 4 +) + +// Enum value maps for NodeStatus. +var ( + NodeStatus_name = map[int32]string{ + 0: "NODE_STATUS_UNSPECIFIED", + 1: "NODE_STATUS_ACTIVE", + 2: "NODE_STATUS_DRAINING", + 3: "NODE_STATUS_OFFLINE", + 4: "NODE_STATUS_ERROR", + } + NodeStatus_value = map[string]int32{ + "NODE_STATUS_UNSPECIFIED": 0, + "NODE_STATUS_ACTIVE": 1, + "NODE_STATUS_DRAINING": 2, + "NODE_STATUS_OFFLINE": 3, + "NODE_STATUS_ERROR": 4, + } +) + +func (x NodeStatus) Enum() *NodeStatus { + p := new(NodeStatus) + *p = x + return p +} + +func (x NodeStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NodeStatus) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_nodes_proto_enumTypes[0].Descriptor() +} + +func (NodeStatus) Type() protoreflect.EnumType { + return &file_orchestrator_v1_nodes_proto_enumTypes[0] +} + +func (x NodeStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NodeStatus.Descriptor instead. +func (NodeStatus) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{0} +} + +// Tenant database deployment status +type TenantDbStatus int32 + +const ( + TenantDbStatus_TENANT_DB_STATUS_UNSPECIFIED TenantDbStatus = 0 + TenantDbStatus_TENANT_DB_STATUS_NOT_DEPLOYED TenantDbStatus = 1 + TenantDbStatus_TENANT_DB_STATUS_DEPLOYING TenantDbStatus = 2 + TenantDbStatus_TENANT_DB_STATUS_RUNNING TenantDbStatus = 3 + TenantDbStatus_TENANT_DB_STATUS_ERROR TenantDbStatus = 4 +) + +// Enum value maps for TenantDbStatus. +var ( + TenantDbStatus_name = map[int32]string{ + 0: "TENANT_DB_STATUS_UNSPECIFIED", + 1: "TENANT_DB_STATUS_NOT_DEPLOYED", + 2: "TENANT_DB_STATUS_DEPLOYING", + 3: "TENANT_DB_STATUS_RUNNING", + 4: "TENANT_DB_STATUS_ERROR", + } + TenantDbStatus_value = map[string]int32{ + "TENANT_DB_STATUS_UNSPECIFIED": 0, + "TENANT_DB_STATUS_NOT_DEPLOYED": 1, + "TENANT_DB_STATUS_DEPLOYING": 2, + "TENANT_DB_STATUS_RUNNING": 3, + "TENANT_DB_STATUS_ERROR": 4, + } +) + +func (x TenantDbStatus) Enum() *TenantDbStatus { + p := new(TenantDbStatus) + *p = x + return p +} + +func (x TenantDbStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TenantDbStatus) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_nodes_proto_enumTypes[1].Descriptor() +} + +func (TenantDbStatus) Type() protoreflect.EnumType { + return &file_orchestrator_v1_nodes_proto_enumTypes[1] +} + +func (x TenantDbStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TenantDbStatus.Descriptor instead. +func (TenantDbStatus) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{1} +} + +// TenantDbHealth contains health information for a node's tenant database +type TenantDbHealth struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status TenantDbStatus `protobuf:"varint,1,opt,name=status,proto3,enum=orchestrator.v1.TenantDbStatus" json:"status,omitempty"` + Healthy bool `protobuf:"varint,2,opt,name=healthy,proto3" json:"healthy,omitempty"` + Version *string `protobuf:"bytes,3,opt,name=version,proto3,oneof" json:"version,omitempty"` + LatencyMs *int64 `protobuf:"varint,4,opt,name=latency_ms,json=latencyMs,proto3,oneof" json:"latency_ms,omitempty"` + Error *string `protobuf:"bytes,5,opt,name=error,proto3,oneof" json:"error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TenantDbHealth) Reset() { + *x = TenantDbHealth{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TenantDbHealth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TenantDbHealth) ProtoMessage() {} + +func (x *TenantDbHealth) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TenantDbHealth.ProtoReflect.Descriptor instead. +func (*TenantDbHealth) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{0} +} + +func (x *TenantDbHealth) GetStatus() TenantDbStatus { + if x != nil { + return x.Status + } + return TenantDbStatus_TENANT_DB_STATUS_UNSPECIFIED +} + +func (x *TenantDbHealth) GetHealthy() bool { + if x != nil { + return x.Healthy + } + return false +} + +func (x *TenantDbHealth) GetVersion() string { + if x != nil && x.Version != nil { + return *x.Version + } + return "" +} + +func (x *TenantDbHealth) GetLatencyMs() int64 { + if x != nil && x.LatencyMs != nil { + return *x.LatencyMs + } + return 0 +} + +func (x *TenantDbHealth) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +// NodeRegistration represents a registration key for automated node setup +type NodeRegistration struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + Label *string `protobuf:"bytes,3,opt,name=label,proto3,oneof" json:"label,omitempty"` + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + UsedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=used_at,json=usedAt,proto3,oneof" json:"used_at,omitempty"` + NodeId *string `protobuf:"bytes,6,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` + CreatedBy string `protobuf:"bytes,7,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeRegistration) Reset() { + *x = NodeRegistration{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeRegistration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeRegistration) ProtoMessage() {} + +func (x *NodeRegistration) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeRegistration.ProtoReflect.Descriptor instead. +func (*NodeRegistration) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{1} +} + +func (x *NodeRegistration) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *NodeRegistration) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *NodeRegistration) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" +} + +func (x *NodeRegistration) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +func (x *NodeRegistration) GetUsedAt() *timestamppb.Timestamp { + if x != nil { + return x.UsedAt + } + return nil +} + +func (x *NodeRegistration) GetNodeId() string { + if x != nil && x.NodeId != nil { + return *x.NodeId + } + return "" +} + +func (x *NodeRegistration) GetCreatedBy() string { + if x != nil { + return x.CreatedBy + } + return "" +} + +func (x *NodeRegistration) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +// Node represents a Traefik/Podman host node +type Node struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"` + // SSH connection details (host/port/user visible, key never exposed) + SshHost string `protobuf:"bytes,4,opt,name=ssh_host,json=sshHost,proto3" json:"ssh_host,omitempty"` + SshPort int32 `protobuf:"varint,5,opt,name=ssh_port,json=sshPort,proto3" json:"ssh_port,omitempty"` + SshUser string `protobuf:"bytes,6,opt,name=ssh_user,json=sshUser,proto3" json:"ssh_user,omitempty"` + // Podman socket path on the node + PodmanSocketPath string `protobuf:"bytes,7,opt,name=podman_socket_path,json=podmanSocketPath,proto3" json:"podman_socket_path,omitempty"` + // Traefik configuration + TraefikConfigPath string `protobuf:"bytes,8,opt,name=traefik_config_path,json=traefikConfigPath,proto3" json:"traefik_config_path,omitempty"` + TraefikNetwork string `protobuf:"bytes,9,opt,name=traefik_network,json=traefikNetwork,proto3" json:"traefik_network,omitempty"` + TraefikEntrypoints []string `protobuf:"bytes,10,rep,name=traefik_entrypoints,json=traefikEntrypoints,proto3" json:"traefik_entrypoints,omitempty"` + // ACME configuration + AcmeResolverName *string `protobuf:"bytes,11,opt,name=acme_resolver_name,json=acmeResolverName,proto3,oneof" json:"acme_resolver_name,omitempty"` + AcmeEmail *string `protobuf:"bytes,12,opt,name=acme_email,json=acmeEmail,proto3,oneof" json:"acme_email,omitempty"` + // Capacity + MaxInstances int32 `protobuf:"varint,13,opt,name=max_instances,json=maxInstances,proto3" json:"max_instances,omitempty"` + CurrentInstances int32 `protobuf:"varint,14,opt,name=current_instances,json=currentInstances,proto3" json:"current_instances,omitempty"` + // Status + Status NodeStatus `protobuf:"varint,15,opt,name=status,proto3,enum=orchestrator.v1.NodeStatus" json:"status,omitempty"` + StatusMessage *string `protobuf:"bytes,16,opt,name=status_message,json=statusMessage,proto3,oneof" json:"status_message,omitempty"` + LastHealthCheck *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=last_health_check,json=lastHealthCheck,proto3,oneof" json:"last_health_check,omitempty"` + HealthStatus *string `protobuf:"bytes,18,opt,name=health_status,json=healthStatus,proto3,oneof" json:"health_status,omitempty"` + // Region and labels + Region *string `protobuf:"bytes,19,opt,name=region,proto3,oneof" json:"region,omitempty"` + Labels map[string]string `protobuf:"bytes,20,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Location + CountryCode *string `protobuf:"bytes,26,opt,name=country_code,json=countryCode,proto3,oneof" json:"country_code,omitempty"` + City *string `protobuf:"bytes,27,opt,name=city,proto3,oneof" json:"city,omitempty"` + // Resource metrics (if available) + TotalMemoryMb *int64 `protobuf:"varint,21,opt,name=total_memory_mb,json=totalMemoryMb,proto3,oneof" json:"total_memory_mb,omitempty"` + AvailableMemoryMb *int64 `protobuf:"varint,22,opt,name=available_memory_mb,json=availableMemoryMb,proto3,oneof" json:"available_memory_mb,omitempty"` + TotalCpuCores *int32 `protobuf:"varint,23,opt,name=total_cpu_cores,json=totalCpuCores,proto3,oneof" json:"total_cpu_cores,omitempty"` + // Timestamps + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,24,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,25,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + // Tenant database + TenantDbStatus TenantDbStatus `protobuf:"varint,28,opt,name=tenant_db_status,json=tenantDbStatus,proto3,enum=orchestrator.v1.TenantDbStatus" json:"tenant_db_status,omitempty"` + TenantDbContainerId *string `protobuf:"bytes,29,opt,name=tenant_db_container_id,json=tenantDbContainerId,proto3,oneof" json:"tenant_db_container_id,omitempty"` + TenantDbHealth *TenantDbHealth `protobuf:"bytes,30,opt,name=tenant_db_health,json=tenantDbHealth,proto3,oneof" json:"tenant_db_health,omitempty"` + // Public address for Consul service registration; falls back to ssh_host if unset + ForwardingAddress *string `protobuf:"bytes,31,opt,name=forwarding_address,json=forwardingAddress,proto3,oneof" json:"forwarding_address,omitempty"` + // Tenant DB connection budget (max_connections) and reserved headroom + TenantDbMaxConnections *int32 `protobuf:"varint,32,opt,name=tenant_db_max_connections,json=tenantDbMaxConnections,proto3,oneof" json:"tenant_db_max_connections,omitempty"` + TenantDbHeadroom *int32 `protobuf:"varint,33,opt,name=tenant_db_headroom,json=tenantDbHeadroom,proto3,oneof" json:"tenant_db_headroom,omitempty"` + // IANA timezone name for this node's local schedules (e.g. backup sweeps). + Timezone string `protobuf:"bytes,34,opt,name=timezone,proto3" json:"timezone,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Node) Reset() { + *x = Node{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Node) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Node) ProtoMessage() {} + +func (x *Node) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Node.ProtoReflect.Descriptor instead. +func (*Node) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{2} +} + +func (x *Node) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Node) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Node) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *Node) GetSshHost() string { + if x != nil { + return x.SshHost + } + return "" +} + +func (x *Node) GetSshPort() int32 { + if x != nil { + return x.SshPort + } + return 0 +} + +func (x *Node) GetSshUser() string { + if x != nil { + return x.SshUser + } + return "" +} + +func (x *Node) GetPodmanSocketPath() string { + if x != nil { + return x.PodmanSocketPath + } + return "" +} + +func (x *Node) GetTraefikConfigPath() string { + if x != nil { + return x.TraefikConfigPath + } + return "" +} + +func (x *Node) GetTraefikNetwork() string { + if x != nil { + return x.TraefikNetwork + } + return "" +} + +func (x *Node) GetTraefikEntrypoints() []string { + if x != nil { + return x.TraefikEntrypoints + } + return nil +} + +func (x *Node) GetAcmeResolverName() string { + if x != nil && x.AcmeResolverName != nil { + return *x.AcmeResolverName + } + return "" +} + +func (x *Node) GetAcmeEmail() string { + if x != nil && x.AcmeEmail != nil { + return *x.AcmeEmail + } + return "" +} + +func (x *Node) GetMaxInstances() int32 { + if x != nil { + return x.MaxInstances + } + return 0 +} + +func (x *Node) GetCurrentInstances() int32 { + if x != nil { + return x.CurrentInstances + } + return 0 +} + +func (x *Node) GetStatus() NodeStatus { + if x != nil { + return x.Status + } + return NodeStatus_NODE_STATUS_UNSPECIFIED +} + +func (x *Node) GetStatusMessage() string { + if x != nil && x.StatusMessage != nil { + return *x.StatusMessage + } + return "" +} + +func (x *Node) GetLastHealthCheck() *timestamppb.Timestamp { + if x != nil { + return x.LastHealthCheck + } + return nil +} + +func (x *Node) GetHealthStatus() string { + if x != nil && x.HealthStatus != nil { + return *x.HealthStatus + } + return "" +} + +func (x *Node) GetRegion() string { + if x != nil && x.Region != nil { + return *x.Region + } + return "" +} + +func (x *Node) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Node) GetCountryCode() string { + if x != nil && x.CountryCode != nil { + return *x.CountryCode + } + return "" +} + +func (x *Node) GetCity() string { + if x != nil && x.City != nil { + return *x.City + } + return "" +} + +func (x *Node) GetTotalMemoryMb() int64 { + if x != nil && x.TotalMemoryMb != nil { + return *x.TotalMemoryMb + } + return 0 +} + +func (x *Node) GetAvailableMemoryMb() int64 { + if x != nil && x.AvailableMemoryMb != nil { + return *x.AvailableMemoryMb + } + return 0 +} + +func (x *Node) GetTotalCpuCores() int32 { + if x != nil && x.TotalCpuCores != nil { + return *x.TotalCpuCores + } + return 0 +} + +func (x *Node) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *Node) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *Node) GetTenantDbStatus() TenantDbStatus { + if x != nil { + return x.TenantDbStatus + } + return TenantDbStatus_TENANT_DB_STATUS_UNSPECIFIED +} + +func (x *Node) GetTenantDbContainerId() string { + if x != nil && x.TenantDbContainerId != nil { + return *x.TenantDbContainerId + } + return "" +} + +func (x *Node) GetTenantDbHealth() *TenantDbHealth { + if x != nil { + return x.TenantDbHealth + } + return nil +} + +func (x *Node) GetForwardingAddress() string { + if x != nil && x.ForwardingAddress != nil { + return *x.ForwardingAddress + } + return "" +} + +func (x *Node) GetTenantDbMaxConnections() int32 { + if x != nil && x.TenantDbMaxConnections != nil { + return *x.TenantDbMaxConnections + } + return 0 +} + +func (x *Node) GetTenantDbHeadroom() int32 { + if x != nil && x.TenantDbHeadroom != nil { + return *x.TenantDbHeadroom + } + return 0 +} + +func (x *Node) GetTimezone() string { + if x != nil { + return x.Timezone + } + return "" +} + +// NodeHealth contains health check information +type NodeHealth struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + PodmanVersion *string `protobuf:"bytes,3,opt,name=podman_version,json=podmanVersion,proto3,oneof" json:"podman_version,omitempty"` + TraefikVersion *string `protobuf:"bytes,4,opt,name=traefik_version,json=traefikVersion,proto3,oneof" json:"traefik_version,omitempty"` + RunningContainers int32 `protobuf:"varint,5,opt,name=running_containers,json=runningContainers,proto3" json:"running_containers,omitempty"` + ErrorMessage *string `protobuf:"bytes,6,opt,name=error_message,json=errorMessage,proto3,oneof" json:"error_message,omitempty"` + CheckedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=checked_at,json=checkedAt,proto3" json:"checked_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeHealth) Reset() { + *x = NodeHealth{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeHealth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeHealth) ProtoMessage() {} + +func (x *NodeHealth) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeHealth.ProtoReflect.Descriptor instead. +func (*NodeHealth) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{3} +} + +func (x *NodeHealth) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *NodeHealth) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *NodeHealth) GetPodmanVersion() string { + if x != nil && x.PodmanVersion != nil { + return *x.PodmanVersion + } + return "" +} + +func (x *NodeHealth) GetTraefikVersion() string { + if x != nil && x.TraefikVersion != nil { + return *x.TraefikVersion + } + return "" +} + +func (x *NodeHealth) GetRunningContainers() int32 { + if x != nil { + return x.RunningContainers + } + return 0 +} + +func (x *NodeHealth) GetErrorMessage() string { + if x != nil && x.ErrorMessage != nil { + return *x.ErrorMessage + } + return "" +} + +func (x *NodeHealth) GetCheckedAt() *timestamppb.Timestamp { + if x != nil { + return x.CheckedAt + } + return nil +} + +// CreateNodeRequest creates a new infrastructure node +type CreateNodeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` + // SSH connection + SshHost string `protobuf:"bytes,3,opt,name=ssh_host,json=sshHost,proto3" json:"ssh_host,omitempty"` + SshPort int32 `protobuf:"varint,4,opt,name=ssh_port,json=sshPort,proto3" json:"ssh_port,omitempty"` // Default: 22 + SshUser string `protobuf:"bytes,5,opt,name=ssh_user,json=sshUser,proto3" json:"ssh_user,omitempty"` // Default: root + SshPrivateKey string `protobuf:"bytes,6,opt,name=ssh_private_key,json=sshPrivateKey,proto3" json:"ssh_private_key,omitempty"` // Will be encrypted before storage + SshHostKeyFingerprint *string `protobuf:"bytes,7,opt,name=ssh_host_key_fingerprint,json=sshHostKeyFingerprint,proto3,oneof" json:"ssh_host_key_fingerprint,omitempty"` + // Podman configuration + PodmanSocketPath *string `protobuf:"bytes,8,opt,name=podman_socket_path,json=podmanSocketPath,proto3,oneof" json:"podman_socket_path,omitempty"` // Default: /run/podman/podman.sock + // Traefik configuration + TraefikConfigPath *string `protobuf:"bytes,9,opt,name=traefik_config_path,json=traefikConfigPath,proto3,oneof" json:"traefik_config_path,omitempty"` // Default: /etc/traefik/dynamic + TraefikNetwork *string `protobuf:"bytes,10,opt,name=traefik_network,json=traefikNetwork,proto3,oneof" json:"traefik_network,omitempty"` // Default: blockninja-tenants + TraefikEntrypoints []string `protobuf:"bytes,11,rep,name=traefik_entrypoints,json=traefikEntrypoints,proto3" json:"traefik_entrypoints,omitempty"` // Default: [websecure] + // ACME configuration + AcmeResolverName *string `protobuf:"bytes,12,opt,name=acme_resolver_name,json=acmeResolverName,proto3,oneof" json:"acme_resolver_name,omitempty"` // Default: letsencrypt + AcmeEmail *string `protobuf:"bytes,13,opt,name=acme_email,json=acmeEmail,proto3,oneof" json:"acme_email,omitempty"` + // Capacity + MaxInstances int32 `protobuf:"varint,14,opt,name=max_instances,json=maxInstances,proto3" json:"max_instances,omitempty"` // Default: 10 + // Region and labels + Region *string `protobuf:"bytes,15,opt,name=region,proto3,oneof" json:"region,omitempty"` + Labels map[string]string `protobuf:"bytes,16,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Location + CountryCode *string `protobuf:"bytes,17,opt,name=country_code,json=countryCode,proto3,oneof" json:"country_code,omitempty"` + City *string `protobuf:"bytes,18,opt,name=city,proto3,oneof" json:"city,omitempty"` + // Public address for Consul service registration; falls back to ssh_host if unset + ForwardingAddress *string `protobuf:"bytes,19,opt,name=forwarding_address,json=forwardingAddress,proto3,oneof" json:"forwarding_address,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateNodeRequest) Reset() { + *x = CreateNodeRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateNodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNodeRequest) ProtoMessage() {} + +func (x *CreateNodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNodeRequest.ProtoReflect.Descriptor instead. +func (*CreateNodeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{4} +} + +func (x *CreateNodeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateNodeRequest) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *CreateNodeRequest) GetSshHost() string { + if x != nil { + return x.SshHost + } + return "" +} + +func (x *CreateNodeRequest) GetSshPort() int32 { + if x != nil { + return x.SshPort + } + return 0 +} + +func (x *CreateNodeRequest) GetSshUser() string { + if x != nil { + return x.SshUser + } + return "" +} + +func (x *CreateNodeRequest) GetSshPrivateKey() string { + if x != nil { + return x.SshPrivateKey + } + return "" +} + +func (x *CreateNodeRequest) GetSshHostKeyFingerprint() string { + if x != nil && x.SshHostKeyFingerprint != nil { + return *x.SshHostKeyFingerprint + } + return "" +} + +func (x *CreateNodeRequest) GetPodmanSocketPath() string { + if x != nil && x.PodmanSocketPath != nil { + return *x.PodmanSocketPath + } + return "" +} + +func (x *CreateNodeRequest) GetTraefikConfigPath() string { + if x != nil && x.TraefikConfigPath != nil { + return *x.TraefikConfigPath + } + return "" +} + +func (x *CreateNodeRequest) GetTraefikNetwork() string { + if x != nil && x.TraefikNetwork != nil { + return *x.TraefikNetwork + } + return "" +} + +func (x *CreateNodeRequest) GetTraefikEntrypoints() []string { + if x != nil { + return x.TraefikEntrypoints + } + return nil +} + +func (x *CreateNodeRequest) GetAcmeResolverName() string { + if x != nil && x.AcmeResolverName != nil { + return *x.AcmeResolverName + } + return "" +} + +func (x *CreateNodeRequest) GetAcmeEmail() string { + if x != nil && x.AcmeEmail != nil { + return *x.AcmeEmail + } + return "" +} + +func (x *CreateNodeRequest) GetMaxInstances() int32 { + if x != nil { + return x.MaxInstances + } + return 0 +} + +func (x *CreateNodeRequest) GetRegion() string { + if x != nil && x.Region != nil { + return *x.Region + } + return "" +} + +func (x *CreateNodeRequest) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *CreateNodeRequest) GetCountryCode() string { + if x != nil && x.CountryCode != nil { + return *x.CountryCode + } + return "" +} + +func (x *CreateNodeRequest) GetCity() string { + if x != nil && x.City != nil { + return *x.City + } + return "" +} + +func (x *CreateNodeRequest) GetForwardingAddress() string { + if x != nil && x.ForwardingAddress != nil { + return *x.ForwardingAddress + } + return "" +} + +type CreateNodeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateNodeResponse) Reset() { + *x = CreateNodeResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateNodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNodeResponse) ProtoMessage() {} + +func (x *CreateNodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNodeResponse.ProtoReflect.Descriptor instead. +func (*CreateNodeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{5} +} + +func (x *CreateNodeResponse) GetNode() *Node { + if x != nil { + return x.Node + } + return nil +} + +type GetNodeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNodeRequest) Reset() { + *x = GetNodeRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNodeRequest) ProtoMessage() {} + +func (x *GetNodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNodeRequest.ProtoReflect.Descriptor instead. +func (*GetNodeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{6} +} + +func (x *GetNodeRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetNodeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNodeResponse) Reset() { + *x = GetNodeResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNodeResponse) ProtoMessage() {} + +func (x *GetNodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNodeResponse.ProtoReflect.Descriptor instead. +func (*GetNodeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{7} +} + +func (x *GetNodeResponse) GetNode() *Node { + if x != nil { + return x.Node + } + return nil +} + +type ListNodesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Optional filter by status + Status *NodeStatus `protobuf:"varint,1,opt,name=status,proto3,enum=orchestrator.v1.NodeStatus,oneof" json:"status,omitempty"` + // Optional filter by region + Region *string `protobuf:"bytes,2,opt,name=region,proto3,oneof" json:"region,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNodesRequest) Reset() { + *x = ListNodesRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNodesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNodesRequest) ProtoMessage() {} + +func (x *ListNodesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNodesRequest.ProtoReflect.Descriptor instead. +func (*ListNodesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{8} +} + +func (x *ListNodesRequest) GetStatus() NodeStatus { + if x != nil && x.Status != nil { + return *x.Status + } + return NodeStatus_NODE_STATUS_UNSPECIFIED +} + +func (x *ListNodesRequest) GetRegion() string { + if x != nil && x.Region != nil { + return *x.Region + } + return "" +} + +type ListNodesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Nodes []*Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNodesResponse) Reset() { + *x = ListNodesResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNodesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNodesResponse) ProtoMessage() {} + +func (x *ListNodesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNodesResponse.ProtoReflect.Descriptor instead. +func (*ListNodesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{9} +} + +func (x *ListNodesResponse) GetNodes() []*Node { + if x != nil { + return x.Nodes + } + return nil +} + +type UpdateNodeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` + SshHost *string `protobuf:"bytes,3,opt,name=ssh_host,json=sshHost,proto3,oneof" json:"ssh_host,omitempty"` + SshPort *int32 `protobuf:"varint,4,opt,name=ssh_port,json=sshPort,proto3,oneof" json:"ssh_port,omitempty"` + SshUser *string `protobuf:"bytes,5,opt,name=ssh_user,json=sshUser,proto3,oneof" json:"ssh_user,omitempty"` + PodmanSocketPath *string `protobuf:"bytes,6,opt,name=podman_socket_path,json=podmanSocketPath,proto3,oneof" json:"podman_socket_path,omitempty"` + TraefikConfigPath *string `protobuf:"bytes,7,opt,name=traefik_config_path,json=traefikConfigPath,proto3,oneof" json:"traefik_config_path,omitempty"` + TraefikNetwork *string `protobuf:"bytes,8,opt,name=traefik_network,json=traefikNetwork,proto3,oneof" json:"traefik_network,omitempty"` + TraefikEntrypoints []string `protobuf:"bytes,9,rep,name=traefik_entrypoints,json=traefikEntrypoints,proto3" json:"traefik_entrypoints,omitempty"` + AcmeResolverName *string `protobuf:"bytes,10,opt,name=acme_resolver_name,json=acmeResolverName,proto3,oneof" json:"acme_resolver_name,omitempty"` + AcmeEmail *string `protobuf:"bytes,11,opt,name=acme_email,json=acmeEmail,proto3,oneof" json:"acme_email,omitempty"` + MaxInstances *int32 `protobuf:"varint,12,opt,name=max_instances,json=maxInstances,proto3,oneof" json:"max_instances,omitempty"` + Region *string `protobuf:"bytes,13,opt,name=region,proto3,oneof" json:"region,omitempty"` + Labels map[string]string `protobuf:"bytes,14,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Location + CountryCode *string `protobuf:"bytes,15,opt,name=country_code,json=countryCode,proto3,oneof" json:"country_code,omitempty"` + City *string `protobuf:"bytes,16,opt,name=city,proto3,oneof" json:"city,omitempty"` + // Public address for Consul service registration; falls back to ssh_host if unset + ForwardingAddress *string `protobuf:"bytes,17,opt,name=forwarding_address,json=forwardingAddress,proto3,oneof" json:"forwarding_address,omitempty"` + // IANA timezone name (validated with time.LoadLocation; invalid -> InvalidArgument) + Timezone *string `protobuf:"bytes,18,opt,name=timezone,proto3,oneof" json:"timezone,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateNodeRequest) Reset() { + *x = UpdateNodeRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateNodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNodeRequest) ProtoMessage() {} + +func (x *UpdateNodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNodeRequest.ProtoReflect.Descriptor instead. +func (*UpdateNodeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{10} +} + +func (x *UpdateNodeRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateNodeRequest) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *UpdateNodeRequest) GetSshHost() string { + if x != nil && x.SshHost != nil { + return *x.SshHost + } + return "" +} + +func (x *UpdateNodeRequest) GetSshPort() int32 { + if x != nil && x.SshPort != nil { + return *x.SshPort + } + return 0 +} + +func (x *UpdateNodeRequest) GetSshUser() string { + if x != nil && x.SshUser != nil { + return *x.SshUser + } + return "" +} + +func (x *UpdateNodeRequest) GetPodmanSocketPath() string { + if x != nil && x.PodmanSocketPath != nil { + return *x.PodmanSocketPath + } + return "" +} + +func (x *UpdateNodeRequest) GetTraefikConfigPath() string { + if x != nil && x.TraefikConfigPath != nil { + return *x.TraefikConfigPath + } + return "" +} + +func (x *UpdateNodeRequest) GetTraefikNetwork() string { + if x != nil && x.TraefikNetwork != nil { + return *x.TraefikNetwork + } + return "" +} + +func (x *UpdateNodeRequest) GetTraefikEntrypoints() []string { + if x != nil { + return x.TraefikEntrypoints + } + return nil +} + +func (x *UpdateNodeRequest) GetAcmeResolverName() string { + if x != nil && x.AcmeResolverName != nil { + return *x.AcmeResolverName + } + return "" +} + +func (x *UpdateNodeRequest) GetAcmeEmail() string { + if x != nil && x.AcmeEmail != nil { + return *x.AcmeEmail + } + return "" +} + +func (x *UpdateNodeRequest) GetMaxInstances() int32 { + if x != nil && x.MaxInstances != nil { + return *x.MaxInstances + } + return 0 +} + +func (x *UpdateNodeRequest) GetRegion() string { + if x != nil && x.Region != nil { + return *x.Region + } + return "" +} + +func (x *UpdateNodeRequest) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *UpdateNodeRequest) GetCountryCode() string { + if x != nil && x.CountryCode != nil { + return *x.CountryCode + } + return "" +} + +func (x *UpdateNodeRequest) GetCity() string { + if x != nil && x.City != nil { + return *x.City + } + return "" +} + +func (x *UpdateNodeRequest) GetForwardingAddress() string { + if x != nil && x.ForwardingAddress != nil { + return *x.ForwardingAddress + } + return "" +} + +func (x *UpdateNodeRequest) GetTimezone() string { + if x != nil && x.Timezone != nil { + return *x.Timezone + } + return "" +} + +type UpdateNodeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateNodeResponse) Reset() { + *x = UpdateNodeResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateNodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNodeResponse) ProtoMessage() {} + +func (x *UpdateNodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNodeResponse.ProtoReflect.Descriptor instead. +func (*UpdateNodeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{11} +} + +func (x *UpdateNodeResponse) GetNode() *Node { + if x != nil { + return x.Node + } + return nil +} + +type UpdateNodeSSHKeyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SshPrivateKey string `protobuf:"bytes,2,opt,name=ssh_private_key,json=sshPrivateKey,proto3" json:"ssh_private_key,omitempty"` // Will be encrypted before storage + SshHostKeyFingerprint *string `protobuf:"bytes,3,opt,name=ssh_host_key_fingerprint,json=sshHostKeyFingerprint,proto3,oneof" json:"ssh_host_key_fingerprint,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateNodeSSHKeyRequest) Reset() { + *x = UpdateNodeSSHKeyRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateNodeSSHKeyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNodeSSHKeyRequest) ProtoMessage() {} + +func (x *UpdateNodeSSHKeyRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNodeSSHKeyRequest.ProtoReflect.Descriptor instead. +func (*UpdateNodeSSHKeyRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{12} +} + +func (x *UpdateNodeSSHKeyRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateNodeSSHKeyRequest) GetSshPrivateKey() string { + if x != nil { + return x.SshPrivateKey + } + return "" +} + +func (x *UpdateNodeSSHKeyRequest) GetSshHostKeyFingerprint() string { + if x != nil && x.SshHostKeyFingerprint != nil { + return *x.SshHostKeyFingerprint + } + return "" +} + +type UpdateNodeSSHKeyResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateNodeSSHKeyResponse) Reset() { + *x = UpdateNodeSSHKeyResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateNodeSSHKeyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNodeSSHKeyResponse) ProtoMessage() {} + +func (x *UpdateNodeSSHKeyResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNodeSSHKeyResponse.ProtoReflect.Descriptor instead. +func (*UpdateNodeSSHKeyResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{13} +} + +func (x *UpdateNodeSSHKeyResponse) GetNode() *Node { + if x != nil { + return x.Node + } + return nil +} + +type DeleteNodeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Force delete even if instances are running + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteNodeRequest) Reset() { + *x = DeleteNodeRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteNodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNodeRequest) ProtoMessage() {} + +func (x *DeleteNodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNodeRequest.ProtoReflect.Descriptor instead. +func (*DeleteNodeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{14} +} + +func (x *DeleteNodeRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DeleteNodeRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +type DeleteNodeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteNodeResponse) Reset() { + *x = DeleteNodeResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteNodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNodeResponse) ProtoMessage() {} + +func (x *DeleteNodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNodeResponse.ProtoReflect.Descriptor instead. +func (*DeleteNodeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{15} +} + +type HealthCheckNodeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HealthCheckNodeRequest) Reset() { + *x = HealthCheckNodeRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HealthCheckNodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HealthCheckNodeRequest) ProtoMessage() {} + +func (x *HealthCheckNodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HealthCheckNodeRequest.ProtoReflect.Descriptor instead. +func (*HealthCheckNodeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{16} +} + +func (x *HealthCheckNodeRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type HealthCheckNodeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Health *NodeHealth `protobuf:"bytes,1,opt,name=health,proto3" json:"health,omitempty"` + TenantDbHealth *TenantDbHealth `protobuf:"bytes,2,opt,name=tenant_db_health,json=tenantDbHealth,proto3,oneof" json:"tenant_db_health,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HealthCheckNodeResponse) Reset() { + *x = HealthCheckNodeResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HealthCheckNodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HealthCheckNodeResponse) ProtoMessage() {} + +func (x *HealthCheckNodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HealthCheckNodeResponse.ProtoReflect.Descriptor instead. +func (*HealthCheckNodeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{17} +} + +func (x *HealthCheckNodeResponse) GetHealth() *NodeHealth { + if x != nil { + return x.Health + } + return nil +} + +func (x *HealthCheckNodeResponse) GetTenantDbHealth() *TenantDbHealth { + if x != nil { + return x.TenantDbHealth + } + return nil +} + +type DrainNodeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DrainNodeRequest) Reset() { + *x = DrainNodeRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DrainNodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DrainNodeRequest) ProtoMessage() {} + +func (x *DrainNodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DrainNodeRequest.ProtoReflect.Descriptor instead. +func (*DrainNodeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{18} +} + +func (x *DrainNodeRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DrainNodeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DrainNodeResponse) Reset() { + *x = DrainNodeResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DrainNodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DrainNodeResponse) ProtoMessage() {} + +func (x *DrainNodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DrainNodeResponse.ProtoReflect.Descriptor instead. +func (*DrainNodeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{19} +} + +func (x *DrainNodeResponse) GetNode() *Node { + if x != nil { + return x.Node + } + return nil +} + +type ActivateNodeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivateNodeRequest) Reset() { + *x = ActivateNodeRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivateNodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivateNodeRequest) ProtoMessage() {} + +func (x *ActivateNodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivateNodeRequest.ProtoReflect.Descriptor instead. +func (*ActivateNodeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{20} +} + +func (x *ActivateNodeRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type ActivateNodeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivateNodeResponse) Reset() { + *x = ActivateNodeResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivateNodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivateNodeResponse) ProtoMessage() {} + +func (x *ActivateNodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivateNodeResponse.ProtoReflect.Descriptor instead. +func (*ActivateNodeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{21} +} + +func (x *ActivateNodeResponse) GetNode() *Node { + if x != nil { + return x.Node + } + return nil +} + +type OfflineNodeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Reason *string `protobuf:"bytes,2,opt,name=reason,proto3,oneof" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OfflineNodeRequest) Reset() { + *x = OfflineNodeRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OfflineNodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OfflineNodeRequest) ProtoMessage() {} + +func (x *OfflineNodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OfflineNodeRequest.ProtoReflect.Descriptor instead. +func (*OfflineNodeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{22} +} + +func (x *OfflineNodeRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *OfflineNodeRequest) GetReason() string { + if x != nil && x.Reason != nil { + return *x.Reason + } + return "" +} + +type OfflineNodeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OfflineNodeResponse) Reset() { + *x = OfflineNodeResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OfflineNodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OfflineNodeResponse) ProtoMessage() {} + +func (x *OfflineNodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OfflineNodeResponse.ProtoReflect.Descriptor instead. +func (*OfflineNodeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{23} +} + +func (x *OfflineNodeResponse) GetNode() *Node { + if x != nil { + return x.Node + } + return nil +} + +type TestNodeConnectionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestNodeConnectionRequest) Reset() { + *x = TestNodeConnectionRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestNodeConnectionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestNodeConnectionRequest) ProtoMessage() {} + +func (x *TestNodeConnectionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestNodeConnectionRequest.ProtoReflect.Descriptor instead. +func (*TestNodeConnectionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{24} +} + +func (x *TestNodeConnectionRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type TestNodeConnectionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + PodmanVersion *string `protobuf:"bytes,2,opt,name=podman_version,json=podmanVersion,proto3,oneof" json:"podman_version,omitempty"` + ErrorMessage *string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3,oneof" json:"error_message,omitempty"` + // Latency in milliseconds + LatencyMs int64 `protobuf:"varint,4,opt,name=latency_ms,json=latencyMs,proto3" json:"latency_ms,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestNodeConnectionResponse) Reset() { + *x = TestNodeConnectionResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestNodeConnectionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestNodeConnectionResponse) ProtoMessage() {} + +func (x *TestNodeConnectionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestNodeConnectionResponse.ProtoReflect.Descriptor instead. +func (*TestNodeConnectionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{25} +} + +func (x *TestNodeConnectionResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *TestNodeConnectionResponse) GetPodmanVersion() string { + if x != nil && x.PodmanVersion != nil { + return *x.PodmanVersion + } + return "" +} + +func (x *TestNodeConnectionResponse) GetErrorMessage() string { + if x != nil && x.ErrorMessage != nil { + return *x.ErrorMessage + } + return "" +} + +func (x *TestNodeConnectionResponse) GetLatencyMs() int64 { + if x != nil { + return x.LatencyMs + } + return 0 +} + +type DeployTenantDBRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeployTenantDBRequest) Reset() { + *x = DeployTenantDBRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeployTenantDBRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployTenantDBRequest) ProtoMessage() {} + +func (x *DeployTenantDBRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeployTenantDBRequest.ProtoReflect.Descriptor instead. +func (*DeployTenantDBRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{26} +} + +func (x *DeployTenantDBRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DeployTenantDBResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeployTenantDBResponse) Reset() { + *x = DeployTenantDBResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeployTenantDBResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeployTenantDBResponse) ProtoMessage() {} + +func (x *DeployTenantDBResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeployTenantDBResponse.ProtoReflect.Descriptor instead. +func (*DeployTenantDBResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{27} +} + +func (x *DeployTenantDBResponse) GetNode() *Node { + if x != nil { + return x.Node + } + return nil +} + +// GenerateNodeRegistrationKeyRequest creates a new registration key +type GenerateNodeRegistrationKeyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Optional label for the registration key + Label *string `protobuf:"bytes,1,opt,name=label,proto3,oneof" json:"label,omitempty"` + // Custom expiration in minutes (default: 60, max: 1440 = 24 hours) + ExpiresInMinutes *int32 `protobuf:"varint,2,opt,name=expires_in_minutes,json=expiresInMinutes,proto3,oneof" json:"expires_in_minutes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GenerateNodeRegistrationKeyRequest) Reset() { + *x = GenerateNodeRegistrationKeyRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateNodeRegistrationKeyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateNodeRegistrationKeyRequest) ProtoMessage() {} + +func (x *GenerateNodeRegistrationKeyRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateNodeRegistrationKeyRequest.ProtoReflect.Descriptor instead. +func (*GenerateNodeRegistrationKeyRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{28} +} + +func (x *GenerateNodeRegistrationKeyRequest) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" +} + +func (x *GenerateNodeRegistrationKeyRequest) GetExpiresInMinutes() int32 { + if x != nil && x.ExpiresInMinutes != nil { + return *x.ExpiresInMinutes + } + return 0 +} + +type GenerateNodeRegistrationKeyResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Registration *NodeRegistration `protobuf:"bytes,1,opt,name=registration,proto3" json:"registration,omitempty"` + // Full install command for convenience + InstallCommand string `protobuf:"bytes,2,opt,name=install_command,json=installCommand,proto3" json:"install_command,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GenerateNodeRegistrationKeyResponse) Reset() { + *x = GenerateNodeRegistrationKeyResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateNodeRegistrationKeyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateNodeRegistrationKeyResponse) ProtoMessage() {} + +func (x *GenerateNodeRegistrationKeyResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateNodeRegistrationKeyResponse.ProtoReflect.Descriptor instead. +func (*GenerateNodeRegistrationKeyResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{29} +} + +func (x *GenerateNodeRegistrationKeyResponse) GetRegistration() *NodeRegistration { + if x != nil { + return x.Registration + } + return nil +} + +func (x *GenerateNodeRegistrationKeyResponse) GetInstallCommand() string { + if x != nil { + return x.InstallCommand + } + return "" +} + +// ListNodeRegistrationsRequest lists registration keys +type ListNodeRegistrationsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Filter by status: all, pending, used, expired + Status *string `protobuf:"bytes,1,opt,name=status,proto3,oneof" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNodeRegistrationsRequest) Reset() { + *x = ListNodeRegistrationsRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNodeRegistrationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNodeRegistrationsRequest) ProtoMessage() {} + +func (x *ListNodeRegistrationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNodeRegistrationsRequest.ProtoReflect.Descriptor instead. +func (*ListNodeRegistrationsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{30} +} + +func (x *ListNodeRegistrationsRequest) GetStatus() string { + if x != nil && x.Status != nil { + return *x.Status + } + return "" +} + +type ListNodeRegistrationsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Registrations []*NodeRegistration `protobuf:"bytes,1,rep,name=registrations,proto3" json:"registrations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNodeRegistrationsResponse) Reset() { + *x = ListNodeRegistrationsResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNodeRegistrationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNodeRegistrationsResponse) ProtoMessage() {} + +func (x *ListNodeRegistrationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNodeRegistrationsResponse.ProtoReflect.Descriptor instead. +func (*ListNodeRegistrationsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{31} +} + +func (x *ListNodeRegistrationsResponse) GetRegistrations() []*NodeRegistration { + if x != nil { + return x.Registrations + } + return nil +} + +// DeleteNodeRegistrationRequest deletes an unused registration key +type DeleteNodeRegistrationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteNodeRegistrationRequest) Reset() { + *x = DeleteNodeRegistrationRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteNodeRegistrationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNodeRegistrationRequest) ProtoMessage() {} + +func (x *DeleteNodeRegistrationRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNodeRegistrationRequest.ProtoReflect.Descriptor instead. +func (*DeleteNodeRegistrationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{32} +} + +func (x *DeleteNodeRegistrationRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type DeleteNodeRegistrationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteNodeRegistrationResponse) Reset() { + *x = DeleteNodeRegistrationResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteNodeRegistrationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNodeRegistrationResponse) ProtoMessage() {} + +func (x *DeleteNodeRegistrationResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNodeRegistrationResponse.ProtoReflect.Descriptor instead. +func (*DeleteNodeRegistrationResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{33} +} + +// RegisterNodeRequest is called by the CLI to register a node +type RegisterNodeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Registration key (bnreg_xxx) + RegistrationKey string `protobuf:"bytes,1,opt,name=registration_key,json=registrationKey,proto3" json:"registration_key,omitempty"` + // Node configuration from CLI + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"` + // SSH private key - sent over HTTPS, stored encrypted + SshPrivateKey string `protobuf:"bytes,4,opt,name=ssh_private_key,json=sshPrivateKey,proto3" json:"ssh_private_key,omitempty"` + // Detected configuration + DetectedIp string `protobuf:"bytes,5,opt,name=detected_ip,json=detectedIp,proto3" json:"detected_ip,omitempty"` + DetectedHostname *string `protobuf:"bytes,6,opt,name=detected_hostname,json=detectedHostname,proto3,oneof" json:"detected_hostname,omitempty"` + PodmanVersion *string `protobuf:"bytes,7,opt,name=podman_version,json=podmanVersion,proto3,oneof" json:"podman_version,omitempty"` + SshPort *int32 `protobuf:"varint,8,opt,name=ssh_port,json=sshPort,proto3,oneof" json:"ssh_port,omitempty"` + SshUser *string `protobuf:"bytes,9,opt,name=ssh_user,json=sshUser,proto3,oneof" json:"ssh_user,omitempty"` + // System info + OsName *string `protobuf:"bytes,10,opt,name=os_name,json=osName,proto3,oneof" json:"os_name,omitempty"` + OsVersion *string `protobuf:"bytes,11,opt,name=os_version,json=osVersion,proto3,oneof" json:"os_version,omitempty"` + TotalMemoryMb *int64 `protobuf:"varint,12,opt,name=total_memory_mb,json=totalMemoryMb,proto3,oneof" json:"total_memory_mb,omitempty"` + CpuCores *int32 `protobuf:"varint,13,opt,name=cpu_cores,json=cpuCores,proto3,oneof" json:"cpu_cores,omitempty"` + // SSH host key (public key line from /etc/ssh/ssh_host_ed25519_key.pub) + SshHostKeyFingerprint *string `protobuf:"bytes,14,opt,name=ssh_host_key_fingerprint,json=sshHostKeyFingerprint,proto3,oneof" json:"ssh_host_key_fingerprint,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegisterNodeRequest) Reset() { + *x = RegisterNodeRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegisterNodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterNodeRequest) ProtoMessage() {} + +func (x *RegisterNodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterNodeRequest.ProtoReflect.Descriptor instead. +func (*RegisterNodeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{34} +} + +func (x *RegisterNodeRequest) GetRegistrationKey() string { + if x != nil { + return x.RegistrationKey + } + return "" +} + +func (x *RegisterNodeRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *RegisterNodeRequest) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *RegisterNodeRequest) GetSshPrivateKey() string { + if x != nil { + return x.SshPrivateKey + } + return "" +} + +func (x *RegisterNodeRequest) GetDetectedIp() string { + if x != nil { + return x.DetectedIp + } + return "" +} + +func (x *RegisterNodeRequest) GetDetectedHostname() string { + if x != nil && x.DetectedHostname != nil { + return *x.DetectedHostname + } + return "" +} + +func (x *RegisterNodeRequest) GetPodmanVersion() string { + if x != nil && x.PodmanVersion != nil { + return *x.PodmanVersion + } + return "" +} + +func (x *RegisterNodeRequest) GetSshPort() int32 { + if x != nil && x.SshPort != nil { + return *x.SshPort + } + return 0 +} + +func (x *RegisterNodeRequest) GetSshUser() string { + if x != nil && x.SshUser != nil { + return *x.SshUser + } + return "" +} + +func (x *RegisterNodeRequest) GetOsName() string { + if x != nil && x.OsName != nil { + return *x.OsName + } + return "" +} + +func (x *RegisterNodeRequest) GetOsVersion() string { + if x != nil && x.OsVersion != nil { + return *x.OsVersion + } + return "" +} + +func (x *RegisterNodeRequest) GetTotalMemoryMb() int64 { + if x != nil && x.TotalMemoryMb != nil { + return *x.TotalMemoryMb + } + return 0 +} + +func (x *RegisterNodeRequest) GetCpuCores() int32 { + if x != nil && x.CpuCores != nil { + return *x.CpuCores + } + return 0 +} + +func (x *RegisterNodeRequest) GetSshHostKeyFingerprint() string { + if x != nil && x.SshHostKeyFingerprint != nil { + return *x.SshHostKeyFingerprint + } + return "" +} + +type RegisterNodeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + // Message to display to user + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + // TLS certificates for OpenBao (PEM-encoded) + CaCert string `protobuf:"bytes,3,opt,name=ca_cert,json=caCert,proto3" json:"ca_cert,omitempty"` + NodeCert string `protobuf:"bytes,4,opt,name=node_cert,json=nodeCert,proto3" json:"node_cert,omitempty"` + NodeKey string `protobuf:"bytes,5,opt,name=node_key,json=nodeKey,proto3" json:"node_key,omitempty"` + // Leader node IP for direct Raft TLS joins + LeaderIp string `protobuf:"bytes,6,opt,name=leader_ip,json=leaderIp,proto3" json:"leader_ip,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegisterNodeResponse) Reset() { + *x = RegisterNodeResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegisterNodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterNodeResponse) ProtoMessage() {} + +func (x *RegisterNodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterNodeResponse.ProtoReflect.Descriptor instead. +func (*RegisterNodeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{35} +} + +func (x *RegisterNodeResponse) GetNode() *Node { + if x != nil { + return x.Node + } + return nil +} + +func (x *RegisterNodeResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *RegisterNodeResponse) GetCaCert() string { + if x != nil { + return x.CaCert + } + return "" +} + +func (x *RegisterNodeResponse) GetNodeCert() string { + if x != nil { + return x.NodeCert + } + return "" +} + +func (x *RegisterNodeResponse) GetNodeKey() string { + if x != nil { + return x.NodeKey + } + return "" +} + +func (x *RegisterNodeResponse) GetLeaderIp() string { + if x != nil { + return x.LeaderIp + } + return "" +} + +type SuggestTenantDBBudgetRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SuggestTenantDBBudgetRequest) Reset() { + *x = SuggestTenantDBBudgetRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SuggestTenantDBBudgetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SuggestTenantDBBudgetRequest) ProtoMessage() {} + +func (x *SuggestTenantDBBudgetRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SuggestTenantDBBudgetRequest.ProtoReflect.Descriptor instead. +func (*SuggestTenantDBBudgetRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{36} +} + +func (x *SuggestTenantDBBudgetRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type SuggestTenantDBBudgetResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + SuggestedBudget int32 `protobuf:"varint,1,opt,name=suggested_budget,json=suggestedBudget,proto3" json:"suggested_budget,omitempty"` + CurrentBudget *int32 `protobuf:"varint,2,opt,name=current_budget,json=currentBudget,proto3,oneof" json:"current_budget,omitempty"` // null when never configured + Cores int32 `protobuf:"varint,3,opt,name=cores,proto3" json:"cores,omitempty"` + RamMb int32 `protobuf:"varint,4,opt,name=ram_mb,json=ramMb,proto3" json:"ram_mb,omitempty"` + Reasoning string `protobuf:"bytes,5,opt,name=reasoning,proto3" json:"reasoning,omitempty"` // e.g. "8 cores / 16384MB -> min(200, 327) = 200" + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SuggestTenantDBBudgetResponse) Reset() { + *x = SuggestTenantDBBudgetResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SuggestTenantDBBudgetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SuggestTenantDBBudgetResponse) ProtoMessage() {} + +func (x *SuggestTenantDBBudgetResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SuggestTenantDBBudgetResponse.ProtoReflect.Descriptor instead. +func (*SuggestTenantDBBudgetResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{37} +} + +func (x *SuggestTenantDBBudgetResponse) GetSuggestedBudget() int32 { + if x != nil { + return x.SuggestedBudget + } + return 0 +} + +func (x *SuggestTenantDBBudgetResponse) GetCurrentBudget() int32 { + if x != nil && x.CurrentBudget != nil { + return *x.CurrentBudget + } + return 0 +} + +func (x *SuggestTenantDBBudgetResponse) GetCores() int32 { + if x != nil { + return x.Cores + } + return 0 +} + +func (x *SuggestTenantDBBudgetResponse) GetRamMb() int32 { + if x != nil { + return x.RamMb + } + return 0 +} + +func (x *SuggestTenantDBBudgetResponse) GetReasoning() string { + if x != nil { + return x.Reasoning + } + return "" +} + +type ConfigureTenantDBRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Budget int32 `protobuf:"varint,2,opt,name=budget,proto3" json:"budget,omitempty"` + Headroom *int32 `protobuf:"varint,3,opt,name=headroom,proto3,oneof" json:"headroom,omitempty"` // defaults to 15 when unset + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfigureTenantDBRequest) Reset() { + *x = ConfigureTenantDBRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfigureTenantDBRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigureTenantDBRequest) ProtoMessage() {} + +func (x *ConfigureTenantDBRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigureTenantDBRequest.ProtoReflect.Descriptor instead. +func (*ConfigureTenantDBRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{38} +} + +func (x *ConfigureTenantDBRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *ConfigureTenantDBRequest) GetBudget() int32 { + if x != nil { + return x.Budget + } + return 0 +} + +func (x *ConfigureTenantDBRequest) GetHeadroom() int32 { + if x != nil && x.Headroom != nil { + return *x.Headroom + } + return 0 +} + +type ConfigureTenantDBResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` // "applying" | "applied" | "error" + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfigureTenantDBResponse) Reset() { + *x = ConfigureTenantDBResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfigureTenantDBResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigureTenantDBResponse) ProtoMessage() {} + +func (x *ConfigureTenantDBResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigureTenantDBResponse.ProtoReflect.Descriptor instead. +func (*ConfigureTenantDBResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{39} +} + +func (x *ConfigureTenantDBResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ConfigureTenantDBResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +// DatabaseMetric is per-tenant-database stats within the node's tenant-db. +type DatabaseMetric struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + SizeBytes int64 `protobuf:"varint,2,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"` + Connections int32 `protobuf:"varint,3,opt,name=connections,proto3" json:"connections,omitempty"` + Commits int64 `protobuf:"varint,4,opt,name=commits,proto3" json:"commits,omitempty"` + Rollbacks int64 `protobuf:"varint,5,opt,name=rollbacks,proto3" json:"rollbacks,omitempty"` + CacheHitRatio float64 `protobuf:"fixed64,6,opt,name=cache_hit_ratio,json=cacheHitRatio,proto3" json:"cache_hit_ratio,omitempty"` + Deadlocks int64 `protobuf:"varint,7,opt,name=deadlocks,proto3" json:"deadlocks,omitempty"` + LongestActiveMs int64 `protobuf:"varint,8,opt,name=longest_active_ms,json=longestActiveMs,proto3" json:"longest_active_ms,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DatabaseMetric) Reset() { + *x = DatabaseMetric{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DatabaseMetric) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DatabaseMetric) ProtoMessage() {} + +func (x *DatabaseMetric) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DatabaseMetric.ProtoReflect.Descriptor instead. +func (*DatabaseMetric) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{40} +} + +func (x *DatabaseMetric) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DatabaseMetric) GetSizeBytes() int64 { + if x != nil { + return x.SizeBytes + } + return 0 +} + +func (x *DatabaseMetric) GetConnections() int32 { + if x != nil { + return x.Connections + } + return 0 +} + +func (x *DatabaseMetric) GetCommits() int64 { + if x != nil { + return x.Commits + } + return 0 +} + +func (x *DatabaseMetric) GetRollbacks() int64 { + if x != nil { + return x.Rollbacks + } + return 0 +} + +func (x *DatabaseMetric) GetCacheHitRatio() float64 { + if x != nil { + return x.CacheHitRatio + } + return 0 +} + +func (x *DatabaseMetric) GetDeadlocks() int64 { + if x != nil { + return x.Deadlocks + } + return 0 +} + +func (x *DatabaseMetric) GetLongestActiveMs() int64 { + if x != nil { + return x.LongestActiveMs + } + return 0 +} + +// TopQuery is a pg_stat_statements row (only when stats are enabled). +type TopQuery struct { + state protoimpl.MessageState `protogen:"open.v1"` + QueryId string `protobuf:"bytes,1,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"` + Database string `protobuf:"bytes,2,opt,name=database,proto3" json:"database,omitempty"` + Calls int64 `protobuf:"varint,3,opt,name=calls,proto3" json:"calls,omitempty"` + TotalMs float64 `protobuf:"fixed64,4,opt,name=total_ms,json=totalMs,proto3" json:"total_ms,omitempty"` + MeanMs float64 `protobuf:"fixed64,5,opt,name=mean_ms,json=meanMs,proto3" json:"mean_ms,omitempty"` + Rows int64 `protobuf:"varint,6,opt,name=rows,proto3" json:"rows,omitempty"` + Query string `protobuf:"bytes,7,opt,name=query,proto3" json:"query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TopQuery) Reset() { + *x = TopQuery{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TopQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TopQuery) ProtoMessage() {} + +func (x *TopQuery) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TopQuery.ProtoReflect.Descriptor instead. +func (*TopQuery) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{41} +} + +func (x *TopQuery) GetQueryId() string { + if x != nil { + return x.QueryId + } + return "" +} + +func (x *TopQuery) GetDatabase() string { + if x != nil { + return x.Database + } + return "" +} + +func (x *TopQuery) GetCalls() int64 { + if x != nil { + return x.Calls + } + return 0 +} + +func (x *TopQuery) GetTotalMs() float64 { + if x != nil { + return x.TotalMs + } + return 0 +} + +func (x *TopQuery) GetMeanMs() float64 { + if x != nil { + return x.MeanMs + } + return 0 +} + +func (x *TopQuery) GetRows() int64 { + if x != nil { + return x.Rows + } + return 0 +} + +func (x *TopQuery) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +// NodeDatabaseMetrics is a live snapshot of the node's shared tenant-db cluster. +type NodeDatabaseMetrics struct { + state protoimpl.MessageState `protogen:"open.v1"` + MaxConnections int32 `protobuf:"varint,1,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` + ReservedConnections int32 `protobuf:"varint,2,opt,name=reserved_connections,json=reservedConnections,proto3" json:"reserved_connections,omitempty"` + ActiveConnections int32 `protobuf:"varint,3,opt,name=active_connections,json=activeConnections,proto3" json:"active_connections,omitempty"` + IdleConnections int32 `protobuf:"varint,4,opt,name=idle_connections,json=idleConnections,proto3" json:"idle_connections,omitempty"` + IdleInTransaction int32 `protobuf:"varint,5,opt,name=idle_in_transaction,json=idleInTransaction,proto3" json:"idle_in_transaction,omitempty"` + WaitingOnLock int32 `protobuf:"varint,6,opt,name=waiting_on_lock,json=waitingOnLock,proto3" json:"waiting_on_lock,omitempty"` + TotalClientConnections int32 `protobuf:"varint,7,opt,name=total_client_connections,json=totalClientConnections,proto3" json:"total_client_connections,omitempty"` + ConnectionUtilizationPct float64 `protobuf:"fixed64,8,opt,name=connection_utilization_pct,json=connectionUtilizationPct,proto3" json:"connection_utilization_pct,omitempty"` // total_clients / (max - reserved) * 100 + CacheHitRatio float64 `protobuf:"fixed64,9,opt,name=cache_hit_ratio,json=cacheHitRatio,proto3" json:"cache_hit_ratio,omitempty"` + Deadlocks int64 `protobuf:"varint,10,opt,name=deadlocks,proto3" json:"deadlocks,omitempty"` + TempBytes int64 `protobuf:"varint,11,opt,name=temp_bytes,json=tempBytes,proto3" json:"temp_bytes,omitempty"` + LongestActiveMs int64 `protobuf:"varint,12,opt,name=longest_active_ms,json=longestActiveMs,proto3" json:"longest_active_ms,omitempty"` + LongRunning_30S int32 `protobuf:"varint,13,opt,name=long_running_30s,json=longRunning30s,proto3" json:"long_running_30s,omitempty"` + BlockedSessions int32 `protobuf:"varint,14,opt,name=blocked_sessions,json=blockedSessions,proto3" json:"blocked_sessions,omitempty"` + OldestTransactionMs int64 `protobuf:"varint,15,opt,name=oldest_transaction_ms,json=oldestTransactionMs,proto3" json:"oldest_transaction_ms,omitempty"` + ClusterSizeBytes int64 `protobuf:"varint,16,opt,name=cluster_size_bytes,json=clusterSizeBytes,proto3" json:"cluster_size_bytes,omitempty"` + // Rates computed vs the previous stored snapshot (0 if no baseline): + TransactionsPerSec float64 `protobuf:"fixed64,17,opt,name=transactions_per_sec,json=transactionsPerSec,proto3" json:"transactions_per_sec,omitempty"` + RollbackRatioPct float64 `protobuf:"fixed64,18,opt,name=rollback_ratio_pct,json=rollbackRatioPct,proto3" json:"rollback_ratio_pct,omitempty"` + Databases []*DatabaseMetric `protobuf:"bytes,19,rep,name=databases,proto3" json:"databases,omitempty"` + TopQueries []*TopQuery `protobuf:"bytes,20,rep,name=top_queries,json=topQueries,proto3" json:"top_queries,omitempty"` + QueryStatsEnabled bool `protobuf:"varint,21,opt,name=query_stats_enabled,json=queryStatsEnabled,proto3" json:"query_stats_enabled,omitempty"` + CollectedAt *timestamppb.Timestamp `protobuf:"bytes,22,opt,name=collected_at,json=collectedAt,proto3" json:"collected_at,omitempty"` + Error *string `protobuf:"bytes,23,opt,name=error,proto3,oneof" json:"error,omitempty"` // set when collection failed (tenant-db down etc.) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeDatabaseMetrics) Reset() { + *x = NodeDatabaseMetrics{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeDatabaseMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeDatabaseMetrics) ProtoMessage() {} + +func (x *NodeDatabaseMetrics) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeDatabaseMetrics.ProtoReflect.Descriptor instead. +func (*NodeDatabaseMetrics) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{42} +} + +func (x *NodeDatabaseMetrics) GetMaxConnections() int32 { + if x != nil { + return x.MaxConnections + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetReservedConnections() int32 { + if x != nil { + return x.ReservedConnections + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetActiveConnections() int32 { + if x != nil { + return x.ActiveConnections + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetIdleConnections() int32 { + if x != nil { + return x.IdleConnections + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetIdleInTransaction() int32 { + if x != nil { + return x.IdleInTransaction + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetWaitingOnLock() int32 { + if x != nil { + return x.WaitingOnLock + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetTotalClientConnections() int32 { + if x != nil { + return x.TotalClientConnections + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetConnectionUtilizationPct() float64 { + if x != nil { + return x.ConnectionUtilizationPct + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetCacheHitRatio() float64 { + if x != nil { + return x.CacheHitRatio + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetDeadlocks() int64 { + if x != nil { + return x.Deadlocks + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetTempBytes() int64 { + if x != nil { + return x.TempBytes + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetLongestActiveMs() int64 { + if x != nil { + return x.LongestActiveMs + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetLongRunning_30S() int32 { + if x != nil { + return x.LongRunning_30S + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetBlockedSessions() int32 { + if x != nil { + return x.BlockedSessions + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetOldestTransactionMs() int64 { + if x != nil { + return x.OldestTransactionMs + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetClusterSizeBytes() int64 { + if x != nil { + return x.ClusterSizeBytes + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetTransactionsPerSec() float64 { + if x != nil { + return x.TransactionsPerSec + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetRollbackRatioPct() float64 { + if x != nil { + return x.RollbackRatioPct + } + return 0 +} + +func (x *NodeDatabaseMetrics) GetDatabases() []*DatabaseMetric { + if x != nil { + return x.Databases + } + return nil +} + +func (x *NodeDatabaseMetrics) GetTopQueries() []*TopQuery { + if x != nil { + return x.TopQueries + } + return nil +} + +func (x *NodeDatabaseMetrics) GetQueryStatsEnabled() bool { + if x != nil { + return x.QueryStatsEnabled + } + return false +} + +func (x *NodeDatabaseMetrics) GetCollectedAt() *timestamppb.Timestamp { + if x != nil { + return x.CollectedAt + } + return nil +} + +func (x *NodeDatabaseMetrics) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +// NodeDatabaseMetricsSnapshot is one historical row for sparklines. +type NodeDatabaseMetricsSnapshot struct { + state protoimpl.MessageState `protogen:"open.v1"` + CheckedAt *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=checked_at,json=checkedAt,proto3" json:"checked_at,omitempty"` + TotalClientConnections int32 `protobuf:"varint,2,opt,name=total_client_connections,json=totalClientConnections,proto3" json:"total_client_connections,omitempty"` + MaxConnections int32 `protobuf:"varint,3,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"` + ConnectionUtilizationPct float64 `protobuf:"fixed64,4,opt,name=connection_utilization_pct,json=connectionUtilizationPct,proto3" json:"connection_utilization_pct,omitempty"` + CacheHitRatio float64 `protobuf:"fixed64,5,opt,name=cache_hit_ratio,json=cacheHitRatio,proto3" json:"cache_hit_ratio,omitempty"` + TransactionsPerSec float64 `protobuf:"fixed64,6,opt,name=transactions_per_sec,json=transactionsPerSec,proto3" json:"transactions_per_sec,omitempty"` + Deadlocks int64 `protobuf:"varint,7,opt,name=deadlocks,proto3" json:"deadlocks,omitempty"` + BlockedSessions int32 `protobuf:"varint,8,opt,name=blocked_sessions,json=blockedSessions,proto3" json:"blocked_sessions,omitempty"` + ClusterSizeBytes int64 `protobuf:"varint,9,opt,name=cluster_size_bytes,json=clusterSizeBytes,proto3" json:"cluster_size_bytes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeDatabaseMetricsSnapshot) Reset() { + *x = NodeDatabaseMetricsSnapshot{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeDatabaseMetricsSnapshot) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeDatabaseMetricsSnapshot) ProtoMessage() {} + +func (x *NodeDatabaseMetricsSnapshot) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeDatabaseMetricsSnapshot.ProtoReflect.Descriptor instead. +func (*NodeDatabaseMetricsSnapshot) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{43} +} + +func (x *NodeDatabaseMetricsSnapshot) GetCheckedAt() *timestamppb.Timestamp { + if x != nil { + return x.CheckedAt + } + return nil +} + +func (x *NodeDatabaseMetricsSnapshot) GetTotalClientConnections() int32 { + if x != nil { + return x.TotalClientConnections + } + return 0 +} + +func (x *NodeDatabaseMetricsSnapshot) GetMaxConnections() int32 { + if x != nil { + return x.MaxConnections + } + return 0 +} + +func (x *NodeDatabaseMetricsSnapshot) GetConnectionUtilizationPct() float64 { + if x != nil { + return x.ConnectionUtilizationPct + } + return 0 +} + +func (x *NodeDatabaseMetricsSnapshot) GetCacheHitRatio() float64 { + if x != nil { + return x.CacheHitRatio + } + return 0 +} + +func (x *NodeDatabaseMetricsSnapshot) GetTransactionsPerSec() float64 { + if x != nil { + return x.TransactionsPerSec + } + return 0 +} + +func (x *NodeDatabaseMetricsSnapshot) GetDeadlocks() int64 { + if x != nil { + return x.Deadlocks + } + return 0 +} + +func (x *NodeDatabaseMetricsSnapshot) GetBlockedSessions() int32 { + if x != nil { + return x.BlockedSessions + } + return 0 +} + +func (x *NodeDatabaseMetricsSnapshot) GetClusterSizeBytes() int64 { + if x != nil { + return x.ClusterSizeBytes + } + return 0 +} + +type GetNodeDatabaseMetricsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNodeDatabaseMetricsRequest) Reset() { + *x = GetNodeDatabaseMetricsRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNodeDatabaseMetricsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNodeDatabaseMetricsRequest) ProtoMessage() {} + +func (x *GetNodeDatabaseMetricsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNodeDatabaseMetricsRequest.ProtoReflect.Descriptor instead. +func (*GetNodeDatabaseMetricsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{44} +} + +func (x *GetNodeDatabaseMetricsRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type GetNodeDatabaseMetricsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Metrics *NodeDatabaseMetrics `protobuf:"bytes,1,opt,name=metrics,proto3" json:"metrics,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNodeDatabaseMetricsResponse) Reset() { + *x = GetNodeDatabaseMetricsResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNodeDatabaseMetricsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNodeDatabaseMetricsResponse) ProtoMessage() {} + +func (x *GetNodeDatabaseMetricsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNodeDatabaseMetricsResponse.ProtoReflect.Descriptor instead. +func (*GetNodeDatabaseMetricsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{45} +} + +func (x *GetNodeDatabaseMetricsResponse) GetMetrics() *NodeDatabaseMetrics { + if x != nil { + return x.Metrics + } + return nil +} + +type GetNodeDatabaseMetricsHistoryRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` // default 96 (~8h at 5m) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNodeDatabaseMetricsHistoryRequest) Reset() { + *x = GetNodeDatabaseMetricsHistoryRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNodeDatabaseMetricsHistoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNodeDatabaseMetricsHistoryRequest) ProtoMessage() {} + +func (x *GetNodeDatabaseMetricsHistoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNodeDatabaseMetricsHistoryRequest.ProtoReflect.Descriptor instead. +func (*GetNodeDatabaseMetricsHistoryRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{46} +} + +func (x *GetNodeDatabaseMetricsHistoryRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *GetNodeDatabaseMetricsHistoryRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +type GetNodeDatabaseMetricsHistoryResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Snapshots []*NodeDatabaseMetricsSnapshot `protobuf:"bytes,1,rep,name=snapshots,proto3" json:"snapshots,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNodeDatabaseMetricsHistoryResponse) Reset() { + *x = GetNodeDatabaseMetricsHistoryResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNodeDatabaseMetricsHistoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNodeDatabaseMetricsHistoryResponse) ProtoMessage() {} + +func (x *GetNodeDatabaseMetricsHistoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNodeDatabaseMetricsHistoryResponse.ProtoReflect.Descriptor instead. +func (*GetNodeDatabaseMetricsHistoryResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{47} +} + +func (x *GetNodeDatabaseMetricsHistoryResponse) GetSnapshots() []*NodeDatabaseMetricsSnapshot { + if x != nil { + return x.Snapshots + } + return nil +} + +type EnableNodeDatabaseStatsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnableNodeDatabaseStatsRequest) Reset() { + *x = EnableNodeDatabaseStatsRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnableNodeDatabaseStatsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableNodeDatabaseStatsRequest) ProtoMessage() {} + +func (x *EnableNodeDatabaseStatsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnableNodeDatabaseStatsRequest.ProtoReflect.Descriptor instead. +func (*EnableNodeDatabaseStatsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{48} +} + +func (x *EnableNodeDatabaseStatsRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type EnableNodeDatabaseStatsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnableNodeDatabaseStatsResponse) Reset() { + *x = EnableNodeDatabaseStatsResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnableNodeDatabaseStatsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnableNodeDatabaseStatsResponse) ProtoMessage() {} + +func (x *EnableNodeDatabaseStatsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnableNodeDatabaseStatsResponse.ProtoReflect.Descriptor instead. +func (*EnableNodeDatabaseStatsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{49} +} + +func (x *EnableNodeDatabaseStatsResponse) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *EnableNodeDatabaseStatsResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +// PgBouncerPool is one SHOW POOLS row (a per database+user connection pool). +// The internal `pgbouncer` admin pool is excluded by the collector. +type PgBouncerPool struct { + state protoimpl.MessageState `protogen:"open.v1"` + Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"` + User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` + ClActive int32 `protobuf:"varint,3,opt,name=cl_active,json=clActive,proto3" json:"cl_active,omitempty"` // client connections actively assigned to a server + ClWaiting int32 `protobuf:"varint,4,opt,name=cl_waiting,json=clWaiting,proto3" json:"cl_waiting,omitempty"` // clients queued waiting for a server (saturation signal) + SvActive int32 `protobuf:"varint,5,opt,name=sv_active,json=svActive,proto3" json:"sv_active,omitempty"` // server connections in use + SvIdle int32 `protobuf:"varint,6,opt,name=sv_idle,json=svIdle,proto3" json:"sv_idle,omitempty"` // server connections idle in the pool + MaxwaitUs int64 `protobuf:"varint,7,opt,name=maxwait_us,json=maxwaitUs,proto3" json:"maxwait_us,omitempty"` // longest a client has waited, microseconds + PoolMode string `protobuf:"bytes,8,opt,name=pool_mode,json=poolMode,proto3" json:"pool_mode,omitempty"` // transaction / session / statement + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PgBouncerPool) Reset() { + *x = PgBouncerPool{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PgBouncerPool) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PgBouncerPool) ProtoMessage() {} + +func (x *PgBouncerPool) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PgBouncerPool.ProtoReflect.Descriptor instead. +func (*PgBouncerPool) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{50} +} + +func (x *PgBouncerPool) GetDatabase() string { + if x != nil { + return x.Database + } + return "" +} + +func (x *PgBouncerPool) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +func (x *PgBouncerPool) GetClActive() int32 { + if x != nil { + return x.ClActive + } + return 0 +} + +func (x *PgBouncerPool) GetClWaiting() int32 { + if x != nil { + return x.ClWaiting + } + return 0 +} + +func (x *PgBouncerPool) GetSvActive() int32 { + if x != nil { + return x.SvActive + } + return 0 +} + +func (x *PgBouncerPool) GetSvIdle() int32 { + if x != nil { + return x.SvIdle + } + return 0 +} + +func (x *PgBouncerPool) GetMaxwaitUs() int64 { + if x != nil { + return x.MaxwaitUs + } + return 0 +} + +func (x *PgBouncerPool) GetPoolMode() string { + if x != nil { + return x.PoolMode + } + return "" +} + +// NodePgBouncerStats is a live snapshot of a node's pgBouncer connection pooler. +// Deploy status fields (enabled/status) are always populated; the live SHOW-derived +// fields are only set when the pooler is running and reachable. On collection +// failure `error` is set and the live fields stay zero. +type NodePgBouncerStats struct { + state protoimpl.MessageState `protogen:"open.v1"` + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // node.pgbouncer_enabled + Status TenantDbStatus `protobuf:"varint,2,opt,name=status,proto3,enum=orchestrator.v1.TenantDbStatus" json:"status,omitempty"` // deploy status (mirrors tenant_db_status) + Healthy bool `protobuf:"varint,3,opt,name=healthy,proto3" json:"healthy,omitempty"` // pg_isready on :6432 + DefaultPoolSize int32 `protobuf:"varint,4,opt,name=default_pool_size,json=defaultPoolSize,proto3" json:"default_pool_size,omitempty"` // SHOW CONFIG default_pool_size (server pool per db) + MaxClientConn int32 `protobuf:"varint,5,opt,name=max_client_conn,json=maxClientConn,proto3" json:"max_client_conn,omitempty"` // SHOW CONFIG max_client_conn + TotalClientsActive int32 `protobuf:"varint,6,opt,name=total_clients_active,json=totalClientsActive,proto3" json:"total_clients_active,omitempty"` + TotalClientsWaiting int32 `protobuf:"varint,7,opt,name=total_clients_waiting,json=totalClientsWaiting,proto3" json:"total_clients_waiting,omitempty"` + TotalServerActive int32 `protobuf:"varint,8,opt,name=total_server_active,json=totalServerActive,proto3" json:"total_server_active,omitempty"` + TotalServerIdle int32 `protobuf:"varint,9,opt,name=total_server_idle,json=totalServerIdle,proto3" json:"total_server_idle,omitempty"` + MaxWaitUs int64 `protobuf:"varint,10,opt,name=max_wait_us,json=maxWaitUs,proto3" json:"max_wait_us,omitempty"` // worst maxwait across pools (saturation signal) + TotalQueryCount int64 `protobuf:"varint,11,opt,name=total_query_count,json=totalQueryCount,proto3" json:"total_query_count,omitempty"` + AvgQueryCount float64 `protobuf:"fixed64,12,opt,name=avg_query_count,json=avgQueryCount,proto3" json:"avg_query_count,omitempty"` // ~queries/sec (per-db average) + AvgQueryTimeUs float64 `protobuf:"fixed64,13,opt,name=avg_query_time_us,json=avgQueryTimeUs,proto3" json:"avg_query_time_us,omitempty"` + AvgWaitTimeUs float64 `protobuf:"fixed64,14,opt,name=avg_wait_time_us,json=avgWaitTimeUs,proto3" json:"avg_wait_time_us,omitempty"` + Pools []*PgBouncerPool `protobuf:"bytes,15,rep,name=pools,proto3" json:"pools,omitempty"` + Error *string `protobuf:"bytes,16,opt,name=error,proto3,oneof" json:"error,omitempty"` // set when the pooler is down / collection failed + CollectedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=collected_at,json=collectedAt,proto3" json:"collected_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodePgBouncerStats) Reset() { + *x = NodePgBouncerStats{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodePgBouncerStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodePgBouncerStats) ProtoMessage() {} + +func (x *NodePgBouncerStats) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodePgBouncerStats.ProtoReflect.Descriptor instead. +func (*NodePgBouncerStats) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{51} +} + +func (x *NodePgBouncerStats) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *NodePgBouncerStats) GetStatus() TenantDbStatus { + if x != nil { + return x.Status + } + return TenantDbStatus_TENANT_DB_STATUS_UNSPECIFIED +} + +func (x *NodePgBouncerStats) GetHealthy() bool { + if x != nil { + return x.Healthy + } + return false +} + +func (x *NodePgBouncerStats) GetDefaultPoolSize() int32 { + if x != nil { + return x.DefaultPoolSize + } + return 0 +} + +func (x *NodePgBouncerStats) GetMaxClientConn() int32 { + if x != nil { + return x.MaxClientConn + } + return 0 +} + +func (x *NodePgBouncerStats) GetTotalClientsActive() int32 { + if x != nil { + return x.TotalClientsActive + } + return 0 +} + +func (x *NodePgBouncerStats) GetTotalClientsWaiting() int32 { + if x != nil { + return x.TotalClientsWaiting + } + return 0 +} + +func (x *NodePgBouncerStats) GetTotalServerActive() int32 { + if x != nil { + return x.TotalServerActive + } + return 0 +} + +func (x *NodePgBouncerStats) GetTotalServerIdle() int32 { + if x != nil { + return x.TotalServerIdle + } + return 0 +} + +func (x *NodePgBouncerStats) GetMaxWaitUs() int64 { + if x != nil { + return x.MaxWaitUs + } + return 0 +} + +func (x *NodePgBouncerStats) GetTotalQueryCount() int64 { + if x != nil { + return x.TotalQueryCount + } + return 0 +} + +func (x *NodePgBouncerStats) GetAvgQueryCount() float64 { + if x != nil { + return x.AvgQueryCount + } + return 0 +} + +func (x *NodePgBouncerStats) GetAvgQueryTimeUs() float64 { + if x != nil { + return x.AvgQueryTimeUs + } + return 0 +} + +func (x *NodePgBouncerStats) GetAvgWaitTimeUs() float64 { + if x != nil { + return x.AvgWaitTimeUs + } + return 0 +} + +func (x *NodePgBouncerStats) GetPools() []*PgBouncerPool { + if x != nil { + return x.Pools + } + return nil +} + +func (x *NodePgBouncerStats) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +func (x *NodePgBouncerStats) GetCollectedAt() *timestamppb.Timestamp { + if x != nil { + return x.CollectedAt + } + return nil +} + +type GetNodePgBouncerStatsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNodePgBouncerStatsRequest) Reset() { + *x = GetNodePgBouncerStatsRequest{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNodePgBouncerStatsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNodePgBouncerStatsRequest) ProtoMessage() {} + +func (x *GetNodePgBouncerStatsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNodePgBouncerStatsRequest.ProtoReflect.Descriptor instead. +func (*GetNodePgBouncerStatsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{52} +} + +func (x *GetNodePgBouncerStatsRequest) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +type GetNodePgBouncerStatsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Stats *NodePgBouncerStats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNodePgBouncerStatsResponse) Reset() { + *x = GetNodePgBouncerStatsResponse{} + mi := &file_orchestrator_v1_nodes_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNodePgBouncerStatsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNodePgBouncerStatsResponse) ProtoMessage() {} + +func (x *GetNodePgBouncerStatsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_nodes_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNodePgBouncerStatsResponse.ProtoReflect.Descriptor instead. +func (*GetNodePgBouncerStatsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_nodes_proto_rawDescGZIP(), []int{53} +} + +func (x *GetNodePgBouncerStatsResponse) GetStats() *NodePgBouncerStats { + if x != nil { + return x.Stats + } + return nil +} + +var File_orchestrator_v1_nodes_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_nodes_proto_rawDesc = "" + + "\n" + + "\x1borchestrator/v1/nodes.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe6\x01\n" + + "\x0eTenantDbHealth\x127\n" + + "\x06status\x18\x01 \x01(\x0e2\x1f.orchestrator.v1.TenantDbStatusR\x06status\x12\x18\n" + + "\ahealthy\x18\x02 \x01(\bR\ahealthy\x12\x1d\n" + + "\aversion\x18\x03 \x01(\tH\x00R\aversion\x88\x01\x01\x12\"\n" + + "\n" + + "latency_ms\x18\x04 \x01(\x03H\x01R\tlatencyMs\x88\x01\x01\x12\x19\n" + + "\x05error\x18\x05 \x01(\tH\x02R\x05error\x88\x01\x01B\n" + + "\n" + + "\b_versionB\r\n" + + "\v_latency_msB\b\n" + + "\x06_error\"\xde\x02\n" + + "\x10NodeRegistration\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n" + + "\x03key\x18\x02 \x01(\tR\x03key\x12\x19\n" + + "\x05label\x18\x03 \x01(\tH\x00R\x05label\x88\x01\x01\x129\n" + + "\n" + + "expires_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x128\n" + + "\aused_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampH\x01R\x06usedAt\x88\x01\x01\x12\x1c\n" + + "\anode_id\x18\x06 \x01(\tH\x02R\x06nodeId\x88\x01\x01\x12\x1d\n" + + "\n" + + "created_by\x18\a \x01(\tR\tcreatedBy\x129\n" + + "\n" + + "created_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\b\n" + + "\x06_labelB\n" + + "\n" + + "\b_used_atB\n" + + "\n" + + "\b_node_id\"\xfb\x0e\n" + + "\x04Node\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" + + "\x04slug\x18\x03 \x01(\tR\x04slug\x12\x19\n" + + "\bssh_host\x18\x04 \x01(\tR\asshHost\x12\x19\n" + + "\bssh_port\x18\x05 \x01(\x05R\asshPort\x12\x19\n" + + "\bssh_user\x18\x06 \x01(\tR\asshUser\x12,\n" + + "\x12podman_socket_path\x18\a \x01(\tR\x10podmanSocketPath\x12.\n" + + "\x13traefik_config_path\x18\b \x01(\tR\x11traefikConfigPath\x12'\n" + + "\x0ftraefik_network\x18\t \x01(\tR\x0etraefikNetwork\x12/\n" + + "\x13traefik_entrypoints\x18\n" + + " \x03(\tR\x12traefikEntrypoints\x121\n" + + "\x12acme_resolver_name\x18\v \x01(\tH\x00R\x10acmeResolverName\x88\x01\x01\x12\"\n" + + "\n" + + "acme_email\x18\f \x01(\tH\x01R\tacmeEmail\x88\x01\x01\x12#\n" + + "\rmax_instances\x18\r \x01(\x05R\fmaxInstances\x12+\n" + + "\x11current_instances\x18\x0e \x01(\x05R\x10currentInstances\x123\n" + + "\x06status\x18\x0f \x01(\x0e2\x1b.orchestrator.v1.NodeStatusR\x06status\x12*\n" + + "\x0estatus_message\x18\x10 \x01(\tH\x02R\rstatusMessage\x88\x01\x01\x12K\n" + + "\x11last_health_check\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampH\x03R\x0flastHealthCheck\x88\x01\x01\x12(\n" + + "\rhealth_status\x18\x12 \x01(\tH\x04R\fhealthStatus\x88\x01\x01\x12\x1b\n" + + "\x06region\x18\x13 \x01(\tH\x05R\x06region\x88\x01\x01\x129\n" + + "\x06labels\x18\x14 \x03(\v2!.orchestrator.v1.Node.LabelsEntryR\x06labels\x12&\n" + + "\fcountry_code\x18\x1a \x01(\tH\x06R\vcountryCode\x88\x01\x01\x12\x17\n" + + "\x04city\x18\x1b \x01(\tH\aR\x04city\x88\x01\x01\x12+\n" + + "\x0ftotal_memory_mb\x18\x15 \x01(\x03H\bR\rtotalMemoryMb\x88\x01\x01\x123\n" + + "\x13available_memory_mb\x18\x16 \x01(\x03H\tR\x11availableMemoryMb\x88\x01\x01\x12+\n" + + "\x0ftotal_cpu_cores\x18\x17 \x01(\x05H\n" + + "R\rtotalCpuCores\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\x18 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\x19 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12I\n" + + "\x10tenant_db_status\x18\x1c \x01(\x0e2\x1f.orchestrator.v1.TenantDbStatusR\x0etenantDbStatus\x128\n" + + "\x16tenant_db_container_id\x18\x1d \x01(\tH\vR\x13tenantDbContainerId\x88\x01\x01\x12N\n" + + "\x10tenant_db_health\x18\x1e \x01(\v2\x1f.orchestrator.v1.TenantDbHealthH\fR\x0etenantDbHealth\x88\x01\x01\x122\n" + + "\x12forwarding_address\x18\x1f \x01(\tH\rR\x11forwardingAddress\x88\x01\x01\x12>\n" + + "\x19tenant_db_max_connections\x18 \x01(\x05H\x0eR\x16tenantDbMaxConnections\x88\x01\x01\x121\n" + + "\x12tenant_db_headroom\x18! \x01(\x05H\x0fR\x10tenantDbHeadroom\x88\x01\x01\x12\x1a\n" + + "\btimezone\x18\" \x01(\tR\btimezone\x1a9\n" + + "\vLabelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x15\n" + + "\x13_acme_resolver_nameB\r\n" + + "\v_acme_emailB\x11\n" + + "\x0f_status_messageB\x14\n" + + "\x12_last_health_checkB\x10\n" + + "\x0e_health_statusB\t\n" + + "\a_regionB\x0f\n" + + "\r_country_codeB\a\n" + + "\x05_cityB\x12\n" + + "\x10_total_memory_mbB\x16\n" + + "\x14_available_memory_mbB\x12\n" + + "\x10_total_cpu_coresB\x19\n" + + "\x17_tenant_db_container_idB\x13\n" + + "\x11_tenant_db_healthB\x15\n" + + "\x13_forwarding_addressB\x1c\n" + + "\x1a_tenant_db_max_connectionsB\x15\n" + + "\x13_tenant_db_headroom\"\xe4\x02\n" + + "\n" + + "NodeHealth\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12\x16\n" + + "\x06status\x18\x02 \x01(\tR\x06status\x12*\n" + + "\x0epodman_version\x18\x03 \x01(\tH\x00R\rpodmanVersion\x88\x01\x01\x12,\n" + + "\x0ftraefik_version\x18\x04 \x01(\tH\x01R\x0etraefikVersion\x88\x01\x01\x12-\n" + + "\x12running_containers\x18\x05 \x01(\x05R\x11runningContainers\x12(\n" + + "\rerror_message\x18\x06 \x01(\tH\x02R\ferrorMessage\x88\x01\x01\x129\n" + + "\n" + + "checked_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tcheckedAtB\x11\n" + + "\x0f_podman_versionB\x12\n" + + "\x10_traefik_versionB\x10\n" + + "\x0e_error_message\"\x8c\b\n" + + "\x11CreateNodeRequest\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n" + + "\x04slug\x18\x02 \x01(\tR\x04slug\x12\x19\n" + + "\bssh_host\x18\x03 \x01(\tR\asshHost\x12\x19\n" + + "\bssh_port\x18\x04 \x01(\x05R\asshPort\x12\x19\n" + + "\bssh_user\x18\x05 \x01(\tR\asshUser\x12&\n" + + "\x0fssh_private_key\x18\x06 \x01(\tR\rsshPrivateKey\x12<\n" + + "\x18ssh_host_key_fingerprint\x18\a \x01(\tH\x00R\x15sshHostKeyFingerprint\x88\x01\x01\x121\n" + + "\x12podman_socket_path\x18\b \x01(\tH\x01R\x10podmanSocketPath\x88\x01\x01\x123\n" + + "\x13traefik_config_path\x18\t \x01(\tH\x02R\x11traefikConfigPath\x88\x01\x01\x12,\n" + + "\x0ftraefik_network\x18\n" + + " \x01(\tH\x03R\x0etraefikNetwork\x88\x01\x01\x12/\n" + + "\x13traefik_entrypoints\x18\v \x03(\tR\x12traefikEntrypoints\x121\n" + + "\x12acme_resolver_name\x18\f \x01(\tH\x04R\x10acmeResolverName\x88\x01\x01\x12\"\n" + + "\n" + + "acme_email\x18\r \x01(\tH\x05R\tacmeEmail\x88\x01\x01\x12#\n" + + "\rmax_instances\x18\x0e \x01(\x05R\fmaxInstances\x12\x1b\n" + + "\x06region\x18\x0f \x01(\tH\x06R\x06region\x88\x01\x01\x12F\n" + + "\x06labels\x18\x10 \x03(\v2..orchestrator.v1.CreateNodeRequest.LabelsEntryR\x06labels\x12&\n" + + "\fcountry_code\x18\x11 \x01(\tH\aR\vcountryCode\x88\x01\x01\x12\x17\n" + + "\x04city\x18\x12 \x01(\tH\bR\x04city\x88\x01\x01\x122\n" + + "\x12forwarding_address\x18\x13 \x01(\tH\tR\x11forwardingAddress\x88\x01\x01\x1a9\n" + + "\vLabelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x1b\n" + + "\x19_ssh_host_key_fingerprintB\x15\n" + + "\x13_podman_socket_pathB\x16\n" + + "\x14_traefik_config_pathB\x12\n" + + "\x10_traefik_networkB\x15\n" + + "\x13_acme_resolver_nameB\r\n" + + "\v_acme_emailB\t\n" + + "\a_regionB\x0f\n" + + "\r_country_codeB\a\n" + + "\x05_cityB\x15\n" + + "\x13_forwarding_address\"?\n" + + "\x12CreateNodeResponse\x12)\n" + + "\x04node\x18\x01 \x01(\v2\x15.orchestrator.v1.NodeR\x04node\" \n" + + "\x0eGetNodeRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"<\n" + + "\x0fGetNodeResponse\x12)\n" + + "\x04node\x18\x01 \x01(\v2\x15.orchestrator.v1.NodeR\x04node\"\x7f\n" + + "\x10ListNodesRequest\x128\n" + + "\x06status\x18\x01 \x01(\x0e2\x1b.orchestrator.v1.NodeStatusH\x00R\x06status\x88\x01\x01\x12\x1b\n" + + "\x06region\x18\x02 \x01(\tH\x01R\x06region\x88\x01\x01B\t\n" + + "\a_statusB\t\n" + + "\a_region\"@\n" + + "\x11ListNodesResponse\x12+\n" + + "\x05nodes\x18\x01 \x03(\v2\x15.orchestrator.v1.NodeR\x05nodes\"\x8e\b\n" + + "\x11UpdateNodeRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12\x1e\n" + + "\bssh_host\x18\x03 \x01(\tH\x01R\asshHost\x88\x01\x01\x12\x1e\n" + + "\bssh_port\x18\x04 \x01(\x05H\x02R\asshPort\x88\x01\x01\x12\x1e\n" + + "\bssh_user\x18\x05 \x01(\tH\x03R\asshUser\x88\x01\x01\x121\n" + + "\x12podman_socket_path\x18\x06 \x01(\tH\x04R\x10podmanSocketPath\x88\x01\x01\x123\n" + + "\x13traefik_config_path\x18\a \x01(\tH\x05R\x11traefikConfigPath\x88\x01\x01\x12,\n" + + "\x0ftraefik_network\x18\b \x01(\tH\x06R\x0etraefikNetwork\x88\x01\x01\x12/\n" + + "\x13traefik_entrypoints\x18\t \x03(\tR\x12traefikEntrypoints\x121\n" + + "\x12acme_resolver_name\x18\n" + + " \x01(\tH\aR\x10acmeResolverName\x88\x01\x01\x12\"\n" + + "\n" + + "acme_email\x18\v \x01(\tH\bR\tacmeEmail\x88\x01\x01\x12(\n" + + "\rmax_instances\x18\f \x01(\x05H\tR\fmaxInstances\x88\x01\x01\x12\x1b\n" + + "\x06region\x18\r \x01(\tH\n" + + "R\x06region\x88\x01\x01\x12F\n" + + "\x06labels\x18\x0e \x03(\v2..orchestrator.v1.UpdateNodeRequest.LabelsEntryR\x06labels\x12&\n" + + "\fcountry_code\x18\x0f \x01(\tH\vR\vcountryCode\x88\x01\x01\x12\x17\n" + + "\x04city\x18\x10 \x01(\tH\fR\x04city\x88\x01\x01\x122\n" + + "\x12forwarding_address\x18\x11 \x01(\tH\rR\x11forwardingAddress\x88\x01\x01\x12\x1f\n" + + "\btimezone\x18\x12 \x01(\tH\x0eR\btimezone\x88\x01\x01\x1a9\n" + + "\vLabelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\a\n" + + "\x05_nameB\v\n" + + "\t_ssh_hostB\v\n" + + "\t_ssh_portB\v\n" + + "\t_ssh_userB\x15\n" + + "\x13_podman_socket_pathB\x16\n" + + "\x14_traefik_config_pathB\x12\n" + + "\x10_traefik_networkB\x15\n" + + "\x13_acme_resolver_nameB\r\n" + + "\v_acme_emailB\x10\n" + + "\x0e_max_instancesB\t\n" + + "\a_regionB\x0f\n" + + "\r_country_codeB\a\n" + + "\x05_cityB\x15\n" + + "\x13_forwarding_addressB\v\n" + + "\t_timezone\"?\n" + + "\x12UpdateNodeResponse\x12)\n" + + "\x04node\x18\x01 \x01(\v2\x15.orchestrator.v1.NodeR\x04node\"\xac\x01\n" + + "\x17UpdateNodeSSHKeyRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12&\n" + + "\x0fssh_private_key\x18\x02 \x01(\tR\rsshPrivateKey\x12<\n" + + "\x18ssh_host_key_fingerprint\x18\x03 \x01(\tH\x00R\x15sshHostKeyFingerprint\x88\x01\x01B\x1b\n" + + "\x19_ssh_host_key_fingerprint\"E\n" + + "\x18UpdateNodeSSHKeyResponse\x12)\n" + + "\x04node\x18\x01 \x01(\v2\x15.orchestrator.v1.NodeR\x04node\"9\n" + + "\x11DeleteNodeRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" + + "\x05force\x18\x02 \x01(\bR\x05force\"\x14\n" + + "\x12DeleteNodeResponse\"(\n" + + "\x16HealthCheckNodeRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"\xb3\x01\n" + + "\x17HealthCheckNodeResponse\x123\n" + + "\x06health\x18\x01 \x01(\v2\x1b.orchestrator.v1.NodeHealthR\x06health\x12N\n" + + "\x10tenant_db_health\x18\x02 \x01(\v2\x1f.orchestrator.v1.TenantDbHealthH\x00R\x0etenantDbHealth\x88\x01\x01B\x13\n" + + "\x11_tenant_db_health\"\"\n" + + "\x10DrainNodeRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\">\n" + + "\x11DrainNodeResponse\x12)\n" + + "\x04node\x18\x01 \x01(\v2\x15.orchestrator.v1.NodeR\x04node\"%\n" + + "\x13ActivateNodeRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"A\n" + + "\x14ActivateNodeResponse\x12)\n" + + "\x04node\x18\x01 \x01(\v2\x15.orchestrator.v1.NodeR\x04node\"L\n" + + "\x12OfflineNodeRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" + + "\x06reason\x18\x02 \x01(\tH\x00R\x06reason\x88\x01\x01B\t\n" + + "\a_reason\"@\n" + + "\x13OfflineNodeResponse\x12)\n" + + "\x04node\x18\x01 \x01(\v2\x15.orchestrator.v1.NodeR\x04node\"+\n" + + "\x19TestNodeConnectionRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"\xd0\x01\n" + + "\x1aTestNodeConnectionResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12*\n" + + "\x0epodman_version\x18\x02 \x01(\tH\x00R\rpodmanVersion\x88\x01\x01\x12(\n" + + "\rerror_message\x18\x03 \x01(\tH\x01R\ferrorMessage\x88\x01\x01\x12\x1d\n" + + "\n" + + "latency_ms\x18\x04 \x01(\x03R\tlatencyMsB\x11\n" + + "\x0f_podman_versionB\x10\n" + + "\x0e_error_message\"'\n" + + "\x15DeployTenantDBRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"C\n" + + "\x16DeployTenantDBResponse\x12)\n" + + "\x04node\x18\x01 \x01(\v2\x15.orchestrator.v1.NodeR\x04node\"\x93\x01\n" + + "\"GenerateNodeRegistrationKeyRequest\x12\x19\n" + + "\x05label\x18\x01 \x01(\tH\x00R\x05label\x88\x01\x01\x121\n" + + "\x12expires_in_minutes\x18\x02 \x01(\x05H\x01R\x10expiresInMinutes\x88\x01\x01B\b\n" + + "\x06_labelB\x15\n" + + "\x13_expires_in_minutes\"\x95\x01\n" + + "#GenerateNodeRegistrationKeyResponse\x12E\n" + + "\fregistration\x18\x01 \x01(\v2!.orchestrator.v1.NodeRegistrationR\fregistration\x12'\n" + + "\x0finstall_command\x18\x02 \x01(\tR\x0einstallCommand\"F\n" + + "\x1cListNodeRegistrationsRequest\x12\x1b\n" + + "\x06status\x18\x01 \x01(\tH\x00R\x06status\x88\x01\x01B\t\n" + + "\a_status\"h\n" + + "\x1dListNodeRegistrationsResponse\x12G\n" + + "\rregistrations\x18\x01 \x03(\v2!.orchestrator.v1.NodeRegistrationR\rregistrations\"/\n" + + "\x1dDeleteNodeRegistrationRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\" \n" + + "\x1eDeleteNodeRegistrationResponse\"\xbb\x05\n" + + "\x13RegisterNodeRequest\x12)\n" + + "\x10registration_key\x18\x01 \x01(\tR\x0fregistrationKey\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" + + "\x04slug\x18\x03 \x01(\tR\x04slug\x12&\n" + + "\x0fssh_private_key\x18\x04 \x01(\tR\rsshPrivateKey\x12\x1f\n" + + "\vdetected_ip\x18\x05 \x01(\tR\n" + + "detectedIp\x120\n" + + "\x11detected_hostname\x18\x06 \x01(\tH\x00R\x10detectedHostname\x88\x01\x01\x12*\n" + + "\x0epodman_version\x18\a \x01(\tH\x01R\rpodmanVersion\x88\x01\x01\x12\x1e\n" + + "\bssh_port\x18\b \x01(\x05H\x02R\asshPort\x88\x01\x01\x12\x1e\n" + + "\bssh_user\x18\t \x01(\tH\x03R\asshUser\x88\x01\x01\x12\x1c\n" + + "\aos_name\x18\n" + + " \x01(\tH\x04R\x06osName\x88\x01\x01\x12\"\n" + + "\n" + + "os_version\x18\v \x01(\tH\x05R\tosVersion\x88\x01\x01\x12+\n" + + "\x0ftotal_memory_mb\x18\f \x01(\x03H\x06R\rtotalMemoryMb\x88\x01\x01\x12 \n" + + "\tcpu_cores\x18\r \x01(\x05H\aR\bcpuCores\x88\x01\x01\x12<\n" + + "\x18ssh_host_key_fingerprint\x18\x0e \x01(\tH\bR\x15sshHostKeyFingerprint\x88\x01\x01B\x14\n" + + "\x12_detected_hostnameB\x11\n" + + "\x0f_podman_versionB\v\n" + + "\t_ssh_portB\v\n" + + "\t_ssh_userB\n" + + "\n" + + "\b_os_nameB\r\n" + + "\v_os_versionB\x12\n" + + "\x10_total_memory_mbB\f\n" + + "\n" + + "_cpu_coresB\x1b\n" + + "\x19_ssh_host_key_fingerprint\"\xc9\x01\n" + + "\x14RegisterNodeResponse\x12)\n" + + "\x04node\x18\x01 \x01(\v2\x15.orchestrator.v1.NodeR\x04node\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\x12\x17\n" + + "\aca_cert\x18\x03 \x01(\tR\x06caCert\x12\x1b\n" + + "\tnode_cert\x18\x04 \x01(\tR\bnodeCert\x12\x19\n" + + "\bnode_key\x18\x05 \x01(\tR\anodeKey\x12\x1b\n" + + "\tleader_ip\x18\x06 \x01(\tR\bleaderIp\"7\n" + + "\x1cSuggestTenantDBBudgetRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"\xd4\x01\n" + + "\x1dSuggestTenantDBBudgetResponse\x12)\n" + + "\x10suggested_budget\x18\x01 \x01(\x05R\x0fsuggestedBudget\x12*\n" + + "\x0ecurrent_budget\x18\x02 \x01(\x05H\x00R\rcurrentBudget\x88\x01\x01\x12\x14\n" + + "\x05cores\x18\x03 \x01(\x05R\x05cores\x12\x15\n" + + "\x06ram_mb\x18\x04 \x01(\x05R\x05ramMb\x12\x1c\n" + + "\treasoning\x18\x05 \x01(\tR\treasoningB\x11\n" + + "\x0f_current_budget\"y\n" + + "\x18ConfigureTenantDBRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12\x16\n" + + "\x06budget\x18\x02 \x01(\x05R\x06budget\x12\x1f\n" + + "\bheadroom\x18\x03 \x01(\x05H\x00R\bheadroom\x88\x01\x01B\v\n" + + "\t_headroom\"M\n" + + "\x19ConfigureTenantDBResponse\x12\x16\n" + + "\x06status\x18\x01 \x01(\tR\x06status\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\"\x8f\x02\n" + + "\x0eDatabaseMetric\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n" + + "\n" + + "size_bytes\x18\x02 \x01(\x03R\tsizeBytes\x12 \n" + + "\vconnections\x18\x03 \x01(\x05R\vconnections\x12\x18\n" + + "\acommits\x18\x04 \x01(\x03R\acommits\x12\x1c\n" + + "\trollbacks\x18\x05 \x01(\x03R\trollbacks\x12&\n" + + "\x0fcache_hit_ratio\x18\x06 \x01(\x01R\rcacheHitRatio\x12\x1c\n" + + "\tdeadlocks\x18\a \x01(\x03R\tdeadlocks\x12*\n" + + "\x11longest_active_ms\x18\b \x01(\x03R\x0flongestActiveMs\"\xb5\x01\n" + + "\bTopQuery\x12\x19\n" + + "\bquery_id\x18\x01 \x01(\tR\aqueryId\x12\x1a\n" + + "\bdatabase\x18\x02 \x01(\tR\bdatabase\x12\x14\n" + + "\x05calls\x18\x03 \x01(\x03R\x05calls\x12\x19\n" + + "\btotal_ms\x18\x04 \x01(\x01R\atotalMs\x12\x17\n" + + "\amean_ms\x18\x05 \x01(\x01R\x06meanMs\x12\x12\n" + + "\x04rows\x18\x06 \x01(\x03R\x04rows\x12\x14\n" + + "\x05query\x18\a \x01(\tR\x05query\"\xd2\b\n" + + "\x13NodeDatabaseMetrics\x12'\n" + + "\x0fmax_connections\x18\x01 \x01(\x05R\x0emaxConnections\x121\n" + + "\x14reserved_connections\x18\x02 \x01(\x05R\x13reservedConnections\x12-\n" + + "\x12active_connections\x18\x03 \x01(\x05R\x11activeConnections\x12)\n" + + "\x10idle_connections\x18\x04 \x01(\x05R\x0fidleConnections\x12.\n" + + "\x13idle_in_transaction\x18\x05 \x01(\x05R\x11idleInTransaction\x12&\n" + + "\x0fwaiting_on_lock\x18\x06 \x01(\x05R\rwaitingOnLock\x128\n" + + "\x18total_client_connections\x18\a \x01(\x05R\x16totalClientConnections\x12<\n" + + "\x1aconnection_utilization_pct\x18\b \x01(\x01R\x18connectionUtilizationPct\x12&\n" + + "\x0fcache_hit_ratio\x18\t \x01(\x01R\rcacheHitRatio\x12\x1c\n" + + "\tdeadlocks\x18\n" + + " \x01(\x03R\tdeadlocks\x12\x1d\n" + + "\n" + + "temp_bytes\x18\v \x01(\x03R\ttempBytes\x12*\n" + + "\x11longest_active_ms\x18\f \x01(\x03R\x0flongestActiveMs\x12(\n" + + "\x10long_running_30s\x18\r \x01(\x05R\x0elongRunning30s\x12)\n" + + "\x10blocked_sessions\x18\x0e \x01(\x05R\x0fblockedSessions\x122\n" + + "\x15oldest_transaction_ms\x18\x0f \x01(\x03R\x13oldestTransactionMs\x12,\n" + + "\x12cluster_size_bytes\x18\x10 \x01(\x03R\x10clusterSizeBytes\x120\n" + + "\x14transactions_per_sec\x18\x11 \x01(\x01R\x12transactionsPerSec\x12,\n" + + "\x12rollback_ratio_pct\x18\x12 \x01(\x01R\x10rollbackRatioPct\x12=\n" + + "\tdatabases\x18\x13 \x03(\v2\x1f.orchestrator.v1.DatabaseMetricR\tdatabases\x12:\n" + + "\vtop_queries\x18\x14 \x03(\v2\x19.orchestrator.v1.TopQueryR\n" + + "topQueries\x12.\n" + + "\x13query_stats_enabled\x18\x15 \x01(\bR\x11queryStatsEnabled\x12=\n" + + "\fcollected_at\x18\x16 \x01(\v2\x1a.google.protobuf.TimestampR\vcollectedAt\x12\x19\n" + + "\x05error\x18\x17 \x01(\tH\x00R\x05error\x88\x01\x01B\b\n" + + "\x06_error\"\xca\x03\n" + + "\x1bNodeDatabaseMetricsSnapshot\x129\n" + + "\n" + + "checked_at\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\tcheckedAt\x128\n" + + "\x18total_client_connections\x18\x02 \x01(\x05R\x16totalClientConnections\x12'\n" + + "\x0fmax_connections\x18\x03 \x01(\x05R\x0emaxConnections\x12<\n" + + "\x1aconnection_utilization_pct\x18\x04 \x01(\x01R\x18connectionUtilizationPct\x12&\n" + + "\x0fcache_hit_ratio\x18\x05 \x01(\x01R\rcacheHitRatio\x120\n" + + "\x14transactions_per_sec\x18\x06 \x01(\x01R\x12transactionsPerSec\x12\x1c\n" + + "\tdeadlocks\x18\a \x01(\x03R\tdeadlocks\x12)\n" + + "\x10blocked_sessions\x18\b \x01(\x05R\x0fblockedSessions\x12,\n" + + "\x12cluster_size_bytes\x18\t \x01(\x03R\x10clusterSizeBytes\"8\n" + + "\x1dGetNodeDatabaseMetricsRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"`\n" + + "\x1eGetNodeDatabaseMetricsResponse\x12>\n" + + "\ametrics\x18\x01 \x01(\v2$.orchestrator.v1.NodeDatabaseMetricsR\ametrics\"U\n" + + "$GetNodeDatabaseMetricsHistoryRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12\x14\n" + + "\x05limit\x18\x02 \x01(\x05R\x05limit\"s\n" + + "%GetNodeDatabaseMetricsHistoryResponse\x12J\n" + + "\tsnapshots\x18\x01 \x03(\v2,.orchestrator.v1.NodeDatabaseMetricsSnapshotR\tsnapshots\"9\n" + + "\x1eEnableNodeDatabaseStatsRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"U\n" + + "\x1fEnableNodeDatabaseStatsResponse\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\"\xed\x01\n" + + "\rPgBouncerPool\x12\x1a\n" + + "\bdatabase\x18\x01 \x01(\tR\bdatabase\x12\x12\n" + + "\x04user\x18\x02 \x01(\tR\x04user\x12\x1b\n" + + "\tcl_active\x18\x03 \x01(\x05R\bclActive\x12\x1d\n" + + "\n" + + "cl_waiting\x18\x04 \x01(\x05R\tclWaiting\x12\x1b\n" + + "\tsv_active\x18\x05 \x01(\x05R\bsvActive\x12\x17\n" + + "\asv_idle\x18\x06 \x01(\x05R\x06svIdle\x12\x1d\n" + + "\n" + + "maxwait_us\x18\a \x01(\x03R\tmaxwaitUs\x12\x1b\n" + + "\tpool_mode\x18\b \x01(\tR\bpoolMode\"\xf9\x05\n" + + "\x12NodePgBouncerStats\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x127\n" + + "\x06status\x18\x02 \x01(\x0e2\x1f.orchestrator.v1.TenantDbStatusR\x06status\x12\x18\n" + + "\ahealthy\x18\x03 \x01(\bR\ahealthy\x12*\n" + + "\x11default_pool_size\x18\x04 \x01(\x05R\x0fdefaultPoolSize\x12&\n" + + "\x0fmax_client_conn\x18\x05 \x01(\x05R\rmaxClientConn\x120\n" + + "\x14total_clients_active\x18\x06 \x01(\x05R\x12totalClientsActive\x122\n" + + "\x15total_clients_waiting\x18\a \x01(\x05R\x13totalClientsWaiting\x12.\n" + + "\x13total_server_active\x18\b \x01(\x05R\x11totalServerActive\x12*\n" + + "\x11total_server_idle\x18\t \x01(\x05R\x0ftotalServerIdle\x12\x1e\n" + + "\vmax_wait_us\x18\n" + + " \x01(\x03R\tmaxWaitUs\x12*\n" + + "\x11total_query_count\x18\v \x01(\x03R\x0ftotalQueryCount\x12&\n" + + "\x0favg_query_count\x18\f \x01(\x01R\ravgQueryCount\x12)\n" + + "\x11avg_query_time_us\x18\r \x01(\x01R\x0eavgQueryTimeUs\x12'\n" + + "\x10avg_wait_time_us\x18\x0e \x01(\x01R\ravgWaitTimeUs\x124\n" + + "\x05pools\x18\x0f \x03(\v2\x1e.orchestrator.v1.PgBouncerPoolR\x05pools\x12\x19\n" + + "\x05error\x18\x10 \x01(\tH\x00R\x05error\x88\x01\x01\x12=\n" + + "\fcollected_at\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\vcollectedAtB\b\n" + + "\x06_error\"7\n" + + "\x1cGetNodePgBouncerStatsRequest\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\"Z\n" + + "\x1dGetNodePgBouncerStatsResponse\x129\n" + + "\x05stats\x18\x01 \x01(\v2#.orchestrator.v1.NodePgBouncerStatsR\x05stats*\x8b\x01\n" + + "\n" + + "NodeStatus\x12\x1b\n" + + "\x17NODE_STATUS_UNSPECIFIED\x10\x00\x12\x16\n" + + "\x12NODE_STATUS_ACTIVE\x10\x01\x12\x18\n" + + "\x14NODE_STATUS_DRAINING\x10\x02\x12\x17\n" + + "\x13NODE_STATUS_OFFLINE\x10\x03\x12\x15\n" + + "\x11NODE_STATUS_ERROR\x10\x04*\xaf\x01\n" + + "\x0eTenantDbStatus\x12 \n" + + "\x1cTENANT_DB_STATUS_UNSPECIFIED\x10\x00\x12!\n" + + "\x1dTENANT_DB_STATUS_NOT_DEPLOYED\x10\x01\x12\x1e\n" + + "\x1aTENANT_DB_STATUS_DEPLOYING\x10\x02\x12\x1c\n" + + "\x18TENANT_DB_STATUS_RUNNING\x10\x03\x12\x1a\n" + + "\x16TENANT_DB_STATUS_ERROR\x10\x042\xa1\x12\n" + + "\vNodeService\x12U\n" + + "\n" + + "CreateNode\x12\".orchestrator.v1.CreateNodeRequest\x1a#.orchestrator.v1.CreateNodeResponse\x12L\n" + + "\aGetNode\x12\x1f.orchestrator.v1.GetNodeRequest\x1a .orchestrator.v1.GetNodeResponse\x12R\n" + + "\tListNodes\x12!.orchestrator.v1.ListNodesRequest\x1a\".orchestrator.v1.ListNodesResponse\x12U\n" + + "\n" + + "UpdateNode\x12\".orchestrator.v1.UpdateNodeRequest\x1a#.orchestrator.v1.UpdateNodeResponse\x12g\n" + + "\x10UpdateNodeSSHKey\x12(.orchestrator.v1.UpdateNodeSSHKeyRequest\x1a).orchestrator.v1.UpdateNodeSSHKeyResponse\x12U\n" + + "\n" + + "DeleteNode\x12\".orchestrator.v1.DeleteNodeRequest\x1a#.orchestrator.v1.DeleteNodeResponse\x12d\n" + + "\x0fHealthCheckNode\x12'.orchestrator.v1.HealthCheckNodeRequest\x1a(.orchestrator.v1.HealthCheckNodeResponse\x12R\n" + + "\tDrainNode\x12!.orchestrator.v1.DrainNodeRequest\x1a\".orchestrator.v1.DrainNodeResponse\x12[\n" + + "\fActivateNode\x12$.orchestrator.v1.ActivateNodeRequest\x1a%.orchestrator.v1.ActivateNodeResponse\x12X\n" + + "\vOfflineNode\x12#.orchestrator.v1.OfflineNodeRequest\x1a$.orchestrator.v1.OfflineNodeResponse\x12m\n" + + "\x12TestNodeConnection\x12*.orchestrator.v1.TestNodeConnectionRequest\x1a+.orchestrator.v1.TestNodeConnectionResponse\x12a\n" + + "\x0eDeployTenantDB\x12&.orchestrator.v1.DeployTenantDBRequest\x1a'.orchestrator.v1.DeployTenantDBResponse\x12y\n" + + "\x16GetNodeDatabaseMetrics\x12..orchestrator.v1.GetNodeDatabaseMetricsRequest\x1a/.orchestrator.v1.GetNodeDatabaseMetricsResponse\x12\x8e\x01\n" + + "\x1dGetNodeDatabaseMetricsHistory\x125.orchestrator.v1.GetNodeDatabaseMetricsHistoryRequest\x1a6.orchestrator.v1.GetNodeDatabaseMetricsHistoryResponse\x12|\n" + + "\x17EnableNodeDatabaseStats\x12/.orchestrator.v1.EnableNodeDatabaseStatsRequest\x1a0.orchestrator.v1.EnableNodeDatabaseStatsResponse\x12v\n" + + "\x15GetNodePgBouncerStats\x12-.orchestrator.v1.GetNodePgBouncerStatsRequest\x1a..orchestrator.v1.GetNodePgBouncerStatsResponse\x12\x88\x01\n" + + "\x1bGenerateNodeRegistrationKey\x123.orchestrator.v1.GenerateNodeRegistrationKeyRequest\x1a4.orchestrator.v1.GenerateNodeRegistrationKeyResponse\x12v\n" + + "\x15ListNodeRegistrations\x12-.orchestrator.v1.ListNodeRegistrationsRequest\x1a..orchestrator.v1.ListNodeRegistrationsResponse\x12y\n" + + "\x16DeleteNodeRegistration\x12..orchestrator.v1.DeleteNodeRegistrationRequest\x1a/.orchestrator.v1.DeleteNodeRegistrationResponse\x12[\n" + + "\fRegisterNode\x12$.orchestrator.v1.RegisterNodeRequest\x1a%.orchestrator.v1.RegisterNodeResponse\x12v\n" + + "\x15SuggestTenantDBBudget\x12-.orchestrator.v1.SuggestTenantDBBudgetRequest\x1a..orchestrator.v1.SuggestTenantDBBudgetResponse\x12j\n" + + "\x11ConfigureTenantDB\x12).orchestrator.v1.ConfigureTenantDBRequest\x1a*.orchestrator.v1.ConfigureTenantDBResponseB\xcd\x01\n" + + "\x13com.orchestrator.v1B\n" + + "NodesProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_nodes_proto_rawDescOnce sync.Once + file_orchestrator_v1_nodes_proto_rawDescData []byte +) + +func file_orchestrator_v1_nodes_proto_rawDescGZIP() []byte { + file_orchestrator_v1_nodes_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_nodes_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_nodes_proto_rawDesc), len(file_orchestrator_v1_nodes_proto_rawDesc))) + }) + return file_orchestrator_v1_nodes_proto_rawDescData +} + +var file_orchestrator_v1_nodes_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_orchestrator_v1_nodes_proto_msgTypes = make([]protoimpl.MessageInfo, 57) +var file_orchestrator_v1_nodes_proto_goTypes = []any{ + (NodeStatus)(0), // 0: orchestrator.v1.NodeStatus + (TenantDbStatus)(0), // 1: orchestrator.v1.TenantDbStatus + (*TenantDbHealth)(nil), // 2: orchestrator.v1.TenantDbHealth + (*NodeRegistration)(nil), // 3: orchestrator.v1.NodeRegistration + (*Node)(nil), // 4: orchestrator.v1.Node + (*NodeHealth)(nil), // 5: orchestrator.v1.NodeHealth + (*CreateNodeRequest)(nil), // 6: orchestrator.v1.CreateNodeRequest + (*CreateNodeResponse)(nil), // 7: orchestrator.v1.CreateNodeResponse + (*GetNodeRequest)(nil), // 8: orchestrator.v1.GetNodeRequest + (*GetNodeResponse)(nil), // 9: orchestrator.v1.GetNodeResponse + (*ListNodesRequest)(nil), // 10: orchestrator.v1.ListNodesRequest + (*ListNodesResponse)(nil), // 11: orchestrator.v1.ListNodesResponse + (*UpdateNodeRequest)(nil), // 12: orchestrator.v1.UpdateNodeRequest + (*UpdateNodeResponse)(nil), // 13: orchestrator.v1.UpdateNodeResponse + (*UpdateNodeSSHKeyRequest)(nil), // 14: orchestrator.v1.UpdateNodeSSHKeyRequest + (*UpdateNodeSSHKeyResponse)(nil), // 15: orchestrator.v1.UpdateNodeSSHKeyResponse + (*DeleteNodeRequest)(nil), // 16: orchestrator.v1.DeleteNodeRequest + (*DeleteNodeResponse)(nil), // 17: orchestrator.v1.DeleteNodeResponse + (*HealthCheckNodeRequest)(nil), // 18: orchestrator.v1.HealthCheckNodeRequest + (*HealthCheckNodeResponse)(nil), // 19: orchestrator.v1.HealthCheckNodeResponse + (*DrainNodeRequest)(nil), // 20: orchestrator.v1.DrainNodeRequest + (*DrainNodeResponse)(nil), // 21: orchestrator.v1.DrainNodeResponse + (*ActivateNodeRequest)(nil), // 22: orchestrator.v1.ActivateNodeRequest + (*ActivateNodeResponse)(nil), // 23: orchestrator.v1.ActivateNodeResponse + (*OfflineNodeRequest)(nil), // 24: orchestrator.v1.OfflineNodeRequest + (*OfflineNodeResponse)(nil), // 25: orchestrator.v1.OfflineNodeResponse + (*TestNodeConnectionRequest)(nil), // 26: orchestrator.v1.TestNodeConnectionRequest + (*TestNodeConnectionResponse)(nil), // 27: orchestrator.v1.TestNodeConnectionResponse + (*DeployTenantDBRequest)(nil), // 28: orchestrator.v1.DeployTenantDBRequest + (*DeployTenantDBResponse)(nil), // 29: orchestrator.v1.DeployTenantDBResponse + (*GenerateNodeRegistrationKeyRequest)(nil), // 30: orchestrator.v1.GenerateNodeRegistrationKeyRequest + (*GenerateNodeRegistrationKeyResponse)(nil), // 31: orchestrator.v1.GenerateNodeRegistrationKeyResponse + (*ListNodeRegistrationsRequest)(nil), // 32: orchestrator.v1.ListNodeRegistrationsRequest + (*ListNodeRegistrationsResponse)(nil), // 33: orchestrator.v1.ListNodeRegistrationsResponse + (*DeleteNodeRegistrationRequest)(nil), // 34: orchestrator.v1.DeleteNodeRegistrationRequest + (*DeleteNodeRegistrationResponse)(nil), // 35: orchestrator.v1.DeleteNodeRegistrationResponse + (*RegisterNodeRequest)(nil), // 36: orchestrator.v1.RegisterNodeRequest + (*RegisterNodeResponse)(nil), // 37: orchestrator.v1.RegisterNodeResponse + (*SuggestTenantDBBudgetRequest)(nil), // 38: orchestrator.v1.SuggestTenantDBBudgetRequest + (*SuggestTenantDBBudgetResponse)(nil), // 39: orchestrator.v1.SuggestTenantDBBudgetResponse + (*ConfigureTenantDBRequest)(nil), // 40: orchestrator.v1.ConfigureTenantDBRequest + (*ConfigureTenantDBResponse)(nil), // 41: orchestrator.v1.ConfigureTenantDBResponse + (*DatabaseMetric)(nil), // 42: orchestrator.v1.DatabaseMetric + (*TopQuery)(nil), // 43: orchestrator.v1.TopQuery + (*NodeDatabaseMetrics)(nil), // 44: orchestrator.v1.NodeDatabaseMetrics + (*NodeDatabaseMetricsSnapshot)(nil), // 45: orchestrator.v1.NodeDatabaseMetricsSnapshot + (*GetNodeDatabaseMetricsRequest)(nil), // 46: orchestrator.v1.GetNodeDatabaseMetricsRequest + (*GetNodeDatabaseMetricsResponse)(nil), // 47: orchestrator.v1.GetNodeDatabaseMetricsResponse + (*GetNodeDatabaseMetricsHistoryRequest)(nil), // 48: orchestrator.v1.GetNodeDatabaseMetricsHistoryRequest + (*GetNodeDatabaseMetricsHistoryResponse)(nil), // 49: orchestrator.v1.GetNodeDatabaseMetricsHistoryResponse + (*EnableNodeDatabaseStatsRequest)(nil), // 50: orchestrator.v1.EnableNodeDatabaseStatsRequest + (*EnableNodeDatabaseStatsResponse)(nil), // 51: orchestrator.v1.EnableNodeDatabaseStatsResponse + (*PgBouncerPool)(nil), // 52: orchestrator.v1.PgBouncerPool + (*NodePgBouncerStats)(nil), // 53: orchestrator.v1.NodePgBouncerStats + (*GetNodePgBouncerStatsRequest)(nil), // 54: orchestrator.v1.GetNodePgBouncerStatsRequest + (*GetNodePgBouncerStatsResponse)(nil), // 55: orchestrator.v1.GetNodePgBouncerStatsResponse + nil, // 56: orchestrator.v1.Node.LabelsEntry + nil, // 57: orchestrator.v1.CreateNodeRequest.LabelsEntry + nil, // 58: orchestrator.v1.UpdateNodeRequest.LabelsEntry + (*timestamppb.Timestamp)(nil), // 59: google.protobuf.Timestamp +} +var file_orchestrator_v1_nodes_proto_depIdxs = []int32{ + 1, // 0: orchestrator.v1.TenantDbHealth.status:type_name -> orchestrator.v1.TenantDbStatus + 59, // 1: orchestrator.v1.NodeRegistration.expires_at:type_name -> google.protobuf.Timestamp + 59, // 2: orchestrator.v1.NodeRegistration.used_at:type_name -> google.protobuf.Timestamp + 59, // 3: orchestrator.v1.NodeRegistration.created_at:type_name -> google.protobuf.Timestamp + 0, // 4: orchestrator.v1.Node.status:type_name -> orchestrator.v1.NodeStatus + 59, // 5: orchestrator.v1.Node.last_health_check:type_name -> google.protobuf.Timestamp + 56, // 6: orchestrator.v1.Node.labels:type_name -> orchestrator.v1.Node.LabelsEntry + 59, // 7: orchestrator.v1.Node.created_at:type_name -> google.protobuf.Timestamp + 59, // 8: orchestrator.v1.Node.updated_at:type_name -> google.protobuf.Timestamp + 1, // 9: orchestrator.v1.Node.tenant_db_status:type_name -> orchestrator.v1.TenantDbStatus + 2, // 10: orchestrator.v1.Node.tenant_db_health:type_name -> orchestrator.v1.TenantDbHealth + 59, // 11: orchestrator.v1.NodeHealth.checked_at:type_name -> google.protobuf.Timestamp + 57, // 12: orchestrator.v1.CreateNodeRequest.labels:type_name -> orchestrator.v1.CreateNodeRequest.LabelsEntry + 4, // 13: orchestrator.v1.CreateNodeResponse.node:type_name -> orchestrator.v1.Node + 4, // 14: orchestrator.v1.GetNodeResponse.node:type_name -> orchestrator.v1.Node + 0, // 15: orchestrator.v1.ListNodesRequest.status:type_name -> orchestrator.v1.NodeStatus + 4, // 16: orchestrator.v1.ListNodesResponse.nodes:type_name -> orchestrator.v1.Node + 58, // 17: orchestrator.v1.UpdateNodeRequest.labels:type_name -> orchestrator.v1.UpdateNodeRequest.LabelsEntry + 4, // 18: orchestrator.v1.UpdateNodeResponse.node:type_name -> orchestrator.v1.Node + 4, // 19: orchestrator.v1.UpdateNodeSSHKeyResponse.node:type_name -> orchestrator.v1.Node + 5, // 20: orchestrator.v1.HealthCheckNodeResponse.health:type_name -> orchestrator.v1.NodeHealth + 2, // 21: orchestrator.v1.HealthCheckNodeResponse.tenant_db_health:type_name -> orchestrator.v1.TenantDbHealth + 4, // 22: orchestrator.v1.DrainNodeResponse.node:type_name -> orchestrator.v1.Node + 4, // 23: orchestrator.v1.ActivateNodeResponse.node:type_name -> orchestrator.v1.Node + 4, // 24: orchestrator.v1.OfflineNodeResponse.node:type_name -> orchestrator.v1.Node + 4, // 25: orchestrator.v1.DeployTenantDBResponse.node:type_name -> orchestrator.v1.Node + 3, // 26: orchestrator.v1.GenerateNodeRegistrationKeyResponse.registration:type_name -> orchestrator.v1.NodeRegistration + 3, // 27: orchestrator.v1.ListNodeRegistrationsResponse.registrations:type_name -> orchestrator.v1.NodeRegistration + 4, // 28: orchestrator.v1.RegisterNodeResponse.node:type_name -> orchestrator.v1.Node + 42, // 29: orchestrator.v1.NodeDatabaseMetrics.databases:type_name -> orchestrator.v1.DatabaseMetric + 43, // 30: orchestrator.v1.NodeDatabaseMetrics.top_queries:type_name -> orchestrator.v1.TopQuery + 59, // 31: orchestrator.v1.NodeDatabaseMetrics.collected_at:type_name -> google.protobuf.Timestamp + 59, // 32: orchestrator.v1.NodeDatabaseMetricsSnapshot.checked_at:type_name -> google.protobuf.Timestamp + 44, // 33: orchestrator.v1.GetNodeDatabaseMetricsResponse.metrics:type_name -> orchestrator.v1.NodeDatabaseMetrics + 45, // 34: orchestrator.v1.GetNodeDatabaseMetricsHistoryResponse.snapshots:type_name -> orchestrator.v1.NodeDatabaseMetricsSnapshot + 1, // 35: orchestrator.v1.NodePgBouncerStats.status:type_name -> orchestrator.v1.TenantDbStatus + 52, // 36: orchestrator.v1.NodePgBouncerStats.pools:type_name -> orchestrator.v1.PgBouncerPool + 59, // 37: orchestrator.v1.NodePgBouncerStats.collected_at:type_name -> google.protobuf.Timestamp + 53, // 38: orchestrator.v1.GetNodePgBouncerStatsResponse.stats:type_name -> orchestrator.v1.NodePgBouncerStats + 6, // 39: orchestrator.v1.NodeService.CreateNode:input_type -> orchestrator.v1.CreateNodeRequest + 8, // 40: orchestrator.v1.NodeService.GetNode:input_type -> orchestrator.v1.GetNodeRequest + 10, // 41: orchestrator.v1.NodeService.ListNodes:input_type -> orchestrator.v1.ListNodesRequest + 12, // 42: orchestrator.v1.NodeService.UpdateNode:input_type -> orchestrator.v1.UpdateNodeRequest + 14, // 43: orchestrator.v1.NodeService.UpdateNodeSSHKey:input_type -> orchestrator.v1.UpdateNodeSSHKeyRequest + 16, // 44: orchestrator.v1.NodeService.DeleteNode:input_type -> orchestrator.v1.DeleteNodeRequest + 18, // 45: orchestrator.v1.NodeService.HealthCheckNode:input_type -> orchestrator.v1.HealthCheckNodeRequest + 20, // 46: orchestrator.v1.NodeService.DrainNode:input_type -> orchestrator.v1.DrainNodeRequest + 22, // 47: orchestrator.v1.NodeService.ActivateNode:input_type -> orchestrator.v1.ActivateNodeRequest + 24, // 48: orchestrator.v1.NodeService.OfflineNode:input_type -> orchestrator.v1.OfflineNodeRequest + 26, // 49: orchestrator.v1.NodeService.TestNodeConnection:input_type -> orchestrator.v1.TestNodeConnectionRequest + 28, // 50: orchestrator.v1.NodeService.DeployTenantDB:input_type -> orchestrator.v1.DeployTenantDBRequest + 46, // 51: orchestrator.v1.NodeService.GetNodeDatabaseMetrics:input_type -> orchestrator.v1.GetNodeDatabaseMetricsRequest + 48, // 52: orchestrator.v1.NodeService.GetNodeDatabaseMetricsHistory:input_type -> orchestrator.v1.GetNodeDatabaseMetricsHistoryRequest + 50, // 53: orchestrator.v1.NodeService.EnableNodeDatabaseStats:input_type -> orchestrator.v1.EnableNodeDatabaseStatsRequest + 54, // 54: orchestrator.v1.NodeService.GetNodePgBouncerStats:input_type -> orchestrator.v1.GetNodePgBouncerStatsRequest + 30, // 55: orchestrator.v1.NodeService.GenerateNodeRegistrationKey:input_type -> orchestrator.v1.GenerateNodeRegistrationKeyRequest + 32, // 56: orchestrator.v1.NodeService.ListNodeRegistrations:input_type -> orchestrator.v1.ListNodeRegistrationsRequest + 34, // 57: orchestrator.v1.NodeService.DeleteNodeRegistration:input_type -> orchestrator.v1.DeleteNodeRegistrationRequest + 36, // 58: orchestrator.v1.NodeService.RegisterNode:input_type -> orchestrator.v1.RegisterNodeRequest + 38, // 59: orchestrator.v1.NodeService.SuggestTenantDBBudget:input_type -> orchestrator.v1.SuggestTenantDBBudgetRequest + 40, // 60: orchestrator.v1.NodeService.ConfigureTenantDB:input_type -> orchestrator.v1.ConfigureTenantDBRequest + 7, // 61: orchestrator.v1.NodeService.CreateNode:output_type -> orchestrator.v1.CreateNodeResponse + 9, // 62: orchestrator.v1.NodeService.GetNode:output_type -> orchestrator.v1.GetNodeResponse + 11, // 63: orchestrator.v1.NodeService.ListNodes:output_type -> orchestrator.v1.ListNodesResponse + 13, // 64: orchestrator.v1.NodeService.UpdateNode:output_type -> orchestrator.v1.UpdateNodeResponse + 15, // 65: orchestrator.v1.NodeService.UpdateNodeSSHKey:output_type -> orchestrator.v1.UpdateNodeSSHKeyResponse + 17, // 66: orchestrator.v1.NodeService.DeleteNode:output_type -> orchestrator.v1.DeleteNodeResponse + 19, // 67: orchestrator.v1.NodeService.HealthCheckNode:output_type -> orchestrator.v1.HealthCheckNodeResponse + 21, // 68: orchestrator.v1.NodeService.DrainNode:output_type -> orchestrator.v1.DrainNodeResponse + 23, // 69: orchestrator.v1.NodeService.ActivateNode:output_type -> orchestrator.v1.ActivateNodeResponse + 25, // 70: orchestrator.v1.NodeService.OfflineNode:output_type -> orchestrator.v1.OfflineNodeResponse + 27, // 71: orchestrator.v1.NodeService.TestNodeConnection:output_type -> orchestrator.v1.TestNodeConnectionResponse + 29, // 72: orchestrator.v1.NodeService.DeployTenantDB:output_type -> orchestrator.v1.DeployTenantDBResponse + 47, // 73: orchestrator.v1.NodeService.GetNodeDatabaseMetrics:output_type -> orchestrator.v1.GetNodeDatabaseMetricsResponse + 49, // 74: orchestrator.v1.NodeService.GetNodeDatabaseMetricsHistory:output_type -> orchestrator.v1.GetNodeDatabaseMetricsHistoryResponse + 51, // 75: orchestrator.v1.NodeService.EnableNodeDatabaseStats:output_type -> orchestrator.v1.EnableNodeDatabaseStatsResponse + 55, // 76: orchestrator.v1.NodeService.GetNodePgBouncerStats:output_type -> orchestrator.v1.GetNodePgBouncerStatsResponse + 31, // 77: orchestrator.v1.NodeService.GenerateNodeRegistrationKey:output_type -> orchestrator.v1.GenerateNodeRegistrationKeyResponse + 33, // 78: orchestrator.v1.NodeService.ListNodeRegistrations:output_type -> orchestrator.v1.ListNodeRegistrationsResponse + 35, // 79: orchestrator.v1.NodeService.DeleteNodeRegistration:output_type -> orchestrator.v1.DeleteNodeRegistrationResponse + 37, // 80: orchestrator.v1.NodeService.RegisterNode:output_type -> orchestrator.v1.RegisterNodeResponse + 39, // 81: orchestrator.v1.NodeService.SuggestTenantDBBudget:output_type -> orchestrator.v1.SuggestTenantDBBudgetResponse + 41, // 82: orchestrator.v1.NodeService.ConfigureTenantDB:output_type -> orchestrator.v1.ConfigureTenantDBResponse + 61, // [61:83] is the sub-list for method output_type + 39, // [39:61] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_nodes_proto_init() } +func file_orchestrator_v1_nodes_proto_init() { + if File_orchestrator_v1_nodes_proto != nil { + return + } + file_orchestrator_v1_nodes_proto_msgTypes[0].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[1].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[2].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[3].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[4].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[8].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[10].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[12].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[17].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[22].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[25].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[28].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[30].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[34].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[37].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[38].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[42].OneofWrappers = []any{} + file_orchestrator_v1_nodes_proto_msgTypes[51].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_nodes_proto_rawDesc), len(file_orchestrator_v1_nodes_proto_rawDesc)), + NumEnums: 2, + NumMessages: 57, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_nodes_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_nodes_proto_depIdxs, + EnumInfos: file_orchestrator_v1_nodes_proto_enumTypes, + MessageInfos: file_orchestrator_v1_nodes_proto_msgTypes, + }.Build() + File_orchestrator_v1_nodes_proto = out.File + file_orchestrator_v1_nodes_proto_goTypes = nil + file_orchestrator_v1_nodes_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/accounts.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/accounts.connect.go new file mode 100644 index 0000000..d4c84ce --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/accounts.connect.go @@ -0,0 +1,648 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/accounts.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // AccountServiceName is the fully-qualified name of the AccountService service. + AccountServiceName = "orchestrator.v1.AccountService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // AccountServiceCreateAccountProcedure is the fully-qualified name of the AccountService's + // CreateAccount RPC. + AccountServiceCreateAccountProcedure = "/orchestrator.v1.AccountService/CreateAccount" + // AccountServiceGetAccountProcedure is the fully-qualified name of the AccountService's GetAccount + // RPC. + AccountServiceGetAccountProcedure = "/orchestrator.v1.AccountService/GetAccount" + // AccountServiceListAccountsProcedure is the fully-qualified name of the AccountService's + // ListAccounts RPC. + AccountServiceListAccountsProcedure = "/orchestrator.v1.AccountService/ListAccounts" + // AccountServiceListMyAccountsProcedure is the fully-qualified name of the AccountService's + // ListMyAccounts RPC. + AccountServiceListMyAccountsProcedure = "/orchestrator.v1.AccountService/ListMyAccounts" + // AccountServiceUpdateAccountProcedure is the fully-qualified name of the AccountService's + // UpdateAccount RPC. + AccountServiceUpdateAccountProcedure = "/orchestrator.v1.AccountService/UpdateAccount" + // AccountServiceDeleteAccountProcedure is the fully-qualified name of the AccountService's + // DeleteAccount RPC. + AccountServiceDeleteAccountProcedure = "/orchestrator.v1.AccountService/DeleteAccount" + // AccountServiceCancelAccountDeletionProcedure is the fully-qualified name of the AccountService's + // CancelAccountDeletion RPC. + AccountServiceCancelAccountDeletionProcedure = "/orchestrator.v1.AccountService/CancelAccountDeletion" + // AccountServiceSuspendAccountProcedure is the fully-qualified name of the AccountService's + // SuspendAccount RPC. + AccountServiceSuspendAccountProcedure = "/orchestrator.v1.AccountService/SuspendAccount" + // AccountServiceReactivateAccountProcedure is the fully-qualified name of the AccountService's + // ReactivateAccount RPC. + AccountServiceReactivateAccountProcedure = "/orchestrator.v1.AccountService/ReactivateAccount" + // AccountServiceListAccountUsersProcedure is the fully-qualified name of the AccountService's + // ListAccountUsers RPC. + AccountServiceListAccountUsersProcedure = "/orchestrator.v1.AccountService/ListAccountUsers" + // AccountServiceUpdateAccountUserRoleProcedure is the fully-qualified name of the AccountService's + // UpdateAccountUserRole RPC. + AccountServiceUpdateAccountUserRoleProcedure = "/orchestrator.v1.AccountService/UpdateAccountUserRole" + // AccountServiceRemoveAccountUserProcedure is the fully-qualified name of the AccountService's + // RemoveAccountUser RPC. + AccountServiceRemoveAccountUserProcedure = "/orchestrator.v1.AccountService/RemoveAccountUser" + // AccountServiceGetAccountDashboardProcedure is the fully-qualified name of the AccountService's + // GetAccountDashboard RPC. + AccountServiceGetAccountDashboardProcedure = "/orchestrator.v1.AccountService/GetAccountDashboard" + // AccountServiceBulkSuspendAccountsProcedure is the fully-qualified name of the AccountService's + // BulkSuspendAccounts RPC. + AccountServiceBulkSuspendAccountsProcedure = "/orchestrator.v1.AccountService/BulkSuspendAccounts" + // AccountServiceBulkReactivateAccountsProcedure is the fully-qualified name of the AccountService's + // BulkReactivateAccounts RPC. + AccountServiceBulkReactivateAccountsProcedure = "/orchestrator.v1.AccountService/BulkReactivateAccounts" + // AccountServiceGetAccountVaultHealthProcedure is the fully-qualified name of the AccountService's + // GetAccountVaultHealth RPC. + AccountServiceGetAccountVaultHealthProcedure = "/orchestrator.v1.AccountService/GetAccountVaultHealth" + // AccountServiceResetAccountVaultKeyProcedure is the fully-qualified name of the AccountService's + // ResetAccountVaultKey RPC. + AccountServiceResetAccountVaultKeyProcedure = "/orchestrator.v1.AccountService/ResetAccountVaultKey" + // AccountServiceRepairAccountVaultProcedure is the fully-qualified name of the AccountService's + // RepairAccountVault RPC. + AccountServiceRepairAccountVaultProcedure = "/orchestrator.v1.AccountService/RepairAccountVault" +) + +// AccountServiceClient is a client for the orchestrator.v1.AccountService service. +type AccountServiceClient interface { + // Create a new account + CreateAccount(context.Context, *connect.Request[v1.CreateAccountRequest]) (*connect.Response[v1.CreateAccountResponse], error) + // Get an account by ID + GetAccount(context.Context, *connect.Request[v1.GetAccountRequest]) (*connect.Response[v1.GetAccountResponse], error) + // List accounts (admin only) + ListAccounts(context.Context, *connect.Request[v1.ListAccountsRequest]) (*connect.Response[v1.ListAccountsResponse], error) + // List accounts for current user + ListMyAccounts(context.Context, *connect.Request[v1.ListMyAccountsRequest]) (*connect.Response[v1.ListMyAccountsResponse], error) + // Update an account + UpdateAccount(context.Context, *connect.Request[v1.UpdateAccountRequest]) (*connect.Response[v1.UpdateAccountResponse], error) + // Delete an account (initiates 48-hour pending deletion period) + DeleteAccount(context.Context, *connect.Request[v1.DeleteAccountRequest]) (*connect.Response[v1.DeleteAccountResponse], error) + // Cancel a pending account deletion + CancelAccountDeletion(context.Context, *connect.Request[v1.CancelAccountDeletionRequest]) (*connect.Response[v1.CancelAccountDeletionResponse], error) + // Suspend an account + SuspendAccount(context.Context, *connect.Request[v1.SuspendAccountRequest]) (*connect.Response[v1.SuspendAccountResponse], error) + // Reactivate a suspended account + ReactivateAccount(context.Context, *connect.Request[v1.ReactivateAccountRequest]) (*connect.Response[v1.ReactivateAccountResponse], error) + // Team member management + // (Inviting/accepting now lives in InviteService; see invites.proto.) + // List account team members + ListAccountUsers(context.Context, *connect.Request[v1.ListAccountUsersRequest]) (*connect.Response[v1.ListAccountUsersResponse], error) + // Update a team member's role + UpdateAccountUserRole(context.Context, *connect.Request[v1.UpdateAccountUserRoleRequest]) (*connect.Response[v1.UpdateAccountUserRoleResponse], error) + // Remove a team member + RemoveAccountUser(context.Context, *connect.Request[v1.RemoveAccountUserRequest]) (*connect.Response[v1.RemoveAccountUserResponse], error) + // Dashboard + // Get account dashboard with aggregated metrics + GetAccountDashboard(context.Context, *connect.Request[v1.GetAccountDashboardRequest]) (*connect.Response[v1.GetAccountDashboardResponse], error) + // Bulk operations + // Suspend multiple accounts + BulkSuspendAccounts(context.Context, *connect.Request[v1.BulkSuspendAccountsRequest]) (*connect.Response[v1.BulkSuspendAccountsResponse], error) + // Reactivate multiple accounts + BulkReactivateAccounts(context.Context, *connect.Request[v1.BulkReactivateAccountsRequest]) (*connect.Response[v1.BulkReactivateAccountsResponse], error) + // Vault management (superadmin only) + // Get vault health status for an account and all its instances + GetAccountVaultHealth(context.Context, *connect.Request[v1.GetAccountVaultHealthRequest]) (*connect.Response[v1.GetAccountVaultHealthResponse], error) + // Reset the vault AppRole secret_id and recreate all running instances with new credentials + ResetAccountVaultKey(context.Context, *connect.Request[v1.ResetAccountVaultKeyRequest]) (*connect.Response[v1.ResetAccountVaultKeyResponse], error) + // Repair vault infrastructure: ensure paths, secrets, AppRoles, and policies exist + RepairAccountVault(context.Context, *connect.Request[v1.RepairAccountVaultRequest]) (*connect.Response[v1.RepairAccountVaultResponse], error) +} + +// NewAccountServiceClient constructs a client for the orchestrator.v1.AccountService service. By +// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, +// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewAccountServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) AccountServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + accountServiceMethods := v1.File_orchestrator_v1_accounts_proto.Services().ByName("AccountService").Methods() + return &accountServiceClient{ + createAccount: connect.NewClient[v1.CreateAccountRequest, v1.CreateAccountResponse]( + httpClient, + baseURL+AccountServiceCreateAccountProcedure, + connect.WithSchema(accountServiceMethods.ByName("CreateAccount")), + connect.WithClientOptions(opts...), + ), + getAccount: connect.NewClient[v1.GetAccountRequest, v1.GetAccountResponse]( + httpClient, + baseURL+AccountServiceGetAccountProcedure, + connect.WithSchema(accountServiceMethods.ByName("GetAccount")), + connect.WithClientOptions(opts...), + ), + listAccounts: connect.NewClient[v1.ListAccountsRequest, v1.ListAccountsResponse]( + httpClient, + baseURL+AccountServiceListAccountsProcedure, + connect.WithSchema(accountServiceMethods.ByName("ListAccounts")), + connect.WithClientOptions(opts...), + ), + listMyAccounts: connect.NewClient[v1.ListMyAccountsRequest, v1.ListMyAccountsResponse]( + httpClient, + baseURL+AccountServiceListMyAccountsProcedure, + connect.WithSchema(accountServiceMethods.ByName("ListMyAccounts")), + connect.WithClientOptions(opts...), + ), + updateAccount: connect.NewClient[v1.UpdateAccountRequest, v1.UpdateAccountResponse]( + httpClient, + baseURL+AccountServiceUpdateAccountProcedure, + connect.WithSchema(accountServiceMethods.ByName("UpdateAccount")), + connect.WithClientOptions(opts...), + ), + deleteAccount: connect.NewClient[v1.DeleteAccountRequest, v1.DeleteAccountResponse]( + httpClient, + baseURL+AccountServiceDeleteAccountProcedure, + connect.WithSchema(accountServiceMethods.ByName("DeleteAccount")), + connect.WithClientOptions(opts...), + ), + cancelAccountDeletion: connect.NewClient[v1.CancelAccountDeletionRequest, v1.CancelAccountDeletionResponse]( + httpClient, + baseURL+AccountServiceCancelAccountDeletionProcedure, + connect.WithSchema(accountServiceMethods.ByName("CancelAccountDeletion")), + connect.WithClientOptions(opts...), + ), + suspendAccount: connect.NewClient[v1.SuspendAccountRequest, v1.SuspendAccountResponse]( + httpClient, + baseURL+AccountServiceSuspendAccountProcedure, + connect.WithSchema(accountServiceMethods.ByName("SuspendAccount")), + connect.WithClientOptions(opts...), + ), + reactivateAccount: connect.NewClient[v1.ReactivateAccountRequest, v1.ReactivateAccountResponse]( + httpClient, + baseURL+AccountServiceReactivateAccountProcedure, + connect.WithSchema(accountServiceMethods.ByName("ReactivateAccount")), + connect.WithClientOptions(opts...), + ), + listAccountUsers: connect.NewClient[v1.ListAccountUsersRequest, v1.ListAccountUsersResponse]( + httpClient, + baseURL+AccountServiceListAccountUsersProcedure, + connect.WithSchema(accountServiceMethods.ByName("ListAccountUsers")), + connect.WithClientOptions(opts...), + ), + updateAccountUserRole: connect.NewClient[v1.UpdateAccountUserRoleRequest, v1.UpdateAccountUserRoleResponse]( + httpClient, + baseURL+AccountServiceUpdateAccountUserRoleProcedure, + connect.WithSchema(accountServiceMethods.ByName("UpdateAccountUserRole")), + connect.WithClientOptions(opts...), + ), + removeAccountUser: connect.NewClient[v1.RemoveAccountUserRequest, v1.RemoveAccountUserResponse]( + httpClient, + baseURL+AccountServiceRemoveAccountUserProcedure, + connect.WithSchema(accountServiceMethods.ByName("RemoveAccountUser")), + connect.WithClientOptions(opts...), + ), + getAccountDashboard: connect.NewClient[v1.GetAccountDashboardRequest, v1.GetAccountDashboardResponse]( + httpClient, + baseURL+AccountServiceGetAccountDashboardProcedure, + connect.WithSchema(accountServiceMethods.ByName("GetAccountDashboard")), + connect.WithClientOptions(opts...), + ), + bulkSuspendAccounts: connect.NewClient[v1.BulkSuspendAccountsRequest, v1.BulkSuspendAccountsResponse]( + httpClient, + baseURL+AccountServiceBulkSuspendAccountsProcedure, + connect.WithSchema(accountServiceMethods.ByName("BulkSuspendAccounts")), + connect.WithClientOptions(opts...), + ), + bulkReactivateAccounts: connect.NewClient[v1.BulkReactivateAccountsRequest, v1.BulkReactivateAccountsResponse]( + httpClient, + baseURL+AccountServiceBulkReactivateAccountsProcedure, + connect.WithSchema(accountServiceMethods.ByName("BulkReactivateAccounts")), + connect.WithClientOptions(opts...), + ), + getAccountVaultHealth: connect.NewClient[v1.GetAccountVaultHealthRequest, v1.GetAccountVaultHealthResponse]( + httpClient, + baseURL+AccountServiceGetAccountVaultHealthProcedure, + connect.WithSchema(accountServiceMethods.ByName("GetAccountVaultHealth")), + connect.WithClientOptions(opts...), + ), + resetAccountVaultKey: connect.NewClient[v1.ResetAccountVaultKeyRequest, v1.ResetAccountVaultKeyResponse]( + httpClient, + baseURL+AccountServiceResetAccountVaultKeyProcedure, + connect.WithSchema(accountServiceMethods.ByName("ResetAccountVaultKey")), + connect.WithClientOptions(opts...), + ), + repairAccountVault: connect.NewClient[v1.RepairAccountVaultRequest, v1.RepairAccountVaultResponse]( + httpClient, + baseURL+AccountServiceRepairAccountVaultProcedure, + connect.WithSchema(accountServiceMethods.ByName("RepairAccountVault")), + connect.WithClientOptions(opts...), + ), + } +} + +// accountServiceClient implements AccountServiceClient. +type accountServiceClient struct { + createAccount *connect.Client[v1.CreateAccountRequest, v1.CreateAccountResponse] + getAccount *connect.Client[v1.GetAccountRequest, v1.GetAccountResponse] + listAccounts *connect.Client[v1.ListAccountsRequest, v1.ListAccountsResponse] + listMyAccounts *connect.Client[v1.ListMyAccountsRequest, v1.ListMyAccountsResponse] + updateAccount *connect.Client[v1.UpdateAccountRequest, v1.UpdateAccountResponse] + deleteAccount *connect.Client[v1.DeleteAccountRequest, v1.DeleteAccountResponse] + cancelAccountDeletion *connect.Client[v1.CancelAccountDeletionRequest, v1.CancelAccountDeletionResponse] + suspendAccount *connect.Client[v1.SuspendAccountRequest, v1.SuspendAccountResponse] + reactivateAccount *connect.Client[v1.ReactivateAccountRequest, v1.ReactivateAccountResponse] + listAccountUsers *connect.Client[v1.ListAccountUsersRequest, v1.ListAccountUsersResponse] + updateAccountUserRole *connect.Client[v1.UpdateAccountUserRoleRequest, v1.UpdateAccountUserRoleResponse] + removeAccountUser *connect.Client[v1.RemoveAccountUserRequest, v1.RemoveAccountUserResponse] + getAccountDashboard *connect.Client[v1.GetAccountDashboardRequest, v1.GetAccountDashboardResponse] + bulkSuspendAccounts *connect.Client[v1.BulkSuspendAccountsRequest, v1.BulkSuspendAccountsResponse] + bulkReactivateAccounts *connect.Client[v1.BulkReactivateAccountsRequest, v1.BulkReactivateAccountsResponse] + getAccountVaultHealth *connect.Client[v1.GetAccountVaultHealthRequest, v1.GetAccountVaultHealthResponse] + resetAccountVaultKey *connect.Client[v1.ResetAccountVaultKeyRequest, v1.ResetAccountVaultKeyResponse] + repairAccountVault *connect.Client[v1.RepairAccountVaultRequest, v1.RepairAccountVaultResponse] +} + +// CreateAccount calls orchestrator.v1.AccountService.CreateAccount. +func (c *accountServiceClient) CreateAccount(ctx context.Context, req *connect.Request[v1.CreateAccountRequest]) (*connect.Response[v1.CreateAccountResponse], error) { + return c.createAccount.CallUnary(ctx, req) +} + +// GetAccount calls orchestrator.v1.AccountService.GetAccount. +func (c *accountServiceClient) GetAccount(ctx context.Context, req *connect.Request[v1.GetAccountRequest]) (*connect.Response[v1.GetAccountResponse], error) { + return c.getAccount.CallUnary(ctx, req) +} + +// ListAccounts calls orchestrator.v1.AccountService.ListAccounts. +func (c *accountServiceClient) ListAccounts(ctx context.Context, req *connect.Request[v1.ListAccountsRequest]) (*connect.Response[v1.ListAccountsResponse], error) { + return c.listAccounts.CallUnary(ctx, req) +} + +// ListMyAccounts calls orchestrator.v1.AccountService.ListMyAccounts. +func (c *accountServiceClient) ListMyAccounts(ctx context.Context, req *connect.Request[v1.ListMyAccountsRequest]) (*connect.Response[v1.ListMyAccountsResponse], error) { + return c.listMyAccounts.CallUnary(ctx, req) +} + +// UpdateAccount calls orchestrator.v1.AccountService.UpdateAccount. +func (c *accountServiceClient) UpdateAccount(ctx context.Context, req *connect.Request[v1.UpdateAccountRequest]) (*connect.Response[v1.UpdateAccountResponse], error) { + return c.updateAccount.CallUnary(ctx, req) +} + +// DeleteAccount calls orchestrator.v1.AccountService.DeleteAccount. +func (c *accountServiceClient) DeleteAccount(ctx context.Context, req *connect.Request[v1.DeleteAccountRequest]) (*connect.Response[v1.DeleteAccountResponse], error) { + return c.deleteAccount.CallUnary(ctx, req) +} + +// CancelAccountDeletion calls orchestrator.v1.AccountService.CancelAccountDeletion. +func (c *accountServiceClient) CancelAccountDeletion(ctx context.Context, req *connect.Request[v1.CancelAccountDeletionRequest]) (*connect.Response[v1.CancelAccountDeletionResponse], error) { + return c.cancelAccountDeletion.CallUnary(ctx, req) +} + +// SuspendAccount calls orchestrator.v1.AccountService.SuspendAccount. +func (c *accountServiceClient) SuspendAccount(ctx context.Context, req *connect.Request[v1.SuspendAccountRequest]) (*connect.Response[v1.SuspendAccountResponse], error) { + return c.suspendAccount.CallUnary(ctx, req) +} + +// ReactivateAccount calls orchestrator.v1.AccountService.ReactivateAccount. +func (c *accountServiceClient) ReactivateAccount(ctx context.Context, req *connect.Request[v1.ReactivateAccountRequest]) (*connect.Response[v1.ReactivateAccountResponse], error) { + return c.reactivateAccount.CallUnary(ctx, req) +} + +// ListAccountUsers calls orchestrator.v1.AccountService.ListAccountUsers. +func (c *accountServiceClient) ListAccountUsers(ctx context.Context, req *connect.Request[v1.ListAccountUsersRequest]) (*connect.Response[v1.ListAccountUsersResponse], error) { + return c.listAccountUsers.CallUnary(ctx, req) +} + +// UpdateAccountUserRole calls orchestrator.v1.AccountService.UpdateAccountUserRole. +func (c *accountServiceClient) UpdateAccountUserRole(ctx context.Context, req *connect.Request[v1.UpdateAccountUserRoleRequest]) (*connect.Response[v1.UpdateAccountUserRoleResponse], error) { + return c.updateAccountUserRole.CallUnary(ctx, req) +} + +// RemoveAccountUser calls orchestrator.v1.AccountService.RemoveAccountUser. +func (c *accountServiceClient) RemoveAccountUser(ctx context.Context, req *connect.Request[v1.RemoveAccountUserRequest]) (*connect.Response[v1.RemoveAccountUserResponse], error) { + return c.removeAccountUser.CallUnary(ctx, req) +} + +// GetAccountDashboard calls orchestrator.v1.AccountService.GetAccountDashboard. +func (c *accountServiceClient) GetAccountDashboard(ctx context.Context, req *connect.Request[v1.GetAccountDashboardRequest]) (*connect.Response[v1.GetAccountDashboardResponse], error) { + return c.getAccountDashboard.CallUnary(ctx, req) +} + +// BulkSuspendAccounts calls orchestrator.v1.AccountService.BulkSuspendAccounts. +func (c *accountServiceClient) BulkSuspendAccounts(ctx context.Context, req *connect.Request[v1.BulkSuspendAccountsRequest]) (*connect.Response[v1.BulkSuspendAccountsResponse], error) { + return c.bulkSuspendAccounts.CallUnary(ctx, req) +} + +// BulkReactivateAccounts calls orchestrator.v1.AccountService.BulkReactivateAccounts. +func (c *accountServiceClient) BulkReactivateAccounts(ctx context.Context, req *connect.Request[v1.BulkReactivateAccountsRequest]) (*connect.Response[v1.BulkReactivateAccountsResponse], error) { + return c.bulkReactivateAccounts.CallUnary(ctx, req) +} + +// GetAccountVaultHealth calls orchestrator.v1.AccountService.GetAccountVaultHealth. +func (c *accountServiceClient) GetAccountVaultHealth(ctx context.Context, req *connect.Request[v1.GetAccountVaultHealthRequest]) (*connect.Response[v1.GetAccountVaultHealthResponse], error) { + return c.getAccountVaultHealth.CallUnary(ctx, req) +} + +// ResetAccountVaultKey calls orchestrator.v1.AccountService.ResetAccountVaultKey. +func (c *accountServiceClient) ResetAccountVaultKey(ctx context.Context, req *connect.Request[v1.ResetAccountVaultKeyRequest]) (*connect.Response[v1.ResetAccountVaultKeyResponse], error) { + return c.resetAccountVaultKey.CallUnary(ctx, req) +} + +// RepairAccountVault calls orchestrator.v1.AccountService.RepairAccountVault. +func (c *accountServiceClient) RepairAccountVault(ctx context.Context, req *connect.Request[v1.RepairAccountVaultRequest]) (*connect.Response[v1.RepairAccountVaultResponse], error) { + return c.repairAccountVault.CallUnary(ctx, req) +} + +// AccountServiceHandler is an implementation of the orchestrator.v1.AccountService service. +type AccountServiceHandler interface { + // Create a new account + CreateAccount(context.Context, *connect.Request[v1.CreateAccountRequest]) (*connect.Response[v1.CreateAccountResponse], error) + // Get an account by ID + GetAccount(context.Context, *connect.Request[v1.GetAccountRequest]) (*connect.Response[v1.GetAccountResponse], error) + // List accounts (admin only) + ListAccounts(context.Context, *connect.Request[v1.ListAccountsRequest]) (*connect.Response[v1.ListAccountsResponse], error) + // List accounts for current user + ListMyAccounts(context.Context, *connect.Request[v1.ListMyAccountsRequest]) (*connect.Response[v1.ListMyAccountsResponse], error) + // Update an account + UpdateAccount(context.Context, *connect.Request[v1.UpdateAccountRequest]) (*connect.Response[v1.UpdateAccountResponse], error) + // Delete an account (initiates 48-hour pending deletion period) + DeleteAccount(context.Context, *connect.Request[v1.DeleteAccountRequest]) (*connect.Response[v1.DeleteAccountResponse], error) + // Cancel a pending account deletion + CancelAccountDeletion(context.Context, *connect.Request[v1.CancelAccountDeletionRequest]) (*connect.Response[v1.CancelAccountDeletionResponse], error) + // Suspend an account + SuspendAccount(context.Context, *connect.Request[v1.SuspendAccountRequest]) (*connect.Response[v1.SuspendAccountResponse], error) + // Reactivate a suspended account + ReactivateAccount(context.Context, *connect.Request[v1.ReactivateAccountRequest]) (*connect.Response[v1.ReactivateAccountResponse], error) + // Team member management + // (Inviting/accepting now lives in InviteService; see invites.proto.) + // List account team members + ListAccountUsers(context.Context, *connect.Request[v1.ListAccountUsersRequest]) (*connect.Response[v1.ListAccountUsersResponse], error) + // Update a team member's role + UpdateAccountUserRole(context.Context, *connect.Request[v1.UpdateAccountUserRoleRequest]) (*connect.Response[v1.UpdateAccountUserRoleResponse], error) + // Remove a team member + RemoveAccountUser(context.Context, *connect.Request[v1.RemoveAccountUserRequest]) (*connect.Response[v1.RemoveAccountUserResponse], error) + // Dashboard + // Get account dashboard with aggregated metrics + GetAccountDashboard(context.Context, *connect.Request[v1.GetAccountDashboardRequest]) (*connect.Response[v1.GetAccountDashboardResponse], error) + // Bulk operations + // Suspend multiple accounts + BulkSuspendAccounts(context.Context, *connect.Request[v1.BulkSuspendAccountsRequest]) (*connect.Response[v1.BulkSuspendAccountsResponse], error) + // Reactivate multiple accounts + BulkReactivateAccounts(context.Context, *connect.Request[v1.BulkReactivateAccountsRequest]) (*connect.Response[v1.BulkReactivateAccountsResponse], error) + // Vault management (superadmin only) + // Get vault health status for an account and all its instances + GetAccountVaultHealth(context.Context, *connect.Request[v1.GetAccountVaultHealthRequest]) (*connect.Response[v1.GetAccountVaultHealthResponse], error) + // Reset the vault AppRole secret_id and recreate all running instances with new credentials + ResetAccountVaultKey(context.Context, *connect.Request[v1.ResetAccountVaultKeyRequest]) (*connect.Response[v1.ResetAccountVaultKeyResponse], error) + // Repair vault infrastructure: ensure paths, secrets, AppRoles, and policies exist + RepairAccountVault(context.Context, *connect.Request[v1.RepairAccountVaultRequest]) (*connect.Response[v1.RepairAccountVaultResponse], error) +} + +// NewAccountServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewAccountServiceHandler(svc AccountServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + accountServiceMethods := v1.File_orchestrator_v1_accounts_proto.Services().ByName("AccountService").Methods() + accountServiceCreateAccountHandler := connect.NewUnaryHandler( + AccountServiceCreateAccountProcedure, + svc.CreateAccount, + connect.WithSchema(accountServiceMethods.ByName("CreateAccount")), + connect.WithHandlerOptions(opts...), + ) + accountServiceGetAccountHandler := connect.NewUnaryHandler( + AccountServiceGetAccountProcedure, + svc.GetAccount, + connect.WithSchema(accountServiceMethods.ByName("GetAccount")), + connect.WithHandlerOptions(opts...), + ) + accountServiceListAccountsHandler := connect.NewUnaryHandler( + AccountServiceListAccountsProcedure, + svc.ListAccounts, + connect.WithSchema(accountServiceMethods.ByName("ListAccounts")), + connect.WithHandlerOptions(opts...), + ) + accountServiceListMyAccountsHandler := connect.NewUnaryHandler( + AccountServiceListMyAccountsProcedure, + svc.ListMyAccounts, + connect.WithSchema(accountServiceMethods.ByName("ListMyAccounts")), + connect.WithHandlerOptions(opts...), + ) + accountServiceUpdateAccountHandler := connect.NewUnaryHandler( + AccountServiceUpdateAccountProcedure, + svc.UpdateAccount, + connect.WithSchema(accountServiceMethods.ByName("UpdateAccount")), + connect.WithHandlerOptions(opts...), + ) + accountServiceDeleteAccountHandler := connect.NewUnaryHandler( + AccountServiceDeleteAccountProcedure, + svc.DeleteAccount, + connect.WithSchema(accountServiceMethods.ByName("DeleteAccount")), + connect.WithHandlerOptions(opts...), + ) + accountServiceCancelAccountDeletionHandler := connect.NewUnaryHandler( + AccountServiceCancelAccountDeletionProcedure, + svc.CancelAccountDeletion, + connect.WithSchema(accountServiceMethods.ByName("CancelAccountDeletion")), + connect.WithHandlerOptions(opts...), + ) + accountServiceSuspendAccountHandler := connect.NewUnaryHandler( + AccountServiceSuspendAccountProcedure, + svc.SuspendAccount, + connect.WithSchema(accountServiceMethods.ByName("SuspendAccount")), + connect.WithHandlerOptions(opts...), + ) + accountServiceReactivateAccountHandler := connect.NewUnaryHandler( + AccountServiceReactivateAccountProcedure, + svc.ReactivateAccount, + connect.WithSchema(accountServiceMethods.ByName("ReactivateAccount")), + connect.WithHandlerOptions(opts...), + ) + accountServiceListAccountUsersHandler := connect.NewUnaryHandler( + AccountServiceListAccountUsersProcedure, + svc.ListAccountUsers, + connect.WithSchema(accountServiceMethods.ByName("ListAccountUsers")), + connect.WithHandlerOptions(opts...), + ) + accountServiceUpdateAccountUserRoleHandler := connect.NewUnaryHandler( + AccountServiceUpdateAccountUserRoleProcedure, + svc.UpdateAccountUserRole, + connect.WithSchema(accountServiceMethods.ByName("UpdateAccountUserRole")), + connect.WithHandlerOptions(opts...), + ) + accountServiceRemoveAccountUserHandler := connect.NewUnaryHandler( + AccountServiceRemoveAccountUserProcedure, + svc.RemoveAccountUser, + connect.WithSchema(accountServiceMethods.ByName("RemoveAccountUser")), + connect.WithHandlerOptions(opts...), + ) + accountServiceGetAccountDashboardHandler := connect.NewUnaryHandler( + AccountServiceGetAccountDashboardProcedure, + svc.GetAccountDashboard, + connect.WithSchema(accountServiceMethods.ByName("GetAccountDashboard")), + connect.WithHandlerOptions(opts...), + ) + accountServiceBulkSuspendAccountsHandler := connect.NewUnaryHandler( + AccountServiceBulkSuspendAccountsProcedure, + svc.BulkSuspendAccounts, + connect.WithSchema(accountServiceMethods.ByName("BulkSuspendAccounts")), + connect.WithHandlerOptions(opts...), + ) + accountServiceBulkReactivateAccountsHandler := connect.NewUnaryHandler( + AccountServiceBulkReactivateAccountsProcedure, + svc.BulkReactivateAccounts, + connect.WithSchema(accountServiceMethods.ByName("BulkReactivateAccounts")), + connect.WithHandlerOptions(opts...), + ) + accountServiceGetAccountVaultHealthHandler := connect.NewUnaryHandler( + AccountServiceGetAccountVaultHealthProcedure, + svc.GetAccountVaultHealth, + connect.WithSchema(accountServiceMethods.ByName("GetAccountVaultHealth")), + connect.WithHandlerOptions(opts...), + ) + accountServiceResetAccountVaultKeyHandler := connect.NewUnaryHandler( + AccountServiceResetAccountVaultKeyProcedure, + svc.ResetAccountVaultKey, + connect.WithSchema(accountServiceMethods.ByName("ResetAccountVaultKey")), + connect.WithHandlerOptions(opts...), + ) + accountServiceRepairAccountVaultHandler := connect.NewUnaryHandler( + AccountServiceRepairAccountVaultProcedure, + svc.RepairAccountVault, + connect.WithSchema(accountServiceMethods.ByName("RepairAccountVault")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.AccountService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case AccountServiceCreateAccountProcedure: + accountServiceCreateAccountHandler.ServeHTTP(w, r) + case AccountServiceGetAccountProcedure: + accountServiceGetAccountHandler.ServeHTTP(w, r) + case AccountServiceListAccountsProcedure: + accountServiceListAccountsHandler.ServeHTTP(w, r) + case AccountServiceListMyAccountsProcedure: + accountServiceListMyAccountsHandler.ServeHTTP(w, r) + case AccountServiceUpdateAccountProcedure: + accountServiceUpdateAccountHandler.ServeHTTP(w, r) + case AccountServiceDeleteAccountProcedure: + accountServiceDeleteAccountHandler.ServeHTTP(w, r) + case AccountServiceCancelAccountDeletionProcedure: + accountServiceCancelAccountDeletionHandler.ServeHTTP(w, r) + case AccountServiceSuspendAccountProcedure: + accountServiceSuspendAccountHandler.ServeHTTP(w, r) + case AccountServiceReactivateAccountProcedure: + accountServiceReactivateAccountHandler.ServeHTTP(w, r) + case AccountServiceListAccountUsersProcedure: + accountServiceListAccountUsersHandler.ServeHTTP(w, r) + case AccountServiceUpdateAccountUserRoleProcedure: + accountServiceUpdateAccountUserRoleHandler.ServeHTTP(w, r) + case AccountServiceRemoveAccountUserProcedure: + accountServiceRemoveAccountUserHandler.ServeHTTP(w, r) + case AccountServiceGetAccountDashboardProcedure: + accountServiceGetAccountDashboardHandler.ServeHTTP(w, r) + case AccountServiceBulkSuspendAccountsProcedure: + accountServiceBulkSuspendAccountsHandler.ServeHTTP(w, r) + case AccountServiceBulkReactivateAccountsProcedure: + accountServiceBulkReactivateAccountsHandler.ServeHTTP(w, r) + case AccountServiceGetAccountVaultHealthProcedure: + accountServiceGetAccountVaultHealthHandler.ServeHTTP(w, r) + case AccountServiceResetAccountVaultKeyProcedure: + accountServiceResetAccountVaultKeyHandler.ServeHTTP(w, r) + case AccountServiceRepairAccountVaultProcedure: + accountServiceRepairAccountVaultHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedAccountServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedAccountServiceHandler struct{} + +func (UnimplementedAccountServiceHandler) CreateAccount(context.Context, *connect.Request[v1.CreateAccountRequest]) (*connect.Response[v1.CreateAccountResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.CreateAccount is not implemented")) +} + +func (UnimplementedAccountServiceHandler) GetAccount(context.Context, *connect.Request[v1.GetAccountRequest]) (*connect.Response[v1.GetAccountResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.GetAccount is not implemented")) +} + +func (UnimplementedAccountServiceHandler) ListAccounts(context.Context, *connect.Request[v1.ListAccountsRequest]) (*connect.Response[v1.ListAccountsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.ListAccounts is not implemented")) +} + +func (UnimplementedAccountServiceHandler) ListMyAccounts(context.Context, *connect.Request[v1.ListMyAccountsRequest]) (*connect.Response[v1.ListMyAccountsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.ListMyAccounts is not implemented")) +} + +func (UnimplementedAccountServiceHandler) UpdateAccount(context.Context, *connect.Request[v1.UpdateAccountRequest]) (*connect.Response[v1.UpdateAccountResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.UpdateAccount is not implemented")) +} + +func (UnimplementedAccountServiceHandler) DeleteAccount(context.Context, *connect.Request[v1.DeleteAccountRequest]) (*connect.Response[v1.DeleteAccountResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.DeleteAccount is not implemented")) +} + +func (UnimplementedAccountServiceHandler) CancelAccountDeletion(context.Context, *connect.Request[v1.CancelAccountDeletionRequest]) (*connect.Response[v1.CancelAccountDeletionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.CancelAccountDeletion is not implemented")) +} + +func (UnimplementedAccountServiceHandler) SuspendAccount(context.Context, *connect.Request[v1.SuspendAccountRequest]) (*connect.Response[v1.SuspendAccountResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.SuspendAccount is not implemented")) +} + +func (UnimplementedAccountServiceHandler) ReactivateAccount(context.Context, *connect.Request[v1.ReactivateAccountRequest]) (*connect.Response[v1.ReactivateAccountResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.ReactivateAccount is not implemented")) +} + +func (UnimplementedAccountServiceHandler) ListAccountUsers(context.Context, *connect.Request[v1.ListAccountUsersRequest]) (*connect.Response[v1.ListAccountUsersResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.ListAccountUsers is not implemented")) +} + +func (UnimplementedAccountServiceHandler) UpdateAccountUserRole(context.Context, *connect.Request[v1.UpdateAccountUserRoleRequest]) (*connect.Response[v1.UpdateAccountUserRoleResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.UpdateAccountUserRole is not implemented")) +} + +func (UnimplementedAccountServiceHandler) RemoveAccountUser(context.Context, *connect.Request[v1.RemoveAccountUserRequest]) (*connect.Response[v1.RemoveAccountUserResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.RemoveAccountUser is not implemented")) +} + +func (UnimplementedAccountServiceHandler) GetAccountDashboard(context.Context, *connect.Request[v1.GetAccountDashboardRequest]) (*connect.Response[v1.GetAccountDashboardResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.GetAccountDashboard is not implemented")) +} + +func (UnimplementedAccountServiceHandler) BulkSuspendAccounts(context.Context, *connect.Request[v1.BulkSuspendAccountsRequest]) (*connect.Response[v1.BulkSuspendAccountsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.BulkSuspendAccounts is not implemented")) +} + +func (UnimplementedAccountServiceHandler) BulkReactivateAccounts(context.Context, *connect.Request[v1.BulkReactivateAccountsRequest]) (*connect.Response[v1.BulkReactivateAccountsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.BulkReactivateAccounts is not implemented")) +} + +func (UnimplementedAccountServiceHandler) GetAccountVaultHealth(context.Context, *connect.Request[v1.GetAccountVaultHealthRequest]) (*connect.Response[v1.GetAccountVaultHealthResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.GetAccountVaultHealth is not implemented")) +} + +func (UnimplementedAccountServiceHandler) ResetAccountVaultKey(context.Context, *connect.Request[v1.ResetAccountVaultKeyRequest]) (*connect.Response[v1.ResetAccountVaultKeyResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.ResetAccountVaultKey is not implemented")) +} + +func (UnimplementedAccountServiceHandler) RepairAccountVault(context.Context, *connect.Request[v1.RepairAccountVaultRequest]) (*connect.Response[v1.RepairAccountVaultResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.RepairAccountVault is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/auth.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/auth.connect.go new file mode 100644 index 0000000..a7cc4f6 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/auth.connect.go @@ -0,0 +1,854 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/auth.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // AuthServiceName is the fully-qualified name of the AuthService service. + AuthServiceName = "orchestrator.v1.AuthService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // AuthServiceLoginProcedure is the fully-qualified name of the AuthService's Login RPC. + AuthServiceLoginProcedure = "/orchestrator.v1.AuthService/Login" + // AuthServiceLogoutProcedure is the fully-qualified name of the AuthService's Logout RPC. + AuthServiceLogoutProcedure = "/orchestrator.v1.AuthService/Logout" + // AuthServiceRegisterProcedure is the fully-qualified name of the AuthService's Register RPC. + AuthServiceRegisterProcedure = "/orchestrator.v1.AuthService/Register" + // AuthServiceRefreshSessionProcedure is the fully-qualified name of the AuthService's + // RefreshSession RPC. + AuthServiceRefreshSessionProcedure = "/orchestrator.v1.AuthService/RefreshSession" + // AuthServiceGetCurrentUserProcedure is the fully-qualified name of the AuthService's + // GetCurrentUser RPC. + AuthServiceGetCurrentUserProcedure = "/orchestrator.v1.AuthService/GetCurrentUser" + // AuthServiceChangePasswordProcedure is the fully-qualified name of the AuthService's + // ChangePassword RPC. + AuthServiceChangePasswordProcedure = "/orchestrator.v1.AuthService/ChangePassword" + // AuthServiceRequestPasswordResetProcedure is the fully-qualified name of the AuthService's + // RequestPasswordReset RPC. + AuthServiceRequestPasswordResetProcedure = "/orchestrator.v1.AuthService/RequestPasswordReset" + // AuthServiceResetPasswordProcedure is the fully-qualified name of the AuthService's ResetPassword + // RPC. + AuthServiceResetPasswordProcedure = "/orchestrator.v1.AuthService/ResetPassword" + // AuthServiceVerifyEmailProcedure is the fully-qualified name of the AuthService's VerifyEmail RPC. + AuthServiceVerifyEmailProcedure = "/orchestrator.v1.AuthService/VerifyEmail" + // AuthServiceResendVerificationEmailProcedure is the fully-qualified name of the AuthService's + // ResendVerificationEmail RPC. + AuthServiceResendVerificationEmailProcedure = "/orchestrator.v1.AuthService/ResendVerificationEmail" + // AuthServiceUnlockAccountProcedure is the fully-qualified name of the AuthService's UnlockAccount + // RPC. + AuthServiceUnlockAccountProcedure = "/orchestrator.v1.AuthService/UnlockAccount" + // AuthServiceAdminUnlockUserProcedure is the fully-qualified name of the AuthService's + // AdminUnlockUser RPC. + AuthServiceAdminUnlockUserProcedure = "/orchestrator.v1.AuthService/AdminUnlockUser" + // AuthServiceAdminVerifyUserEmailProcedure is the fully-qualified name of the AuthService's + // AdminVerifyUserEmail RPC. + AuthServiceAdminVerifyUserEmailProcedure = "/orchestrator.v1.AuthService/AdminVerifyUserEmail" + // AuthServiceSetupTOTPProcedure is the fully-qualified name of the AuthService's SetupTOTP RPC. + AuthServiceSetupTOTPProcedure = "/orchestrator.v1.AuthService/SetupTOTP" + // AuthServiceEnableTOTPProcedure is the fully-qualified name of the AuthService's EnableTOTP RPC. + AuthServiceEnableTOTPProcedure = "/orchestrator.v1.AuthService/EnableTOTP" + // AuthServiceDisableTOTPProcedure is the fully-qualified name of the AuthService's DisableTOTP RPC. + AuthServiceDisableTOTPProcedure = "/orchestrator.v1.AuthService/DisableTOTP" + // AuthServiceVerifyLoginTOTPProcedure is the fully-qualified name of the AuthService's + // VerifyLoginTOTP RPC. + AuthServiceVerifyLoginTOTPProcedure = "/orchestrator.v1.AuthService/VerifyLoginTOTP" + // AuthServiceGetTOTPStatusProcedure is the fully-qualified name of the AuthService's GetTOTPStatus + // RPC. + AuthServiceGetTOTPStatusProcedure = "/orchestrator.v1.AuthService/GetTOTPStatus" + // AuthServiceRegenerateBackupCodesProcedure is the fully-qualified name of the AuthService's + // RegenerateBackupCodes RPC. + AuthServiceRegenerateBackupCodesProcedure = "/orchestrator.v1.AuthService/RegenerateBackupCodes" + // AuthServiceDismissTOTPPromptProcedure is the fully-qualified name of the AuthService's + // DismissTOTPPrompt RPC. + AuthServiceDismissTOTPPromptProcedure = "/orchestrator.v1.AuthService/DismissTOTPPrompt" + // AuthServiceListTrustedDevicesProcedure is the fully-qualified name of the AuthService's + // ListTrustedDevices RPC. + AuthServiceListTrustedDevicesProcedure = "/orchestrator.v1.AuthService/ListTrustedDevices" + // AuthServiceRevokeTrustedDeviceProcedure is the fully-qualified name of the AuthService's + // RevokeTrustedDevice RPC. + AuthServiceRevokeTrustedDeviceProcedure = "/orchestrator.v1.AuthService/RevokeTrustedDevice" + // AuthServiceRevokeAllTrustedDevicesProcedure is the fully-qualified name of the AuthService's + // RevokeAllTrustedDevices RPC. + AuthServiceRevokeAllTrustedDevicesProcedure = "/orchestrator.v1.AuthService/RevokeAllTrustedDevices" + // AuthServiceListMobileSessionsProcedure is the fully-qualified name of the AuthService's + // ListMobileSessions RPC. + AuthServiceListMobileSessionsProcedure = "/orchestrator.v1.AuthService/ListMobileSessions" + // AuthServiceRevokeMobileSessionProcedure is the fully-qualified name of the AuthService's + // RevokeMobileSession RPC. + AuthServiceRevokeMobileSessionProcedure = "/orchestrator.v1.AuthService/RevokeMobileSession" +) + +// AuthServiceClient is a client for the orchestrator.v1.AuthService service. +type AuthServiceClient interface { + // Login with email and password + Login(context.Context, *connect.Request[v1.LoginRequest]) (*connect.Response[v1.LoginResponse], error) + // Logout and clear session + Logout(context.Context, *connect.Request[v1.LogoutRequest]) (*connect.Response[v1.LogoutResponse], error) + // Register a new user + Register(context.Context, *connect.Request[v1.RegisterRequest]) (*connect.Response[v1.RegisterResponse], error) + // Refresh the session + RefreshSession(context.Context, *connect.Request[v1.RefreshSessionRequest]) (*connect.Response[v1.RefreshSessionResponse], error) + // Get the current user + GetCurrentUser(context.Context, *connect.Request[v1.GetCurrentUserRequest]) (*connect.Response[v1.GetCurrentUserResponse], error) + // Change password + ChangePassword(context.Context, *connect.Request[v1.ChangePasswordRequest]) (*connect.Response[v1.ChangePasswordResponse], error) + // Request password reset + RequestPasswordReset(context.Context, *connect.Request[v1.RequestPasswordResetRequest]) (*connect.Response[v1.RequestPasswordResetResponse], error) + // Reset password with token + ResetPassword(context.Context, *connect.Request[v1.ResetPasswordRequest]) (*connect.Response[v1.ResetPasswordResponse], error) + // Verify email with token + VerifyEmail(context.Context, *connect.Request[v1.VerifyEmailRequest]) (*connect.Response[v1.VerifyEmailResponse], error) + // Resend verification email (rate-limited) + ResendVerificationEmail(context.Context, *connect.Request[v1.ResendVerificationEmailRequest]) (*connect.Response[v1.ResendVerificationEmailResponse], error) + // Account unlock (magic link) + UnlockAccount(context.Context, *connect.Request[v1.UnlockAccountRequest]) (*connect.Response[v1.UnlockAccountResponse], error) + // Admin: Unlock a user's account (superadmin only) + AdminUnlockUser(context.Context, *connect.Request[v1.AdminUnlockUserRequest]) (*connect.Response[v1.AdminUnlockUserResponse], error) + // Admin: Manually verify a user's email (superadmin only) + AdminVerifyUserEmail(context.Context, *connect.Request[v1.AdminVerifyUserEmailRequest]) (*connect.Response[v1.AdminVerifyUserEmailResponse], error) + // TOTP Two-Factor Authentication + // Setup TOTP - generates secret and QR code + SetupTOTP(context.Context, *connect.Request[v1.SetupTOTPRequest]) (*connect.Response[v1.SetupTOTPResponse], error) + // Enable TOTP - verifies the code and enables 2FA + EnableTOTP(context.Context, *connect.Request[v1.EnableTOTPRequest]) (*connect.Response[v1.EnableTOTPResponse], error) + // Disable TOTP - requires password verification + DisableTOTP(context.Context, *connect.Request[v1.DisableTOTPRequest]) (*connect.Response[v1.DisableTOTPResponse], error) + // Verify login TOTP - second step after password verification + VerifyLoginTOTP(context.Context, *connect.Request[v1.VerifyLoginTOTPRequest]) (*connect.Response[v1.VerifyLoginTOTPResponse], error) + // Get TOTP status - check if 2FA is enabled + GetTOTPStatus(context.Context, *connect.Request[v1.GetTOTPStatusRequest]) (*connect.Response[v1.GetTOTPStatusResponse], error) + // Regenerate backup codes - requires password verification + RegenerateBackupCodes(context.Context, *connect.Request[v1.RegenerateBackupCodesRequest]) (*connect.Response[v1.RegenerateBackupCodesResponse], error) + // Dismiss the TOTP enrollment prompt for 7 days + DismissTOTPPrompt(context.Context, *connect.Request[v1.DismissTOTPPromptRequest]) (*connect.Response[v1.DismissTOTPPromptResponse], error) + // Trusted Devices + // List trusted devices for the current user + ListTrustedDevices(context.Context, *connect.Request[v1.ListTrustedDevicesRequest]) (*connect.Response[v1.ListTrustedDevicesResponse], error) + // Revoke a single trusted device + RevokeTrustedDevice(context.Context, *connect.Request[v1.RevokeTrustedDeviceRequest]) (*connect.Response[v1.RevokeTrustedDeviceResponse], error) + // Revoke all trusted devices + RevokeAllTrustedDevices(context.Context, *connect.Request[v1.RevokeAllTrustedDevicesRequest]) (*connect.Response[v1.RevokeAllTrustedDevicesResponse], error) + // Mobile Sessions (native clients) + // List the calling user's active mobile sessions + ListMobileSessions(context.Context, *connect.Request[v1.ListMobileSessionsRequest]) (*connect.Response[v1.ListMobileSessionsResponse], error) + // Revoke a single mobile session (must belong to the calling user) + RevokeMobileSession(context.Context, *connect.Request[v1.RevokeMobileSessionRequest]) (*connect.Response[v1.RevokeMobileSessionResponse], error) +} + +// NewAuthServiceClient constructs a client for the orchestrator.v1.AuthService service. By default, +// it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and +// sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() +// or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewAuthServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) AuthServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + authServiceMethods := v1.File_orchestrator_v1_auth_proto.Services().ByName("AuthService").Methods() + return &authServiceClient{ + login: connect.NewClient[v1.LoginRequest, v1.LoginResponse]( + httpClient, + baseURL+AuthServiceLoginProcedure, + connect.WithSchema(authServiceMethods.ByName("Login")), + connect.WithClientOptions(opts...), + ), + logout: connect.NewClient[v1.LogoutRequest, v1.LogoutResponse]( + httpClient, + baseURL+AuthServiceLogoutProcedure, + connect.WithSchema(authServiceMethods.ByName("Logout")), + connect.WithClientOptions(opts...), + ), + register: connect.NewClient[v1.RegisterRequest, v1.RegisterResponse]( + httpClient, + baseURL+AuthServiceRegisterProcedure, + connect.WithSchema(authServiceMethods.ByName("Register")), + connect.WithClientOptions(opts...), + ), + refreshSession: connect.NewClient[v1.RefreshSessionRequest, v1.RefreshSessionResponse]( + httpClient, + baseURL+AuthServiceRefreshSessionProcedure, + connect.WithSchema(authServiceMethods.ByName("RefreshSession")), + connect.WithClientOptions(opts...), + ), + getCurrentUser: connect.NewClient[v1.GetCurrentUserRequest, v1.GetCurrentUserResponse]( + httpClient, + baseURL+AuthServiceGetCurrentUserProcedure, + connect.WithSchema(authServiceMethods.ByName("GetCurrentUser")), + connect.WithClientOptions(opts...), + ), + changePassword: connect.NewClient[v1.ChangePasswordRequest, v1.ChangePasswordResponse]( + httpClient, + baseURL+AuthServiceChangePasswordProcedure, + connect.WithSchema(authServiceMethods.ByName("ChangePassword")), + connect.WithClientOptions(opts...), + ), + requestPasswordReset: connect.NewClient[v1.RequestPasswordResetRequest, v1.RequestPasswordResetResponse]( + httpClient, + baseURL+AuthServiceRequestPasswordResetProcedure, + connect.WithSchema(authServiceMethods.ByName("RequestPasswordReset")), + connect.WithClientOptions(opts...), + ), + resetPassword: connect.NewClient[v1.ResetPasswordRequest, v1.ResetPasswordResponse]( + httpClient, + baseURL+AuthServiceResetPasswordProcedure, + connect.WithSchema(authServiceMethods.ByName("ResetPassword")), + connect.WithClientOptions(opts...), + ), + verifyEmail: connect.NewClient[v1.VerifyEmailRequest, v1.VerifyEmailResponse]( + httpClient, + baseURL+AuthServiceVerifyEmailProcedure, + connect.WithSchema(authServiceMethods.ByName("VerifyEmail")), + connect.WithClientOptions(opts...), + ), + resendVerificationEmail: connect.NewClient[v1.ResendVerificationEmailRequest, v1.ResendVerificationEmailResponse]( + httpClient, + baseURL+AuthServiceResendVerificationEmailProcedure, + connect.WithSchema(authServiceMethods.ByName("ResendVerificationEmail")), + connect.WithClientOptions(opts...), + ), + unlockAccount: connect.NewClient[v1.UnlockAccountRequest, v1.UnlockAccountResponse]( + httpClient, + baseURL+AuthServiceUnlockAccountProcedure, + connect.WithSchema(authServiceMethods.ByName("UnlockAccount")), + connect.WithClientOptions(opts...), + ), + adminUnlockUser: connect.NewClient[v1.AdminUnlockUserRequest, v1.AdminUnlockUserResponse]( + httpClient, + baseURL+AuthServiceAdminUnlockUserProcedure, + connect.WithSchema(authServiceMethods.ByName("AdminUnlockUser")), + connect.WithClientOptions(opts...), + ), + adminVerifyUserEmail: connect.NewClient[v1.AdminVerifyUserEmailRequest, v1.AdminVerifyUserEmailResponse]( + httpClient, + baseURL+AuthServiceAdminVerifyUserEmailProcedure, + connect.WithSchema(authServiceMethods.ByName("AdminVerifyUserEmail")), + connect.WithClientOptions(opts...), + ), + setupTOTP: connect.NewClient[v1.SetupTOTPRequest, v1.SetupTOTPResponse]( + httpClient, + baseURL+AuthServiceSetupTOTPProcedure, + connect.WithSchema(authServiceMethods.ByName("SetupTOTP")), + connect.WithClientOptions(opts...), + ), + enableTOTP: connect.NewClient[v1.EnableTOTPRequest, v1.EnableTOTPResponse]( + httpClient, + baseURL+AuthServiceEnableTOTPProcedure, + connect.WithSchema(authServiceMethods.ByName("EnableTOTP")), + connect.WithClientOptions(opts...), + ), + disableTOTP: connect.NewClient[v1.DisableTOTPRequest, v1.DisableTOTPResponse]( + httpClient, + baseURL+AuthServiceDisableTOTPProcedure, + connect.WithSchema(authServiceMethods.ByName("DisableTOTP")), + connect.WithClientOptions(opts...), + ), + verifyLoginTOTP: connect.NewClient[v1.VerifyLoginTOTPRequest, v1.VerifyLoginTOTPResponse]( + httpClient, + baseURL+AuthServiceVerifyLoginTOTPProcedure, + connect.WithSchema(authServiceMethods.ByName("VerifyLoginTOTP")), + connect.WithClientOptions(opts...), + ), + getTOTPStatus: connect.NewClient[v1.GetTOTPStatusRequest, v1.GetTOTPStatusResponse]( + httpClient, + baseURL+AuthServiceGetTOTPStatusProcedure, + connect.WithSchema(authServiceMethods.ByName("GetTOTPStatus")), + connect.WithClientOptions(opts...), + ), + regenerateBackupCodes: connect.NewClient[v1.RegenerateBackupCodesRequest, v1.RegenerateBackupCodesResponse]( + httpClient, + baseURL+AuthServiceRegenerateBackupCodesProcedure, + connect.WithSchema(authServiceMethods.ByName("RegenerateBackupCodes")), + connect.WithClientOptions(opts...), + ), + dismissTOTPPrompt: connect.NewClient[v1.DismissTOTPPromptRequest, v1.DismissTOTPPromptResponse]( + httpClient, + baseURL+AuthServiceDismissTOTPPromptProcedure, + connect.WithSchema(authServiceMethods.ByName("DismissTOTPPrompt")), + connect.WithClientOptions(opts...), + ), + listTrustedDevices: connect.NewClient[v1.ListTrustedDevicesRequest, v1.ListTrustedDevicesResponse]( + httpClient, + baseURL+AuthServiceListTrustedDevicesProcedure, + connect.WithSchema(authServiceMethods.ByName("ListTrustedDevices")), + connect.WithClientOptions(opts...), + ), + revokeTrustedDevice: connect.NewClient[v1.RevokeTrustedDeviceRequest, v1.RevokeTrustedDeviceResponse]( + httpClient, + baseURL+AuthServiceRevokeTrustedDeviceProcedure, + connect.WithSchema(authServiceMethods.ByName("RevokeTrustedDevice")), + connect.WithClientOptions(opts...), + ), + revokeAllTrustedDevices: connect.NewClient[v1.RevokeAllTrustedDevicesRequest, v1.RevokeAllTrustedDevicesResponse]( + httpClient, + baseURL+AuthServiceRevokeAllTrustedDevicesProcedure, + connect.WithSchema(authServiceMethods.ByName("RevokeAllTrustedDevices")), + connect.WithClientOptions(opts...), + ), + listMobileSessions: connect.NewClient[v1.ListMobileSessionsRequest, v1.ListMobileSessionsResponse]( + httpClient, + baseURL+AuthServiceListMobileSessionsProcedure, + connect.WithSchema(authServiceMethods.ByName("ListMobileSessions")), + connect.WithClientOptions(opts...), + ), + revokeMobileSession: connect.NewClient[v1.RevokeMobileSessionRequest, v1.RevokeMobileSessionResponse]( + httpClient, + baseURL+AuthServiceRevokeMobileSessionProcedure, + connect.WithSchema(authServiceMethods.ByName("RevokeMobileSession")), + connect.WithClientOptions(opts...), + ), + } +} + +// authServiceClient implements AuthServiceClient. +type authServiceClient struct { + login *connect.Client[v1.LoginRequest, v1.LoginResponse] + logout *connect.Client[v1.LogoutRequest, v1.LogoutResponse] + register *connect.Client[v1.RegisterRequest, v1.RegisterResponse] + refreshSession *connect.Client[v1.RefreshSessionRequest, v1.RefreshSessionResponse] + getCurrentUser *connect.Client[v1.GetCurrentUserRequest, v1.GetCurrentUserResponse] + changePassword *connect.Client[v1.ChangePasswordRequest, v1.ChangePasswordResponse] + requestPasswordReset *connect.Client[v1.RequestPasswordResetRequest, v1.RequestPasswordResetResponse] + resetPassword *connect.Client[v1.ResetPasswordRequest, v1.ResetPasswordResponse] + verifyEmail *connect.Client[v1.VerifyEmailRequest, v1.VerifyEmailResponse] + resendVerificationEmail *connect.Client[v1.ResendVerificationEmailRequest, v1.ResendVerificationEmailResponse] + unlockAccount *connect.Client[v1.UnlockAccountRequest, v1.UnlockAccountResponse] + adminUnlockUser *connect.Client[v1.AdminUnlockUserRequest, v1.AdminUnlockUserResponse] + adminVerifyUserEmail *connect.Client[v1.AdminVerifyUserEmailRequest, v1.AdminVerifyUserEmailResponse] + setupTOTP *connect.Client[v1.SetupTOTPRequest, v1.SetupTOTPResponse] + enableTOTP *connect.Client[v1.EnableTOTPRequest, v1.EnableTOTPResponse] + disableTOTP *connect.Client[v1.DisableTOTPRequest, v1.DisableTOTPResponse] + verifyLoginTOTP *connect.Client[v1.VerifyLoginTOTPRequest, v1.VerifyLoginTOTPResponse] + getTOTPStatus *connect.Client[v1.GetTOTPStatusRequest, v1.GetTOTPStatusResponse] + regenerateBackupCodes *connect.Client[v1.RegenerateBackupCodesRequest, v1.RegenerateBackupCodesResponse] + dismissTOTPPrompt *connect.Client[v1.DismissTOTPPromptRequest, v1.DismissTOTPPromptResponse] + listTrustedDevices *connect.Client[v1.ListTrustedDevicesRequest, v1.ListTrustedDevicesResponse] + revokeTrustedDevice *connect.Client[v1.RevokeTrustedDeviceRequest, v1.RevokeTrustedDeviceResponse] + revokeAllTrustedDevices *connect.Client[v1.RevokeAllTrustedDevicesRequest, v1.RevokeAllTrustedDevicesResponse] + listMobileSessions *connect.Client[v1.ListMobileSessionsRequest, v1.ListMobileSessionsResponse] + revokeMobileSession *connect.Client[v1.RevokeMobileSessionRequest, v1.RevokeMobileSessionResponse] +} + +// Login calls orchestrator.v1.AuthService.Login. +func (c *authServiceClient) Login(ctx context.Context, req *connect.Request[v1.LoginRequest]) (*connect.Response[v1.LoginResponse], error) { + return c.login.CallUnary(ctx, req) +} + +// Logout calls orchestrator.v1.AuthService.Logout. +func (c *authServiceClient) Logout(ctx context.Context, req *connect.Request[v1.LogoutRequest]) (*connect.Response[v1.LogoutResponse], error) { + return c.logout.CallUnary(ctx, req) +} + +// Register calls orchestrator.v1.AuthService.Register. +func (c *authServiceClient) Register(ctx context.Context, req *connect.Request[v1.RegisterRequest]) (*connect.Response[v1.RegisterResponse], error) { + return c.register.CallUnary(ctx, req) +} + +// RefreshSession calls orchestrator.v1.AuthService.RefreshSession. +func (c *authServiceClient) RefreshSession(ctx context.Context, req *connect.Request[v1.RefreshSessionRequest]) (*connect.Response[v1.RefreshSessionResponse], error) { + return c.refreshSession.CallUnary(ctx, req) +} + +// GetCurrentUser calls orchestrator.v1.AuthService.GetCurrentUser. +func (c *authServiceClient) GetCurrentUser(ctx context.Context, req *connect.Request[v1.GetCurrentUserRequest]) (*connect.Response[v1.GetCurrentUserResponse], error) { + return c.getCurrentUser.CallUnary(ctx, req) +} + +// ChangePassword calls orchestrator.v1.AuthService.ChangePassword. +func (c *authServiceClient) ChangePassword(ctx context.Context, req *connect.Request[v1.ChangePasswordRequest]) (*connect.Response[v1.ChangePasswordResponse], error) { + return c.changePassword.CallUnary(ctx, req) +} + +// RequestPasswordReset calls orchestrator.v1.AuthService.RequestPasswordReset. +func (c *authServiceClient) RequestPasswordReset(ctx context.Context, req *connect.Request[v1.RequestPasswordResetRequest]) (*connect.Response[v1.RequestPasswordResetResponse], error) { + return c.requestPasswordReset.CallUnary(ctx, req) +} + +// ResetPassword calls orchestrator.v1.AuthService.ResetPassword. +func (c *authServiceClient) ResetPassword(ctx context.Context, req *connect.Request[v1.ResetPasswordRequest]) (*connect.Response[v1.ResetPasswordResponse], error) { + return c.resetPassword.CallUnary(ctx, req) +} + +// VerifyEmail calls orchestrator.v1.AuthService.VerifyEmail. +func (c *authServiceClient) VerifyEmail(ctx context.Context, req *connect.Request[v1.VerifyEmailRequest]) (*connect.Response[v1.VerifyEmailResponse], error) { + return c.verifyEmail.CallUnary(ctx, req) +} + +// ResendVerificationEmail calls orchestrator.v1.AuthService.ResendVerificationEmail. +func (c *authServiceClient) ResendVerificationEmail(ctx context.Context, req *connect.Request[v1.ResendVerificationEmailRequest]) (*connect.Response[v1.ResendVerificationEmailResponse], error) { + return c.resendVerificationEmail.CallUnary(ctx, req) +} + +// UnlockAccount calls orchestrator.v1.AuthService.UnlockAccount. +func (c *authServiceClient) UnlockAccount(ctx context.Context, req *connect.Request[v1.UnlockAccountRequest]) (*connect.Response[v1.UnlockAccountResponse], error) { + return c.unlockAccount.CallUnary(ctx, req) +} + +// AdminUnlockUser calls orchestrator.v1.AuthService.AdminUnlockUser. +func (c *authServiceClient) AdminUnlockUser(ctx context.Context, req *connect.Request[v1.AdminUnlockUserRequest]) (*connect.Response[v1.AdminUnlockUserResponse], error) { + return c.adminUnlockUser.CallUnary(ctx, req) +} + +// AdminVerifyUserEmail calls orchestrator.v1.AuthService.AdminVerifyUserEmail. +func (c *authServiceClient) AdminVerifyUserEmail(ctx context.Context, req *connect.Request[v1.AdminVerifyUserEmailRequest]) (*connect.Response[v1.AdminVerifyUserEmailResponse], error) { + return c.adminVerifyUserEmail.CallUnary(ctx, req) +} + +// SetupTOTP calls orchestrator.v1.AuthService.SetupTOTP. +func (c *authServiceClient) SetupTOTP(ctx context.Context, req *connect.Request[v1.SetupTOTPRequest]) (*connect.Response[v1.SetupTOTPResponse], error) { + return c.setupTOTP.CallUnary(ctx, req) +} + +// EnableTOTP calls orchestrator.v1.AuthService.EnableTOTP. +func (c *authServiceClient) EnableTOTP(ctx context.Context, req *connect.Request[v1.EnableTOTPRequest]) (*connect.Response[v1.EnableTOTPResponse], error) { + return c.enableTOTP.CallUnary(ctx, req) +} + +// DisableTOTP calls orchestrator.v1.AuthService.DisableTOTP. +func (c *authServiceClient) DisableTOTP(ctx context.Context, req *connect.Request[v1.DisableTOTPRequest]) (*connect.Response[v1.DisableTOTPResponse], error) { + return c.disableTOTP.CallUnary(ctx, req) +} + +// VerifyLoginTOTP calls orchestrator.v1.AuthService.VerifyLoginTOTP. +func (c *authServiceClient) VerifyLoginTOTP(ctx context.Context, req *connect.Request[v1.VerifyLoginTOTPRequest]) (*connect.Response[v1.VerifyLoginTOTPResponse], error) { + return c.verifyLoginTOTP.CallUnary(ctx, req) +} + +// GetTOTPStatus calls orchestrator.v1.AuthService.GetTOTPStatus. +func (c *authServiceClient) GetTOTPStatus(ctx context.Context, req *connect.Request[v1.GetTOTPStatusRequest]) (*connect.Response[v1.GetTOTPStatusResponse], error) { + return c.getTOTPStatus.CallUnary(ctx, req) +} + +// RegenerateBackupCodes calls orchestrator.v1.AuthService.RegenerateBackupCodes. +func (c *authServiceClient) RegenerateBackupCodes(ctx context.Context, req *connect.Request[v1.RegenerateBackupCodesRequest]) (*connect.Response[v1.RegenerateBackupCodesResponse], error) { + return c.regenerateBackupCodes.CallUnary(ctx, req) +} + +// DismissTOTPPrompt calls orchestrator.v1.AuthService.DismissTOTPPrompt. +func (c *authServiceClient) DismissTOTPPrompt(ctx context.Context, req *connect.Request[v1.DismissTOTPPromptRequest]) (*connect.Response[v1.DismissTOTPPromptResponse], error) { + return c.dismissTOTPPrompt.CallUnary(ctx, req) +} + +// ListTrustedDevices calls orchestrator.v1.AuthService.ListTrustedDevices. +func (c *authServiceClient) ListTrustedDevices(ctx context.Context, req *connect.Request[v1.ListTrustedDevicesRequest]) (*connect.Response[v1.ListTrustedDevicesResponse], error) { + return c.listTrustedDevices.CallUnary(ctx, req) +} + +// RevokeTrustedDevice calls orchestrator.v1.AuthService.RevokeTrustedDevice. +func (c *authServiceClient) RevokeTrustedDevice(ctx context.Context, req *connect.Request[v1.RevokeTrustedDeviceRequest]) (*connect.Response[v1.RevokeTrustedDeviceResponse], error) { + return c.revokeTrustedDevice.CallUnary(ctx, req) +} + +// RevokeAllTrustedDevices calls orchestrator.v1.AuthService.RevokeAllTrustedDevices. +func (c *authServiceClient) RevokeAllTrustedDevices(ctx context.Context, req *connect.Request[v1.RevokeAllTrustedDevicesRequest]) (*connect.Response[v1.RevokeAllTrustedDevicesResponse], error) { + return c.revokeAllTrustedDevices.CallUnary(ctx, req) +} + +// ListMobileSessions calls orchestrator.v1.AuthService.ListMobileSessions. +func (c *authServiceClient) ListMobileSessions(ctx context.Context, req *connect.Request[v1.ListMobileSessionsRequest]) (*connect.Response[v1.ListMobileSessionsResponse], error) { + return c.listMobileSessions.CallUnary(ctx, req) +} + +// RevokeMobileSession calls orchestrator.v1.AuthService.RevokeMobileSession. +func (c *authServiceClient) RevokeMobileSession(ctx context.Context, req *connect.Request[v1.RevokeMobileSessionRequest]) (*connect.Response[v1.RevokeMobileSessionResponse], error) { + return c.revokeMobileSession.CallUnary(ctx, req) +} + +// AuthServiceHandler is an implementation of the orchestrator.v1.AuthService service. +type AuthServiceHandler interface { + // Login with email and password + Login(context.Context, *connect.Request[v1.LoginRequest]) (*connect.Response[v1.LoginResponse], error) + // Logout and clear session + Logout(context.Context, *connect.Request[v1.LogoutRequest]) (*connect.Response[v1.LogoutResponse], error) + // Register a new user + Register(context.Context, *connect.Request[v1.RegisterRequest]) (*connect.Response[v1.RegisterResponse], error) + // Refresh the session + RefreshSession(context.Context, *connect.Request[v1.RefreshSessionRequest]) (*connect.Response[v1.RefreshSessionResponse], error) + // Get the current user + GetCurrentUser(context.Context, *connect.Request[v1.GetCurrentUserRequest]) (*connect.Response[v1.GetCurrentUserResponse], error) + // Change password + ChangePassword(context.Context, *connect.Request[v1.ChangePasswordRequest]) (*connect.Response[v1.ChangePasswordResponse], error) + // Request password reset + RequestPasswordReset(context.Context, *connect.Request[v1.RequestPasswordResetRequest]) (*connect.Response[v1.RequestPasswordResetResponse], error) + // Reset password with token + ResetPassword(context.Context, *connect.Request[v1.ResetPasswordRequest]) (*connect.Response[v1.ResetPasswordResponse], error) + // Verify email with token + VerifyEmail(context.Context, *connect.Request[v1.VerifyEmailRequest]) (*connect.Response[v1.VerifyEmailResponse], error) + // Resend verification email (rate-limited) + ResendVerificationEmail(context.Context, *connect.Request[v1.ResendVerificationEmailRequest]) (*connect.Response[v1.ResendVerificationEmailResponse], error) + // Account unlock (magic link) + UnlockAccount(context.Context, *connect.Request[v1.UnlockAccountRequest]) (*connect.Response[v1.UnlockAccountResponse], error) + // Admin: Unlock a user's account (superadmin only) + AdminUnlockUser(context.Context, *connect.Request[v1.AdminUnlockUserRequest]) (*connect.Response[v1.AdminUnlockUserResponse], error) + // Admin: Manually verify a user's email (superadmin only) + AdminVerifyUserEmail(context.Context, *connect.Request[v1.AdminVerifyUserEmailRequest]) (*connect.Response[v1.AdminVerifyUserEmailResponse], error) + // TOTP Two-Factor Authentication + // Setup TOTP - generates secret and QR code + SetupTOTP(context.Context, *connect.Request[v1.SetupTOTPRequest]) (*connect.Response[v1.SetupTOTPResponse], error) + // Enable TOTP - verifies the code and enables 2FA + EnableTOTP(context.Context, *connect.Request[v1.EnableTOTPRequest]) (*connect.Response[v1.EnableTOTPResponse], error) + // Disable TOTP - requires password verification + DisableTOTP(context.Context, *connect.Request[v1.DisableTOTPRequest]) (*connect.Response[v1.DisableTOTPResponse], error) + // Verify login TOTP - second step after password verification + VerifyLoginTOTP(context.Context, *connect.Request[v1.VerifyLoginTOTPRequest]) (*connect.Response[v1.VerifyLoginTOTPResponse], error) + // Get TOTP status - check if 2FA is enabled + GetTOTPStatus(context.Context, *connect.Request[v1.GetTOTPStatusRequest]) (*connect.Response[v1.GetTOTPStatusResponse], error) + // Regenerate backup codes - requires password verification + RegenerateBackupCodes(context.Context, *connect.Request[v1.RegenerateBackupCodesRequest]) (*connect.Response[v1.RegenerateBackupCodesResponse], error) + // Dismiss the TOTP enrollment prompt for 7 days + DismissTOTPPrompt(context.Context, *connect.Request[v1.DismissTOTPPromptRequest]) (*connect.Response[v1.DismissTOTPPromptResponse], error) + // Trusted Devices + // List trusted devices for the current user + ListTrustedDevices(context.Context, *connect.Request[v1.ListTrustedDevicesRequest]) (*connect.Response[v1.ListTrustedDevicesResponse], error) + // Revoke a single trusted device + RevokeTrustedDevice(context.Context, *connect.Request[v1.RevokeTrustedDeviceRequest]) (*connect.Response[v1.RevokeTrustedDeviceResponse], error) + // Revoke all trusted devices + RevokeAllTrustedDevices(context.Context, *connect.Request[v1.RevokeAllTrustedDevicesRequest]) (*connect.Response[v1.RevokeAllTrustedDevicesResponse], error) + // Mobile Sessions (native clients) + // List the calling user's active mobile sessions + ListMobileSessions(context.Context, *connect.Request[v1.ListMobileSessionsRequest]) (*connect.Response[v1.ListMobileSessionsResponse], error) + // Revoke a single mobile session (must belong to the calling user) + RevokeMobileSession(context.Context, *connect.Request[v1.RevokeMobileSessionRequest]) (*connect.Response[v1.RevokeMobileSessionResponse], error) +} + +// NewAuthServiceHandler builds an HTTP handler from the service implementation. It returns the path +// on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewAuthServiceHandler(svc AuthServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + authServiceMethods := v1.File_orchestrator_v1_auth_proto.Services().ByName("AuthService").Methods() + authServiceLoginHandler := connect.NewUnaryHandler( + AuthServiceLoginProcedure, + svc.Login, + connect.WithSchema(authServiceMethods.ByName("Login")), + connect.WithHandlerOptions(opts...), + ) + authServiceLogoutHandler := connect.NewUnaryHandler( + AuthServiceLogoutProcedure, + svc.Logout, + connect.WithSchema(authServiceMethods.ByName("Logout")), + connect.WithHandlerOptions(opts...), + ) + authServiceRegisterHandler := connect.NewUnaryHandler( + AuthServiceRegisterProcedure, + svc.Register, + connect.WithSchema(authServiceMethods.ByName("Register")), + connect.WithHandlerOptions(opts...), + ) + authServiceRefreshSessionHandler := connect.NewUnaryHandler( + AuthServiceRefreshSessionProcedure, + svc.RefreshSession, + connect.WithSchema(authServiceMethods.ByName("RefreshSession")), + connect.WithHandlerOptions(opts...), + ) + authServiceGetCurrentUserHandler := connect.NewUnaryHandler( + AuthServiceGetCurrentUserProcedure, + svc.GetCurrentUser, + connect.WithSchema(authServiceMethods.ByName("GetCurrentUser")), + connect.WithHandlerOptions(opts...), + ) + authServiceChangePasswordHandler := connect.NewUnaryHandler( + AuthServiceChangePasswordProcedure, + svc.ChangePassword, + connect.WithSchema(authServiceMethods.ByName("ChangePassword")), + connect.WithHandlerOptions(opts...), + ) + authServiceRequestPasswordResetHandler := connect.NewUnaryHandler( + AuthServiceRequestPasswordResetProcedure, + svc.RequestPasswordReset, + connect.WithSchema(authServiceMethods.ByName("RequestPasswordReset")), + connect.WithHandlerOptions(opts...), + ) + authServiceResetPasswordHandler := connect.NewUnaryHandler( + AuthServiceResetPasswordProcedure, + svc.ResetPassword, + connect.WithSchema(authServiceMethods.ByName("ResetPassword")), + connect.WithHandlerOptions(opts...), + ) + authServiceVerifyEmailHandler := connect.NewUnaryHandler( + AuthServiceVerifyEmailProcedure, + svc.VerifyEmail, + connect.WithSchema(authServiceMethods.ByName("VerifyEmail")), + connect.WithHandlerOptions(opts...), + ) + authServiceResendVerificationEmailHandler := connect.NewUnaryHandler( + AuthServiceResendVerificationEmailProcedure, + svc.ResendVerificationEmail, + connect.WithSchema(authServiceMethods.ByName("ResendVerificationEmail")), + connect.WithHandlerOptions(opts...), + ) + authServiceUnlockAccountHandler := connect.NewUnaryHandler( + AuthServiceUnlockAccountProcedure, + svc.UnlockAccount, + connect.WithSchema(authServiceMethods.ByName("UnlockAccount")), + connect.WithHandlerOptions(opts...), + ) + authServiceAdminUnlockUserHandler := connect.NewUnaryHandler( + AuthServiceAdminUnlockUserProcedure, + svc.AdminUnlockUser, + connect.WithSchema(authServiceMethods.ByName("AdminUnlockUser")), + connect.WithHandlerOptions(opts...), + ) + authServiceAdminVerifyUserEmailHandler := connect.NewUnaryHandler( + AuthServiceAdminVerifyUserEmailProcedure, + svc.AdminVerifyUserEmail, + connect.WithSchema(authServiceMethods.ByName("AdminVerifyUserEmail")), + connect.WithHandlerOptions(opts...), + ) + authServiceSetupTOTPHandler := connect.NewUnaryHandler( + AuthServiceSetupTOTPProcedure, + svc.SetupTOTP, + connect.WithSchema(authServiceMethods.ByName("SetupTOTP")), + connect.WithHandlerOptions(opts...), + ) + authServiceEnableTOTPHandler := connect.NewUnaryHandler( + AuthServiceEnableTOTPProcedure, + svc.EnableTOTP, + connect.WithSchema(authServiceMethods.ByName("EnableTOTP")), + connect.WithHandlerOptions(opts...), + ) + authServiceDisableTOTPHandler := connect.NewUnaryHandler( + AuthServiceDisableTOTPProcedure, + svc.DisableTOTP, + connect.WithSchema(authServiceMethods.ByName("DisableTOTP")), + connect.WithHandlerOptions(opts...), + ) + authServiceVerifyLoginTOTPHandler := connect.NewUnaryHandler( + AuthServiceVerifyLoginTOTPProcedure, + svc.VerifyLoginTOTP, + connect.WithSchema(authServiceMethods.ByName("VerifyLoginTOTP")), + connect.WithHandlerOptions(opts...), + ) + authServiceGetTOTPStatusHandler := connect.NewUnaryHandler( + AuthServiceGetTOTPStatusProcedure, + svc.GetTOTPStatus, + connect.WithSchema(authServiceMethods.ByName("GetTOTPStatus")), + connect.WithHandlerOptions(opts...), + ) + authServiceRegenerateBackupCodesHandler := connect.NewUnaryHandler( + AuthServiceRegenerateBackupCodesProcedure, + svc.RegenerateBackupCodes, + connect.WithSchema(authServiceMethods.ByName("RegenerateBackupCodes")), + connect.WithHandlerOptions(opts...), + ) + authServiceDismissTOTPPromptHandler := connect.NewUnaryHandler( + AuthServiceDismissTOTPPromptProcedure, + svc.DismissTOTPPrompt, + connect.WithSchema(authServiceMethods.ByName("DismissTOTPPrompt")), + connect.WithHandlerOptions(opts...), + ) + authServiceListTrustedDevicesHandler := connect.NewUnaryHandler( + AuthServiceListTrustedDevicesProcedure, + svc.ListTrustedDevices, + connect.WithSchema(authServiceMethods.ByName("ListTrustedDevices")), + connect.WithHandlerOptions(opts...), + ) + authServiceRevokeTrustedDeviceHandler := connect.NewUnaryHandler( + AuthServiceRevokeTrustedDeviceProcedure, + svc.RevokeTrustedDevice, + connect.WithSchema(authServiceMethods.ByName("RevokeTrustedDevice")), + connect.WithHandlerOptions(opts...), + ) + authServiceRevokeAllTrustedDevicesHandler := connect.NewUnaryHandler( + AuthServiceRevokeAllTrustedDevicesProcedure, + svc.RevokeAllTrustedDevices, + connect.WithSchema(authServiceMethods.ByName("RevokeAllTrustedDevices")), + connect.WithHandlerOptions(opts...), + ) + authServiceListMobileSessionsHandler := connect.NewUnaryHandler( + AuthServiceListMobileSessionsProcedure, + svc.ListMobileSessions, + connect.WithSchema(authServiceMethods.ByName("ListMobileSessions")), + connect.WithHandlerOptions(opts...), + ) + authServiceRevokeMobileSessionHandler := connect.NewUnaryHandler( + AuthServiceRevokeMobileSessionProcedure, + svc.RevokeMobileSession, + connect.WithSchema(authServiceMethods.ByName("RevokeMobileSession")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.AuthService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case AuthServiceLoginProcedure: + authServiceLoginHandler.ServeHTTP(w, r) + case AuthServiceLogoutProcedure: + authServiceLogoutHandler.ServeHTTP(w, r) + case AuthServiceRegisterProcedure: + authServiceRegisterHandler.ServeHTTP(w, r) + case AuthServiceRefreshSessionProcedure: + authServiceRefreshSessionHandler.ServeHTTP(w, r) + case AuthServiceGetCurrentUserProcedure: + authServiceGetCurrentUserHandler.ServeHTTP(w, r) + case AuthServiceChangePasswordProcedure: + authServiceChangePasswordHandler.ServeHTTP(w, r) + case AuthServiceRequestPasswordResetProcedure: + authServiceRequestPasswordResetHandler.ServeHTTP(w, r) + case AuthServiceResetPasswordProcedure: + authServiceResetPasswordHandler.ServeHTTP(w, r) + case AuthServiceVerifyEmailProcedure: + authServiceVerifyEmailHandler.ServeHTTP(w, r) + case AuthServiceResendVerificationEmailProcedure: + authServiceResendVerificationEmailHandler.ServeHTTP(w, r) + case AuthServiceUnlockAccountProcedure: + authServiceUnlockAccountHandler.ServeHTTP(w, r) + case AuthServiceAdminUnlockUserProcedure: + authServiceAdminUnlockUserHandler.ServeHTTP(w, r) + case AuthServiceAdminVerifyUserEmailProcedure: + authServiceAdminVerifyUserEmailHandler.ServeHTTP(w, r) + case AuthServiceSetupTOTPProcedure: + authServiceSetupTOTPHandler.ServeHTTP(w, r) + case AuthServiceEnableTOTPProcedure: + authServiceEnableTOTPHandler.ServeHTTP(w, r) + case AuthServiceDisableTOTPProcedure: + authServiceDisableTOTPHandler.ServeHTTP(w, r) + case AuthServiceVerifyLoginTOTPProcedure: + authServiceVerifyLoginTOTPHandler.ServeHTTP(w, r) + case AuthServiceGetTOTPStatusProcedure: + authServiceGetTOTPStatusHandler.ServeHTTP(w, r) + case AuthServiceRegenerateBackupCodesProcedure: + authServiceRegenerateBackupCodesHandler.ServeHTTP(w, r) + case AuthServiceDismissTOTPPromptProcedure: + authServiceDismissTOTPPromptHandler.ServeHTTP(w, r) + case AuthServiceListTrustedDevicesProcedure: + authServiceListTrustedDevicesHandler.ServeHTTP(w, r) + case AuthServiceRevokeTrustedDeviceProcedure: + authServiceRevokeTrustedDeviceHandler.ServeHTTP(w, r) + case AuthServiceRevokeAllTrustedDevicesProcedure: + authServiceRevokeAllTrustedDevicesHandler.ServeHTTP(w, r) + case AuthServiceListMobileSessionsProcedure: + authServiceListMobileSessionsHandler.ServeHTTP(w, r) + case AuthServiceRevokeMobileSessionProcedure: + authServiceRevokeMobileSessionHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedAuthServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedAuthServiceHandler struct{} + +func (UnimplementedAuthServiceHandler) Login(context.Context, *connect.Request[v1.LoginRequest]) (*connect.Response[v1.LoginResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.Login is not implemented")) +} + +func (UnimplementedAuthServiceHandler) Logout(context.Context, *connect.Request[v1.LogoutRequest]) (*connect.Response[v1.LogoutResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.Logout is not implemented")) +} + +func (UnimplementedAuthServiceHandler) Register(context.Context, *connect.Request[v1.RegisterRequest]) (*connect.Response[v1.RegisterResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.Register is not implemented")) +} + +func (UnimplementedAuthServiceHandler) RefreshSession(context.Context, *connect.Request[v1.RefreshSessionRequest]) (*connect.Response[v1.RefreshSessionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.RefreshSession is not implemented")) +} + +func (UnimplementedAuthServiceHandler) GetCurrentUser(context.Context, *connect.Request[v1.GetCurrentUserRequest]) (*connect.Response[v1.GetCurrentUserResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.GetCurrentUser is not implemented")) +} + +func (UnimplementedAuthServiceHandler) ChangePassword(context.Context, *connect.Request[v1.ChangePasswordRequest]) (*connect.Response[v1.ChangePasswordResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.ChangePassword is not implemented")) +} + +func (UnimplementedAuthServiceHandler) RequestPasswordReset(context.Context, *connect.Request[v1.RequestPasswordResetRequest]) (*connect.Response[v1.RequestPasswordResetResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.RequestPasswordReset is not implemented")) +} + +func (UnimplementedAuthServiceHandler) ResetPassword(context.Context, *connect.Request[v1.ResetPasswordRequest]) (*connect.Response[v1.ResetPasswordResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.ResetPassword is not implemented")) +} + +func (UnimplementedAuthServiceHandler) VerifyEmail(context.Context, *connect.Request[v1.VerifyEmailRequest]) (*connect.Response[v1.VerifyEmailResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.VerifyEmail is not implemented")) +} + +func (UnimplementedAuthServiceHandler) ResendVerificationEmail(context.Context, *connect.Request[v1.ResendVerificationEmailRequest]) (*connect.Response[v1.ResendVerificationEmailResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.ResendVerificationEmail is not implemented")) +} + +func (UnimplementedAuthServiceHandler) UnlockAccount(context.Context, *connect.Request[v1.UnlockAccountRequest]) (*connect.Response[v1.UnlockAccountResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.UnlockAccount is not implemented")) +} + +func (UnimplementedAuthServiceHandler) AdminUnlockUser(context.Context, *connect.Request[v1.AdminUnlockUserRequest]) (*connect.Response[v1.AdminUnlockUserResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.AdminUnlockUser is not implemented")) +} + +func (UnimplementedAuthServiceHandler) AdminVerifyUserEmail(context.Context, *connect.Request[v1.AdminVerifyUserEmailRequest]) (*connect.Response[v1.AdminVerifyUserEmailResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.AdminVerifyUserEmail is not implemented")) +} + +func (UnimplementedAuthServiceHandler) SetupTOTP(context.Context, *connect.Request[v1.SetupTOTPRequest]) (*connect.Response[v1.SetupTOTPResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.SetupTOTP is not implemented")) +} + +func (UnimplementedAuthServiceHandler) EnableTOTP(context.Context, *connect.Request[v1.EnableTOTPRequest]) (*connect.Response[v1.EnableTOTPResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.EnableTOTP is not implemented")) +} + +func (UnimplementedAuthServiceHandler) DisableTOTP(context.Context, *connect.Request[v1.DisableTOTPRequest]) (*connect.Response[v1.DisableTOTPResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.DisableTOTP is not implemented")) +} + +func (UnimplementedAuthServiceHandler) VerifyLoginTOTP(context.Context, *connect.Request[v1.VerifyLoginTOTPRequest]) (*connect.Response[v1.VerifyLoginTOTPResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.VerifyLoginTOTP is not implemented")) +} + +func (UnimplementedAuthServiceHandler) GetTOTPStatus(context.Context, *connect.Request[v1.GetTOTPStatusRequest]) (*connect.Response[v1.GetTOTPStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.GetTOTPStatus is not implemented")) +} + +func (UnimplementedAuthServiceHandler) RegenerateBackupCodes(context.Context, *connect.Request[v1.RegenerateBackupCodesRequest]) (*connect.Response[v1.RegenerateBackupCodesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.RegenerateBackupCodes is not implemented")) +} + +func (UnimplementedAuthServiceHandler) DismissTOTPPrompt(context.Context, *connect.Request[v1.DismissTOTPPromptRequest]) (*connect.Response[v1.DismissTOTPPromptResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.DismissTOTPPrompt is not implemented")) +} + +func (UnimplementedAuthServiceHandler) ListTrustedDevices(context.Context, *connect.Request[v1.ListTrustedDevicesRequest]) (*connect.Response[v1.ListTrustedDevicesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.ListTrustedDevices is not implemented")) +} + +func (UnimplementedAuthServiceHandler) RevokeTrustedDevice(context.Context, *connect.Request[v1.RevokeTrustedDeviceRequest]) (*connect.Response[v1.RevokeTrustedDeviceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.RevokeTrustedDevice is not implemented")) +} + +func (UnimplementedAuthServiceHandler) RevokeAllTrustedDevices(context.Context, *connect.Request[v1.RevokeAllTrustedDevicesRequest]) (*connect.Response[v1.RevokeAllTrustedDevicesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.RevokeAllTrustedDevices is not implemented")) +} + +func (UnimplementedAuthServiceHandler) ListMobileSessions(context.Context, *connect.Request[v1.ListMobileSessionsRequest]) (*connect.Response[v1.ListMobileSessionsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.ListMobileSessions is not implemented")) +} + +func (UnimplementedAuthServiceHandler) RevokeMobileSession(context.Context, *connect.Request[v1.RevokeMobileSessionRequest]) (*connect.Response[v1.RevokeMobileSessionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AuthService.RevokeMobileSession is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/billing.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/billing.connect.go new file mode 100644 index 0000000..26bbf03 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/billing.connect.go @@ -0,0 +1,1571 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/billing.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // BillingServiceName is the fully-qualified name of the BillingService service. + BillingServiceName = "orchestrator.v1.BillingService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // BillingServiceListPlansProcedure is the fully-qualified name of the BillingService's ListPlans + // RPC. + BillingServiceListPlansProcedure = "/orchestrator.v1.BillingService/ListPlans" + // BillingServiceListPublicPlansProcedure is the fully-qualified name of the BillingService's + // ListPublicPlans RPC. + BillingServiceListPublicPlansProcedure = "/orchestrator.v1.BillingService/ListPublicPlans" + // BillingServiceListAccountSubscriptionsProcedure is the fully-qualified name of the + // BillingService's ListAccountSubscriptions RPC. + BillingServiceListAccountSubscriptionsProcedure = "/orchestrator.v1.BillingService/ListAccountSubscriptions" + // BillingServiceCreateSubscriptionProcedure is the fully-qualified name of the BillingService's + // CreateSubscription RPC. + BillingServiceCreateSubscriptionProcedure = "/orchestrator.v1.BillingService/CreateSubscription" + // BillingServiceChangePlanProcedure is the fully-qualified name of the BillingService's ChangePlan + // RPC. + BillingServiceChangePlanProcedure = "/orchestrator.v1.BillingService/ChangePlan" + // BillingServiceCancelSubscriptionProcedure is the fully-qualified name of the BillingService's + // CancelSubscription RPC. + BillingServiceCancelSubscriptionProcedure = "/orchestrator.v1.BillingService/CancelSubscription" + // BillingServiceResumeSubscriptionProcedure is the fully-qualified name of the BillingService's + // ResumeSubscription RPC. + BillingServiceResumeSubscriptionProcedure = "/orchestrator.v1.BillingService/ResumeSubscription" + // BillingServiceListInvoicesProcedure is the fully-qualified name of the BillingService's + // ListInvoices RPC. + BillingServiceListInvoicesProcedure = "/orchestrator.v1.BillingService/ListInvoices" + // BillingServiceGetInvoiceProcedure is the fully-qualified name of the BillingService's GetInvoice + // RPC. + BillingServiceGetInvoiceProcedure = "/orchestrator.v1.BillingService/GetInvoice" + // BillingServiceRetryInvoicePaymentProcedure is the fully-qualified name of the BillingService's + // RetryInvoicePayment RPC. + BillingServiceRetryInvoicePaymentProcedure = "/orchestrator.v1.BillingService/RetryInvoicePayment" + // BillingServiceGetUsageProcedure is the fully-qualified name of the BillingService's GetUsage RPC. + BillingServiceGetUsageProcedure = "/orchestrator.v1.BillingService/GetUsage" + // BillingServiceRecordUsageProcedure is the fully-qualified name of the BillingService's + // RecordUsage RPC. + BillingServiceRecordUsageProcedure = "/orchestrator.v1.BillingService/RecordUsage" + // BillingServiceGetInstanceCapabilitiesProcedure is the fully-qualified name of the + // BillingService's GetInstanceCapabilities RPC. + BillingServiceGetInstanceCapabilitiesProcedure = "/orchestrator.v1.BillingService/GetInstanceCapabilities" + // BillingServiceEnableFeatureProcedure is the fully-qualified name of the BillingService's + // EnableFeature RPC. + BillingServiceEnableFeatureProcedure = "/orchestrator.v1.BillingService/EnableFeature" + // BillingServiceDisableFeatureProcedure is the fully-qualified name of the BillingService's + // DisableFeature RPC. + BillingServiceDisableFeatureProcedure = "/orchestrator.v1.BillingService/DisableFeature" + // BillingServiceUpdatePlanFeaturesProcedure is the fully-qualified name of the BillingService's + // UpdatePlanFeatures RPC. + BillingServiceUpdatePlanFeaturesProcedure = "/orchestrator.v1.BillingService/UpdatePlanFeatures" + // BillingServiceListAvailableFeaturesProcedure is the fully-qualified name of the BillingService's + // ListAvailableFeatures RPC. + BillingServiceListAvailableFeaturesProcedure = "/orchestrator.v1.BillingService/ListAvailableFeatures" + // BillingServiceGetPlanProcedure is the fully-qualified name of the BillingService's GetPlan RPC. + BillingServiceGetPlanProcedure = "/orchestrator.v1.BillingService/GetPlan" + // BillingServiceCreatePlanProcedure is the fully-qualified name of the BillingService's CreatePlan + // RPC. + BillingServiceCreatePlanProcedure = "/orchestrator.v1.BillingService/CreatePlan" + // BillingServiceUpdatePlanProcedure is the fully-qualified name of the BillingService's UpdatePlan + // RPC. + BillingServiceUpdatePlanProcedure = "/orchestrator.v1.BillingService/UpdatePlan" + // BillingServiceDeletePlanProcedure is the fully-qualified name of the BillingService's DeletePlan + // RPC. + BillingServiceDeletePlanProcedure = "/orchestrator.v1.BillingService/DeletePlan" + // BillingServiceGetPlanDeletionImpactProcedure is the fully-qualified name of the BillingService's + // GetPlanDeletionImpact RPC. + BillingServiceGetPlanDeletionImpactProcedure = "/orchestrator.v1.BillingService/GetPlanDeletionImpact" + // BillingServiceGetInstanceBillingSummaryProcedure is the fully-qualified name of the + // BillingService's GetInstanceBillingSummary RPC. + BillingServiceGetInstanceBillingSummaryProcedure = "/orchestrator.v1.BillingService/GetInstanceBillingSummary" + // BillingServiceSetInstanceBillingExemptProcedure is the fully-qualified name of the + // BillingService's SetInstanceBillingExempt RPC. + BillingServiceSetInstanceBillingExemptProcedure = "/orchestrator.v1.BillingService/SetInstanceBillingExempt" + // BillingServiceSetInstancePlanProcedure is the fully-qualified name of the BillingService's + // SetInstancePlan RPC. + BillingServiceSetInstancePlanProcedure = "/orchestrator.v1.BillingService/SetInstancePlan" + // BillingServiceListCouponsProcedure is the fully-qualified name of the BillingService's + // ListCoupons RPC. + BillingServiceListCouponsProcedure = "/orchestrator.v1.BillingService/ListCoupons" + // BillingServiceCreateCouponProcedure is the fully-qualified name of the BillingService's + // CreateCoupon RPC. + BillingServiceCreateCouponProcedure = "/orchestrator.v1.BillingService/CreateCoupon" + // BillingServiceApplySubscriptionCouponProcedure is the fully-qualified name of the + // BillingService's ApplySubscriptionCoupon RPC. + BillingServiceApplySubscriptionCouponProcedure = "/orchestrator.v1.BillingService/ApplySubscriptionCoupon" + // BillingServiceRemoveSubscriptionCouponProcedure is the fully-qualified name of the + // BillingService's RemoveSubscriptionCoupon RPC. + BillingServiceRemoveSubscriptionCouponProcedure = "/orchestrator.v1.BillingService/RemoveSubscriptionCoupon" + // BillingServiceCreateSetupIntentProcedure is the fully-qualified name of the BillingService's + // CreateSetupIntent RPC. + BillingServiceCreateSetupIntentProcedure = "/orchestrator.v1.BillingService/CreateSetupIntent" + // BillingServiceListPaymentMethodsProcedure is the fully-qualified name of the BillingService's + // ListPaymentMethods RPC. + BillingServiceListPaymentMethodsProcedure = "/orchestrator.v1.BillingService/ListPaymentMethods" + // BillingServiceSetDefaultPaymentMethodProcedure is the fully-qualified name of the + // BillingService's SetDefaultPaymentMethod RPC. + BillingServiceSetDefaultPaymentMethodProcedure = "/orchestrator.v1.BillingService/SetDefaultPaymentMethod" + // BillingServiceDetachPaymentMethodProcedure is the fully-qualified name of the BillingService's + // DetachPaymentMethod RPC. + BillingServiceDetachPaymentMethodProcedure = "/orchestrator.v1.BillingService/DetachPaymentMethod" + // BillingServiceCompleteWelcomeCardSetupProcedure is the fully-qualified name of the + // BillingService's CompleteWelcomeCardSetup RPC. + BillingServiceCompleteWelcomeCardSetupProcedure = "/orchestrator.v1.BillingService/CompleteWelcomeCardSetup" + // BillingServiceHasPaymentMethodProcedure is the fully-qualified name of the BillingService's + // HasPaymentMethod RPC. + BillingServiceHasPaymentMethodProcedure = "/orchestrator.v1.BillingService/HasPaymentMethod" + // BillingServiceListAIPlansProcedure is the fully-qualified name of the BillingService's + // ListAIPlans RPC. + BillingServiceListAIPlansProcedure = "/orchestrator.v1.BillingService/ListAIPlans" + // BillingServiceCreateAISubscriptionProcedure is the fully-qualified name of the BillingService's + // CreateAISubscription RPC. + BillingServiceCreateAISubscriptionProcedure = "/orchestrator.v1.BillingService/CreateAISubscription" + // BillingServiceChangeAIPlanProcedure is the fully-qualified name of the BillingService's + // ChangeAIPlan RPC. + BillingServiceChangeAIPlanProcedure = "/orchestrator.v1.BillingService/ChangeAIPlan" + // BillingServiceCancelAISubscriptionProcedure is the fully-qualified name of the BillingService's + // CancelAISubscription RPC. + BillingServiceCancelAISubscriptionProcedure = "/orchestrator.v1.BillingService/CancelAISubscription" + // BillingServiceListAICreditPacksProcedure is the fully-qualified name of the BillingService's + // ListAICreditPacks RPC. + BillingServiceListAICreditPacksProcedure = "/orchestrator.v1.BillingService/ListAICreditPacks" + // BillingServicePurchaseAICreditPackProcedure is the fully-qualified name of the BillingService's + // PurchaseAICreditPack RPC. + BillingServicePurchaseAICreditPackProcedure = "/orchestrator.v1.BillingService/PurchaseAICreditPack" + // BillingServiceGrantAICreditProcedure is the fully-qualified name of the BillingService's + // GrantAICredit RPC. + BillingServiceGrantAICreditProcedure = "/orchestrator.v1.BillingService/GrantAICredit" + // BillingServiceGetAIOverageSettingsProcedure is the fully-qualified name of the BillingService's + // GetAIOverageSettings RPC. + BillingServiceGetAIOverageSettingsProcedure = "/orchestrator.v1.BillingService/GetAIOverageSettings" + // BillingServiceSetInstanceAIAccessProcedure is the fully-qualified name of the BillingService's + // SetInstanceAIAccess RPC. + BillingServiceSetInstanceAIAccessProcedure = "/orchestrator.v1.BillingService/SetInstanceAIAccess" + // BillingServiceGetAccountAIUsageProcedure is the fully-qualified name of the BillingService's + // GetAccountAIUsage RPC. + BillingServiceGetAccountAIUsageProcedure = "/orchestrator.v1.BillingService/GetAccountAIUsage" + // BillingServiceGetAIConsumptionReportProcedure is the fully-qualified name of the BillingService's + // GetAIConsumptionReport RPC. + BillingServiceGetAIConsumptionReportProcedure = "/orchestrator.v1.BillingService/GetAIConsumptionReport" + // BillingServiceGetStripeConfigProcedure is the fully-qualified name of the BillingService's + // GetStripeConfig RPC. + BillingServiceGetStripeConfigProcedure = "/orchestrator.v1.BillingService/GetStripeConfig" +) + +// BillingServiceClient is a client for the orchestrator.v1.BillingService service. +type BillingServiceClient interface { + // List available plans (authenticated) + ListPlans(context.Context, *connect.Request[v1.ListPlansRequest]) (*connect.Response[v1.ListPlansResponse], error) + // List public plans for pricing page (no auth required) + ListPublicPlans(context.Context, *connect.Request[v1.ListPublicPlansRequest]) (*connect.Response[v1.ListPublicPlansResponse], error) + // List all subscriptions for an account (billing overview) + ListAccountSubscriptions(context.Context, *connect.Request[v1.ListAccountSubscriptionsRequest]) (*connect.Response[v1.ListAccountSubscriptionsResponse], error) + // Create a new subscription for an instance + CreateSubscription(context.Context, *connect.Request[v1.CreateSubscriptionRequest]) (*connect.Response[v1.CreateSubscriptionResponse], error) + // Change subscription plan for an instance + ChangePlan(context.Context, *connect.Request[v1.ChangePlanRequest]) (*connect.Response[v1.ChangePlanResponse], error) + // Cancel subscription. Paid subscriptions are scheduled to cancel at period + // end (resumable via ResumeSubscription); trialing subscriptions cancel + // immediately. + CancelSubscription(context.Context, *connect.Request[v1.CancelSubscriptionRequest]) (*connect.Response[v1.CancelSubscriptionResponse], error) + // Undo a scheduled cancellation (cancel_at_period_end). Works for site and + // AI subscriptions alike, keyed by internal subscription id. + ResumeSubscription(context.Context, *connect.Request[v1.ResumeSubscriptionRequest]) (*connect.Response[v1.ResumeSubscriptionResponse], error) + // List invoices for an account (consolidated billing) + ListInvoices(context.Context, *connect.Request[v1.ListInvoicesRequest]) (*connect.Response[v1.ListInvoicesResponse], error) + // Get invoice details + GetInvoice(context.Context, *connect.Request[v1.GetInvoiceRequest]) (*connect.Response[v1.GetInvoiceResponse], error) + // Pay an open invoice with the account's default payment method (past-due + // recovery). Returns a PaymentIntent client secret when 3DS is required. + RetryInvoicePayment(context.Context, *connect.Request[v1.RetryInvoicePaymentRequest]) (*connect.Response[v1.RetryInvoicePaymentResponse], error) + // Get current usage metrics for an instance + GetUsage(context.Context, *connect.Request[v1.GetUsageRequest]) (*connect.Response[v1.GetUsageResponse], error) + // Record a usage event (for internal use by instance service) + RecordUsage(context.Context, *connect.Request[v1.RecordUsageRequest]) (*connect.Response[v1.RecordUsageResponse], error) + // Get capabilities for an instance (what the plan includes + what's activated) + GetInstanceCapabilities(context.Context, *connect.Request[v1.GetInstanceCapabilitiesRequest]) (*connect.Response[v1.GetInstanceCapabilitiesResponse], error) + // Enable a sidecar feature (e.g., search) - provisions the sidecar container + EnableFeature(context.Context, *connect.Request[v1.EnableFeatureRequest]) (*connect.Response[v1.EnableFeatureResponse], error) + // Disable a sidecar feature - deprovisions the sidecar container + DisableFeature(context.Context, *connect.Request[v1.DisableFeatureRequest]) (*connect.Response[v1.DisableFeatureResponse], error) + // Update features for a plan (superadmin only) + UpdatePlanFeatures(context.Context, *connect.Request[v1.UpdatePlanFeaturesRequest]) (*connect.Response[v1.UpdatePlanFeaturesResponse], error) + // List all available feature keys (for admin UI) + ListAvailableFeatures(context.Context, *connect.Request[v1.ListAvailableFeaturesRequest]) (*connect.Response[v1.ListAvailableFeaturesResponse], error) + // Get a single plan by ID + GetPlan(context.Context, *connect.Request[v1.GetPlanRequest]) (*connect.Response[v1.GetPlanResponse], error) + // Create a new plan + CreatePlan(context.Context, *connect.Request[v1.CreatePlanRequest]) (*connect.Response[v1.CreatePlanResponse], error) + // Update an existing plan (full update with all fields) + UpdatePlan(context.Context, *connect.Request[v1.UpdatePlanRequest]) (*connect.Response[v1.UpdatePlanResponse], error) + // Delete a plan (soft delete - deactivate) + DeletePlan(context.Context, *connect.Request[v1.DeletePlanRequest]) (*connect.Response[v1.DeletePlanResponse], error) + // Get plan deletion impact (count affected subscriptions) + GetPlanDeletionImpact(context.Context, *connect.Request[v1.GetPlanDeletionImpactRequest]) (*connect.Response[v1.GetPlanDeletionImpactResponse], error) + // Get billing summary for an instance (plan, exemption, subscription, discount) + GetInstanceBillingSummary(context.Context, *connect.Request[v1.GetInstanceBillingSummaryRequest]) (*connect.Response[v1.GetInstanceBillingSummaryResponse], error) + // Mark/unmark an instance billing-exempt (gratis). Exempting assigns a plan + // and schedules any active Stripe subscription to cancel at period end. + // Un-exempting resets the instance to the free plan. + SetInstanceBillingExempt(context.Context, *connect.Request[v1.SetInstanceBillingExemptRequest]) (*connect.Response[v1.SetInstanceBillingExemptResponse], error) + // Set the plan for an instance without an active subscription + SetInstancePlan(context.Context, *connect.Request[v1.SetInstancePlanRequest]) (*connect.Response[v1.SetInstancePlanResponse], error) + // List coupons (live from Stripe) + ListCoupons(context.Context, *connect.Request[v1.ListCouponsRequest]) (*connect.Response[v1.ListCouponsResponse], error) + // Create a coupon in Stripe + CreateCoupon(context.Context, *connect.Request[v1.CreateCouponRequest]) (*connect.Response[v1.CreateCouponResponse], error) + // Apply a coupon to an instance's subscription + ApplySubscriptionCoupon(context.Context, *connect.Request[v1.ApplySubscriptionCouponRequest]) (*connect.Response[v1.ApplySubscriptionCouponResponse], error) + // Remove the discount from an instance's subscription + RemoveSubscriptionCoupon(context.Context, *connect.Request[v1.RemoveSubscriptionCouponRequest]) (*connect.Response[v1.RemoveSubscriptionCouponResponse], error) + // Create a SetupIntent for saving a card in-app (Payment Element, setup + // mode). The confirmed card becomes the customer's default payment method. + CreateSetupIntent(context.Context, *connect.Request[v1.CreateSetupIntentRequest]) (*connect.Response[v1.CreateSetupIntentResponse], error) + // List the account's saved cards + ListPaymentMethods(context.Context, *connect.Request[v1.ListPaymentMethodsRequest]) (*connect.Response[v1.ListPaymentMethodsResponse], error) + // Set the account's default card + SetDefaultPaymentMethod(context.Context, *connect.Request[v1.SetDefaultPaymentMethodRequest]) (*connect.Response[v1.SetDefaultPaymentMethodResponse], error) + // Remove a card. The last/default card cannot be removed while active or + // trialing subscriptions exist. + DetachPaymentMethod(context.Context, *connect.Request[v1.DetachPaymentMethodRequest]) (*connect.Response[v1.DetachPaymentMethodResponse], error) + // Onboarding: after the welcome card setup succeeds, create the + // account-scoped Pro subscription with the extended (30-day) trial — + // the side effect the hosted checkout used to perform. + CompleteWelcomeCardSetup(context.Context, *connect.Request[v1.CompleteWelcomeCardSetupRequest]) (*connect.Response[v1.CompleteWelcomeCardSetupResponse], error) + // Check if an account has a payment method configured + HasPaymentMethod(context.Context, *connect.Request[v1.HasPaymentMethodRequest]) (*connect.Response[v1.HasPaymentMethodResponse], error) + // List the purchasable AI plans (ai_addon catalog) + ListAIPlans(context.Context, *connect.Request[v1.ListAIPlansRequest]) (*connect.Response[v1.ListAIPlansResponse], error) + // Subscribe the account to an AI plan in-app, charging the default payment + // method immediately (no trial). Returns a PaymentIntent client secret when + // 3DS is required. + CreateAISubscription(context.Context, *connect.Request[v1.CreateAISubscriptionRequest]) (*connect.Response[v1.CreateAISubscriptionResponse], error) + // Change the account's AI plan (immediate, prorated). A "none"/free target + // is not a plan change — cancel instead. + ChangeAIPlan(context.Context, *connect.Request[v1.ChangeAIPlanRequest]) (*connect.Response[v1.ChangeAIPlanResponse], error) + // Cancel the account's AI subscription. Paid: at period end (resumable); + // trialing: immediate. + CancelAISubscription(context.Context, *connect.Request[v1.CancelAISubscriptionRequest]) (*connect.Response[v1.CancelAISubscriptionResponse], error) + // Prepaid AI credit (ADR 0014): list the purchasable credit packs + ListAICreditPacks(context.Context, *connect.Request[v1.ListAICreditPacksRequest]) (*connect.Response[v1.ListAICreditPacksResponse], error) + // Buy a credit pack in-app, charging the default payment method + // immediately. Returns a PaymentIntent client secret when 3DS is required; + // the grant then lands via the payment_intent.succeeded webhook. + PurchaseAICreditPack(context.Context, *connect.Request[v1.PurchaseAICreditPackRequest]) (*connect.Response[v1.PurchaseAICreditPackResponse], error) + // Superadmin: grant AI credit directly (comps/support, exempt top-ups) + GrantAICredit(context.Context, *connect.Request[v1.GrantAICreditRequest]) (*connect.Response[v1.GrantAICreditResponse], error) + // Read the account's AI billing state (plan, subscription cancel state). + // The overage opt-in/budget-cap fields it once controlled are retired + // (ADR 0015 — all spend is prepaid); SetAIOverageSettings was removed. + GetAIOverageSettings(context.Context, *connect.Request[v1.GetAIOverageSettingsRequest]) (*connect.Response[v1.GetAIOverageSettingsResponse], error) + // Grant/revoke one instance's access to the account AI plan (owner/manager only) + SetInstanceAIAccess(context.Context, *connect.Request[v1.SetInstanceAIAccessRequest]) (*connect.Response[v1.SetInstanceAIAccessResponse], error) + // Account pool state + per-instance breakdown + rate card (Account -> AI page) + GetAccountAIUsage(context.Context, *connect.Request[v1.GetAccountAIUsageRequest]) (*connect.Response[v1.GetAccountAIUsageResponse], error) + // Platform-wide AI consumption aggregates (superadmin) + GetAIConsumptionReport(context.Context, *connect.Request[v1.GetAIConsumptionReportRequest]) (*connect.Response[v1.GetAIConsumptionReportResponse], error) + // Get the Stripe publishable key for frontend use + GetStripeConfig(context.Context, *connect.Request[v1.GetStripeConfigRequest]) (*connect.Response[v1.GetStripeConfigResponse], error) +} + +// NewBillingServiceClient constructs a client for the orchestrator.v1.BillingService service. By +// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, +// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewBillingServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) BillingServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + billingServiceMethods := v1.File_orchestrator_v1_billing_proto.Services().ByName("BillingService").Methods() + return &billingServiceClient{ + listPlans: connect.NewClient[v1.ListPlansRequest, v1.ListPlansResponse]( + httpClient, + baseURL+BillingServiceListPlansProcedure, + connect.WithSchema(billingServiceMethods.ByName("ListPlans")), + connect.WithClientOptions(opts...), + ), + listPublicPlans: connect.NewClient[v1.ListPublicPlansRequest, v1.ListPublicPlansResponse]( + httpClient, + baseURL+BillingServiceListPublicPlansProcedure, + connect.WithSchema(billingServiceMethods.ByName("ListPublicPlans")), + connect.WithClientOptions(opts...), + ), + listAccountSubscriptions: connect.NewClient[v1.ListAccountSubscriptionsRequest, v1.ListAccountSubscriptionsResponse]( + httpClient, + baseURL+BillingServiceListAccountSubscriptionsProcedure, + connect.WithSchema(billingServiceMethods.ByName("ListAccountSubscriptions")), + connect.WithClientOptions(opts...), + ), + createSubscription: connect.NewClient[v1.CreateSubscriptionRequest, v1.CreateSubscriptionResponse]( + httpClient, + baseURL+BillingServiceCreateSubscriptionProcedure, + connect.WithSchema(billingServiceMethods.ByName("CreateSubscription")), + connect.WithClientOptions(opts...), + ), + changePlan: connect.NewClient[v1.ChangePlanRequest, v1.ChangePlanResponse]( + httpClient, + baseURL+BillingServiceChangePlanProcedure, + connect.WithSchema(billingServiceMethods.ByName("ChangePlan")), + connect.WithClientOptions(opts...), + ), + cancelSubscription: connect.NewClient[v1.CancelSubscriptionRequest, v1.CancelSubscriptionResponse]( + httpClient, + baseURL+BillingServiceCancelSubscriptionProcedure, + connect.WithSchema(billingServiceMethods.ByName("CancelSubscription")), + connect.WithClientOptions(opts...), + ), + resumeSubscription: connect.NewClient[v1.ResumeSubscriptionRequest, v1.ResumeSubscriptionResponse]( + httpClient, + baseURL+BillingServiceResumeSubscriptionProcedure, + connect.WithSchema(billingServiceMethods.ByName("ResumeSubscription")), + connect.WithClientOptions(opts...), + ), + listInvoices: connect.NewClient[v1.ListInvoicesRequest, v1.ListInvoicesResponse]( + httpClient, + baseURL+BillingServiceListInvoicesProcedure, + connect.WithSchema(billingServiceMethods.ByName("ListInvoices")), + connect.WithClientOptions(opts...), + ), + getInvoice: connect.NewClient[v1.GetInvoiceRequest, v1.GetInvoiceResponse]( + httpClient, + baseURL+BillingServiceGetInvoiceProcedure, + connect.WithSchema(billingServiceMethods.ByName("GetInvoice")), + connect.WithClientOptions(opts...), + ), + retryInvoicePayment: connect.NewClient[v1.RetryInvoicePaymentRequest, v1.RetryInvoicePaymentResponse]( + httpClient, + baseURL+BillingServiceRetryInvoicePaymentProcedure, + connect.WithSchema(billingServiceMethods.ByName("RetryInvoicePayment")), + connect.WithClientOptions(opts...), + ), + getUsage: connect.NewClient[v1.GetUsageRequest, v1.GetUsageResponse]( + httpClient, + baseURL+BillingServiceGetUsageProcedure, + connect.WithSchema(billingServiceMethods.ByName("GetUsage")), + connect.WithClientOptions(opts...), + ), + recordUsage: connect.NewClient[v1.RecordUsageRequest, v1.RecordUsageResponse]( + httpClient, + baseURL+BillingServiceRecordUsageProcedure, + connect.WithSchema(billingServiceMethods.ByName("RecordUsage")), + connect.WithClientOptions(opts...), + ), + getInstanceCapabilities: connect.NewClient[v1.GetInstanceCapabilitiesRequest, v1.GetInstanceCapabilitiesResponse]( + httpClient, + baseURL+BillingServiceGetInstanceCapabilitiesProcedure, + connect.WithSchema(billingServiceMethods.ByName("GetInstanceCapabilities")), + connect.WithClientOptions(opts...), + ), + enableFeature: connect.NewClient[v1.EnableFeatureRequest, v1.EnableFeatureResponse]( + httpClient, + baseURL+BillingServiceEnableFeatureProcedure, + connect.WithSchema(billingServiceMethods.ByName("EnableFeature")), + connect.WithClientOptions(opts...), + ), + disableFeature: connect.NewClient[v1.DisableFeatureRequest, v1.DisableFeatureResponse]( + httpClient, + baseURL+BillingServiceDisableFeatureProcedure, + connect.WithSchema(billingServiceMethods.ByName("DisableFeature")), + connect.WithClientOptions(opts...), + ), + updatePlanFeatures: connect.NewClient[v1.UpdatePlanFeaturesRequest, v1.UpdatePlanFeaturesResponse]( + httpClient, + baseURL+BillingServiceUpdatePlanFeaturesProcedure, + connect.WithSchema(billingServiceMethods.ByName("UpdatePlanFeatures")), + connect.WithClientOptions(opts...), + ), + listAvailableFeatures: connect.NewClient[v1.ListAvailableFeaturesRequest, v1.ListAvailableFeaturesResponse]( + httpClient, + baseURL+BillingServiceListAvailableFeaturesProcedure, + connect.WithSchema(billingServiceMethods.ByName("ListAvailableFeatures")), + connect.WithClientOptions(opts...), + ), + getPlan: connect.NewClient[v1.GetPlanRequest, v1.GetPlanResponse]( + httpClient, + baseURL+BillingServiceGetPlanProcedure, + connect.WithSchema(billingServiceMethods.ByName("GetPlan")), + connect.WithClientOptions(opts...), + ), + createPlan: connect.NewClient[v1.CreatePlanRequest, v1.CreatePlanResponse]( + httpClient, + baseURL+BillingServiceCreatePlanProcedure, + connect.WithSchema(billingServiceMethods.ByName("CreatePlan")), + connect.WithClientOptions(opts...), + ), + updatePlan: connect.NewClient[v1.UpdatePlanRequest, v1.UpdatePlanResponse]( + httpClient, + baseURL+BillingServiceUpdatePlanProcedure, + connect.WithSchema(billingServiceMethods.ByName("UpdatePlan")), + connect.WithClientOptions(opts...), + ), + deletePlan: connect.NewClient[v1.DeletePlanRequest, v1.DeletePlanResponse]( + httpClient, + baseURL+BillingServiceDeletePlanProcedure, + connect.WithSchema(billingServiceMethods.ByName("DeletePlan")), + connect.WithClientOptions(opts...), + ), + getPlanDeletionImpact: connect.NewClient[v1.GetPlanDeletionImpactRequest, v1.GetPlanDeletionImpactResponse]( + httpClient, + baseURL+BillingServiceGetPlanDeletionImpactProcedure, + connect.WithSchema(billingServiceMethods.ByName("GetPlanDeletionImpact")), + connect.WithClientOptions(opts...), + ), + getInstanceBillingSummary: connect.NewClient[v1.GetInstanceBillingSummaryRequest, v1.GetInstanceBillingSummaryResponse]( + httpClient, + baseURL+BillingServiceGetInstanceBillingSummaryProcedure, + connect.WithSchema(billingServiceMethods.ByName("GetInstanceBillingSummary")), + connect.WithClientOptions(opts...), + ), + setInstanceBillingExempt: connect.NewClient[v1.SetInstanceBillingExemptRequest, v1.SetInstanceBillingExemptResponse]( + httpClient, + baseURL+BillingServiceSetInstanceBillingExemptProcedure, + connect.WithSchema(billingServiceMethods.ByName("SetInstanceBillingExempt")), + connect.WithClientOptions(opts...), + ), + setInstancePlan: connect.NewClient[v1.SetInstancePlanRequest, v1.SetInstancePlanResponse]( + httpClient, + baseURL+BillingServiceSetInstancePlanProcedure, + connect.WithSchema(billingServiceMethods.ByName("SetInstancePlan")), + connect.WithClientOptions(opts...), + ), + listCoupons: connect.NewClient[v1.ListCouponsRequest, v1.ListCouponsResponse]( + httpClient, + baseURL+BillingServiceListCouponsProcedure, + connect.WithSchema(billingServiceMethods.ByName("ListCoupons")), + connect.WithClientOptions(opts...), + ), + createCoupon: connect.NewClient[v1.CreateCouponRequest, v1.CreateCouponResponse]( + httpClient, + baseURL+BillingServiceCreateCouponProcedure, + connect.WithSchema(billingServiceMethods.ByName("CreateCoupon")), + connect.WithClientOptions(opts...), + ), + applySubscriptionCoupon: connect.NewClient[v1.ApplySubscriptionCouponRequest, v1.ApplySubscriptionCouponResponse]( + httpClient, + baseURL+BillingServiceApplySubscriptionCouponProcedure, + connect.WithSchema(billingServiceMethods.ByName("ApplySubscriptionCoupon")), + connect.WithClientOptions(opts...), + ), + removeSubscriptionCoupon: connect.NewClient[v1.RemoveSubscriptionCouponRequest, v1.RemoveSubscriptionCouponResponse]( + httpClient, + baseURL+BillingServiceRemoveSubscriptionCouponProcedure, + connect.WithSchema(billingServiceMethods.ByName("RemoveSubscriptionCoupon")), + connect.WithClientOptions(opts...), + ), + createSetupIntent: connect.NewClient[v1.CreateSetupIntentRequest, v1.CreateSetupIntentResponse]( + httpClient, + baseURL+BillingServiceCreateSetupIntentProcedure, + connect.WithSchema(billingServiceMethods.ByName("CreateSetupIntent")), + connect.WithClientOptions(opts...), + ), + listPaymentMethods: connect.NewClient[v1.ListPaymentMethodsRequest, v1.ListPaymentMethodsResponse]( + httpClient, + baseURL+BillingServiceListPaymentMethodsProcedure, + connect.WithSchema(billingServiceMethods.ByName("ListPaymentMethods")), + connect.WithClientOptions(opts...), + ), + setDefaultPaymentMethod: connect.NewClient[v1.SetDefaultPaymentMethodRequest, v1.SetDefaultPaymentMethodResponse]( + httpClient, + baseURL+BillingServiceSetDefaultPaymentMethodProcedure, + connect.WithSchema(billingServiceMethods.ByName("SetDefaultPaymentMethod")), + connect.WithClientOptions(opts...), + ), + detachPaymentMethod: connect.NewClient[v1.DetachPaymentMethodRequest, v1.DetachPaymentMethodResponse]( + httpClient, + baseURL+BillingServiceDetachPaymentMethodProcedure, + connect.WithSchema(billingServiceMethods.ByName("DetachPaymentMethod")), + connect.WithClientOptions(opts...), + ), + completeWelcomeCardSetup: connect.NewClient[v1.CompleteWelcomeCardSetupRequest, v1.CompleteWelcomeCardSetupResponse]( + httpClient, + baseURL+BillingServiceCompleteWelcomeCardSetupProcedure, + connect.WithSchema(billingServiceMethods.ByName("CompleteWelcomeCardSetup")), + connect.WithClientOptions(opts...), + ), + hasPaymentMethod: connect.NewClient[v1.HasPaymentMethodRequest, v1.HasPaymentMethodResponse]( + httpClient, + baseURL+BillingServiceHasPaymentMethodProcedure, + connect.WithSchema(billingServiceMethods.ByName("HasPaymentMethod")), + connect.WithClientOptions(opts...), + ), + listAIPlans: connect.NewClient[v1.ListAIPlansRequest, v1.ListAIPlansResponse]( + httpClient, + baseURL+BillingServiceListAIPlansProcedure, + connect.WithSchema(billingServiceMethods.ByName("ListAIPlans")), + connect.WithClientOptions(opts...), + ), + createAISubscription: connect.NewClient[v1.CreateAISubscriptionRequest, v1.CreateAISubscriptionResponse]( + httpClient, + baseURL+BillingServiceCreateAISubscriptionProcedure, + connect.WithSchema(billingServiceMethods.ByName("CreateAISubscription")), + connect.WithClientOptions(opts...), + ), + changeAIPlan: connect.NewClient[v1.ChangeAIPlanRequest, v1.ChangeAIPlanResponse]( + httpClient, + baseURL+BillingServiceChangeAIPlanProcedure, + connect.WithSchema(billingServiceMethods.ByName("ChangeAIPlan")), + connect.WithClientOptions(opts...), + ), + cancelAISubscription: connect.NewClient[v1.CancelAISubscriptionRequest, v1.CancelAISubscriptionResponse]( + httpClient, + baseURL+BillingServiceCancelAISubscriptionProcedure, + connect.WithSchema(billingServiceMethods.ByName("CancelAISubscription")), + connect.WithClientOptions(opts...), + ), + listAICreditPacks: connect.NewClient[v1.ListAICreditPacksRequest, v1.ListAICreditPacksResponse]( + httpClient, + baseURL+BillingServiceListAICreditPacksProcedure, + connect.WithSchema(billingServiceMethods.ByName("ListAICreditPacks")), + connect.WithClientOptions(opts...), + ), + purchaseAICreditPack: connect.NewClient[v1.PurchaseAICreditPackRequest, v1.PurchaseAICreditPackResponse]( + httpClient, + baseURL+BillingServicePurchaseAICreditPackProcedure, + connect.WithSchema(billingServiceMethods.ByName("PurchaseAICreditPack")), + connect.WithClientOptions(opts...), + ), + grantAICredit: connect.NewClient[v1.GrantAICreditRequest, v1.GrantAICreditResponse]( + httpClient, + baseURL+BillingServiceGrantAICreditProcedure, + connect.WithSchema(billingServiceMethods.ByName("GrantAICredit")), + connect.WithClientOptions(opts...), + ), + getAIOverageSettings: connect.NewClient[v1.GetAIOverageSettingsRequest, v1.GetAIOverageSettingsResponse]( + httpClient, + baseURL+BillingServiceGetAIOverageSettingsProcedure, + connect.WithSchema(billingServiceMethods.ByName("GetAIOverageSettings")), + connect.WithClientOptions(opts...), + ), + setInstanceAIAccess: connect.NewClient[v1.SetInstanceAIAccessRequest, v1.SetInstanceAIAccessResponse]( + httpClient, + baseURL+BillingServiceSetInstanceAIAccessProcedure, + connect.WithSchema(billingServiceMethods.ByName("SetInstanceAIAccess")), + connect.WithClientOptions(opts...), + ), + getAccountAIUsage: connect.NewClient[v1.GetAccountAIUsageRequest, v1.GetAccountAIUsageResponse]( + httpClient, + baseURL+BillingServiceGetAccountAIUsageProcedure, + connect.WithSchema(billingServiceMethods.ByName("GetAccountAIUsage")), + connect.WithClientOptions(opts...), + ), + getAIConsumptionReport: connect.NewClient[v1.GetAIConsumptionReportRequest, v1.GetAIConsumptionReportResponse]( + httpClient, + baseURL+BillingServiceGetAIConsumptionReportProcedure, + connect.WithSchema(billingServiceMethods.ByName("GetAIConsumptionReport")), + connect.WithClientOptions(opts...), + ), + getStripeConfig: connect.NewClient[v1.GetStripeConfigRequest, v1.GetStripeConfigResponse]( + httpClient, + baseURL+BillingServiceGetStripeConfigProcedure, + connect.WithSchema(billingServiceMethods.ByName("GetStripeConfig")), + connect.WithClientOptions(opts...), + ), + } +} + +// billingServiceClient implements BillingServiceClient. +type billingServiceClient struct { + listPlans *connect.Client[v1.ListPlansRequest, v1.ListPlansResponse] + listPublicPlans *connect.Client[v1.ListPublicPlansRequest, v1.ListPublicPlansResponse] + listAccountSubscriptions *connect.Client[v1.ListAccountSubscriptionsRequest, v1.ListAccountSubscriptionsResponse] + createSubscription *connect.Client[v1.CreateSubscriptionRequest, v1.CreateSubscriptionResponse] + changePlan *connect.Client[v1.ChangePlanRequest, v1.ChangePlanResponse] + cancelSubscription *connect.Client[v1.CancelSubscriptionRequest, v1.CancelSubscriptionResponse] + resumeSubscription *connect.Client[v1.ResumeSubscriptionRequest, v1.ResumeSubscriptionResponse] + listInvoices *connect.Client[v1.ListInvoicesRequest, v1.ListInvoicesResponse] + getInvoice *connect.Client[v1.GetInvoiceRequest, v1.GetInvoiceResponse] + retryInvoicePayment *connect.Client[v1.RetryInvoicePaymentRequest, v1.RetryInvoicePaymentResponse] + getUsage *connect.Client[v1.GetUsageRequest, v1.GetUsageResponse] + recordUsage *connect.Client[v1.RecordUsageRequest, v1.RecordUsageResponse] + getInstanceCapabilities *connect.Client[v1.GetInstanceCapabilitiesRequest, v1.GetInstanceCapabilitiesResponse] + enableFeature *connect.Client[v1.EnableFeatureRequest, v1.EnableFeatureResponse] + disableFeature *connect.Client[v1.DisableFeatureRequest, v1.DisableFeatureResponse] + updatePlanFeatures *connect.Client[v1.UpdatePlanFeaturesRequest, v1.UpdatePlanFeaturesResponse] + listAvailableFeatures *connect.Client[v1.ListAvailableFeaturesRequest, v1.ListAvailableFeaturesResponse] + getPlan *connect.Client[v1.GetPlanRequest, v1.GetPlanResponse] + createPlan *connect.Client[v1.CreatePlanRequest, v1.CreatePlanResponse] + updatePlan *connect.Client[v1.UpdatePlanRequest, v1.UpdatePlanResponse] + deletePlan *connect.Client[v1.DeletePlanRequest, v1.DeletePlanResponse] + getPlanDeletionImpact *connect.Client[v1.GetPlanDeletionImpactRequest, v1.GetPlanDeletionImpactResponse] + getInstanceBillingSummary *connect.Client[v1.GetInstanceBillingSummaryRequest, v1.GetInstanceBillingSummaryResponse] + setInstanceBillingExempt *connect.Client[v1.SetInstanceBillingExemptRequest, v1.SetInstanceBillingExemptResponse] + setInstancePlan *connect.Client[v1.SetInstancePlanRequest, v1.SetInstancePlanResponse] + listCoupons *connect.Client[v1.ListCouponsRequest, v1.ListCouponsResponse] + createCoupon *connect.Client[v1.CreateCouponRequest, v1.CreateCouponResponse] + applySubscriptionCoupon *connect.Client[v1.ApplySubscriptionCouponRequest, v1.ApplySubscriptionCouponResponse] + removeSubscriptionCoupon *connect.Client[v1.RemoveSubscriptionCouponRequest, v1.RemoveSubscriptionCouponResponse] + createSetupIntent *connect.Client[v1.CreateSetupIntentRequest, v1.CreateSetupIntentResponse] + listPaymentMethods *connect.Client[v1.ListPaymentMethodsRequest, v1.ListPaymentMethodsResponse] + setDefaultPaymentMethod *connect.Client[v1.SetDefaultPaymentMethodRequest, v1.SetDefaultPaymentMethodResponse] + detachPaymentMethod *connect.Client[v1.DetachPaymentMethodRequest, v1.DetachPaymentMethodResponse] + completeWelcomeCardSetup *connect.Client[v1.CompleteWelcomeCardSetupRequest, v1.CompleteWelcomeCardSetupResponse] + hasPaymentMethod *connect.Client[v1.HasPaymentMethodRequest, v1.HasPaymentMethodResponse] + listAIPlans *connect.Client[v1.ListAIPlansRequest, v1.ListAIPlansResponse] + createAISubscription *connect.Client[v1.CreateAISubscriptionRequest, v1.CreateAISubscriptionResponse] + changeAIPlan *connect.Client[v1.ChangeAIPlanRequest, v1.ChangeAIPlanResponse] + cancelAISubscription *connect.Client[v1.CancelAISubscriptionRequest, v1.CancelAISubscriptionResponse] + listAICreditPacks *connect.Client[v1.ListAICreditPacksRequest, v1.ListAICreditPacksResponse] + purchaseAICreditPack *connect.Client[v1.PurchaseAICreditPackRequest, v1.PurchaseAICreditPackResponse] + grantAICredit *connect.Client[v1.GrantAICreditRequest, v1.GrantAICreditResponse] + getAIOverageSettings *connect.Client[v1.GetAIOverageSettingsRequest, v1.GetAIOverageSettingsResponse] + setInstanceAIAccess *connect.Client[v1.SetInstanceAIAccessRequest, v1.SetInstanceAIAccessResponse] + getAccountAIUsage *connect.Client[v1.GetAccountAIUsageRequest, v1.GetAccountAIUsageResponse] + getAIConsumptionReport *connect.Client[v1.GetAIConsumptionReportRequest, v1.GetAIConsumptionReportResponse] + getStripeConfig *connect.Client[v1.GetStripeConfigRequest, v1.GetStripeConfigResponse] +} + +// ListPlans calls orchestrator.v1.BillingService.ListPlans. +func (c *billingServiceClient) ListPlans(ctx context.Context, req *connect.Request[v1.ListPlansRequest]) (*connect.Response[v1.ListPlansResponse], error) { + return c.listPlans.CallUnary(ctx, req) +} + +// ListPublicPlans calls orchestrator.v1.BillingService.ListPublicPlans. +func (c *billingServiceClient) ListPublicPlans(ctx context.Context, req *connect.Request[v1.ListPublicPlansRequest]) (*connect.Response[v1.ListPublicPlansResponse], error) { + return c.listPublicPlans.CallUnary(ctx, req) +} + +// ListAccountSubscriptions calls orchestrator.v1.BillingService.ListAccountSubscriptions. +func (c *billingServiceClient) ListAccountSubscriptions(ctx context.Context, req *connect.Request[v1.ListAccountSubscriptionsRequest]) (*connect.Response[v1.ListAccountSubscriptionsResponse], error) { + return c.listAccountSubscriptions.CallUnary(ctx, req) +} + +// CreateSubscription calls orchestrator.v1.BillingService.CreateSubscription. +func (c *billingServiceClient) CreateSubscription(ctx context.Context, req *connect.Request[v1.CreateSubscriptionRequest]) (*connect.Response[v1.CreateSubscriptionResponse], error) { + return c.createSubscription.CallUnary(ctx, req) +} + +// ChangePlan calls orchestrator.v1.BillingService.ChangePlan. +func (c *billingServiceClient) ChangePlan(ctx context.Context, req *connect.Request[v1.ChangePlanRequest]) (*connect.Response[v1.ChangePlanResponse], error) { + return c.changePlan.CallUnary(ctx, req) +} + +// CancelSubscription calls orchestrator.v1.BillingService.CancelSubscription. +func (c *billingServiceClient) CancelSubscription(ctx context.Context, req *connect.Request[v1.CancelSubscriptionRequest]) (*connect.Response[v1.CancelSubscriptionResponse], error) { + return c.cancelSubscription.CallUnary(ctx, req) +} + +// ResumeSubscription calls orchestrator.v1.BillingService.ResumeSubscription. +func (c *billingServiceClient) ResumeSubscription(ctx context.Context, req *connect.Request[v1.ResumeSubscriptionRequest]) (*connect.Response[v1.ResumeSubscriptionResponse], error) { + return c.resumeSubscription.CallUnary(ctx, req) +} + +// ListInvoices calls orchestrator.v1.BillingService.ListInvoices. +func (c *billingServiceClient) ListInvoices(ctx context.Context, req *connect.Request[v1.ListInvoicesRequest]) (*connect.Response[v1.ListInvoicesResponse], error) { + return c.listInvoices.CallUnary(ctx, req) +} + +// GetInvoice calls orchestrator.v1.BillingService.GetInvoice. +func (c *billingServiceClient) GetInvoice(ctx context.Context, req *connect.Request[v1.GetInvoiceRequest]) (*connect.Response[v1.GetInvoiceResponse], error) { + return c.getInvoice.CallUnary(ctx, req) +} + +// RetryInvoicePayment calls orchestrator.v1.BillingService.RetryInvoicePayment. +func (c *billingServiceClient) RetryInvoicePayment(ctx context.Context, req *connect.Request[v1.RetryInvoicePaymentRequest]) (*connect.Response[v1.RetryInvoicePaymentResponse], error) { + return c.retryInvoicePayment.CallUnary(ctx, req) +} + +// GetUsage calls orchestrator.v1.BillingService.GetUsage. +func (c *billingServiceClient) GetUsage(ctx context.Context, req *connect.Request[v1.GetUsageRequest]) (*connect.Response[v1.GetUsageResponse], error) { + return c.getUsage.CallUnary(ctx, req) +} + +// RecordUsage calls orchestrator.v1.BillingService.RecordUsage. +func (c *billingServiceClient) RecordUsage(ctx context.Context, req *connect.Request[v1.RecordUsageRequest]) (*connect.Response[v1.RecordUsageResponse], error) { + return c.recordUsage.CallUnary(ctx, req) +} + +// GetInstanceCapabilities calls orchestrator.v1.BillingService.GetInstanceCapabilities. +func (c *billingServiceClient) GetInstanceCapabilities(ctx context.Context, req *connect.Request[v1.GetInstanceCapabilitiesRequest]) (*connect.Response[v1.GetInstanceCapabilitiesResponse], error) { + return c.getInstanceCapabilities.CallUnary(ctx, req) +} + +// EnableFeature calls orchestrator.v1.BillingService.EnableFeature. +func (c *billingServiceClient) EnableFeature(ctx context.Context, req *connect.Request[v1.EnableFeatureRequest]) (*connect.Response[v1.EnableFeatureResponse], error) { + return c.enableFeature.CallUnary(ctx, req) +} + +// DisableFeature calls orchestrator.v1.BillingService.DisableFeature. +func (c *billingServiceClient) DisableFeature(ctx context.Context, req *connect.Request[v1.DisableFeatureRequest]) (*connect.Response[v1.DisableFeatureResponse], error) { + return c.disableFeature.CallUnary(ctx, req) +} + +// UpdatePlanFeatures calls orchestrator.v1.BillingService.UpdatePlanFeatures. +func (c *billingServiceClient) UpdatePlanFeatures(ctx context.Context, req *connect.Request[v1.UpdatePlanFeaturesRequest]) (*connect.Response[v1.UpdatePlanFeaturesResponse], error) { + return c.updatePlanFeatures.CallUnary(ctx, req) +} + +// ListAvailableFeatures calls orchestrator.v1.BillingService.ListAvailableFeatures. +func (c *billingServiceClient) ListAvailableFeatures(ctx context.Context, req *connect.Request[v1.ListAvailableFeaturesRequest]) (*connect.Response[v1.ListAvailableFeaturesResponse], error) { + return c.listAvailableFeatures.CallUnary(ctx, req) +} + +// GetPlan calls orchestrator.v1.BillingService.GetPlan. +func (c *billingServiceClient) GetPlan(ctx context.Context, req *connect.Request[v1.GetPlanRequest]) (*connect.Response[v1.GetPlanResponse], error) { + return c.getPlan.CallUnary(ctx, req) +} + +// CreatePlan calls orchestrator.v1.BillingService.CreatePlan. +func (c *billingServiceClient) CreatePlan(ctx context.Context, req *connect.Request[v1.CreatePlanRequest]) (*connect.Response[v1.CreatePlanResponse], error) { + return c.createPlan.CallUnary(ctx, req) +} + +// UpdatePlan calls orchestrator.v1.BillingService.UpdatePlan. +func (c *billingServiceClient) UpdatePlan(ctx context.Context, req *connect.Request[v1.UpdatePlanRequest]) (*connect.Response[v1.UpdatePlanResponse], error) { + return c.updatePlan.CallUnary(ctx, req) +} + +// DeletePlan calls orchestrator.v1.BillingService.DeletePlan. +func (c *billingServiceClient) DeletePlan(ctx context.Context, req *connect.Request[v1.DeletePlanRequest]) (*connect.Response[v1.DeletePlanResponse], error) { + return c.deletePlan.CallUnary(ctx, req) +} + +// GetPlanDeletionImpact calls orchestrator.v1.BillingService.GetPlanDeletionImpact. +func (c *billingServiceClient) GetPlanDeletionImpact(ctx context.Context, req *connect.Request[v1.GetPlanDeletionImpactRequest]) (*connect.Response[v1.GetPlanDeletionImpactResponse], error) { + return c.getPlanDeletionImpact.CallUnary(ctx, req) +} + +// GetInstanceBillingSummary calls orchestrator.v1.BillingService.GetInstanceBillingSummary. +func (c *billingServiceClient) GetInstanceBillingSummary(ctx context.Context, req *connect.Request[v1.GetInstanceBillingSummaryRequest]) (*connect.Response[v1.GetInstanceBillingSummaryResponse], error) { + return c.getInstanceBillingSummary.CallUnary(ctx, req) +} + +// SetInstanceBillingExempt calls orchestrator.v1.BillingService.SetInstanceBillingExempt. +func (c *billingServiceClient) SetInstanceBillingExempt(ctx context.Context, req *connect.Request[v1.SetInstanceBillingExemptRequest]) (*connect.Response[v1.SetInstanceBillingExemptResponse], error) { + return c.setInstanceBillingExempt.CallUnary(ctx, req) +} + +// SetInstancePlan calls orchestrator.v1.BillingService.SetInstancePlan. +func (c *billingServiceClient) SetInstancePlan(ctx context.Context, req *connect.Request[v1.SetInstancePlanRequest]) (*connect.Response[v1.SetInstancePlanResponse], error) { + return c.setInstancePlan.CallUnary(ctx, req) +} + +// ListCoupons calls orchestrator.v1.BillingService.ListCoupons. +func (c *billingServiceClient) ListCoupons(ctx context.Context, req *connect.Request[v1.ListCouponsRequest]) (*connect.Response[v1.ListCouponsResponse], error) { + return c.listCoupons.CallUnary(ctx, req) +} + +// CreateCoupon calls orchestrator.v1.BillingService.CreateCoupon. +func (c *billingServiceClient) CreateCoupon(ctx context.Context, req *connect.Request[v1.CreateCouponRequest]) (*connect.Response[v1.CreateCouponResponse], error) { + return c.createCoupon.CallUnary(ctx, req) +} + +// ApplySubscriptionCoupon calls orchestrator.v1.BillingService.ApplySubscriptionCoupon. +func (c *billingServiceClient) ApplySubscriptionCoupon(ctx context.Context, req *connect.Request[v1.ApplySubscriptionCouponRequest]) (*connect.Response[v1.ApplySubscriptionCouponResponse], error) { + return c.applySubscriptionCoupon.CallUnary(ctx, req) +} + +// RemoveSubscriptionCoupon calls orchestrator.v1.BillingService.RemoveSubscriptionCoupon. +func (c *billingServiceClient) RemoveSubscriptionCoupon(ctx context.Context, req *connect.Request[v1.RemoveSubscriptionCouponRequest]) (*connect.Response[v1.RemoveSubscriptionCouponResponse], error) { + return c.removeSubscriptionCoupon.CallUnary(ctx, req) +} + +// CreateSetupIntent calls orchestrator.v1.BillingService.CreateSetupIntent. +func (c *billingServiceClient) CreateSetupIntent(ctx context.Context, req *connect.Request[v1.CreateSetupIntentRequest]) (*connect.Response[v1.CreateSetupIntentResponse], error) { + return c.createSetupIntent.CallUnary(ctx, req) +} + +// ListPaymentMethods calls orchestrator.v1.BillingService.ListPaymentMethods. +func (c *billingServiceClient) ListPaymentMethods(ctx context.Context, req *connect.Request[v1.ListPaymentMethodsRequest]) (*connect.Response[v1.ListPaymentMethodsResponse], error) { + return c.listPaymentMethods.CallUnary(ctx, req) +} + +// SetDefaultPaymentMethod calls orchestrator.v1.BillingService.SetDefaultPaymentMethod. +func (c *billingServiceClient) SetDefaultPaymentMethod(ctx context.Context, req *connect.Request[v1.SetDefaultPaymentMethodRequest]) (*connect.Response[v1.SetDefaultPaymentMethodResponse], error) { + return c.setDefaultPaymentMethod.CallUnary(ctx, req) +} + +// DetachPaymentMethod calls orchestrator.v1.BillingService.DetachPaymentMethod. +func (c *billingServiceClient) DetachPaymentMethod(ctx context.Context, req *connect.Request[v1.DetachPaymentMethodRequest]) (*connect.Response[v1.DetachPaymentMethodResponse], error) { + return c.detachPaymentMethod.CallUnary(ctx, req) +} + +// CompleteWelcomeCardSetup calls orchestrator.v1.BillingService.CompleteWelcomeCardSetup. +func (c *billingServiceClient) CompleteWelcomeCardSetup(ctx context.Context, req *connect.Request[v1.CompleteWelcomeCardSetupRequest]) (*connect.Response[v1.CompleteWelcomeCardSetupResponse], error) { + return c.completeWelcomeCardSetup.CallUnary(ctx, req) +} + +// HasPaymentMethod calls orchestrator.v1.BillingService.HasPaymentMethod. +func (c *billingServiceClient) HasPaymentMethod(ctx context.Context, req *connect.Request[v1.HasPaymentMethodRequest]) (*connect.Response[v1.HasPaymentMethodResponse], error) { + return c.hasPaymentMethod.CallUnary(ctx, req) +} + +// ListAIPlans calls orchestrator.v1.BillingService.ListAIPlans. +func (c *billingServiceClient) ListAIPlans(ctx context.Context, req *connect.Request[v1.ListAIPlansRequest]) (*connect.Response[v1.ListAIPlansResponse], error) { + return c.listAIPlans.CallUnary(ctx, req) +} + +// CreateAISubscription calls orchestrator.v1.BillingService.CreateAISubscription. +func (c *billingServiceClient) CreateAISubscription(ctx context.Context, req *connect.Request[v1.CreateAISubscriptionRequest]) (*connect.Response[v1.CreateAISubscriptionResponse], error) { + return c.createAISubscription.CallUnary(ctx, req) +} + +// ChangeAIPlan calls orchestrator.v1.BillingService.ChangeAIPlan. +func (c *billingServiceClient) ChangeAIPlan(ctx context.Context, req *connect.Request[v1.ChangeAIPlanRequest]) (*connect.Response[v1.ChangeAIPlanResponse], error) { + return c.changeAIPlan.CallUnary(ctx, req) +} + +// CancelAISubscription calls orchestrator.v1.BillingService.CancelAISubscription. +func (c *billingServiceClient) CancelAISubscription(ctx context.Context, req *connect.Request[v1.CancelAISubscriptionRequest]) (*connect.Response[v1.CancelAISubscriptionResponse], error) { + return c.cancelAISubscription.CallUnary(ctx, req) +} + +// ListAICreditPacks calls orchestrator.v1.BillingService.ListAICreditPacks. +func (c *billingServiceClient) ListAICreditPacks(ctx context.Context, req *connect.Request[v1.ListAICreditPacksRequest]) (*connect.Response[v1.ListAICreditPacksResponse], error) { + return c.listAICreditPacks.CallUnary(ctx, req) +} + +// PurchaseAICreditPack calls orchestrator.v1.BillingService.PurchaseAICreditPack. +func (c *billingServiceClient) PurchaseAICreditPack(ctx context.Context, req *connect.Request[v1.PurchaseAICreditPackRequest]) (*connect.Response[v1.PurchaseAICreditPackResponse], error) { + return c.purchaseAICreditPack.CallUnary(ctx, req) +} + +// GrantAICredit calls orchestrator.v1.BillingService.GrantAICredit. +func (c *billingServiceClient) GrantAICredit(ctx context.Context, req *connect.Request[v1.GrantAICreditRequest]) (*connect.Response[v1.GrantAICreditResponse], error) { + return c.grantAICredit.CallUnary(ctx, req) +} + +// GetAIOverageSettings calls orchestrator.v1.BillingService.GetAIOverageSettings. +func (c *billingServiceClient) GetAIOverageSettings(ctx context.Context, req *connect.Request[v1.GetAIOverageSettingsRequest]) (*connect.Response[v1.GetAIOverageSettingsResponse], error) { + return c.getAIOverageSettings.CallUnary(ctx, req) +} + +// SetInstanceAIAccess calls orchestrator.v1.BillingService.SetInstanceAIAccess. +func (c *billingServiceClient) SetInstanceAIAccess(ctx context.Context, req *connect.Request[v1.SetInstanceAIAccessRequest]) (*connect.Response[v1.SetInstanceAIAccessResponse], error) { + return c.setInstanceAIAccess.CallUnary(ctx, req) +} + +// GetAccountAIUsage calls orchestrator.v1.BillingService.GetAccountAIUsage. +func (c *billingServiceClient) GetAccountAIUsage(ctx context.Context, req *connect.Request[v1.GetAccountAIUsageRequest]) (*connect.Response[v1.GetAccountAIUsageResponse], error) { + return c.getAccountAIUsage.CallUnary(ctx, req) +} + +// GetAIConsumptionReport calls orchestrator.v1.BillingService.GetAIConsumptionReport. +func (c *billingServiceClient) GetAIConsumptionReport(ctx context.Context, req *connect.Request[v1.GetAIConsumptionReportRequest]) (*connect.Response[v1.GetAIConsumptionReportResponse], error) { + return c.getAIConsumptionReport.CallUnary(ctx, req) +} + +// GetStripeConfig calls orchestrator.v1.BillingService.GetStripeConfig. +func (c *billingServiceClient) GetStripeConfig(ctx context.Context, req *connect.Request[v1.GetStripeConfigRequest]) (*connect.Response[v1.GetStripeConfigResponse], error) { + return c.getStripeConfig.CallUnary(ctx, req) +} + +// BillingServiceHandler is an implementation of the orchestrator.v1.BillingService service. +type BillingServiceHandler interface { + // List available plans (authenticated) + ListPlans(context.Context, *connect.Request[v1.ListPlansRequest]) (*connect.Response[v1.ListPlansResponse], error) + // List public plans for pricing page (no auth required) + ListPublicPlans(context.Context, *connect.Request[v1.ListPublicPlansRequest]) (*connect.Response[v1.ListPublicPlansResponse], error) + // List all subscriptions for an account (billing overview) + ListAccountSubscriptions(context.Context, *connect.Request[v1.ListAccountSubscriptionsRequest]) (*connect.Response[v1.ListAccountSubscriptionsResponse], error) + // Create a new subscription for an instance + CreateSubscription(context.Context, *connect.Request[v1.CreateSubscriptionRequest]) (*connect.Response[v1.CreateSubscriptionResponse], error) + // Change subscription plan for an instance + ChangePlan(context.Context, *connect.Request[v1.ChangePlanRequest]) (*connect.Response[v1.ChangePlanResponse], error) + // Cancel subscription. Paid subscriptions are scheduled to cancel at period + // end (resumable via ResumeSubscription); trialing subscriptions cancel + // immediately. + CancelSubscription(context.Context, *connect.Request[v1.CancelSubscriptionRequest]) (*connect.Response[v1.CancelSubscriptionResponse], error) + // Undo a scheduled cancellation (cancel_at_period_end). Works for site and + // AI subscriptions alike, keyed by internal subscription id. + ResumeSubscription(context.Context, *connect.Request[v1.ResumeSubscriptionRequest]) (*connect.Response[v1.ResumeSubscriptionResponse], error) + // List invoices for an account (consolidated billing) + ListInvoices(context.Context, *connect.Request[v1.ListInvoicesRequest]) (*connect.Response[v1.ListInvoicesResponse], error) + // Get invoice details + GetInvoice(context.Context, *connect.Request[v1.GetInvoiceRequest]) (*connect.Response[v1.GetInvoiceResponse], error) + // Pay an open invoice with the account's default payment method (past-due + // recovery). Returns a PaymentIntent client secret when 3DS is required. + RetryInvoicePayment(context.Context, *connect.Request[v1.RetryInvoicePaymentRequest]) (*connect.Response[v1.RetryInvoicePaymentResponse], error) + // Get current usage metrics for an instance + GetUsage(context.Context, *connect.Request[v1.GetUsageRequest]) (*connect.Response[v1.GetUsageResponse], error) + // Record a usage event (for internal use by instance service) + RecordUsage(context.Context, *connect.Request[v1.RecordUsageRequest]) (*connect.Response[v1.RecordUsageResponse], error) + // Get capabilities for an instance (what the plan includes + what's activated) + GetInstanceCapabilities(context.Context, *connect.Request[v1.GetInstanceCapabilitiesRequest]) (*connect.Response[v1.GetInstanceCapabilitiesResponse], error) + // Enable a sidecar feature (e.g., search) - provisions the sidecar container + EnableFeature(context.Context, *connect.Request[v1.EnableFeatureRequest]) (*connect.Response[v1.EnableFeatureResponse], error) + // Disable a sidecar feature - deprovisions the sidecar container + DisableFeature(context.Context, *connect.Request[v1.DisableFeatureRequest]) (*connect.Response[v1.DisableFeatureResponse], error) + // Update features for a plan (superadmin only) + UpdatePlanFeatures(context.Context, *connect.Request[v1.UpdatePlanFeaturesRequest]) (*connect.Response[v1.UpdatePlanFeaturesResponse], error) + // List all available feature keys (for admin UI) + ListAvailableFeatures(context.Context, *connect.Request[v1.ListAvailableFeaturesRequest]) (*connect.Response[v1.ListAvailableFeaturesResponse], error) + // Get a single plan by ID + GetPlan(context.Context, *connect.Request[v1.GetPlanRequest]) (*connect.Response[v1.GetPlanResponse], error) + // Create a new plan + CreatePlan(context.Context, *connect.Request[v1.CreatePlanRequest]) (*connect.Response[v1.CreatePlanResponse], error) + // Update an existing plan (full update with all fields) + UpdatePlan(context.Context, *connect.Request[v1.UpdatePlanRequest]) (*connect.Response[v1.UpdatePlanResponse], error) + // Delete a plan (soft delete - deactivate) + DeletePlan(context.Context, *connect.Request[v1.DeletePlanRequest]) (*connect.Response[v1.DeletePlanResponse], error) + // Get plan deletion impact (count affected subscriptions) + GetPlanDeletionImpact(context.Context, *connect.Request[v1.GetPlanDeletionImpactRequest]) (*connect.Response[v1.GetPlanDeletionImpactResponse], error) + // Get billing summary for an instance (plan, exemption, subscription, discount) + GetInstanceBillingSummary(context.Context, *connect.Request[v1.GetInstanceBillingSummaryRequest]) (*connect.Response[v1.GetInstanceBillingSummaryResponse], error) + // Mark/unmark an instance billing-exempt (gratis). Exempting assigns a plan + // and schedules any active Stripe subscription to cancel at period end. + // Un-exempting resets the instance to the free plan. + SetInstanceBillingExempt(context.Context, *connect.Request[v1.SetInstanceBillingExemptRequest]) (*connect.Response[v1.SetInstanceBillingExemptResponse], error) + // Set the plan for an instance without an active subscription + SetInstancePlan(context.Context, *connect.Request[v1.SetInstancePlanRequest]) (*connect.Response[v1.SetInstancePlanResponse], error) + // List coupons (live from Stripe) + ListCoupons(context.Context, *connect.Request[v1.ListCouponsRequest]) (*connect.Response[v1.ListCouponsResponse], error) + // Create a coupon in Stripe + CreateCoupon(context.Context, *connect.Request[v1.CreateCouponRequest]) (*connect.Response[v1.CreateCouponResponse], error) + // Apply a coupon to an instance's subscription + ApplySubscriptionCoupon(context.Context, *connect.Request[v1.ApplySubscriptionCouponRequest]) (*connect.Response[v1.ApplySubscriptionCouponResponse], error) + // Remove the discount from an instance's subscription + RemoveSubscriptionCoupon(context.Context, *connect.Request[v1.RemoveSubscriptionCouponRequest]) (*connect.Response[v1.RemoveSubscriptionCouponResponse], error) + // Create a SetupIntent for saving a card in-app (Payment Element, setup + // mode). The confirmed card becomes the customer's default payment method. + CreateSetupIntent(context.Context, *connect.Request[v1.CreateSetupIntentRequest]) (*connect.Response[v1.CreateSetupIntentResponse], error) + // List the account's saved cards + ListPaymentMethods(context.Context, *connect.Request[v1.ListPaymentMethodsRequest]) (*connect.Response[v1.ListPaymentMethodsResponse], error) + // Set the account's default card + SetDefaultPaymentMethod(context.Context, *connect.Request[v1.SetDefaultPaymentMethodRequest]) (*connect.Response[v1.SetDefaultPaymentMethodResponse], error) + // Remove a card. The last/default card cannot be removed while active or + // trialing subscriptions exist. + DetachPaymentMethod(context.Context, *connect.Request[v1.DetachPaymentMethodRequest]) (*connect.Response[v1.DetachPaymentMethodResponse], error) + // Onboarding: after the welcome card setup succeeds, create the + // account-scoped Pro subscription with the extended (30-day) trial — + // the side effect the hosted checkout used to perform. + CompleteWelcomeCardSetup(context.Context, *connect.Request[v1.CompleteWelcomeCardSetupRequest]) (*connect.Response[v1.CompleteWelcomeCardSetupResponse], error) + // Check if an account has a payment method configured + HasPaymentMethod(context.Context, *connect.Request[v1.HasPaymentMethodRequest]) (*connect.Response[v1.HasPaymentMethodResponse], error) + // List the purchasable AI plans (ai_addon catalog) + ListAIPlans(context.Context, *connect.Request[v1.ListAIPlansRequest]) (*connect.Response[v1.ListAIPlansResponse], error) + // Subscribe the account to an AI plan in-app, charging the default payment + // method immediately (no trial). Returns a PaymentIntent client secret when + // 3DS is required. + CreateAISubscription(context.Context, *connect.Request[v1.CreateAISubscriptionRequest]) (*connect.Response[v1.CreateAISubscriptionResponse], error) + // Change the account's AI plan (immediate, prorated). A "none"/free target + // is not a plan change — cancel instead. + ChangeAIPlan(context.Context, *connect.Request[v1.ChangeAIPlanRequest]) (*connect.Response[v1.ChangeAIPlanResponse], error) + // Cancel the account's AI subscription. Paid: at period end (resumable); + // trialing: immediate. + CancelAISubscription(context.Context, *connect.Request[v1.CancelAISubscriptionRequest]) (*connect.Response[v1.CancelAISubscriptionResponse], error) + // Prepaid AI credit (ADR 0014): list the purchasable credit packs + ListAICreditPacks(context.Context, *connect.Request[v1.ListAICreditPacksRequest]) (*connect.Response[v1.ListAICreditPacksResponse], error) + // Buy a credit pack in-app, charging the default payment method + // immediately. Returns a PaymentIntent client secret when 3DS is required; + // the grant then lands via the payment_intent.succeeded webhook. + PurchaseAICreditPack(context.Context, *connect.Request[v1.PurchaseAICreditPackRequest]) (*connect.Response[v1.PurchaseAICreditPackResponse], error) + // Superadmin: grant AI credit directly (comps/support, exempt top-ups) + GrantAICredit(context.Context, *connect.Request[v1.GrantAICreditRequest]) (*connect.Response[v1.GrantAICreditResponse], error) + // Read the account's AI billing state (plan, subscription cancel state). + // The overage opt-in/budget-cap fields it once controlled are retired + // (ADR 0015 — all spend is prepaid); SetAIOverageSettings was removed. + GetAIOverageSettings(context.Context, *connect.Request[v1.GetAIOverageSettingsRequest]) (*connect.Response[v1.GetAIOverageSettingsResponse], error) + // Grant/revoke one instance's access to the account AI plan (owner/manager only) + SetInstanceAIAccess(context.Context, *connect.Request[v1.SetInstanceAIAccessRequest]) (*connect.Response[v1.SetInstanceAIAccessResponse], error) + // Account pool state + per-instance breakdown + rate card (Account -> AI page) + GetAccountAIUsage(context.Context, *connect.Request[v1.GetAccountAIUsageRequest]) (*connect.Response[v1.GetAccountAIUsageResponse], error) + // Platform-wide AI consumption aggregates (superadmin) + GetAIConsumptionReport(context.Context, *connect.Request[v1.GetAIConsumptionReportRequest]) (*connect.Response[v1.GetAIConsumptionReportResponse], error) + // Get the Stripe publishable key for frontend use + GetStripeConfig(context.Context, *connect.Request[v1.GetStripeConfigRequest]) (*connect.Response[v1.GetStripeConfigResponse], error) +} + +// NewBillingServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewBillingServiceHandler(svc BillingServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + billingServiceMethods := v1.File_orchestrator_v1_billing_proto.Services().ByName("BillingService").Methods() + billingServiceListPlansHandler := connect.NewUnaryHandler( + BillingServiceListPlansProcedure, + svc.ListPlans, + connect.WithSchema(billingServiceMethods.ByName("ListPlans")), + connect.WithHandlerOptions(opts...), + ) + billingServiceListPublicPlansHandler := connect.NewUnaryHandler( + BillingServiceListPublicPlansProcedure, + svc.ListPublicPlans, + connect.WithSchema(billingServiceMethods.ByName("ListPublicPlans")), + connect.WithHandlerOptions(opts...), + ) + billingServiceListAccountSubscriptionsHandler := connect.NewUnaryHandler( + BillingServiceListAccountSubscriptionsProcedure, + svc.ListAccountSubscriptions, + connect.WithSchema(billingServiceMethods.ByName("ListAccountSubscriptions")), + connect.WithHandlerOptions(opts...), + ) + billingServiceCreateSubscriptionHandler := connect.NewUnaryHandler( + BillingServiceCreateSubscriptionProcedure, + svc.CreateSubscription, + connect.WithSchema(billingServiceMethods.ByName("CreateSubscription")), + connect.WithHandlerOptions(opts...), + ) + billingServiceChangePlanHandler := connect.NewUnaryHandler( + BillingServiceChangePlanProcedure, + svc.ChangePlan, + connect.WithSchema(billingServiceMethods.ByName("ChangePlan")), + connect.WithHandlerOptions(opts...), + ) + billingServiceCancelSubscriptionHandler := connect.NewUnaryHandler( + BillingServiceCancelSubscriptionProcedure, + svc.CancelSubscription, + connect.WithSchema(billingServiceMethods.ByName("CancelSubscription")), + connect.WithHandlerOptions(opts...), + ) + billingServiceResumeSubscriptionHandler := connect.NewUnaryHandler( + BillingServiceResumeSubscriptionProcedure, + svc.ResumeSubscription, + connect.WithSchema(billingServiceMethods.ByName("ResumeSubscription")), + connect.WithHandlerOptions(opts...), + ) + billingServiceListInvoicesHandler := connect.NewUnaryHandler( + BillingServiceListInvoicesProcedure, + svc.ListInvoices, + connect.WithSchema(billingServiceMethods.ByName("ListInvoices")), + connect.WithHandlerOptions(opts...), + ) + billingServiceGetInvoiceHandler := connect.NewUnaryHandler( + BillingServiceGetInvoiceProcedure, + svc.GetInvoice, + connect.WithSchema(billingServiceMethods.ByName("GetInvoice")), + connect.WithHandlerOptions(opts...), + ) + billingServiceRetryInvoicePaymentHandler := connect.NewUnaryHandler( + BillingServiceRetryInvoicePaymentProcedure, + svc.RetryInvoicePayment, + connect.WithSchema(billingServiceMethods.ByName("RetryInvoicePayment")), + connect.WithHandlerOptions(opts...), + ) + billingServiceGetUsageHandler := connect.NewUnaryHandler( + BillingServiceGetUsageProcedure, + svc.GetUsage, + connect.WithSchema(billingServiceMethods.ByName("GetUsage")), + connect.WithHandlerOptions(opts...), + ) + billingServiceRecordUsageHandler := connect.NewUnaryHandler( + BillingServiceRecordUsageProcedure, + svc.RecordUsage, + connect.WithSchema(billingServiceMethods.ByName("RecordUsage")), + connect.WithHandlerOptions(opts...), + ) + billingServiceGetInstanceCapabilitiesHandler := connect.NewUnaryHandler( + BillingServiceGetInstanceCapabilitiesProcedure, + svc.GetInstanceCapabilities, + connect.WithSchema(billingServiceMethods.ByName("GetInstanceCapabilities")), + connect.WithHandlerOptions(opts...), + ) + billingServiceEnableFeatureHandler := connect.NewUnaryHandler( + BillingServiceEnableFeatureProcedure, + svc.EnableFeature, + connect.WithSchema(billingServiceMethods.ByName("EnableFeature")), + connect.WithHandlerOptions(opts...), + ) + billingServiceDisableFeatureHandler := connect.NewUnaryHandler( + BillingServiceDisableFeatureProcedure, + svc.DisableFeature, + connect.WithSchema(billingServiceMethods.ByName("DisableFeature")), + connect.WithHandlerOptions(opts...), + ) + billingServiceUpdatePlanFeaturesHandler := connect.NewUnaryHandler( + BillingServiceUpdatePlanFeaturesProcedure, + svc.UpdatePlanFeatures, + connect.WithSchema(billingServiceMethods.ByName("UpdatePlanFeatures")), + connect.WithHandlerOptions(opts...), + ) + billingServiceListAvailableFeaturesHandler := connect.NewUnaryHandler( + BillingServiceListAvailableFeaturesProcedure, + svc.ListAvailableFeatures, + connect.WithSchema(billingServiceMethods.ByName("ListAvailableFeatures")), + connect.WithHandlerOptions(opts...), + ) + billingServiceGetPlanHandler := connect.NewUnaryHandler( + BillingServiceGetPlanProcedure, + svc.GetPlan, + connect.WithSchema(billingServiceMethods.ByName("GetPlan")), + connect.WithHandlerOptions(opts...), + ) + billingServiceCreatePlanHandler := connect.NewUnaryHandler( + BillingServiceCreatePlanProcedure, + svc.CreatePlan, + connect.WithSchema(billingServiceMethods.ByName("CreatePlan")), + connect.WithHandlerOptions(opts...), + ) + billingServiceUpdatePlanHandler := connect.NewUnaryHandler( + BillingServiceUpdatePlanProcedure, + svc.UpdatePlan, + connect.WithSchema(billingServiceMethods.ByName("UpdatePlan")), + connect.WithHandlerOptions(opts...), + ) + billingServiceDeletePlanHandler := connect.NewUnaryHandler( + BillingServiceDeletePlanProcedure, + svc.DeletePlan, + connect.WithSchema(billingServiceMethods.ByName("DeletePlan")), + connect.WithHandlerOptions(opts...), + ) + billingServiceGetPlanDeletionImpactHandler := connect.NewUnaryHandler( + BillingServiceGetPlanDeletionImpactProcedure, + svc.GetPlanDeletionImpact, + connect.WithSchema(billingServiceMethods.ByName("GetPlanDeletionImpact")), + connect.WithHandlerOptions(opts...), + ) + billingServiceGetInstanceBillingSummaryHandler := connect.NewUnaryHandler( + BillingServiceGetInstanceBillingSummaryProcedure, + svc.GetInstanceBillingSummary, + connect.WithSchema(billingServiceMethods.ByName("GetInstanceBillingSummary")), + connect.WithHandlerOptions(opts...), + ) + billingServiceSetInstanceBillingExemptHandler := connect.NewUnaryHandler( + BillingServiceSetInstanceBillingExemptProcedure, + svc.SetInstanceBillingExempt, + connect.WithSchema(billingServiceMethods.ByName("SetInstanceBillingExempt")), + connect.WithHandlerOptions(opts...), + ) + billingServiceSetInstancePlanHandler := connect.NewUnaryHandler( + BillingServiceSetInstancePlanProcedure, + svc.SetInstancePlan, + connect.WithSchema(billingServiceMethods.ByName("SetInstancePlan")), + connect.WithHandlerOptions(opts...), + ) + billingServiceListCouponsHandler := connect.NewUnaryHandler( + BillingServiceListCouponsProcedure, + svc.ListCoupons, + connect.WithSchema(billingServiceMethods.ByName("ListCoupons")), + connect.WithHandlerOptions(opts...), + ) + billingServiceCreateCouponHandler := connect.NewUnaryHandler( + BillingServiceCreateCouponProcedure, + svc.CreateCoupon, + connect.WithSchema(billingServiceMethods.ByName("CreateCoupon")), + connect.WithHandlerOptions(opts...), + ) + billingServiceApplySubscriptionCouponHandler := connect.NewUnaryHandler( + BillingServiceApplySubscriptionCouponProcedure, + svc.ApplySubscriptionCoupon, + connect.WithSchema(billingServiceMethods.ByName("ApplySubscriptionCoupon")), + connect.WithHandlerOptions(opts...), + ) + billingServiceRemoveSubscriptionCouponHandler := connect.NewUnaryHandler( + BillingServiceRemoveSubscriptionCouponProcedure, + svc.RemoveSubscriptionCoupon, + connect.WithSchema(billingServiceMethods.ByName("RemoveSubscriptionCoupon")), + connect.WithHandlerOptions(opts...), + ) + billingServiceCreateSetupIntentHandler := connect.NewUnaryHandler( + BillingServiceCreateSetupIntentProcedure, + svc.CreateSetupIntent, + connect.WithSchema(billingServiceMethods.ByName("CreateSetupIntent")), + connect.WithHandlerOptions(opts...), + ) + billingServiceListPaymentMethodsHandler := connect.NewUnaryHandler( + BillingServiceListPaymentMethodsProcedure, + svc.ListPaymentMethods, + connect.WithSchema(billingServiceMethods.ByName("ListPaymentMethods")), + connect.WithHandlerOptions(opts...), + ) + billingServiceSetDefaultPaymentMethodHandler := connect.NewUnaryHandler( + BillingServiceSetDefaultPaymentMethodProcedure, + svc.SetDefaultPaymentMethod, + connect.WithSchema(billingServiceMethods.ByName("SetDefaultPaymentMethod")), + connect.WithHandlerOptions(opts...), + ) + billingServiceDetachPaymentMethodHandler := connect.NewUnaryHandler( + BillingServiceDetachPaymentMethodProcedure, + svc.DetachPaymentMethod, + connect.WithSchema(billingServiceMethods.ByName("DetachPaymentMethod")), + connect.WithHandlerOptions(opts...), + ) + billingServiceCompleteWelcomeCardSetupHandler := connect.NewUnaryHandler( + BillingServiceCompleteWelcomeCardSetupProcedure, + svc.CompleteWelcomeCardSetup, + connect.WithSchema(billingServiceMethods.ByName("CompleteWelcomeCardSetup")), + connect.WithHandlerOptions(opts...), + ) + billingServiceHasPaymentMethodHandler := connect.NewUnaryHandler( + BillingServiceHasPaymentMethodProcedure, + svc.HasPaymentMethod, + connect.WithSchema(billingServiceMethods.ByName("HasPaymentMethod")), + connect.WithHandlerOptions(opts...), + ) + billingServiceListAIPlansHandler := connect.NewUnaryHandler( + BillingServiceListAIPlansProcedure, + svc.ListAIPlans, + connect.WithSchema(billingServiceMethods.ByName("ListAIPlans")), + connect.WithHandlerOptions(opts...), + ) + billingServiceCreateAISubscriptionHandler := connect.NewUnaryHandler( + BillingServiceCreateAISubscriptionProcedure, + svc.CreateAISubscription, + connect.WithSchema(billingServiceMethods.ByName("CreateAISubscription")), + connect.WithHandlerOptions(opts...), + ) + billingServiceChangeAIPlanHandler := connect.NewUnaryHandler( + BillingServiceChangeAIPlanProcedure, + svc.ChangeAIPlan, + connect.WithSchema(billingServiceMethods.ByName("ChangeAIPlan")), + connect.WithHandlerOptions(opts...), + ) + billingServiceCancelAISubscriptionHandler := connect.NewUnaryHandler( + BillingServiceCancelAISubscriptionProcedure, + svc.CancelAISubscription, + connect.WithSchema(billingServiceMethods.ByName("CancelAISubscription")), + connect.WithHandlerOptions(opts...), + ) + billingServiceListAICreditPacksHandler := connect.NewUnaryHandler( + BillingServiceListAICreditPacksProcedure, + svc.ListAICreditPacks, + connect.WithSchema(billingServiceMethods.ByName("ListAICreditPacks")), + connect.WithHandlerOptions(opts...), + ) + billingServicePurchaseAICreditPackHandler := connect.NewUnaryHandler( + BillingServicePurchaseAICreditPackProcedure, + svc.PurchaseAICreditPack, + connect.WithSchema(billingServiceMethods.ByName("PurchaseAICreditPack")), + connect.WithHandlerOptions(opts...), + ) + billingServiceGrantAICreditHandler := connect.NewUnaryHandler( + BillingServiceGrantAICreditProcedure, + svc.GrantAICredit, + connect.WithSchema(billingServiceMethods.ByName("GrantAICredit")), + connect.WithHandlerOptions(opts...), + ) + billingServiceGetAIOverageSettingsHandler := connect.NewUnaryHandler( + BillingServiceGetAIOverageSettingsProcedure, + svc.GetAIOverageSettings, + connect.WithSchema(billingServiceMethods.ByName("GetAIOverageSettings")), + connect.WithHandlerOptions(opts...), + ) + billingServiceSetInstanceAIAccessHandler := connect.NewUnaryHandler( + BillingServiceSetInstanceAIAccessProcedure, + svc.SetInstanceAIAccess, + connect.WithSchema(billingServiceMethods.ByName("SetInstanceAIAccess")), + connect.WithHandlerOptions(opts...), + ) + billingServiceGetAccountAIUsageHandler := connect.NewUnaryHandler( + BillingServiceGetAccountAIUsageProcedure, + svc.GetAccountAIUsage, + connect.WithSchema(billingServiceMethods.ByName("GetAccountAIUsage")), + connect.WithHandlerOptions(opts...), + ) + billingServiceGetAIConsumptionReportHandler := connect.NewUnaryHandler( + BillingServiceGetAIConsumptionReportProcedure, + svc.GetAIConsumptionReport, + connect.WithSchema(billingServiceMethods.ByName("GetAIConsumptionReport")), + connect.WithHandlerOptions(opts...), + ) + billingServiceGetStripeConfigHandler := connect.NewUnaryHandler( + BillingServiceGetStripeConfigProcedure, + svc.GetStripeConfig, + connect.WithSchema(billingServiceMethods.ByName("GetStripeConfig")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.BillingService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case BillingServiceListPlansProcedure: + billingServiceListPlansHandler.ServeHTTP(w, r) + case BillingServiceListPublicPlansProcedure: + billingServiceListPublicPlansHandler.ServeHTTP(w, r) + case BillingServiceListAccountSubscriptionsProcedure: + billingServiceListAccountSubscriptionsHandler.ServeHTTP(w, r) + case BillingServiceCreateSubscriptionProcedure: + billingServiceCreateSubscriptionHandler.ServeHTTP(w, r) + case BillingServiceChangePlanProcedure: + billingServiceChangePlanHandler.ServeHTTP(w, r) + case BillingServiceCancelSubscriptionProcedure: + billingServiceCancelSubscriptionHandler.ServeHTTP(w, r) + case BillingServiceResumeSubscriptionProcedure: + billingServiceResumeSubscriptionHandler.ServeHTTP(w, r) + case BillingServiceListInvoicesProcedure: + billingServiceListInvoicesHandler.ServeHTTP(w, r) + case BillingServiceGetInvoiceProcedure: + billingServiceGetInvoiceHandler.ServeHTTP(w, r) + case BillingServiceRetryInvoicePaymentProcedure: + billingServiceRetryInvoicePaymentHandler.ServeHTTP(w, r) + case BillingServiceGetUsageProcedure: + billingServiceGetUsageHandler.ServeHTTP(w, r) + case BillingServiceRecordUsageProcedure: + billingServiceRecordUsageHandler.ServeHTTP(w, r) + case BillingServiceGetInstanceCapabilitiesProcedure: + billingServiceGetInstanceCapabilitiesHandler.ServeHTTP(w, r) + case BillingServiceEnableFeatureProcedure: + billingServiceEnableFeatureHandler.ServeHTTP(w, r) + case BillingServiceDisableFeatureProcedure: + billingServiceDisableFeatureHandler.ServeHTTP(w, r) + case BillingServiceUpdatePlanFeaturesProcedure: + billingServiceUpdatePlanFeaturesHandler.ServeHTTP(w, r) + case BillingServiceListAvailableFeaturesProcedure: + billingServiceListAvailableFeaturesHandler.ServeHTTP(w, r) + case BillingServiceGetPlanProcedure: + billingServiceGetPlanHandler.ServeHTTP(w, r) + case BillingServiceCreatePlanProcedure: + billingServiceCreatePlanHandler.ServeHTTP(w, r) + case BillingServiceUpdatePlanProcedure: + billingServiceUpdatePlanHandler.ServeHTTP(w, r) + case BillingServiceDeletePlanProcedure: + billingServiceDeletePlanHandler.ServeHTTP(w, r) + case BillingServiceGetPlanDeletionImpactProcedure: + billingServiceGetPlanDeletionImpactHandler.ServeHTTP(w, r) + case BillingServiceGetInstanceBillingSummaryProcedure: + billingServiceGetInstanceBillingSummaryHandler.ServeHTTP(w, r) + case BillingServiceSetInstanceBillingExemptProcedure: + billingServiceSetInstanceBillingExemptHandler.ServeHTTP(w, r) + case BillingServiceSetInstancePlanProcedure: + billingServiceSetInstancePlanHandler.ServeHTTP(w, r) + case BillingServiceListCouponsProcedure: + billingServiceListCouponsHandler.ServeHTTP(w, r) + case BillingServiceCreateCouponProcedure: + billingServiceCreateCouponHandler.ServeHTTP(w, r) + case BillingServiceApplySubscriptionCouponProcedure: + billingServiceApplySubscriptionCouponHandler.ServeHTTP(w, r) + case BillingServiceRemoveSubscriptionCouponProcedure: + billingServiceRemoveSubscriptionCouponHandler.ServeHTTP(w, r) + case BillingServiceCreateSetupIntentProcedure: + billingServiceCreateSetupIntentHandler.ServeHTTP(w, r) + case BillingServiceListPaymentMethodsProcedure: + billingServiceListPaymentMethodsHandler.ServeHTTP(w, r) + case BillingServiceSetDefaultPaymentMethodProcedure: + billingServiceSetDefaultPaymentMethodHandler.ServeHTTP(w, r) + case BillingServiceDetachPaymentMethodProcedure: + billingServiceDetachPaymentMethodHandler.ServeHTTP(w, r) + case BillingServiceCompleteWelcomeCardSetupProcedure: + billingServiceCompleteWelcomeCardSetupHandler.ServeHTTP(w, r) + case BillingServiceHasPaymentMethodProcedure: + billingServiceHasPaymentMethodHandler.ServeHTTP(w, r) + case BillingServiceListAIPlansProcedure: + billingServiceListAIPlansHandler.ServeHTTP(w, r) + case BillingServiceCreateAISubscriptionProcedure: + billingServiceCreateAISubscriptionHandler.ServeHTTP(w, r) + case BillingServiceChangeAIPlanProcedure: + billingServiceChangeAIPlanHandler.ServeHTTP(w, r) + case BillingServiceCancelAISubscriptionProcedure: + billingServiceCancelAISubscriptionHandler.ServeHTTP(w, r) + case BillingServiceListAICreditPacksProcedure: + billingServiceListAICreditPacksHandler.ServeHTTP(w, r) + case BillingServicePurchaseAICreditPackProcedure: + billingServicePurchaseAICreditPackHandler.ServeHTTP(w, r) + case BillingServiceGrantAICreditProcedure: + billingServiceGrantAICreditHandler.ServeHTTP(w, r) + case BillingServiceGetAIOverageSettingsProcedure: + billingServiceGetAIOverageSettingsHandler.ServeHTTP(w, r) + case BillingServiceSetInstanceAIAccessProcedure: + billingServiceSetInstanceAIAccessHandler.ServeHTTP(w, r) + case BillingServiceGetAccountAIUsageProcedure: + billingServiceGetAccountAIUsageHandler.ServeHTTP(w, r) + case BillingServiceGetAIConsumptionReportProcedure: + billingServiceGetAIConsumptionReportHandler.ServeHTTP(w, r) + case BillingServiceGetStripeConfigProcedure: + billingServiceGetStripeConfigHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedBillingServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedBillingServiceHandler struct{} + +func (UnimplementedBillingServiceHandler) ListPlans(context.Context, *connect.Request[v1.ListPlansRequest]) (*connect.Response[v1.ListPlansResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.ListPlans is not implemented")) +} + +func (UnimplementedBillingServiceHandler) ListPublicPlans(context.Context, *connect.Request[v1.ListPublicPlansRequest]) (*connect.Response[v1.ListPublicPlansResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.ListPublicPlans is not implemented")) +} + +func (UnimplementedBillingServiceHandler) ListAccountSubscriptions(context.Context, *connect.Request[v1.ListAccountSubscriptionsRequest]) (*connect.Response[v1.ListAccountSubscriptionsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.ListAccountSubscriptions is not implemented")) +} + +func (UnimplementedBillingServiceHandler) CreateSubscription(context.Context, *connect.Request[v1.CreateSubscriptionRequest]) (*connect.Response[v1.CreateSubscriptionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.CreateSubscription is not implemented")) +} + +func (UnimplementedBillingServiceHandler) ChangePlan(context.Context, *connect.Request[v1.ChangePlanRequest]) (*connect.Response[v1.ChangePlanResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.ChangePlan is not implemented")) +} + +func (UnimplementedBillingServiceHandler) CancelSubscription(context.Context, *connect.Request[v1.CancelSubscriptionRequest]) (*connect.Response[v1.CancelSubscriptionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.CancelSubscription is not implemented")) +} + +func (UnimplementedBillingServiceHandler) ResumeSubscription(context.Context, *connect.Request[v1.ResumeSubscriptionRequest]) (*connect.Response[v1.ResumeSubscriptionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.ResumeSubscription is not implemented")) +} + +func (UnimplementedBillingServiceHandler) ListInvoices(context.Context, *connect.Request[v1.ListInvoicesRequest]) (*connect.Response[v1.ListInvoicesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.ListInvoices is not implemented")) +} + +func (UnimplementedBillingServiceHandler) GetInvoice(context.Context, *connect.Request[v1.GetInvoiceRequest]) (*connect.Response[v1.GetInvoiceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.GetInvoice is not implemented")) +} + +func (UnimplementedBillingServiceHandler) RetryInvoicePayment(context.Context, *connect.Request[v1.RetryInvoicePaymentRequest]) (*connect.Response[v1.RetryInvoicePaymentResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.RetryInvoicePayment is not implemented")) +} + +func (UnimplementedBillingServiceHandler) GetUsage(context.Context, *connect.Request[v1.GetUsageRequest]) (*connect.Response[v1.GetUsageResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.GetUsage is not implemented")) +} + +func (UnimplementedBillingServiceHandler) RecordUsage(context.Context, *connect.Request[v1.RecordUsageRequest]) (*connect.Response[v1.RecordUsageResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.RecordUsage is not implemented")) +} + +func (UnimplementedBillingServiceHandler) GetInstanceCapabilities(context.Context, *connect.Request[v1.GetInstanceCapabilitiesRequest]) (*connect.Response[v1.GetInstanceCapabilitiesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.GetInstanceCapabilities is not implemented")) +} + +func (UnimplementedBillingServiceHandler) EnableFeature(context.Context, *connect.Request[v1.EnableFeatureRequest]) (*connect.Response[v1.EnableFeatureResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.EnableFeature is not implemented")) +} + +func (UnimplementedBillingServiceHandler) DisableFeature(context.Context, *connect.Request[v1.DisableFeatureRequest]) (*connect.Response[v1.DisableFeatureResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.DisableFeature is not implemented")) +} + +func (UnimplementedBillingServiceHandler) UpdatePlanFeatures(context.Context, *connect.Request[v1.UpdatePlanFeaturesRequest]) (*connect.Response[v1.UpdatePlanFeaturesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.UpdatePlanFeatures is not implemented")) +} + +func (UnimplementedBillingServiceHandler) ListAvailableFeatures(context.Context, *connect.Request[v1.ListAvailableFeaturesRequest]) (*connect.Response[v1.ListAvailableFeaturesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.ListAvailableFeatures is not implemented")) +} + +func (UnimplementedBillingServiceHandler) GetPlan(context.Context, *connect.Request[v1.GetPlanRequest]) (*connect.Response[v1.GetPlanResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.GetPlan is not implemented")) +} + +func (UnimplementedBillingServiceHandler) CreatePlan(context.Context, *connect.Request[v1.CreatePlanRequest]) (*connect.Response[v1.CreatePlanResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.CreatePlan is not implemented")) +} + +func (UnimplementedBillingServiceHandler) UpdatePlan(context.Context, *connect.Request[v1.UpdatePlanRequest]) (*connect.Response[v1.UpdatePlanResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.UpdatePlan is not implemented")) +} + +func (UnimplementedBillingServiceHandler) DeletePlan(context.Context, *connect.Request[v1.DeletePlanRequest]) (*connect.Response[v1.DeletePlanResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.DeletePlan is not implemented")) +} + +func (UnimplementedBillingServiceHandler) GetPlanDeletionImpact(context.Context, *connect.Request[v1.GetPlanDeletionImpactRequest]) (*connect.Response[v1.GetPlanDeletionImpactResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.GetPlanDeletionImpact is not implemented")) +} + +func (UnimplementedBillingServiceHandler) GetInstanceBillingSummary(context.Context, *connect.Request[v1.GetInstanceBillingSummaryRequest]) (*connect.Response[v1.GetInstanceBillingSummaryResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.GetInstanceBillingSummary is not implemented")) +} + +func (UnimplementedBillingServiceHandler) SetInstanceBillingExempt(context.Context, *connect.Request[v1.SetInstanceBillingExemptRequest]) (*connect.Response[v1.SetInstanceBillingExemptResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.SetInstanceBillingExempt is not implemented")) +} + +func (UnimplementedBillingServiceHandler) SetInstancePlan(context.Context, *connect.Request[v1.SetInstancePlanRequest]) (*connect.Response[v1.SetInstancePlanResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.SetInstancePlan is not implemented")) +} + +func (UnimplementedBillingServiceHandler) ListCoupons(context.Context, *connect.Request[v1.ListCouponsRequest]) (*connect.Response[v1.ListCouponsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.ListCoupons is not implemented")) +} + +func (UnimplementedBillingServiceHandler) CreateCoupon(context.Context, *connect.Request[v1.CreateCouponRequest]) (*connect.Response[v1.CreateCouponResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.CreateCoupon is not implemented")) +} + +func (UnimplementedBillingServiceHandler) ApplySubscriptionCoupon(context.Context, *connect.Request[v1.ApplySubscriptionCouponRequest]) (*connect.Response[v1.ApplySubscriptionCouponResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.ApplySubscriptionCoupon is not implemented")) +} + +func (UnimplementedBillingServiceHandler) RemoveSubscriptionCoupon(context.Context, *connect.Request[v1.RemoveSubscriptionCouponRequest]) (*connect.Response[v1.RemoveSubscriptionCouponResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.RemoveSubscriptionCoupon is not implemented")) +} + +func (UnimplementedBillingServiceHandler) CreateSetupIntent(context.Context, *connect.Request[v1.CreateSetupIntentRequest]) (*connect.Response[v1.CreateSetupIntentResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.CreateSetupIntent is not implemented")) +} + +func (UnimplementedBillingServiceHandler) ListPaymentMethods(context.Context, *connect.Request[v1.ListPaymentMethodsRequest]) (*connect.Response[v1.ListPaymentMethodsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.ListPaymentMethods is not implemented")) +} + +func (UnimplementedBillingServiceHandler) SetDefaultPaymentMethod(context.Context, *connect.Request[v1.SetDefaultPaymentMethodRequest]) (*connect.Response[v1.SetDefaultPaymentMethodResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.SetDefaultPaymentMethod is not implemented")) +} + +func (UnimplementedBillingServiceHandler) DetachPaymentMethod(context.Context, *connect.Request[v1.DetachPaymentMethodRequest]) (*connect.Response[v1.DetachPaymentMethodResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.DetachPaymentMethod is not implemented")) +} + +func (UnimplementedBillingServiceHandler) CompleteWelcomeCardSetup(context.Context, *connect.Request[v1.CompleteWelcomeCardSetupRequest]) (*connect.Response[v1.CompleteWelcomeCardSetupResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.CompleteWelcomeCardSetup is not implemented")) +} + +func (UnimplementedBillingServiceHandler) HasPaymentMethod(context.Context, *connect.Request[v1.HasPaymentMethodRequest]) (*connect.Response[v1.HasPaymentMethodResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.HasPaymentMethod is not implemented")) +} + +func (UnimplementedBillingServiceHandler) ListAIPlans(context.Context, *connect.Request[v1.ListAIPlansRequest]) (*connect.Response[v1.ListAIPlansResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.ListAIPlans is not implemented")) +} + +func (UnimplementedBillingServiceHandler) CreateAISubscription(context.Context, *connect.Request[v1.CreateAISubscriptionRequest]) (*connect.Response[v1.CreateAISubscriptionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.CreateAISubscription is not implemented")) +} + +func (UnimplementedBillingServiceHandler) ChangeAIPlan(context.Context, *connect.Request[v1.ChangeAIPlanRequest]) (*connect.Response[v1.ChangeAIPlanResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.ChangeAIPlan is not implemented")) +} + +func (UnimplementedBillingServiceHandler) CancelAISubscription(context.Context, *connect.Request[v1.CancelAISubscriptionRequest]) (*connect.Response[v1.CancelAISubscriptionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.CancelAISubscription is not implemented")) +} + +func (UnimplementedBillingServiceHandler) ListAICreditPacks(context.Context, *connect.Request[v1.ListAICreditPacksRequest]) (*connect.Response[v1.ListAICreditPacksResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.ListAICreditPacks is not implemented")) +} + +func (UnimplementedBillingServiceHandler) PurchaseAICreditPack(context.Context, *connect.Request[v1.PurchaseAICreditPackRequest]) (*connect.Response[v1.PurchaseAICreditPackResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.PurchaseAICreditPack is not implemented")) +} + +func (UnimplementedBillingServiceHandler) GrantAICredit(context.Context, *connect.Request[v1.GrantAICreditRequest]) (*connect.Response[v1.GrantAICreditResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.GrantAICredit is not implemented")) +} + +func (UnimplementedBillingServiceHandler) GetAIOverageSettings(context.Context, *connect.Request[v1.GetAIOverageSettingsRequest]) (*connect.Response[v1.GetAIOverageSettingsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.GetAIOverageSettings is not implemented")) +} + +func (UnimplementedBillingServiceHandler) SetInstanceAIAccess(context.Context, *connect.Request[v1.SetInstanceAIAccessRequest]) (*connect.Response[v1.SetInstanceAIAccessResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.SetInstanceAIAccess is not implemented")) +} + +func (UnimplementedBillingServiceHandler) GetAccountAIUsage(context.Context, *connect.Request[v1.GetAccountAIUsageRequest]) (*connect.Response[v1.GetAccountAIUsageResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.GetAccountAIUsage is not implemented")) +} + +func (UnimplementedBillingServiceHandler) GetAIConsumptionReport(context.Context, *connect.Request[v1.GetAIConsumptionReportRequest]) (*connect.Response[v1.GetAIConsumptionReportResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.GetAIConsumptionReport is not implemented")) +} + +func (UnimplementedBillingServiceHandler) GetStripeConfig(context.Context, *connect.Request[v1.GetStripeConfigRequest]) (*connect.Response[v1.GetStripeConfigResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.GetStripeConfig is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/dns.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/dns.connect.go new file mode 100644 index 0000000..30de569 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/dns.connect.go @@ -0,0 +1,543 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/dns.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // DNSServiceName is the fully-qualified name of the DNSService service. + DNSServiceName = "orchestrator.v1.DNSService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // DNSServiceEnableDNSHostingProcedure is the fully-qualified name of the DNSService's + // EnableDNSHosting RPC. + DNSServiceEnableDNSHostingProcedure = "/orchestrator.v1.DNSService/EnableDNSHosting" + // DNSServiceDisableDNSHostingProcedure is the fully-qualified name of the DNSService's + // DisableDNSHosting RPC. + DNSServiceDisableDNSHostingProcedure = "/orchestrator.v1.DNSService/DisableDNSHosting" + // DNSServiceCheckDelegationProcedure is the fully-qualified name of the DNSService's + // CheckDelegation RPC. + DNSServiceCheckDelegationProcedure = "/orchestrator.v1.DNSService/CheckDelegation" + // DNSServiceGetZoneProcedure is the fully-qualified name of the DNSService's GetZone RPC. + DNSServiceGetZoneProcedure = "/orchestrator.v1.DNSService/GetZone" + // DNSServiceGetPlatformZoneProcedure is the fully-qualified name of the DNSService's + // GetPlatformZone RPC. + DNSServiceGetPlatformZoneProcedure = "/orchestrator.v1.DNSService/GetPlatformZone" + // DNSServiceListRecordsProcedure is the fully-qualified name of the DNSService's ListRecords RPC. + DNSServiceListRecordsProcedure = "/orchestrator.v1.DNSService/ListRecords" + // DNSServiceCreateRecordProcedure is the fully-qualified name of the DNSService's CreateRecord RPC. + DNSServiceCreateRecordProcedure = "/orchestrator.v1.DNSService/CreateRecord" + // DNSServiceUpdateRecordProcedure is the fully-qualified name of the DNSService's UpdateRecord RPC. + DNSServiceUpdateRecordProcedure = "/orchestrator.v1.DNSService/UpdateRecord" + // DNSServiceDeleteRecordProcedure is the fully-qualified name of the DNSService's DeleteRecord RPC. + DNSServiceDeleteRecordProcedure = "/orchestrator.v1.DNSService/DeleteRecord" + // DNSServicePreviewRecordChangeProcedure is the fully-qualified name of the DNSService's + // PreviewRecordChange RPC. + DNSServicePreviewRecordChangeProcedure = "/orchestrator.v1.DNSService/PreviewRecordChange" + // DNSServiceRetryFailedDNSChangesProcedure is the fully-qualified name of the DNSService's + // RetryFailedDNSChanges RPC. + DNSServiceRetryFailedDNSChangesProcedure = "/orchestrator.v1.DNSService/RetryFailedDNSChanges" + // DNSServiceProvisionNameserverProcedure is the fully-qualified name of the DNSService's + // ProvisionNameserver RPC. + DNSServiceProvisionNameserverProcedure = "/orchestrator.v1.DNSService/ProvisionNameserver" + // DNSServiceListNameserversProcedure is the fully-qualified name of the DNSService's + // ListNameservers RPC. + DNSServiceListNameserversProcedure = "/orchestrator.v1.DNSService/ListNameservers" + // DNSServiceGetNameserverInstallScriptProcedure is the fully-qualified name of the DNSService's + // GetNameserverInstallScript RPC. + DNSServiceGetNameserverInstallScriptProcedure = "/orchestrator.v1.DNSService/GetNameserverInstallScript" + // DNSServiceDecommissionNameserverProcedure is the fully-qualified name of the DNSService's + // DecommissionNameserver RPC. + DNSServiceDecommissionNameserverProcedure = "/orchestrator.v1.DNSService/DecommissionNameserver" + // DNSServiceGeneratePrimaryInstallScriptProcedure is the fully-qualified name of the DNSService's + // GeneratePrimaryInstallScript RPC. + DNSServiceGeneratePrimaryInstallScriptProcedure = "/orchestrator.v1.DNSService/GeneratePrimaryInstallScript" +) + +// DNSServiceClient is a client for the orchestrator.v1.DNSService service. +type DNSServiceClient interface { + EnableDNSHosting(context.Context, *connect.Request[v1.EnableDNSHostingRequest]) (*connect.Response[v1.EnableDNSHostingResponse], error) + DisableDNSHosting(context.Context, *connect.Request[v1.DisableDNSHostingRequest]) (*connect.Response[v1.DisableDNSHostingResponse], error) + CheckDelegation(context.Context, *connect.Request[v1.CheckDelegationRequest]) (*connect.Response[v1.CheckDelegationResponse], error) + GetZone(context.Context, *connect.Request[v1.GetZoneRequest]) (*connect.Response[v1.GetZoneResponse], error) + GetPlatformZone(context.Context, *connect.Request[v1.GetPlatformZoneRequest]) (*connect.Response[v1.GetPlatformZoneResponse], error) + ListRecords(context.Context, *connect.Request[v1.ListRecordsRequest]) (*connect.Response[v1.ListRecordsResponse], error) + CreateRecord(context.Context, *connect.Request[v1.CreateRecordRequest]) (*connect.Response[v1.CreateRecordResponse], error) + UpdateRecord(context.Context, *connect.Request[v1.UpdateRecordRequest]) (*connect.Response[v1.UpdateRecordResponse], error) + DeleteRecord(context.Context, *connect.Request[v1.DeleteRecordRequest]) (*connect.Response[v1.DeleteRecordResponse], error) + PreviewRecordChange(context.Context, *connect.Request[v1.PreviewRecordChangeRequest]) (*connect.Response[v1.PreviewRecordChangeResponse], error) + // Re-enqueue permanently failed DNS changes (superadmin only) + RetryFailedDNSChanges(context.Context, *connect.Request[v1.RetryFailedDNSChangesRequest]) (*connect.Response[v1.RetryFailedDNSChangesResponse], error) + // Nameserver management (superadmin only) + ProvisionNameserver(context.Context, *connect.Request[v1.ProvisionNameserverRequest]) (*connect.Response[v1.ProvisionNameserverResponse], error) + ListNameservers(context.Context, *connect.Request[v1.ListNameserversRequest]) (*connect.Response[v1.ListNameserversResponse], error) + GetNameserverInstallScript(context.Context, *connect.Request[v1.GetNameserverInstallScriptRequest]) (*connect.Response[v1.GetNameserverInstallScriptResponse], error) + DecommissionNameserver(context.Context, *connect.Request[v1.DecommissionNameserverRequest]) (*connect.Response[v1.DecommissionNameserverResponse], error) + GeneratePrimaryInstallScript(context.Context, *connect.Request[v1.GeneratePrimaryInstallScriptRequest]) (*connect.Response[v1.GeneratePrimaryInstallScriptResponse], error) +} + +// NewDNSServiceClient constructs a client for the orchestrator.v1.DNSService service. By default, +// it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and +// sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() +// or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewDNSServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) DNSServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + dNSServiceMethods := v1.File_orchestrator_v1_dns_proto.Services().ByName("DNSService").Methods() + return &dNSServiceClient{ + enableDNSHosting: connect.NewClient[v1.EnableDNSHostingRequest, v1.EnableDNSHostingResponse]( + httpClient, + baseURL+DNSServiceEnableDNSHostingProcedure, + connect.WithSchema(dNSServiceMethods.ByName("EnableDNSHosting")), + connect.WithClientOptions(opts...), + ), + disableDNSHosting: connect.NewClient[v1.DisableDNSHostingRequest, v1.DisableDNSHostingResponse]( + httpClient, + baseURL+DNSServiceDisableDNSHostingProcedure, + connect.WithSchema(dNSServiceMethods.ByName("DisableDNSHosting")), + connect.WithClientOptions(opts...), + ), + checkDelegation: connect.NewClient[v1.CheckDelegationRequest, v1.CheckDelegationResponse]( + httpClient, + baseURL+DNSServiceCheckDelegationProcedure, + connect.WithSchema(dNSServiceMethods.ByName("CheckDelegation")), + connect.WithClientOptions(opts...), + ), + getZone: connect.NewClient[v1.GetZoneRequest, v1.GetZoneResponse]( + httpClient, + baseURL+DNSServiceGetZoneProcedure, + connect.WithSchema(dNSServiceMethods.ByName("GetZone")), + connect.WithClientOptions(opts...), + ), + getPlatformZone: connect.NewClient[v1.GetPlatformZoneRequest, v1.GetPlatformZoneResponse]( + httpClient, + baseURL+DNSServiceGetPlatformZoneProcedure, + connect.WithSchema(dNSServiceMethods.ByName("GetPlatformZone")), + connect.WithClientOptions(opts...), + ), + listRecords: connect.NewClient[v1.ListRecordsRequest, v1.ListRecordsResponse]( + httpClient, + baseURL+DNSServiceListRecordsProcedure, + connect.WithSchema(dNSServiceMethods.ByName("ListRecords")), + connect.WithClientOptions(opts...), + ), + createRecord: connect.NewClient[v1.CreateRecordRequest, v1.CreateRecordResponse]( + httpClient, + baseURL+DNSServiceCreateRecordProcedure, + connect.WithSchema(dNSServiceMethods.ByName("CreateRecord")), + connect.WithClientOptions(opts...), + ), + updateRecord: connect.NewClient[v1.UpdateRecordRequest, v1.UpdateRecordResponse]( + httpClient, + baseURL+DNSServiceUpdateRecordProcedure, + connect.WithSchema(dNSServiceMethods.ByName("UpdateRecord")), + connect.WithClientOptions(opts...), + ), + deleteRecord: connect.NewClient[v1.DeleteRecordRequest, v1.DeleteRecordResponse]( + httpClient, + baseURL+DNSServiceDeleteRecordProcedure, + connect.WithSchema(dNSServiceMethods.ByName("DeleteRecord")), + connect.WithClientOptions(opts...), + ), + previewRecordChange: connect.NewClient[v1.PreviewRecordChangeRequest, v1.PreviewRecordChangeResponse]( + httpClient, + baseURL+DNSServicePreviewRecordChangeProcedure, + connect.WithSchema(dNSServiceMethods.ByName("PreviewRecordChange")), + connect.WithClientOptions(opts...), + ), + retryFailedDNSChanges: connect.NewClient[v1.RetryFailedDNSChangesRequest, v1.RetryFailedDNSChangesResponse]( + httpClient, + baseURL+DNSServiceRetryFailedDNSChangesProcedure, + connect.WithSchema(dNSServiceMethods.ByName("RetryFailedDNSChanges")), + connect.WithClientOptions(opts...), + ), + provisionNameserver: connect.NewClient[v1.ProvisionNameserverRequest, v1.ProvisionNameserverResponse]( + httpClient, + baseURL+DNSServiceProvisionNameserverProcedure, + connect.WithSchema(dNSServiceMethods.ByName("ProvisionNameserver")), + connect.WithClientOptions(opts...), + ), + listNameservers: connect.NewClient[v1.ListNameserversRequest, v1.ListNameserversResponse]( + httpClient, + baseURL+DNSServiceListNameserversProcedure, + connect.WithSchema(dNSServiceMethods.ByName("ListNameservers")), + connect.WithClientOptions(opts...), + ), + getNameserverInstallScript: connect.NewClient[v1.GetNameserverInstallScriptRequest, v1.GetNameserverInstallScriptResponse]( + httpClient, + baseURL+DNSServiceGetNameserverInstallScriptProcedure, + connect.WithSchema(dNSServiceMethods.ByName("GetNameserverInstallScript")), + connect.WithClientOptions(opts...), + ), + decommissionNameserver: connect.NewClient[v1.DecommissionNameserverRequest, v1.DecommissionNameserverResponse]( + httpClient, + baseURL+DNSServiceDecommissionNameserverProcedure, + connect.WithSchema(dNSServiceMethods.ByName("DecommissionNameserver")), + connect.WithClientOptions(opts...), + ), + generatePrimaryInstallScript: connect.NewClient[v1.GeneratePrimaryInstallScriptRequest, v1.GeneratePrimaryInstallScriptResponse]( + httpClient, + baseURL+DNSServiceGeneratePrimaryInstallScriptProcedure, + connect.WithSchema(dNSServiceMethods.ByName("GeneratePrimaryInstallScript")), + connect.WithClientOptions(opts...), + ), + } +} + +// dNSServiceClient implements DNSServiceClient. +type dNSServiceClient struct { + enableDNSHosting *connect.Client[v1.EnableDNSHostingRequest, v1.EnableDNSHostingResponse] + disableDNSHosting *connect.Client[v1.DisableDNSHostingRequest, v1.DisableDNSHostingResponse] + checkDelegation *connect.Client[v1.CheckDelegationRequest, v1.CheckDelegationResponse] + getZone *connect.Client[v1.GetZoneRequest, v1.GetZoneResponse] + getPlatformZone *connect.Client[v1.GetPlatformZoneRequest, v1.GetPlatformZoneResponse] + listRecords *connect.Client[v1.ListRecordsRequest, v1.ListRecordsResponse] + createRecord *connect.Client[v1.CreateRecordRequest, v1.CreateRecordResponse] + updateRecord *connect.Client[v1.UpdateRecordRequest, v1.UpdateRecordResponse] + deleteRecord *connect.Client[v1.DeleteRecordRequest, v1.DeleteRecordResponse] + previewRecordChange *connect.Client[v1.PreviewRecordChangeRequest, v1.PreviewRecordChangeResponse] + retryFailedDNSChanges *connect.Client[v1.RetryFailedDNSChangesRequest, v1.RetryFailedDNSChangesResponse] + provisionNameserver *connect.Client[v1.ProvisionNameserverRequest, v1.ProvisionNameserverResponse] + listNameservers *connect.Client[v1.ListNameserversRequest, v1.ListNameserversResponse] + getNameserverInstallScript *connect.Client[v1.GetNameserverInstallScriptRequest, v1.GetNameserverInstallScriptResponse] + decommissionNameserver *connect.Client[v1.DecommissionNameserverRequest, v1.DecommissionNameserverResponse] + generatePrimaryInstallScript *connect.Client[v1.GeneratePrimaryInstallScriptRequest, v1.GeneratePrimaryInstallScriptResponse] +} + +// EnableDNSHosting calls orchestrator.v1.DNSService.EnableDNSHosting. +func (c *dNSServiceClient) EnableDNSHosting(ctx context.Context, req *connect.Request[v1.EnableDNSHostingRequest]) (*connect.Response[v1.EnableDNSHostingResponse], error) { + return c.enableDNSHosting.CallUnary(ctx, req) +} + +// DisableDNSHosting calls orchestrator.v1.DNSService.DisableDNSHosting. +func (c *dNSServiceClient) DisableDNSHosting(ctx context.Context, req *connect.Request[v1.DisableDNSHostingRequest]) (*connect.Response[v1.DisableDNSHostingResponse], error) { + return c.disableDNSHosting.CallUnary(ctx, req) +} + +// CheckDelegation calls orchestrator.v1.DNSService.CheckDelegation. +func (c *dNSServiceClient) CheckDelegation(ctx context.Context, req *connect.Request[v1.CheckDelegationRequest]) (*connect.Response[v1.CheckDelegationResponse], error) { + return c.checkDelegation.CallUnary(ctx, req) +} + +// GetZone calls orchestrator.v1.DNSService.GetZone. +func (c *dNSServiceClient) GetZone(ctx context.Context, req *connect.Request[v1.GetZoneRequest]) (*connect.Response[v1.GetZoneResponse], error) { + return c.getZone.CallUnary(ctx, req) +} + +// GetPlatformZone calls orchestrator.v1.DNSService.GetPlatformZone. +func (c *dNSServiceClient) GetPlatformZone(ctx context.Context, req *connect.Request[v1.GetPlatformZoneRequest]) (*connect.Response[v1.GetPlatformZoneResponse], error) { + return c.getPlatformZone.CallUnary(ctx, req) +} + +// ListRecords calls orchestrator.v1.DNSService.ListRecords. +func (c *dNSServiceClient) ListRecords(ctx context.Context, req *connect.Request[v1.ListRecordsRequest]) (*connect.Response[v1.ListRecordsResponse], error) { + return c.listRecords.CallUnary(ctx, req) +} + +// CreateRecord calls orchestrator.v1.DNSService.CreateRecord. +func (c *dNSServiceClient) CreateRecord(ctx context.Context, req *connect.Request[v1.CreateRecordRequest]) (*connect.Response[v1.CreateRecordResponse], error) { + return c.createRecord.CallUnary(ctx, req) +} + +// UpdateRecord calls orchestrator.v1.DNSService.UpdateRecord. +func (c *dNSServiceClient) UpdateRecord(ctx context.Context, req *connect.Request[v1.UpdateRecordRequest]) (*connect.Response[v1.UpdateRecordResponse], error) { + return c.updateRecord.CallUnary(ctx, req) +} + +// DeleteRecord calls orchestrator.v1.DNSService.DeleteRecord. +func (c *dNSServiceClient) DeleteRecord(ctx context.Context, req *connect.Request[v1.DeleteRecordRequest]) (*connect.Response[v1.DeleteRecordResponse], error) { + return c.deleteRecord.CallUnary(ctx, req) +} + +// PreviewRecordChange calls orchestrator.v1.DNSService.PreviewRecordChange. +func (c *dNSServiceClient) PreviewRecordChange(ctx context.Context, req *connect.Request[v1.PreviewRecordChangeRequest]) (*connect.Response[v1.PreviewRecordChangeResponse], error) { + return c.previewRecordChange.CallUnary(ctx, req) +} + +// RetryFailedDNSChanges calls orchestrator.v1.DNSService.RetryFailedDNSChanges. +func (c *dNSServiceClient) RetryFailedDNSChanges(ctx context.Context, req *connect.Request[v1.RetryFailedDNSChangesRequest]) (*connect.Response[v1.RetryFailedDNSChangesResponse], error) { + return c.retryFailedDNSChanges.CallUnary(ctx, req) +} + +// ProvisionNameserver calls orchestrator.v1.DNSService.ProvisionNameserver. +func (c *dNSServiceClient) ProvisionNameserver(ctx context.Context, req *connect.Request[v1.ProvisionNameserverRequest]) (*connect.Response[v1.ProvisionNameserverResponse], error) { + return c.provisionNameserver.CallUnary(ctx, req) +} + +// ListNameservers calls orchestrator.v1.DNSService.ListNameservers. +func (c *dNSServiceClient) ListNameservers(ctx context.Context, req *connect.Request[v1.ListNameserversRequest]) (*connect.Response[v1.ListNameserversResponse], error) { + return c.listNameservers.CallUnary(ctx, req) +} + +// GetNameserverInstallScript calls orchestrator.v1.DNSService.GetNameserverInstallScript. +func (c *dNSServiceClient) GetNameserverInstallScript(ctx context.Context, req *connect.Request[v1.GetNameserverInstallScriptRequest]) (*connect.Response[v1.GetNameserverInstallScriptResponse], error) { + return c.getNameserverInstallScript.CallUnary(ctx, req) +} + +// DecommissionNameserver calls orchestrator.v1.DNSService.DecommissionNameserver. +func (c *dNSServiceClient) DecommissionNameserver(ctx context.Context, req *connect.Request[v1.DecommissionNameserverRequest]) (*connect.Response[v1.DecommissionNameserverResponse], error) { + return c.decommissionNameserver.CallUnary(ctx, req) +} + +// GeneratePrimaryInstallScript calls orchestrator.v1.DNSService.GeneratePrimaryInstallScript. +func (c *dNSServiceClient) GeneratePrimaryInstallScript(ctx context.Context, req *connect.Request[v1.GeneratePrimaryInstallScriptRequest]) (*connect.Response[v1.GeneratePrimaryInstallScriptResponse], error) { + return c.generatePrimaryInstallScript.CallUnary(ctx, req) +} + +// DNSServiceHandler is an implementation of the orchestrator.v1.DNSService service. +type DNSServiceHandler interface { + EnableDNSHosting(context.Context, *connect.Request[v1.EnableDNSHostingRequest]) (*connect.Response[v1.EnableDNSHostingResponse], error) + DisableDNSHosting(context.Context, *connect.Request[v1.DisableDNSHostingRequest]) (*connect.Response[v1.DisableDNSHostingResponse], error) + CheckDelegation(context.Context, *connect.Request[v1.CheckDelegationRequest]) (*connect.Response[v1.CheckDelegationResponse], error) + GetZone(context.Context, *connect.Request[v1.GetZoneRequest]) (*connect.Response[v1.GetZoneResponse], error) + GetPlatformZone(context.Context, *connect.Request[v1.GetPlatformZoneRequest]) (*connect.Response[v1.GetPlatformZoneResponse], error) + ListRecords(context.Context, *connect.Request[v1.ListRecordsRequest]) (*connect.Response[v1.ListRecordsResponse], error) + CreateRecord(context.Context, *connect.Request[v1.CreateRecordRequest]) (*connect.Response[v1.CreateRecordResponse], error) + UpdateRecord(context.Context, *connect.Request[v1.UpdateRecordRequest]) (*connect.Response[v1.UpdateRecordResponse], error) + DeleteRecord(context.Context, *connect.Request[v1.DeleteRecordRequest]) (*connect.Response[v1.DeleteRecordResponse], error) + PreviewRecordChange(context.Context, *connect.Request[v1.PreviewRecordChangeRequest]) (*connect.Response[v1.PreviewRecordChangeResponse], error) + // Re-enqueue permanently failed DNS changes (superadmin only) + RetryFailedDNSChanges(context.Context, *connect.Request[v1.RetryFailedDNSChangesRequest]) (*connect.Response[v1.RetryFailedDNSChangesResponse], error) + // Nameserver management (superadmin only) + ProvisionNameserver(context.Context, *connect.Request[v1.ProvisionNameserverRequest]) (*connect.Response[v1.ProvisionNameserverResponse], error) + ListNameservers(context.Context, *connect.Request[v1.ListNameserversRequest]) (*connect.Response[v1.ListNameserversResponse], error) + GetNameserverInstallScript(context.Context, *connect.Request[v1.GetNameserverInstallScriptRequest]) (*connect.Response[v1.GetNameserverInstallScriptResponse], error) + DecommissionNameserver(context.Context, *connect.Request[v1.DecommissionNameserverRequest]) (*connect.Response[v1.DecommissionNameserverResponse], error) + GeneratePrimaryInstallScript(context.Context, *connect.Request[v1.GeneratePrimaryInstallScriptRequest]) (*connect.Response[v1.GeneratePrimaryInstallScriptResponse], error) +} + +// NewDNSServiceHandler builds an HTTP handler from the service implementation. It returns the path +// on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewDNSServiceHandler(svc DNSServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + dNSServiceMethods := v1.File_orchestrator_v1_dns_proto.Services().ByName("DNSService").Methods() + dNSServiceEnableDNSHostingHandler := connect.NewUnaryHandler( + DNSServiceEnableDNSHostingProcedure, + svc.EnableDNSHosting, + connect.WithSchema(dNSServiceMethods.ByName("EnableDNSHosting")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceDisableDNSHostingHandler := connect.NewUnaryHandler( + DNSServiceDisableDNSHostingProcedure, + svc.DisableDNSHosting, + connect.WithSchema(dNSServiceMethods.ByName("DisableDNSHosting")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceCheckDelegationHandler := connect.NewUnaryHandler( + DNSServiceCheckDelegationProcedure, + svc.CheckDelegation, + connect.WithSchema(dNSServiceMethods.ByName("CheckDelegation")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceGetZoneHandler := connect.NewUnaryHandler( + DNSServiceGetZoneProcedure, + svc.GetZone, + connect.WithSchema(dNSServiceMethods.ByName("GetZone")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceGetPlatformZoneHandler := connect.NewUnaryHandler( + DNSServiceGetPlatformZoneProcedure, + svc.GetPlatformZone, + connect.WithSchema(dNSServiceMethods.ByName("GetPlatformZone")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceListRecordsHandler := connect.NewUnaryHandler( + DNSServiceListRecordsProcedure, + svc.ListRecords, + connect.WithSchema(dNSServiceMethods.ByName("ListRecords")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceCreateRecordHandler := connect.NewUnaryHandler( + DNSServiceCreateRecordProcedure, + svc.CreateRecord, + connect.WithSchema(dNSServiceMethods.ByName("CreateRecord")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceUpdateRecordHandler := connect.NewUnaryHandler( + DNSServiceUpdateRecordProcedure, + svc.UpdateRecord, + connect.WithSchema(dNSServiceMethods.ByName("UpdateRecord")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceDeleteRecordHandler := connect.NewUnaryHandler( + DNSServiceDeleteRecordProcedure, + svc.DeleteRecord, + connect.WithSchema(dNSServiceMethods.ByName("DeleteRecord")), + connect.WithHandlerOptions(opts...), + ) + dNSServicePreviewRecordChangeHandler := connect.NewUnaryHandler( + DNSServicePreviewRecordChangeProcedure, + svc.PreviewRecordChange, + connect.WithSchema(dNSServiceMethods.ByName("PreviewRecordChange")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceRetryFailedDNSChangesHandler := connect.NewUnaryHandler( + DNSServiceRetryFailedDNSChangesProcedure, + svc.RetryFailedDNSChanges, + connect.WithSchema(dNSServiceMethods.ByName("RetryFailedDNSChanges")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceProvisionNameserverHandler := connect.NewUnaryHandler( + DNSServiceProvisionNameserverProcedure, + svc.ProvisionNameserver, + connect.WithSchema(dNSServiceMethods.ByName("ProvisionNameserver")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceListNameserversHandler := connect.NewUnaryHandler( + DNSServiceListNameserversProcedure, + svc.ListNameservers, + connect.WithSchema(dNSServiceMethods.ByName("ListNameservers")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceGetNameserverInstallScriptHandler := connect.NewUnaryHandler( + DNSServiceGetNameserverInstallScriptProcedure, + svc.GetNameserverInstallScript, + connect.WithSchema(dNSServiceMethods.ByName("GetNameserverInstallScript")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceDecommissionNameserverHandler := connect.NewUnaryHandler( + DNSServiceDecommissionNameserverProcedure, + svc.DecommissionNameserver, + connect.WithSchema(dNSServiceMethods.ByName("DecommissionNameserver")), + connect.WithHandlerOptions(opts...), + ) + dNSServiceGeneratePrimaryInstallScriptHandler := connect.NewUnaryHandler( + DNSServiceGeneratePrimaryInstallScriptProcedure, + svc.GeneratePrimaryInstallScript, + connect.WithSchema(dNSServiceMethods.ByName("GeneratePrimaryInstallScript")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.DNSService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case DNSServiceEnableDNSHostingProcedure: + dNSServiceEnableDNSHostingHandler.ServeHTTP(w, r) + case DNSServiceDisableDNSHostingProcedure: + dNSServiceDisableDNSHostingHandler.ServeHTTP(w, r) + case DNSServiceCheckDelegationProcedure: + dNSServiceCheckDelegationHandler.ServeHTTP(w, r) + case DNSServiceGetZoneProcedure: + dNSServiceGetZoneHandler.ServeHTTP(w, r) + case DNSServiceGetPlatformZoneProcedure: + dNSServiceGetPlatformZoneHandler.ServeHTTP(w, r) + case DNSServiceListRecordsProcedure: + dNSServiceListRecordsHandler.ServeHTTP(w, r) + case DNSServiceCreateRecordProcedure: + dNSServiceCreateRecordHandler.ServeHTTP(w, r) + case DNSServiceUpdateRecordProcedure: + dNSServiceUpdateRecordHandler.ServeHTTP(w, r) + case DNSServiceDeleteRecordProcedure: + dNSServiceDeleteRecordHandler.ServeHTTP(w, r) + case DNSServicePreviewRecordChangeProcedure: + dNSServicePreviewRecordChangeHandler.ServeHTTP(w, r) + case DNSServiceRetryFailedDNSChangesProcedure: + dNSServiceRetryFailedDNSChangesHandler.ServeHTTP(w, r) + case DNSServiceProvisionNameserverProcedure: + dNSServiceProvisionNameserverHandler.ServeHTTP(w, r) + case DNSServiceListNameserversProcedure: + dNSServiceListNameserversHandler.ServeHTTP(w, r) + case DNSServiceGetNameserverInstallScriptProcedure: + dNSServiceGetNameserverInstallScriptHandler.ServeHTTP(w, r) + case DNSServiceDecommissionNameserverProcedure: + dNSServiceDecommissionNameserverHandler.ServeHTTP(w, r) + case DNSServiceGeneratePrimaryInstallScriptProcedure: + dNSServiceGeneratePrimaryInstallScriptHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedDNSServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedDNSServiceHandler struct{} + +func (UnimplementedDNSServiceHandler) EnableDNSHosting(context.Context, *connect.Request[v1.EnableDNSHostingRequest]) (*connect.Response[v1.EnableDNSHostingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.EnableDNSHosting is not implemented")) +} + +func (UnimplementedDNSServiceHandler) DisableDNSHosting(context.Context, *connect.Request[v1.DisableDNSHostingRequest]) (*connect.Response[v1.DisableDNSHostingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.DisableDNSHosting is not implemented")) +} + +func (UnimplementedDNSServiceHandler) CheckDelegation(context.Context, *connect.Request[v1.CheckDelegationRequest]) (*connect.Response[v1.CheckDelegationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.CheckDelegation is not implemented")) +} + +func (UnimplementedDNSServiceHandler) GetZone(context.Context, *connect.Request[v1.GetZoneRequest]) (*connect.Response[v1.GetZoneResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.GetZone is not implemented")) +} + +func (UnimplementedDNSServiceHandler) GetPlatformZone(context.Context, *connect.Request[v1.GetPlatformZoneRequest]) (*connect.Response[v1.GetPlatformZoneResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.GetPlatformZone is not implemented")) +} + +func (UnimplementedDNSServiceHandler) ListRecords(context.Context, *connect.Request[v1.ListRecordsRequest]) (*connect.Response[v1.ListRecordsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.ListRecords is not implemented")) +} + +func (UnimplementedDNSServiceHandler) CreateRecord(context.Context, *connect.Request[v1.CreateRecordRequest]) (*connect.Response[v1.CreateRecordResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.CreateRecord is not implemented")) +} + +func (UnimplementedDNSServiceHandler) UpdateRecord(context.Context, *connect.Request[v1.UpdateRecordRequest]) (*connect.Response[v1.UpdateRecordResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.UpdateRecord is not implemented")) +} + +func (UnimplementedDNSServiceHandler) DeleteRecord(context.Context, *connect.Request[v1.DeleteRecordRequest]) (*connect.Response[v1.DeleteRecordResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.DeleteRecord is not implemented")) +} + +func (UnimplementedDNSServiceHandler) PreviewRecordChange(context.Context, *connect.Request[v1.PreviewRecordChangeRequest]) (*connect.Response[v1.PreviewRecordChangeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.PreviewRecordChange is not implemented")) +} + +func (UnimplementedDNSServiceHandler) RetryFailedDNSChanges(context.Context, *connect.Request[v1.RetryFailedDNSChangesRequest]) (*connect.Response[v1.RetryFailedDNSChangesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.RetryFailedDNSChanges is not implemented")) +} + +func (UnimplementedDNSServiceHandler) ProvisionNameserver(context.Context, *connect.Request[v1.ProvisionNameserverRequest]) (*connect.Response[v1.ProvisionNameserverResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.ProvisionNameserver is not implemented")) +} + +func (UnimplementedDNSServiceHandler) ListNameservers(context.Context, *connect.Request[v1.ListNameserversRequest]) (*connect.Response[v1.ListNameserversResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.ListNameservers is not implemented")) +} + +func (UnimplementedDNSServiceHandler) GetNameserverInstallScript(context.Context, *connect.Request[v1.GetNameserverInstallScriptRequest]) (*connect.Response[v1.GetNameserverInstallScriptResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.GetNameserverInstallScript is not implemented")) +} + +func (UnimplementedDNSServiceHandler) DecommissionNameserver(context.Context, *connect.Request[v1.DecommissionNameserverRequest]) (*connect.Response[v1.DecommissionNameserverResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.DecommissionNameserver is not implemented")) +} + +func (UnimplementedDNSServiceHandler) GeneratePrimaryInstallScript(context.Context, *connect.Request[v1.GeneratePrimaryInstallScriptRequest]) (*connect.Response[v1.GeneratePrimaryInstallScriptResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DNSService.GeneratePrimaryInstallScript is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/domains.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/domains.connect.go new file mode 100644 index 0000000..58f14cf --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/domains.connect.go @@ -0,0 +1,698 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/domains.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // DomainServiceName is the fully-qualified name of the DomainService service. + DomainServiceName = "orchestrator.v1.DomainService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // DomainServiceAddDomainProcedure is the fully-qualified name of the DomainService's AddDomain RPC. + DomainServiceAddDomainProcedure = "/orchestrator.v1.DomainService/AddDomain" + // DomainServiceRemoveDomainProcedure is the fully-qualified name of the DomainService's + // RemoveDomain RPC. + DomainServiceRemoveDomainProcedure = "/orchestrator.v1.DomainService/RemoveDomain" + // DomainServiceListDomainsProcedure is the fully-qualified name of the DomainService's ListDomains + // RPC. + DomainServiceListDomainsProcedure = "/orchestrator.v1.DomainService/ListDomains" + // DomainServiceGetDomainProcedure is the fully-qualified name of the DomainService's GetDomain RPC. + DomainServiceGetDomainProcedure = "/orchestrator.v1.DomainService/GetDomain" + // DomainServiceVerifyDomainProcedure is the fully-qualified name of the DomainService's + // VerifyDomain RPC. + DomainServiceVerifyDomainProcedure = "/orchestrator.v1.DomainService/VerifyDomain" + // DomainServiceSetPrimaryDomainProcedure is the fully-qualified name of the DomainService's + // SetPrimaryDomain RPC. + DomainServiceSetPrimaryDomainProcedure = "/orchestrator.v1.DomainService/SetPrimaryDomain" + // DomainServiceGetDNSRecordsProcedure is the fully-qualified name of the DomainService's + // GetDNSRecords RPC. + DomainServiceGetDNSRecordsProcedure = "/orchestrator.v1.DomainService/GetDNSRecords" + // DomainServiceRequestSSLProcedure is the fully-qualified name of the DomainService's RequestSSL + // RPC. + DomainServiceRequestSSLProcedure = "/orchestrator.v1.DomainService/RequestSSL" + // DomainServiceRefreshSSLProcedure is the fully-qualified name of the DomainService's RefreshSSL + // RPC. + DomainServiceRefreshSSLProcedure = "/orchestrator.v1.DomainService/RefreshSSL" + // DomainServiceListAccountDomainsProcedure is the fully-qualified name of the DomainService's + // ListAccountDomains RPC. + DomainServiceListAccountDomainsProcedure = "/orchestrator.v1.DomainService/ListAccountDomains" + // DomainServiceAttachDomainProcedure is the fully-qualified name of the DomainService's + // AttachDomain RPC. + DomainServiceAttachDomainProcedure = "/orchestrator.v1.DomainService/AttachDomain" + // DomainServiceDetachDomainProcedure is the fully-qualified name of the DomainService's + // DetachDomain RPC. + DomainServiceDetachDomainProcedure = "/orchestrator.v1.DomainService/DetachDomain" + // DomainServiceUpdateDomainSettingsProcedure is the fully-qualified name of the DomainService's + // UpdateDomainSettings RPC. + DomainServiceUpdateDomainSettingsProcedure = "/orchestrator.v1.DomainService/UpdateDomainSettings" + // DomainServiceCheckDomainAvailabilityProcedure is the fully-qualified name of the DomainService's + // CheckDomainAvailability RPC. + DomainServiceCheckDomainAvailabilityProcedure = "/orchestrator.v1.DomainService/CheckDomainAvailability" + // DomainServicePurchaseDomainProcedure is the fully-qualified name of the DomainService's + // PurchaseDomain RPC. + DomainServicePurchaseDomainProcedure = "/orchestrator.v1.DomainService/PurchaseDomain" + // DomainServiceConfigureDNSProcedure is the fully-qualified name of the DomainService's + // ConfigureDNS RPC. + DomainServiceConfigureDNSProcedure = "/orchestrator.v1.DomainService/ConfigureDNS" + // DomainServiceGetDefaultRegistrantContactProcedure is the fully-qualified name of the + // DomainService's GetDefaultRegistrantContact RPC. + DomainServiceGetDefaultRegistrantContactProcedure = "/orchestrator.v1.DomainService/GetDefaultRegistrantContact" + // DomainServiceSaveDefaultRegistrantContactProcedure is the fully-qualified name of the + // DomainService's SaveDefaultRegistrantContact RPC. + DomainServiceSaveDefaultRegistrantContactProcedure = "/orchestrator.v1.DomainService/SaveDefaultRegistrantContact" + // DomainServiceGetDomainEventsProcedure is the fully-qualified name of the DomainService's + // GetDomainEvents RPC. + DomainServiceGetDomainEventsProcedure = "/orchestrator.v1.DomainService/GetDomainEvents" + // DomainServiceGetDNSGuidanceProcedure is the fully-qualified name of the DomainService's + // GetDNSGuidance RPC. + DomainServiceGetDNSGuidanceProcedure = "/orchestrator.v1.DomainService/GetDNSGuidance" +) + +// DomainServiceClient is a client for the orchestrator.v1.DomainService service. +type DomainServiceClient interface { + // Add a domain to an instance + AddDomain(context.Context, *connect.Request[v1.AddDomainRequest]) (*connect.Response[v1.AddDomainResponse], error) + // Remove a domain + RemoveDomain(context.Context, *connect.Request[v1.RemoveDomainRequest]) (*connect.Response[v1.RemoveDomainResponse], error) + // List domains for an instance + ListDomains(context.Context, *connect.Request[v1.ListDomainsRequest]) (*connect.Response[v1.ListDomainsResponse], error) + // Get domain details + GetDomain(context.Context, *connect.Request[v1.GetDomainRequest]) (*connect.Response[v1.GetDomainResponse], error) + // Verify domain ownership + VerifyDomain(context.Context, *connect.Request[v1.VerifyDomainRequest]) (*connect.Response[v1.VerifyDomainResponse], error) + // Set a domain as primary + SetPrimaryDomain(context.Context, *connect.Request[v1.SetPrimaryDomainRequest]) (*connect.Response[v1.SetPrimaryDomainResponse], error) + // Get DNS records for verification + GetDNSRecords(context.Context, *connect.Request[v1.GetDNSRecordsRequest]) (*connect.Response[v1.GetDNSRecordsResponse], error) + // Request SSL certificate + RequestSSL(context.Context, *connect.Request[v1.RequestSSLRequest]) (*connect.Response[v1.RequestSSLResponse], error) + // Probe a domain's TLS endpoint and update its SSL status + RefreshSSL(context.Context, *connect.Request[v1.RefreshSSLRequest]) (*connect.Response[v1.RefreshSSLResponse], error) + // List all domains for the current user's account + ListAccountDomains(context.Context, *connect.Request[v1.ListAccountDomainsRequest]) (*connect.Response[v1.ListAccountDomainsResponse], error) + // Attach a domain to an instance + AttachDomain(context.Context, *connect.Request[v1.AttachDomainRequest]) (*connect.Response[v1.AttachDomainResponse], error) + // Detach a domain from an instance + DetachDomain(context.Context, *connect.Request[v1.DetachDomainRequest]) (*connect.Response[v1.DetachDomainResponse], error) + // Update domain settings (www redirect, auto-renew) + UpdateDomainSettings(context.Context, *connect.Request[v1.UpdateDomainSettingsRequest]) (*connect.Response[v1.UpdateDomainSettingsResponse], error) + // Check if domains are available for purchase + CheckDomainAvailability(context.Context, *connect.Request[v1.CheckDomainAvailabilityRequest]) (*connect.Response[v1.CheckDomainAvailabilityResponse], error) + // Purchase a domain via Namecheap + PurchaseDomain(context.Context, *connect.Request[v1.PurchaseDomainRequest]) (*connect.Response[v1.PurchaseDomainResponse], error) + // Configure DNS for a purchased domain + ConfigureDNS(context.Context, *connect.Request[v1.ConfigureDNSRequest]) (*connect.Response[v1.ConfigureDNSResponse], error) + // Get the default registrant contact for the account + GetDefaultRegistrantContact(context.Context, *connect.Request[v1.GetDefaultRegistrantContactRequest]) (*connect.Response[v1.GetDefaultRegistrantContactResponse], error) + // Save or update the default registrant contact + SaveDefaultRegistrantContact(context.Context, *connect.Request[v1.SaveDefaultRegistrantContactRequest]) (*connect.Response[v1.SaveDefaultRegistrantContactResponse], error) + // Get domain events (SSL, DNS verification, etc.) + GetDomainEvents(context.Context, *connect.Request[v1.GetDomainEventsRequest]) (*connect.Response[v1.GetDomainEventsResponse], error) + // Get DNS configuration guidance for a domain + GetDNSGuidance(context.Context, *connect.Request[v1.GetDNSGuidanceRequest]) (*connect.Response[v1.GetDNSGuidanceResponse], error) +} + +// NewDomainServiceClient constructs a client for the orchestrator.v1.DomainService service. By +// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, +// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewDomainServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) DomainServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + domainServiceMethods := v1.File_orchestrator_v1_domains_proto.Services().ByName("DomainService").Methods() + return &domainServiceClient{ + addDomain: connect.NewClient[v1.AddDomainRequest, v1.AddDomainResponse]( + httpClient, + baseURL+DomainServiceAddDomainProcedure, + connect.WithSchema(domainServiceMethods.ByName("AddDomain")), + connect.WithClientOptions(opts...), + ), + removeDomain: connect.NewClient[v1.RemoveDomainRequest, v1.RemoveDomainResponse]( + httpClient, + baseURL+DomainServiceRemoveDomainProcedure, + connect.WithSchema(domainServiceMethods.ByName("RemoveDomain")), + connect.WithClientOptions(opts...), + ), + listDomains: connect.NewClient[v1.ListDomainsRequest, v1.ListDomainsResponse]( + httpClient, + baseURL+DomainServiceListDomainsProcedure, + connect.WithSchema(domainServiceMethods.ByName("ListDomains")), + connect.WithClientOptions(opts...), + ), + getDomain: connect.NewClient[v1.GetDomainRequest, v1.GetDomainResponse]( + httpClient, + baseURL+DomainServiceGetDomainProcedure, + connect.WithSchema(domainServiceMethods.ByName("GetDomain")), + connect.WithClientOptions(opts...), + ), + verifyDomain: connect.NewClient[v1.VerifyDomainRequest, v1.VerifyDomainResponse]( + httpClient, + baseURL+DomainServiceVerifyDomainProcedure, + connect.WithSchema(domainServiceMethods.ByName("VerifyDomain")), + connect.WithClientOptions(opts...), + ), + setPrimaryDomain: connect.NewClient[v1.SetPrimaryDomainRequest, v1.SetPrimaryDomainResponse]( + httpClient, + baseURL+DomainServiceSetPrimaryDomainProcedure, + connect.WithSchema(domainServiceMethods.ByName("SetPrimaryDomain")), + connect.WithClientOptions(opts...), + ), + getDNSRecords: connect.NewClient[v1.GetDNSRecordsRequest, v1.GetDNSRecordsResponse]( + httpClient, + baseURL+DomainServiceGetDNSRecordsProcedure, + connect.WithSchema(domainServiceMethods.ByName("GetDNSRecords")), + connect.WithClientOptions(opts...), + ), + requestSSL: connect.NewClient[v1.RequestSSLRequest, v1.RequestSSLResponse]( + httpClient, + baseURL+DomainServiceRequestSSLProcedure, + connect.WithSchema(domainServiceMethods.ByName("RequestSSL")), + connect.WithClientOptions(opts...), + ), + refreshSSL: connect.NewClient[v1.RefreshSSLRequest, v1.RefreshSSLResponse]( + httpClient, + baseURL+DomainServiceRefreshSSLProcedure, + connect.WithSchema(domainServiceMethods.ByName("RefreshSSL")), + connect.WithClientOptions(opts...), + ), + listAccountDomains: connect.NewClient[v1.ListAccountDomainsRequest, v1.ListAccountDomainsResponse]( + httpClient, + baseURL+DomainServiceListAccountDomainsProcedure, + connect.WithSchema(domainServiceMethods.ByName("ListAccountDomains")), + connect.WithClientOptions(opts...), + ), + attachDomain: connect.NewClient[v1.AttachDomainRequest, v1.AttachDomainResponse]( + httpClient, + baseURL+DomainServiceAttachDomainProcedure, + connect.WithSchema(domainServiceMethods.ByName("AttachDomain")), + connect.WithClientOptions(opts...), + ), + detachDomain: connect.NewClient[v1.DetachDomainRequest, v1.DetachDomainResponse]( + httpClient, + baseURL+DomainServiceDetachDomainProcedure, + connect.WithSchema(domainServiceMethods.ByName("DetachDomain")), + connect.WithClientOptions(opts...), + ), + updateDomainSettings: connect.NewClient[v1.UpdateDomainSettingsRequest, v1.UpdateDomainSettingsResponse]( + httpClient, + baseURL+DomainServiceUpdateDomainSettingsProcedure, + connect.WithSchema(domainServiceMethods.ByName("UpdateDomainSettings")), + connect.WithClientOptions(opts...), + ), + checkDomainAvailability: connect.NewClient[v1.CheckDomainAvailabilityRequest, v1.CheckDomainAvailabilityResponse]( + httpClient, + baseURL+DomainServiceCheckDomainAvailabilityProcedure, + connect.WithSchema(domainServiceMethods.ByName("CheckDomainAvailability")), + connect.WithClientOptions(opts...), + ), + purchaseDomain: connect.NewClient[v1.PurchaseDomainRequest, v1.PurchaseDomainResponse]( + httpClient, + baseURL+DomainServicePurchaseDomainProcedure, + connect.WithSchema(domainServiceMethods.ByName("PurchaseDomain")), + connect.WithClientOptions(opts...), + ), + configureDNS: connect.NewClient[v1.ConfigureDNSRequest, v1.ConfigureDNSResponse]( + httpClient, + baseURL+DomainServiceConfigureDNSProcedure, + connect.WithSchema(domainServiceMethods.ByName("ConfigureDNS")), + connect.WithClientOptions(opts...), + ), + getDefaultRegistrantContact: connect.NewClient[v1.GetDefaultRegistrantContactRequest, v1.GetDefaultRegistrantContactResponse]( + httpClient, + baseURL+DomainServiceGetDefaultRegistrantContactProcedure, + connect.WithSchema(domainServiceMethods.ByName("GetDefaultRegistrantContact")), + connect.WithClientOptions(opts...), + ), + saveDefaultRegistrantContact: connect.NewClient[v1.SaveDefaultRegistrantContactRequest, v1.SaveDefaultRegistrantContactResponse]( + httpClient, + baseURL+DomainServiceSaveDefaultRegistrantContactProcedure, + connect.WithSchema(domainServiceMethods.ByName("SaveDefaultRegistrantContact")), + connect.WithClientOptions(opts...), + ), + getDomainEvents: connect.NewClient[v1.GetDomainEventsRequest, v1.GetDomainEventsResponse]( + httpClient, + baseURL+DomainServiceGetDomainEventsProcedure, + connect.WithSchema(domainServiceMethods.ByName("GetDomainEvents")), + connect.WithClientOptions(opts...), + ), + getDNSGuidance: connect.NewClient[v1.GetDNSGuidanceRequest, v1.GetDNSGuidanceResponse]( + httpClient, + baseURL+DomainServiceGetDNSGuidanceProcedure, + connect.WithSchema(domainServiceMethods.ByName("GetDNSGuidance")), + connect.WithClientOptions(opts...), + ), + } +} + +// domainServiceClient implements DomainServiceClient. +type domainServiceClient struct { + addDomain *connect.Client[v1.AddDomainRequest, v1.AddDomainResponse] + removeDomain *connect.Client[v1.RemoveDomainRequest, v1.RemoveDomainResponse] + listDomains *connect.Client[v1.ListDomainsRequest, v1.ListDomainsResponse] + getDomain *connect.Client[v1.GetDomainRequest, v1.GetDomainResponse] + verifyDomain *connect.Client[v1.VerifyDomainRequest, v1.VerifyDomainResponse] + setPrimaryDomain *connect.Client[v1.SetPrimaryDomainRequest, v1.SetPrimaryDomainResponse] + getDNSRecords *connect.Client[v1.GetDNSRecordsRequest, v1.GetDNSRecordsResponse] + requestSSL *connect.Client[v1.RequestSSLRequest, v1.RequestSSLResponse] + refreshSSL *connect.Client[v1.RefreshSSLRequest, v1.RefreshSSLResponse] + listAccountDomains *connect.Client[v1.ListAccountDomainsRequest, v1.ListAccountDomainsResponse] + attachDomain *connect.Client[v1.AttachDomainRequest, v1.AttachDomainResponse] + detachDomain *connect.Client[v1.DetachDomainRequest, v1.DetachDomainResponse] + updateDomainSettings *connect.Client[v1.UpdateDomainSettingsRequest, v1.UpdateDomainSettingsResponse] + checkDomainAvailability *connect.Client[v1.CheckDomainAvailabilityRequest, v1.CheckDomainAvailabilityResponse] + purchaseDomain *connect.Client[v1.PurchaseDomainRequest, v1.PurchaseDomainResponse] + configureDNS *connect.Client[v1.ConfigureDNSRequest, v1.ConfigureDNSResponse] + getDefaultRegistrantContact *connect.Client[v1.GetDefaultRegistrantContactRequest, v1.GetDefaultRegistrantContactResponse] + saveDefaultRegistrantContact *connect.Client[v1.SaveDefaultRegistrantContactRequest, v1.SaveDefaultRegistrantContactResponse] + getDomainEvents *connect.Client[v1.GetDomainEventsRequest, v1.GetDomainEventsResponse] + getDNSGuidance *connect.Client[v1.GetDNSGuidanceRequest, v1.GetDNSGuidanceResponse] +} + +// AddDomain calls orchestrator.v1.DomainService.AddDomain. +func (c *domainServiceClient) AddDomain(ctx context.Context, req *connect.Request[v1.AddDomainRequest]) (*connect.Response[v1.AddDomainResponse], error) { + return c.addDomain.CallUnary(ctx, req) +} + +// RemoveDomain calls orchestrator.v1.DomainService.RemoveDomain. +func (c *domainServiceClient) RemoveDomain(ctx context.Context, req *connect.Request[v1.RemoveDomainRequest]) (*connect.Response[v1.RemoveDomainResponse], error) { + return c.removeDomain.CallUnary(ctx, req) +} + +// ListDomains calls orchestrator.v1.DomainService.ListDomains. +func (c *domainServiceClient) ListDomains(ctx context.Context, req *connect.Request[v1.ListDomainsRequest]) (*connect.Response[v1.ListDomainsResponse], error) { + return c.listDomains.CallUnary(ctx, req) +} + +// GetDomain calls orchestrator.v1.DomainService.GetDomain. +func (c *domainServiceClient) GetDomain(ctx context.Context, req *connect.Request[v1.GetDomainRequest]) (*connect.Response[v1.GetDomainResponse], error) { + return c.getDomain.CallUnary(ctx, req) +} + +// VerifyDomain calls orchestrator.v1.DomainService.VerifyDomain. +func (c *domainServiceClient) VerifyDomain(ctx context.Context, req *connect.Request[v1.VerifyDomainRequest]) (*connect.Response[v1.VerifyDomainResponse], error) { + return c.verifyDomain.CallUnary(ctx, req) +} + +// SetPrimaryDomain calls orchestrator.v1.DomainService.SetPrimaryDomain. +func (c *domainServiceClient) SetPrimaryDomain(ctx context.Context, req *connect.Request[v1.SetPrimaryDomainRequest]) (*connect.Response[v1.SetPrimaryDomainResponse], error) { + return c.setPrimaryDomain.CallUnary(ctx, req) +} + +// GetDNSRecords calls orchestrator.v1.DomainService.GetDNSRecords. +func (c *domainServiceClient) GetDNSRecords(ctx context.Context, req *connect.Request[v1.GetDNSRecordsRequest]) (*connect.Response[v1.GetDNSRecordsResponse], error) { + return c.getDNSRecords.CallUnary(ctx, req) +} + +// RequestSSL calls orchestrator.v1.DomainService.RequestSSL. +func (c *domainServiceClient) RequestSSL(ctx context.Context, req *connect.Request[v1.RequestSSLRequest]) (*connect.Response[v1.RequestSSLResponse], error) { + return c.requestSSL.CallUnary(ctx, req) +} + +// RefreshSSL calls orchestrator.v1.DomainService.RefreshSSL. +func (c *domainServiceClient) RefreshSSL(ctx context.Context, req *connect.Request[v1.RefreshSSLRequest]) (*connect.Response[v1.RefreshSSLResponse], error) { + return c.refreshSSL.CallUnary(ctx, req) +} + +// ListAccountDomains calls orchestrator.v1.DomainService.ListAccountDomains. +func (c *domainServiceClient) ListAccountDomains(ctx context.Context, req *connect.Request[v1.ListAccountDomainsRequest]) (*connect.Response[v1.ListAccountDomainsResponse], error) { + return c.listAccountDomains.CallUnary(ctx, req) +} + +// AttachDomain calls orchestrator.v1.DomainService.AttachDomain. +func (c *domainServiceClient) AttachDomain(ctx context.Context, req *connect.Request[v1.AttachDomainRequest]) (*connect.Response[v1.AttachDomainResponse], error) { + return c.attachDomain.CallUnary(ctx, req) +} + +// DetachDomain calls orchestrator.v1.DomainService.DetachDomain. +func (c *domainServiceClient) DetachDomain(ctx context.Context, req *connect.Request[v1.DetachDomainRequest]) (*connect.Response[v1.DetachDomainResponse], error) { + return c.detachDomain.CallUnary(ctx, req) +} + +// UpdateDomainSettings calls orchestrator.v1.DomainService.UpdateDomainSettings. +func (c *domainServiceClient) UpdateDomainSettings(ctx context.Context, req *connect.Request[v1.UpdateDomainSettingsRequest]) (*connect.Response[v1.UpdateDomainSettingsResponse], error) { + return c.updateDomainSettings.CallUnary(ctx, req) +} + +// CheckDomainAvailability calls orchestrator.v1.DomainService.CheckDomainAvailability. +func (c *domainServiceClient) CheckDomainAvailability(ctx context.Context, req *connect.Request[v1.CheckDomainAvailabilityRequest]) (*connect.Response[v1.CheckDomainAvailabilityResponse], error) { + return c.checkDomainAvailability.CallUnary(ctx, req) +} + +// PurchaseDomain calls orchestrator.v1.DomainService.PurchaseDomain. +func (c *domainServiceClient) PurchaseDomain(ctx context.Context, req *connect.Request[v1.PurchaseDomainRequest]) (*connect.Response[v1.PurchaseDomainResponse], error) { + return c.purchaseDomain.CallUnary(ctx, req) +} + +// ConfigureDNS calls orchestrator.v1.DomainService.ConfigureDNS. +func (c *domainServiceClient) ConfigureDNS(ctx context.Context, req *connect.Request[v1.ConfigureDNSRequest]) (*connect.Response[v1.ConfigureDNSResponse], error) { + return c.configureDNS.CallUnary(ctx, req) +} + +// GetDefaultRegistrantContact calls orchestrator.v1.DomainService.GetDefaultRegistrantContact. +func (c *domainServiceClient) GetDefaultRegistrantContact(ctx context.Context, req *connect.Request[v1.GetDefaultRegistrantContactRequest]) (*connect.Response[v1.GetDefaultRegistrantContactResponse], error) { + return c.getDefaultRegistrantContact.CallUnary(ctx, req) +} + +// SaveDefaultRegistrantContact calls orchestrator.v1.DomainService.SaveDefaultRegistrantContact. +func (c *domainServiceClient) SaveDefaultRegistrantContact(ctx context.Context, req *connect.Request[v1.SaveDefaultRegistrantContactRequest]) (*connect.Response[v1.SaveDefaultRegistrantContactResponse], error) { + return c.saveDefaultRegistrantContact.CallUnary(ctx, req) +} + +// GetDomainEvents calls orchestrator.v1.DomainService.GetDomainEvents. +func (c *domainServiceClient) GetDomainEvents(ctx context.Context, req *connect.Request[v1.GetDomainEventsRequest]) (*connect.Response[v1.GetDomainEventsResponse], error) { + return c.getDomainEvents.CallUnary(ctx, req) +} + +// GetDNSGuidance calls orchestrator.v1.DomainService.GetDNSGuidance. +func (c *domainServiceClient) GetDNSGuidance(ctx context.Context, req *connect.Request[v1.GetDNSGuidanceRequest]) (*connect.Response[v1.GetDNSGuidanceResponse], error) { + return c.getDNSGuidance.CallUnary(ctx, req) +} + +// DomainServiceHandler is an implementation of the orchestrator.v1.DomainService service. +type DomainServiceHandler interface { + // Add a domain to an instance + AddDomain(context.Context, *connect.Request[v1.AddDomainRequest]) (*connect.Response[v1.AddDomainResponse], error) + // Remove a domain + RemoveDomain(context.Context, *connect.Request[v1.RemoveDomainRequest]) (*connect.Response[v1.RemoveDomainResponse], error) + // List domains for an instance + ListDomains(context.Context, *connect.Request[v1.ListDomainsRequest]) (*connect.Response[v1.ListDomainsResponse], error) + // Get domain details + GetDomain(context.Context, *connect.Request[v1.GetDomainRequest]) (*connect.Response[v1.GetDomainResponse], error) + // Verify domain ownership + VerifyDomain(context.Context, *connect.Request[v1.VerifyDomainRequest]) (*connect.Response[v1.VerifyDomainResponse], error) + // Set a domain as primary + SetPrimaryDomain(context.Context, *connect.Request[v1.SetPrimaryDomainRequest]) (*connect.Response[v1.SetPrimaryDomainResponse], error) + // Get DNS records for verification + GetDNSRecords(context.Context, *connect.Request[v1.GetDNSRecordsRequest]) (*connect.Response[v1.GetDNSRecordsResponse], error) + // Request SSL certificate + RequestSSL(context.Context, *connect.Request[v1.RequestSSLRequest]) (*connect.Response[v1.RequestSSLResponse], error) + // Probe a domain's TLS endpoint and update its SSL status + RefreshSSL(context.Context, *connect.Request[v1.RefreshSSLRequest]) (*connect.Response[v1.RefreshSSLResponse], error) + // List all domains for the current user's account + ListAccountDomains(context.Context, *connect.Request[v1.ListAccountDomainsRequest]) (*connect.Response[v1.ListAccountDomainsResponse], error) + // Attach a domain to an instance + AttachDomain(context.Context, *connect.Request[v1.AttachDomainRequest]) (*connect.Response[v1.AttachDomainResponse], error) + // Detach a domain from an instance + DetachDomain(context.Context, *connect.Request[v1.DetachDomainRequest]) (*connect.Response[v1.DetachDomainResponse], error) + // Update domain settings (www redirect, auto-renew) + UpdateDomainSettings(context.Context, *connect.Request[v1.UpdateDomainSettingsRequest]) (*connect.Response[v1.UpdateDomainSettingsResponse], error) + // Check if domains are available for purchase + CheckDomainAvailability(context.Context, *connect.Request[v1.CheckDomainAvailabilityRequest]) (*connect.Response[v1.CheckDomainAvailabilityResponse], error) + // Purchase a domain via Namecheap + PurchaseDomain(context.Context, *connect.Request[v1.PurchaseDomainRequest]) (*connect.Response[v1.PurchaseDomainResponse], error) + // Configure DNS for a purchased domain + ConfigureDNS(context.Context, *connect.Request[v1.ConfigureDNSRequest]) (*connect.Response[v1.ConfigureDNSResponse], error) + // Get the default registrant contact for the account + GetDefaultRegistrantContact(context.Context, *connect.Request[v1.GetDefaultRegistrantContactRequest]) (*connect.Response[v1.GetDefaultRegistrantContactResponse], error) + // Save or update the default registrant contact + SaveDefaultRegistrantContact(context.Context, *connect.Request[v1.SaveDefaultRegistrantContactRequest]) (*connect.Response[v1.SaveDefaultRegistrantContactResponse], error) + // Get domain events (SSL, DNS verification, etc.) + GetDomainEvents(context.Context, *connect.Request[v1.GetDomainEventsRequest]) (*connect.Response[v1.GetDomainEventsResponse], error) + // Get DNS configuration guidance for a domain + GetDNSGuidance(context.Context, *connect.Request[v1.GetDNSGuidanceRequest]) (*connect.Response[v1.GetDNSGuidanceResponse], error) +} + +// NewDomainServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewDomainServiceHandler(svc DomainServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + domainServiceMethods := v1.File_orchestrator_v1_domains_proto.Services().ByName("DomainService").Methods() + domainServiceAddDomainHandler := connect.NewUnaryHandler( + DomainServiceAddDomainProcedure, + svc.AddDomain, + connect.WithSchema(domainServiceMethods.ByName("AddDomain")), + connect.WithHandlerOptions(opts...), + ) + domainServiceRemoveDomainHandler := connect.NewUnaryHandler( + DomainServiceRemoveDomainProcedure, + svc.RemoveDomain, + connect.WithSchema(domainServiceMethods.ByName("RemoveDomain")), + connect.WithHandlerOptions(opts...), + ) + domainServiceListDomainsHandler := connect.NewUnaryHandler( + DomainServiceListDomainsProcedure, + svc.ListDomains, + connect.WithSchema(domainServiceMethods.ByName("ListDomains")), + connect.WithHandlerOptions(opts...), + ) + domainServiceGetDomainHandler := connect.NewUnaryHandler( + DomainServiceGetDomainProcedure, + svc.GetDomain, + connect.WithSchema(domainServiceMethods.ByName("GetDomain")), + connect.WithHandlerOptions(opts...), + ) + domainServiceVerifyDomainHandler := connect.NewUnaryHandler( + DomainServiceVerifyDomainProcedure, + svc.VerifyDomain, + connect.WithSchema(domainServiceMethods.ByName("VerifyDomain")), + connect.WithHandlerOptions(opts...), + ) + domainServiceSetPrimaryDomainHandler := connect.NewUnaryHandler( + DomainServiceSetPrimaryDomainProcedure, + svc.SetPrimaryDomain, + connect.WithSchema(domainServiceMethods.ByName("SetPrimaryDomain")), + connect.WithHandlerOptions(opts...), + ) + domainServiceGetDNSRecordsHandler := connect.NewUnaryHandler( + DomainServiceGetDNSRecordsProcedure, + svc.GetDNSRecords, + connect.WithSchema(domainServiceMethods.ByName("GetDNSRecords")), + connect.WithHandlerOptions(opts...), + ) + domainServiceRequestSSLHandler := connect.NewUnaryHandler( + DomainServiceRequestSSLProcedure, + svc.RequestSSL, + connect.WithSchema(domainServiceMethods.ByName("RequestSSL")), + connect.WithHandlerOptions(opts...), + ) + domainServiceRefreshSSLHandler := connect.NewUnaryHandler( + DomainServiceRefreshSSLProcedure, + svc.RefreshSSL, + connect.WithSchema(domainServiceMethods.ByName("RefreshSSL")), + connect.WithHandlerOptions(opts...), + ) + domainServiceListAccountDomainsHandler := connect.NewUnaryHandler( + DomainServiceListAccountDomainsProcedure, + svc.ListAccountDomains, + connect.WithSchema(domainServiceMethods.ByName("ListAccountDomains")), + connect.WithHandlerOptions(opts...), + ) + domainServiceAttachDomainHandler := connect.NewUnaryHandler( + DomainServiceAttachDomainProcedure, + svc.AttachDomain, + connect.WithSchema(domainServiceMethods.ByName("AttachDomain")), + connect.WithHandlerOptions(opts...), + ) + domainServiceDetachDomainHandler := connect.NewUnaryHandler( + DomainServiceDetachDomainProcedure, + svc.DetachDomain, + connect.WithSchema(domainServiceMethods.ByName("DetachDomain")), + connect.WithHandlerOptions(opts...), + ) + domainServiceUpdateDomainSettingsHandler := connect.NewUnaryHandler( + DomainServiceUpdateDomainSettingsProcedure, + svc.UpdateDomainSettings, + connect.WithSchema(domainServiceMethods.ByName("UpdateDomainSettings")), + connect.WithHandlerOptions(opts...), + ) + domainServiceCheckDomainAvailabilityHandler := connect.NewUnaryHandler( + DomainServiceCheckDomainAvailabilityProcedure, + svc.CheckDomainAvailability, + connect.WithSchema(domainServiceMethods.ByName("CheckDomainAvailability")), + connect.WithHandlerOptions(opts...), + ) + domainServicePurchaseDomainHandler := connect.NewUnaryHandler( + DomainServicePurchaseDomainProcedure, + svc.PurchaseDomain, + connect.WithSchema(domainServiceMethods.ByName("PurchaseDomain")), + connect.WithHandlerOptions(opts...), + ) + domainServiceConfigureDNSHandler := connect.NewUnaryHandler( + DomainServiceConfigureDNSProcedure, + svc.ConfigureDNS, + connect.WithSchema(domainServiceMethods.ByName("ConfigureDNS")), + connect.WithHandlerOptions(opts...), + ) + domainServiceGetDefaultRegistrantContactHandler := connect.NewUnaryHandler( + DomainServiceGetDefaultRegistrantContactProcedure, + svc.GetDefaultRegistrantContact, + connect.WithSchema(domainServiceMethods.ByName("GetDefaultRegistrantContact")), + connect.WithHandlerOptions(opts...), + ) + domainServiceSaveDefaultRegistrantContactHandler := connect.NewUnaryHandler( + DomainServiceSaveDefaultRegistrantContactProcedure, + svc.SaveDefaultRegistrantContact, + connect.WithSchema(domainServiceMethods.ByName("SaveDefaultRegistrantContact")), + connect.WithHandlerOptions(opts...), + ) + domainServiceGetDomainEventsHandler := connect.NewUnaryHandler( + DomainServiceGetDomainEventsProcedure, + svc.GetDomainEvents, + connect.WithSchema(domainServiceMethods.ByName("GetDomainEvents")), + connect.WithHandlerOptions(opts...), + ) + domainServiceGetDNSGuidanceHandler := connect.NewUnaryHandler( + DomainServiceGetDNSGuidanceProcedure, + svc.GetDNSGuidance, + connect.WithSchema(domainServiceMethods.ByName("GetDNSGuidance")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.DomainService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case DomainServiceAddDomainProcedure: + domainServiceAddDomainHandler.ServeHTTP(w, r) + case DomainServiceRemoveDomainProcedure: + domainServiceRemoveDomainHandler.ServeHTTP(w, r) + case DomainServiceListDomainsProcedure: + domainServiceListDomainsHandler.ServeHTTP(w, r) + case DomainServiceGetDomainProcedure: + domainServiceGetDomainHandler.ServeHTTP(w, r) + case DomainServiceVerifyDomainProcedure: + domainServiceVerifyDomainHandler.ServeHTTP(w, r) + case DomainServiceSetPrimaryDomainProcedure: + domainServiceSetPrimaryDomainHandler.ServeHTTP(w, r) + case DomainServiceGetDNSRecordsProcedure: + domainServiceGetDNSRecordsHandler.ServeHTTP(w, r) + case DomainServiceRequestSSLProcedure: + domainServiceRequestSSLHandler.ServeHTTP(w, r) + case DomainServiceRefreshSSLProcedure: + domainServiceRefreshSSLHandler.ServeHTTP(w, r) + case DomainServiceListAccountDomainsProcedure: + domainServiceListAccountDomainsHandler.ServeHTTP(w, r) + case DomainServiceAttachDomainProcedure: + domainServiceAttachDomainHandler.ServeHTTP(w, r) + case DomainServiceDetachDomainProcedure: + domainServiceDetachDomainHandler.ServeHTTP(w, r) + case DomainServiceUpdateDomainSettingsProcedure: + domainServiceUpdateDomainSettingsHandler.ServeHTTP(w, r) + case DomainServiceCheckDomainAvailabilityProcedure: + domainServiceCheckDomainAvailabilityHandler.ServeHTTP(w, r) + case DomainServicePurchaseDomainProcedure: + domainServicePurchaseDomainHandler.ServeHTTP(w, r) + case DomainServiceConfigureDNSProcedure: + domainServiceConfigureDNSHandler.ServeHTTP(w, r) + case DomainServiceGetDefaultRegistrantContactProcedure: + domainServiceGetDefaultRegistrantContactHandler.ServeHTTP(w, r) + case DomainServiceSaveDefaultRegistrantContactProcedure: + domainServiceSaveDefaultRegistrantContactHandler.ServeHTTP(w, r) + case DomainServiceGetDomainEventsProcedure: + domainServiceGetDomainEventsHandler.ServeHTTP(w, r) + case DomainServiceGetDNSGuidanceProcedure: + domainServiceGetDNSGuidanceHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedDomainServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedDomainServiceHandler struct{} + +func (UnimplementedDomainServiceHandler) AddDomain(context.Context, *connect.Request[v1.AddDomainRequest]) (*connect.Response[v1.AddDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.AddDomain is not implemented")) +} + +func (UnimplementedDomainServiceHandler) RemoveDomain(context.Context, *connect.Request[v1.RemoveDomainRequest]) (*connect.Response[v1.RemoveDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.RemoveDomain is not implemented")) +} + +func (UnimplementedDomainServiceHandler) ListDomains(context.Context, *connect.Request[v1.ListDomainsRequest]) (*connect.Response[v1.ListDomainsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.ListDomains is not implemented")) +} + +func (UnimplementedDomainServiceHandler) GetDomain(context.Context, *connect.Request[v1.GetDomainRequest]) (*connect.Response[v1.GetDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.GetDomain is not implemented")) +} + +func (UnimplementedDomainServiceHandler) VerifyDomain(context.Context, *connect.Request[v1.VerifyDomainRequest]) (*connect.Response[v1.VerifyDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.VerifyDomain is not implemented")) +} + +func (UnimplementedDomainServiceHandler) SetPrimaryDomain(context.Context, *connect.Request[v1.SetPrimaryDomainRequest]) (*connect.Response[v1.SetPrimaryDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.SetPrimaryDomain is not implemented")) +} + +func (UnimplementedDomainServiceHandler) GetDNSRecords(context.Context, *connect.Request[v1.GetDNSRecordsRequest]) (*connect.Response[v1.GetDNSRecordsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.GetDNSRecords is not implemented")) +} + +func (UnimplementedDomainServiceHandler) RequestSSL(context.Context, *connect.Request[v1.RequestSSLRequest]) (*connect.Response[v1.RequestSSLResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.RequestSSL is not implemented")) +} + +func (UnimplementedDomainServiceHandler) RefreshSSL(context.Context, *connect.Request[v1.RefreshSSLRequest]) (*connect.Response[v1.RefreshSSLResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.RefreshSSL is not implemented")) +} + +func (UnimplementedDomainServiceHandler) ListAccountDomains(context.Context, *connect.Request[v1.ListAccountDomainsRequest]) (*connect.Response[v1.ListAccountDomainsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.ListAccountDomains is not implemented")) +} + +func (UnimplementedDomainServiceHandler) AttachDomain(context.Context, *connect.Request[v1.AttachDomainRequest]) (*connect.Response[v1.AttachDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.AttachDomain is not implemented")) +} + +func (UnimplementedDomainServiceHandler) DetachDomain(context.Context, *connect.Request[v1.DetachDomainRequest]) (*connect.Response[v1.DetachDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.DetachDomain is not implemented")) +} + +func (UnimplementedDomainServiceHandler) UpdateDomainSettings(context.Context, *connect.Request[v1.UpdateDomainSettingsRequest]) (*connect.Response[v1.UpdateDomainSettingsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.UpdateDomainSettings is not implemented")) +} + +func (UnimplementedDomainServiceHandler) CheckDomainAvailability(context.Context, *connect.Request[v1.CheckDomainAvailabilityRequest]) (*connect.Response[v1.CheckDomainAvailabilityResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.CheckDomainAvailability is not implemented")) +} + +func (UnimplementedDomainServiceHandler) PurchaseDomain(context.Context, *connect.Request[v1.PurchaseDomainRequest]) (*connect.Response[v1.PurchaseDomainResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.PurchaseDomain is not implemented")) +} + +func (UnimplementedDomainServiceHandler) ConfigureDNS(context.Context, *connect.Request[v1.ConfigureDNSRequest]) (*connect.Response[v1.ConfigureDNSResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.ConfigureDNS is not implemented")) +} + +func (UnimplementedDomainServiceHandler) GetDefaultRegistrantContact(context.Context, *connect.Request[v1.GetDefaultRegistrantContactRequest]) (*connect.Response[v1.GetDefaultRegistrantContactResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.GetDefaultRegistrantContact is not implemented")) +} + +func (UnimplementedDomainServiceHandler) SaveDefaultRegistrantContact(context.Context, *connect.Request[v1.SaveDefaultRegistrantContactRequest]) (*connect.Response[v1.SaveDefaultRegistrantContactResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.SaveDefaultRegistrantContact is not implemented")) +} + +func (UnimplementedDomainServiceHandler) GetDomainEvents(context.Context, *connect.Request[v1.GetDomainEventsRequest]) (*connect.Response[v1.GetDomainEventsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.GetDomainEvents is not implemented")) +} + +func (UnimplementedDomainServiceHandler) GetDNSGuidance(context.Context, *connect.Request[v1.GetDNSGuidanceRequest]) (*connect.Response[v1.GetDNSGuidanceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.DomainService.GetDNSGuidance is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/email.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/email.connect.go new file mode 100644 index 0000000..05a8f31 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/email.connect.go @@ -0,0 +1,141 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/email.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // EmailServiceName is the fully-qualified name of the EmailService service. + EmailServiceName = "orchestrator.v1.EmailService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // EmailServiceQueueEmailProcedure is the fully-qualified name of the EmailService's QueueEmail RPC. + EmailServiceQueueEmailProcedure = "/orchestrator.v1.EmailService/QueueEmail" + // EmailServiceGetEmailLimitsProcedure is the fully-qualified name of the EmailService's + // GetEmailLimits RPC. + EmailServiceGetEmailLimitsProcedure = "/orchestrator.v1.EmailService/GetEmailLimits" +) + +// EmailServiceClient is a client for the orchestrator.v1.EmailService service. +type EmailServiceClient interface { + // Queue an email from a CMS instance + QueueEmail(context.Context, *connect.Request[v1.QueueEmailRequest]) (*connect.Response[v1.QueueEmailResponse], error) + // Check email quota and limits for an instance + GetEmailLimits(context.Context, *connect.Request[v1.GetEmailLimitsRequest]) (*connect.Response[v1.GetEmailLimitsResponse], error) +} + +// NewEmailServiceClient constructs a client for the orchestrator.v1.EmailService service. By +// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, +// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewEmailServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) EmailServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + emailServiceMethods := v1.File_orchestrator_v1_email_proto.Services().ByName("EmailService").Methods() + return &emailServiceClient{ + queueEmail: connect.NewClient[v1.QueueEmailRequest, v1.QueueEmailResponse]( + httpClient, + baseURL+EmailServiceQueueEmailProcedure, + connect.WithSchema(emailServiceMethods.ByName("QueueEmail")), + connect.WithClientOptions(opts...), + ), + getEmailLimits: connect.NewClient[v1.GetEmailLimitsRequest, v1.GetEmailLimitsResponse]( + httpClient, + baseURL+EmailServiceGetEmailLimitsProcedure, + connect.WithSchema(emailServiceMethods.ByName("GetEmailLimits")), + connect.WithClientOptions(opts...), + ), + } +} + +// emailServiceClient implements EmailServiceClient. +type emailServiceClient struct { + queueEmail *connect.Client[v1.QueueEmailRequest, v1.QueueEmailResponse] + getEmailLimits *connect.Client[v1.GetEmailLimitsRequest, v1.GetEmailLimitsResponse] +} + +// QueueEmail calls orchestrator.v1.EmailService.QueueEmail. +func (c *emailServiceClient) QueueEmail(ctx context.Context, req *connect.Request[v1.QueueEmailRequest]) (*connect.Response[v1.QueueEmailResponse], error) { + return c.queueEmail.CallUnary(ctx, req) +} + +// GetEmailLimits calls orchestrator.v1.EmailService.GetEmailLimits. +func (c *emailServiceClient) GetEmailLimits(ctx context.Context, req *connect.Request[v1.GetEmailLimitsRequest]) (*connect.Response[v1.GetEmailLimitsResponse], error) { + return c.getEmailLimits.CallUnary(ctx, req) +} + +// EmailServiceHandler is an implementation of the orchestrator.v1.EmailService service. +type EmailServiceHandler interface { + // Queue an email from a CMS instance + QueueEmail(context.Context, *connect.Request[v1.QueueEmailRequest]) (*connect.Response[v1.QueueEmailResponse], error) + // Check email quota and limits for an instance + GetEmailLimits(context.Context, *connect.Request[v1.GetEmailLimitsRequest]) (*connect.Response[v1.GetEmailLimitsResponse], error) +} + +// NewEmailServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewEmailServiceHandler(svc EmailServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + emailServiceMethods := v1.File_orchestrator_v1_email_proto.Services().ByName("EmailService").Methods() + emailServiceQueueEmailHandler := connect.NewUnaryHandler( + EmailServiceQueueEmailProcedure, + svc.QueueEmail, + connect.WithSchema(emailServiceMethods.ByName("QueueEmail")), + connect.WithHandlerOptions(opts...), + ) + emailServiceGetEmailLimitsHandler := connect.NewUnaryHandler( + EmailServiceGetEmailLimitsProcedure, + svc.GetEmailLimits, + connect.WithSchema(emailServiceMethods.ByName("GetEmailLimits")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.EmailService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case EmailServiceQueueEmailProcedure: + emailServiceQueueEmailHandler.ServeHTTP(w, r) + case EmailServiceGetEmailLimitsProcedure: + emailServiceGetEmailLimitsHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedEmailServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedEmailServiceHandler struct{} + +func (UnimplementedEmailServiceHandler) QueueEmail(context.Context, *connect.Request[v1.QueueEmailRequest]) (*connect.Response[v1.QueueEmailResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.EmailService.QueueEmail is not implemented")) +} + +func (UnimplementedEmailServiceHandler) GetEmailLimits(context.Context, *connect.Request[v1.GetEmailLimitsRequest]) (*connect.Response[v1.GetEmailLimitsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.EmailService.GetEmailLimits is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/helpdesk.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/helpdesk.connect.go new file mode 100644 index 0000000..e130b9c --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/helpdesk.connect.go @@ -0,0 +1,580 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/helpdesk.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // HelpDeskServiceName is the fully-qualified name of the HelpDeskService service. + HelpDeskServiceName = "orchestrator.v1.HelpDeskService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // HelpDeskServiceCreateTicketProcedure is the fully-qualified name of the HelpDeskService's + // CreateTicket RPC. + HelpDeskServiceCreateTicketProcedure = "/orchestrator.v1.HelpDeskService/CreateTicket" + // HelpDeskServiceGetTicketProcedure is the fully-qualified name of the HelpDeskService's GetTicket + // RPC. + HelpDeskServiceGetTicketProcedure = "/orchestrator.v1.HelpDeskService/GetTicket" + // HelpDeskServiceListTicketsProcedure is the fully-qualified name of the HelpDeskService's + // ListTickets RPC. + HelpDeskServiceListTicketsProcedure = "/orchestrator.v1.HelpDeskService/ListTickets" + // HelpDeskServiceUpdateTicketProcedure is the fully-qualified name of the HelpDeskService's + // UpdateTicket RPC. + HelpDeskServiceUpdateTicketProcedure = "/orchestrator.v1.HelpDeskService/UpdateTicket" + // HelpDeskServiceReassignTicketAuthorProcedure is the fully-qualified name of the HelpDeskService's + // ReassignTicketAuthor RPC. + HelpDeskServiceReassignTicketAuthorProcedure = "/orchestrator.v1.HelpDeskService/ReassignTicketAuthor" + // HelpDeskServiceAddMessageProcedure is the fully-qualified name of the HelpDeskService's + // AddMessage RPC. + HelpDeskServiceAddMessageProcedure = "/orchestrator.v1.HelpDeskService/AddMessage" + // HelpDeskServiceCloseTicketProcedure is the fully-qualified name of the HelpDeskService's + // CloseTicket RPC. + HelpDeskServiceCloseTicketProcedure = "/orchestrator.v1.HelpDeskService/CloseTicket" + // HelpDeskServiceReopenTicketProcedure is the fully-qualified name of the HelpDeskService's + // ReopenTicket RPC. + HelpDeskServiceReopenTicketProcedure = "/orchestrator.v1.HelpDeskService/ReopenTicket" + // HelpDeskServiceRateTicketProcedure is the fully-qualified name of the HelpDeskService's + // RateTicket RPC. + HelpDeskServiceRateTicketProcedure = "/orchestrator.v1.HelpDeskService/RateTicket" + // HelpDeskServiceListCannedResponsesProcedure is the fully-qualified name of the HelpDeskService's + // ListCannedResponses RPC. + HelpDeskServiceListCannedResponsesProcedure = "/orchestrator.v1.HelpDeskService/ListCannedResponses" + // HelpDeskServiceCreateCannedResponseProcedure is the fully-qualified name of the HelpDeskService's + // CreateCannedResponse RPC. + HelpDeskServiceCreateCannedResponseProcedure = "/orchestrator.v1.HelpDeskService/CreateCannedResponse" + // HelpDeskServiceUpdateCannedResponseProcedure is the fully-qualified name of the HelpDeskService's + // UpdateCannedResponse RPC. + HelpDeskServiceUpdateCannedResponseProcedure = "/orchestrator.v1.HelpDeskService/UpdateCannedResponse" + // HelpDeskServiceDeleteCannedResponseProcedure is the fully-qualified name of the HelpDeskService's + // DeleteCannedResponse RPC. + HelpDeskServiceDeleteCannedResponseProcedure = "/orchestrator.v1.HelpDeskService/DeleteCannedResponse" + // HelpDeskServiceListModerationQueueProcedure is the fully-qualified name of the HelpDeskService's + // ListModerationQueue RPC. + HelpDeskServiceListModerationQueueProcedure = "/orchestrator.v1.HelpDeskService/ListModerationQueue" + // HelpDeskServiceModerationActionProcedure is the fully-qualified name of the HelpDeskService's + // ModerationAction RPC. + HelpDeskServiceModerationActionProcedure = "/orchestrator.v1.HelpDeskService/ModerationAction" + // HelpDeskServiceGetTicketContextProcedure is the fully-qualified name of the HelpDeskService's + // GetTicketContext RPC. + HelpDeskServiceGetTicketContextProcedure = "/orchestrator.v1.HelpDeskService/GetTicketContext" +) + +// HelpDeskServiceClient is a client for the orchestrator.v1.HelpDeskService service. +type HelpDeskServiceClient interface { + // Submit a new support ticket (customer) + CreateTicket(context.Context, *connect.Request[v1.CreateTicketRequest]) (*connect.Response[v1.CreateTicketResponse], error) + // View a ticket and its message thread (both) + GetTicket(context.Context, *connect.Request[v1.GetTicketRequest]) (*connect.Response[v1.GetTicketResponse], error) + // List/filter tickets with role-based visibility (both) + ListTickets(context.Context, *connect.Request[v1.ListTicketsRequest]) (*connect.Response[v1.ListTicketsResponse], error) + // Change status, priority, assignment, or category (staff) + UpdateTicket(context.Context, *connect.Request[v1.UpdateTicketRequest]) (*connect.Response[v1.UpdateTicketResponse], error) + // Reassign a ticket's AUTHOR (creator) to a real platform user by email — + // used to link an "Unknown User" inbound-email/widget ticket to a customer. + // Also moves the ticket to that user's account (staff). + ReassignTicketAuthor(context.Context, *connect.Request[v1.ReassignTicketAuthorRequest]) (*connect.Response[v1.ReassignTicketAuthorResponse], error) + // Post a reply or internal note to a ticket thread (both) + AddMessage(context.Context, *connect.Request[v1.AddMessageRequest]) (*connect.Response[v1.AddMessageResponse], error) + // Close a ticket (both) + CloseTicket(context.Context, *connect.Request[v1.CloseTicketRequest]) (*connect.Response[v1.CloseTicketResponse], error) + // Reopen a closed ticket (customer) + ReopenTicket(context.Context, *connect.Request[v1.ReopenTicketRequest]) (*connect.Response[v1.ReopenTicketResponse], error) + // Submit a satisfaction rating after resolution (customer) + RateTicket(context.Context, *connect.Request[v1.RateTicketRequest]) (*connect.Response[v1.RateTicketResponse], error) + // List canned response templates (staff) + ListCannedResponses(context.Context, *connect.Request[v1.ListCannedResponsesRequest]) (*connect.Response[v1.ListCannedResponsesResponse], error) + // Create a canned response template (staff) + CreateCannedResponse(context.Context, *connect.Request[v1.CreateCannedResponseRequest]) (*connect.Response[v1.CreateCannedResponseResponse], error) + // Edit a canned response template (staff) + UpdateCannedResponse(context.Context, *connect.Request[v1.UpdateCannedResponseRequest]) (*connect.Response[v1.UpdateCannedResponseResponse], error) + // Remove a canned response template (staff) + DeleteCannedResponse(context.Context, *connect.Request[v1.DeleteCannedResponseRequest]) (*connect.Response[v1.DeleteCannedResponseResponse], error) + // View pending unknown-sender emails (staff) + ListModerationQueue(context.Context, *connect.Request[v1.ListModerationQueueRequest]) (*connect.Response[v1.ListModerationQueueResponse], error) + // Approve (assign to account + create ticket) or reject a moderation item (staff) + ModerationAction(context.Context, *connect.Request[v1.ModerationActionRequest]) (*connect.Response[v1.ModerationActionResponse], error) + // Live instance data for the ticket's linked instance (staff) + GetTicketContext(context.Context, *connect.Request[v1.GetTicketContextRequest]) (*connect.Response[v1.GetTicketContextResponse], error) +} + +// NewHelpDeskServiceClient constructs a client for the orchestrator.v1.HelpDeskService service. By +// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, +// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewHelpDeskServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) HelpDeskServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + helpDeskServiceMethods := v1.File_orchestrator_v1_helpdesk_proto.Services().ByName("HelpDeskService").Methods() + return &helpDeskServiceClient{ + createTicket: connect.NewClient[v1.CreateTicketRequest, v1.CreateTicketResponse]( + httpClient, + baseURL+HelpDeskServiceCreateTicketProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("CreateTicket")), + connect.WithClientOptions(opts...), + ), + getTicket: connect.NewClient[v1.GetTicketRequest, v1.GetTicketResponse]( + httpClient, + baseURL+HelpDeskServiceGetTicketProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("GetTicket")), + connect.WithClientOptions(opts...), + ), + listTickets: connect.NewClient[v1.ListTicketsRequest, v1.ListTicketsResponse]( + httpClient, + baseURL+HelpDeskServiceListTicketsProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("ListTickets")), + connect.WithClientOptions(opts...), + ), + updateTicket: connect.NewClient[v1.UpdateTicketRequest, v1.UpdateTicketResponse]( + httpClient, + baseURL+HelpDeskServiceUpdateTicketProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("UpdateTicket")), + connect.WithClientOptions(opts...), + ), + reassignTicketAuthor: connect.NewClient[v1.ReassignTicketAuthorRequest, v1.ReassignTicketAuthorResponse]( + httpClient, + baseURL+HelpDeskServiceReassignTicketAuthorProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("ReassignTicketAuthor")), + connect.WithClientOptions(opts...), + ), + addMessage: connect.NewClient[v1.AddMessageRequest, v1.AddMessageResponse]( + httpClient, + baseURL+HelpDeskServiceAddMessageProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("AddMessage")), + connect.WithClientOptions(opts...), + ), + closeTicket: connect.NewClient[v1.CloseTicketRequest, v1.CloseTicketResponse]( + httpClient, + baseURL+HelpDeskServiceCloseTicketProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("CloseTicket")), + connect.WithClientOptions(opts...), + ), + reopenTicket: connect.NewClient[v1.ReopenTicketRequest, v1.ReopenTicketResponse]( + httpClient, + baseURL+HelpDeskServiceReopenTicketProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("ReopenTicket")), + connect.WithClientOptions(opts...), + ), + rateTicket: connect.NewClient[v1.RateTicketRequest, v1.RateTicketResponse]( + httpClient, + baseURL+HelpDeskServiceRateTicketProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("RateTicket")), + connect.WithClientOptions(opts...), + ), + listCannedResponses: connect.NewClient[v1.ListCannedResponsesRequest, v1.ListCannedResponsesResponse]( + httpClient, + baseURL+HelpDeskServiceListCannedResponsesProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("ListCannedResponses")), + connect.WithClientOptions(opts...), + ), + createCannedResponse: connect.NewClient[v1.CreateCannedResponseRequest, v1.CreateCannedResponseResponse]( + httpClient, + baseURL+HelpDeskServiceCreateCannedResponseProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("CreateCannedResponse")), + connect.WithClientOptions(opts...), + ), + updateCannedResponse: connect.NewClient[v1.UpdateCannedResponseRequest, v1.UpdateCannedResponseResponse]( + httpClient, + baseURL+HelpDeskServiceUpdateCannedResponseProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("UpdateCannedResponse")), + connect.WithClientOptions(opts...), + ), + deleteCannedResponse: connect.NewClient[v1.DeleteCannedResponseRequest, v1.DeleteCannedResponseResponse]( + httpClient, + baseURL+HelpDeskServiceDeleteCannedResponseProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("DeleteCannedResponse")), + connect.WithClientOptions(opts...), + ), + listModerationQueue: connect.NewClient[v1.ListModerationQueueRequest, v1.ListModerationQueueResponse]( + httpClient, + baseURL+HelpDeskServiceListModerationQueueProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("ListModerationQueue")), + connect.WithClientOptions(opts...), + ), + moderationAction: connect.NewClient[v1.ModerationActionRequest, v1.ModerationActionResponse]( + httpClient, + baseURL+HelpDeskServiceModerationActionProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("ModerationAction")), + connect.WithClientOptions(opts...), + ), + getTicketContext: connect.NewClient[v1.GetTicketContextRequest, v1.GetTicketContextResponse]( + httpClient, + baseURL+HelpDeskServiceGetTicketContextProcedure, + connect.WithSchema(helpDeskServiceMethods.ByName("GetTicketContext")), + connect.WithClientOptions(opts...), + ), + } +} + +// helpDeskServiceClient implements HelpDeskServiceClient. +type helpDeskServiceClient struct { + createTicket *connect.Client[v1.CreateTicketRequest, v1.CreateTicketResponse] + getTicket *connect.Client[v1.GetTicketRequest, v1.GetTicketResponse] + listTickets *connect.Client[v1.ListTicketsRequest, v1.ListTicketsResponse] + updateTicket *connect.Client[v1.UpdateTicketRequest, v1.UpdateTicketResponse] + reassignTicketAuthor *connect.Client[v1.ReassignTicketAuthorRequest, v1.ReassignTicketAuthorResponse] + addMessage *connect.Client[v1.AddMessageRequest, v1.AddMessageResponse] + closeTicket *connect.Client[v1.CloseTicketRequest, v1.CloseTicketResponse] + reopenTicket *connect.Client[v1.ReopenTicketRequest, v1.ReopenTicketResponse] + rateTicket *connect.Client[v1.RateTicketRequest, v1.RateTicketResponse] + listCannedResponses *connect.Client[v1.ListCannedResponsesRequest, v1.ListCannedResponsesResponse] + createCannedResponse *connect.Client[v1.CreateCannedResponseRequest, v1.CreateCannedResponseResponse] + updateCannedResponse *connect.Client[v1.UpdateCannedResponseRequest, v1.UpdateCannedResponseResponse] + deleteCannedResponse *connect.Client[v1.DeleteCannedResponseRequest, v1.DeleteCannedResponseResponse] + listModerationQueue *connect.Client[v1.ListModerationQueueRequest, v1.ListModerationQueueResponse] + moderationAction *connect.Client[v1.ModerationActionRequest, v1.ModerationActionResponse] + getTicketContext *connect.Client[v1.GetTicketContextRequest, v1.GetTicketContextResponse] +} + +// CreateTicket calls orchestrator.v1.HelpDeskService.CreateTicket. +func (c *helpDeskServiceClient) CreateTicket(ctx context.Context, req *connect.Request[v1.CreateTicketRequest]) (*connect.Response[v1.CreateTicketResponse], error) { + return c.createTicket.CallUnary(ctx, req) +} + +// GetTicket calls orchestrator.v1.HelpDeskService.GetTicket. +func (c *helpDeskServiceClient) GetTicket(ctx context.Context, req *connect.Request[v1.GetTicketRequest]) (*connect.Response[v1.GetTicketResponse], error) { + return c.getTicket.CallUnary(ctx, req) +} + +// ListTickets calls orchestrator.v1.HelpDeskService.ListTickets. +func (c *helpDeskServiceClient) ListTickets(ctx context.Context, req *connect.Request[v1.ListTicketsRequest]) (*connect.Response[v1.ListTicketsResponse], error) { + return c.listTickets.CallUnary(ctx, req) +} + +// UpdateTicket calls orchestrator.v1.HelpDeskService.UpdateTicket. +func (c *helpDeskServiceClient) UpdateTicket(ctx context.Context, req *connect.Request[v1.UpdateTicketRequest]) (*connect.Response[v1.UpdateTicketResponse], error) { + return c.updateTicket.CallUnary(ctx, req) +} + +// ReassignTicketAuthor calls orchestrator.v1.HelpDeskService.ReassignTicketAuthor. +func (c *helpDeskServiceClient) ReassignTicketAuthor(ctx context.Context, req *connect.Request[v1.ReassignTicketAuthorRequest]) (*connect.Response[v1.ReassignTicketAuthorResponse], error) { + return c.reassignTicketAuthor.CallUnary(ctx, req) +} + +// AddMessage calls orchestrator.v1.HelpDeskService.AddMessage. +func (c *helpDeskServiceClient) AddMessage(ctx context.Context, req *connect.Request[v1.AddMessageRequest]) (*connect.Response[v1.AddMessageResponse], error) { + return c.addMessage.CallUnary(ctx, req) +} + +// CloseTicket calls orchestrator.v1.HelpDeskService.CloseTicket. +func (c *helpDeskServiceClient) CloseTicket(ctx context.Context, req *connect.Request[v1.CloseTicketRequest]) (*connect.Response[v1.CloseTicketResponse], error) { + return c.closeTicket.CallUnary(ctx, req) +} + +// ReopenTicket calls orchestrator.v1.HelpDeskService.ReopenTicket. +func (c *helpDeskServiceClient) ReopenTicket(ctx context.Context, req *connect.Request[v1.ReopenTicketRequest]) (*connect.Response[v1.ReopenTicketResponse], error) { + return c.reopenTicket.CallUnary(ctx, req) +} + +// RateTicket calls orchestrator.v1.HelpDeskService.RateTicket. +func (c *helpDeskServiceClient) RateTicket(ctx context.Context, req *connect.Request[v1.RateTicketRequest]) (*connect.Response[v1.RateTicketResponse], error) { + return c.rateTicket.CallUnary(ctx, req) +} + +// ListCannedResponses calls orchestrator.v1.HelpDeskService.ListCannedResponses. +func (c *helpDeskServiceClient) ListCannedResponses(ctx context.Context, req *connect.Request[v1.ListCannedResponsesRequest]) (*connect.Response[v1.ListCannedResponsesResponse], error) { + return c.listCannedResponses.CallUnary(ctx, req) +} + +// CreateCannedResponse calls orchestrator.v1.HelpDeskService.CreateCannedResponse. +func (c *helpDeskServiceClient) CreateCannedResponse(ctx context.Context, req *connect.Request[v1.CreateCannedResponseRequest]) (*connect.Response[v1.CreateCannedResponseResponse], error) { + return c.createCannedResponse.CallUnary(ctx, req) +} + +// UpdateCannedResponse calls orchestrator.v1.HelpDeskService.UpdateCannedResponse. +func (c *helpDeskServiceClient) UpdateCannedResponse(ctx context.Context, req *connect.Request[v1.UpdateCannedResponseRequest]) (*connect.Response[v1.UpdateCannedResponseResponse], error) { + return c.updateCannedResponse.CallUnary(ctx, req) +} + +// DeleteCannedResponse calls orchestrator.v1.HelpDeskService.DeleteCannedResponse. +func (c *helpDeskServiceClient) DeleteCannedResponse(ctx context.Context, req *connect.Request[v1.DeleteCannedResponseRequest]) (*connect.Response[v1.DeleteCannedResponseResponse], error) { + return c.deleteCannedResponse.CallUnary(ctx, req) +} + +// ListModerationQueue calls orchestrator.v1.HelpDeskService.ListModerationQueue. +func (c *helpDeskServiceClient) ListModerationQueue(ctx context.Context, req *connect.Request[v1.ListModerationQueueRequest]) (*connect.Response[v1.ListModerationQueueResponse], error) { + return c.listModerationQueue.CallUnary(ctx, req) +} + +// ModerationAction calls orchestrator.v1.HelpDeskService.ModerationAction. +func (c *helpDeskServiceClient) ModerationAction(ctx context.Context, req *connect.Request[v1.ModerationActionRequest]) (*connect.Response[v1.ModerationActionResponse], error) { + return c.moderationAction.CallUnary(ctx, req) +} + +// GetTicketContext calls orchestrator.v1.HelpDeskService.GetTicketContext. +func (c *helpDeskServiceClient) GetTicketContext(ctx context.Context, req *connect.Request[v1.GetTicketContextRequest]) (*connect.Response[v1.GetTicketContextResponse], error) { + return c.getTicketContext.CallUnary(ctx, req) +} + +// HelpDeskServiceHandler is an implementation of the orchestrator.v1.HelpDeskService service. +type HelpDeskServiceHandler interface { + // Submit a new support ticket (customer) + CreateTicket(context.Context, *connect.Request[v1.CreateTicketRequest]) (*connect.Response[v1.CreateTicketResponse], error) + // View a ticket and its message thread (both) + GetTicket(context.Context, *connect.Request[v1.GetTicketRequest]) (*connect.Response[v1.GetTicketResponse], error) + // List/filter tickets with role-based visibility (both) + ListTickets(context.Context, *connect.Request[v1.ListTicketsRequest]) (*connect.Response[v1.ListTicketsResponse], error) + // Change status, priority, assignment, or category (staff) + UpdateTicket(context.Context, *connect.Request[v1.UpdateTicketRequest]) (*connect.Response[v1.UpdateTicketResponse], error) + // Reassign a ticket's AUTHOR (creator) to a real platform user by email — + // used to link an "Unknown User" inbound-email/widget ticket to a customer. + // Also moves the ticket to that user's account (staff). + ReassignTicketAuthor(context.Context, *connect.Request[v1.ReassignTicketAuthorRequest]) (*connect.Response[v1.ReassignTicketAuthorResponse], error) + // Post a reply or internal note to a ticket thread (both) + AddMessage(context.Context, *connect.Request[v1.AddMessageRequest]) (*connect.Response[v1.AddMessageResponse], error) + // Close a ticket (both) + CloseTicket(context.Context, *connect.Request[v1.CloseTicketRequest]) (*connect.Response[v1.CloseTicketResponse], error) + // Reopen a closed ticket (customer) + ReopenTicket(context.Context, *connect.Request[v1.ReopenTicketRequest]) (*connect.Response[v1.ReopenTicketResponse], error) + // Submit a satisfaction rating after resolution (customer) + RateTicket(context.Context, *connect.Request[v1.RateTicketRequest]) (*connect.Response[v1.RateTicketResponse], error) + // List canned response templates (staff) + ListCannedResponses(context.Context, *connect.Request[v1.ListCannedResponsesRequest]) (*connect.Response[v1.ListCannedResponsesResponse], error) + // Create a canned response template (staff) + CreateCannedResponse(context.Context, *connect.Request[v1.CreateCannedResponseRequest]) (*connect.Response[v1.CreateCannedResponseResponse], error) + // Edit a canned response template (staff) + UpdateCannedResponse(context.Context, *connect.Request[v1.UpdateCannedResponseRequest]) (*connect.Response[v1.UpdateCannedResponseResponse], error) + // Remove a canned response template (staff) + DeleteCannedResponse(context.Context, *connect.Request[v1.DeleteCannedResponseRequest]) (*connect.Response[v1.DeleteCannedResponseResponse], error) + // View pending unknown-sender emails (staff) + ListModerationQueue(context.Context, *connect.Request[v1.ListModerationQueueRequest]) (*connect.Response[v1.ListModerationQueueResponse], error) + // Approve (assign to account + create ticket) or reject a moderation item (staff) + ModerationAction(context.Context, *connect.Request[v1.ModerationActionRequest]) (*connect.Response[v1.ModerationActionResponse], error) + // Live instance data for the ticket's linked instance (staff) + GetTicketContext(context.Context, *connect.Request[v1.GetTicketContextRequest]) (*connect.Response[v1.GetTicketContextResponse], error) +} + +// NewHelpDeskServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewHelpDeskServiceHandler(svc HelpDeskServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + helpDeskServiceMethods := v1.File_orchestrator_v1_helpdesk_proto.Services().ByName("HelpDeskService").Methods() + helpDeskServiceCreateTicketHandler := connect.NewUnaryHandler( + HelpDeskServiceCreateTicketProcedure, + svc.CreateTicket, + connect.WithSchema(helpDeskServiceMethods.ByName("CreateTicket")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceGetTicketHandler := connect.NewUnaryHandler( + HelpDeskServiceGetTicketProcedure, + svc.GetTicket, + connect.WithSchema(helpDeskServiceMethods.ByName("GetTicket")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceListTicketsHandler := connect.NewUnaryHandler( + HelpDeskServiceListTicketsProcedure, + svc.ListTickets, + connect.WithSchema(helpDeskServiceMethods.ByName("ListTickets")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceUpdateTicketHandler := connect.NewUnaryHandler( + HelpDeskServiceUpdateTicketProcedure, + svc.UpdateTicket, + connect.WithSchema(helpDeskServiceMethods.ByName("UpdateTicket")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceReassignTicketAuthorHandler := connect.NewUnaryHandler( + HelpDeskServiceReassignTicketAuthorProcedure, + svc.ReassignTicketAuthor, + connect.WithSchema(helpDeskServiceMethods.ByName("ReassignTicketAuthor")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceAddMessageHandler := connect.NewUnaryHandler( + HelpDeskServiceAddMessageProcedure, + svc.AddMessage, + connect.WithSchema(helpDeskServiceMethods.ByName("AddMessage")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceCloseTicketHandler := connect.NewUnaryHandler( + HelpDeskServiceCloseTicketProcedure, + svc.CloseTicket, + connect.WithSchema(helpDeskServiceMethods.ByName("CloseTicket")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceReopenTicketHandler := connect.NewUnaryHandler( + HelpDeskServiceReopenTicketProcedure, + svc.ReopenTicket, + connect.WithSchema(helpDeskServiceMethods.ByName("ReopenTicket")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceRateTicketHandler := connect.NewUnaryHandler( + HelpDeskServiceRateTicketProcedure, + svc.RateTicket, + connect.WithSchema(helpDeskServiceMethods.ByName("RateTicket")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceListCannedResponsesHandler := connect.NewUnaryHandler( + HelpDeskServiceListCannedResponsesProcedure, + svc.ListCannedResponses, + connect.WithSchema(helpDeskServiceMethods.ByName("ListCannedResponses")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceCreateCannedResponseHandler := connect.NewUnaryHandler( + HelpDeskServiceCreateCannedResponseProcedure, + svc.CreateCannedResponse, + connect.WithSchema(helpDeskServiceMethods.ByName("CreateCannedResponse")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceUpdateCannedResponseHandler := connect.NewUnaryHandler( + HelpDeskServiceUpdateCannedResponseProcedure, + svc.UpdateCannedResponse, + connect.WithSchema(helpDeskServiceMethods.ByName("UpdateCannedResponse")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceDeleteCannedResponseHandler := connect.NewUnaryHandler( + HelpDeskServiceDeleteCannedResponseProcedure, + svc.DeleteCannedResponse, + connect.WithSchema(helpDeskServiceMethods.ByName("DeleteCannedResponse")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceListModerationQueueHandler := connect.NewUnaryHandler( + HelpDeskServiceListModerationQueueProcedure, + svc.ListModerationQueue, + connect.WithSchema(helpDeskServiceMethods.ByName("ListModerationQueue")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceModerationActionHandler := connect.NewUnaryHandler( + HelpDeskServiceModerationActionProcedure, + svc.ModerationAction, + connect.WithSchema(helpDeskServiceMethods.ByName("ModerationAction")), + connect.WithHandlerOptions(opts...), + ) + helpDeskServiceGetTicketContextHandler := connect.NewUnaryHandler( + HelpDeskServiceGetTicketContextProcedure, + svc.GetTicketContext, + connect.WithSchema(helpDeskServiceMethods.ByName("GetTicketContext")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.HelpDeskService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case HelpDeskServiceCreateTicketProcedure: + helpDeskServiceCreateTicketHandler.ServeHTTP(w, r) + case HelpDeskServiceGetTicketProcedure: + helpDeskServiceGetTicketHandler.ServeHTTP(w, r) + case HelpDeskServiceListTicketsProcedure: + helpDeskServiceListTicketsHandler.ServeHTTP(w, r) + case HelpDeskServiceUpdateTicketProcedure: + helpDeskServiceUpdateTicketHandler.ServeHTTP(w, r) + case HelpDeskServiceReassignTicketAuthorProcedure: + helpDeskServiceReassignTicketAuthorHandler.ServeHTTP(w, r) + case HelpDeskServiceAddMessageProcedure: + helpDeskServiceAddMessageHandler.ServeHTTP(w, r) + case HelpDeskServiceCloseTicketProcedure: + helpDeskServiceCloseTicketHandler.ServeHTTP(w, r) + case HelpDeskServiceReopenTicketProcedure: + helpDeskServiceReopenTicketHandler.ServeHTTP(w, r) + case HelpDeskServiceRateTicketProcedure: + helpDeskServiceRateTicketHandler.ServeHTTP(w, r) + case HelpDeskServiceListCannedResponsesProcedure: + helpDeskServiceListCannedResponsesHandler.ServeHTTP(w, r) + case HelpDeskServiceCreateCannedResponseProcedure: + helpDeskServiceCreateCannedResponseHandler.ServeHTTP(w, r) + case HelpDeskServiceUpdateCannedResponseProcedure: + helpDeskServiceUpdateCannedResponseHandler.ServeHTTP(w, r) + case HelpDeskServiceDeleteCannedResponseProcedure: + helpDeskServiceDeleteCannedResponseHandler.ServeHTTP(w, r) + case HelpDeskServiceListModerationQueueProcedure: + helpDeskServiceListModerationQueueHandler.ServeHTTP(w, r) + case HelpDeskServiceModerationActionProcedure: + helpDeskServiceModerationActionHandler.ServeHTTP(w, r) + case HelpDeskServiceGetTicketContextProcedure: + helpDeskServiceGetTicketContextHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedHelpDeskServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedHelpDeskServiceHandler struct{} + +func (UnimplementedHelpDeskServiceHandler) CreateTicket(context.Context, *connect.Request[v1.CreateTicketRequest]) (*connect.Response[v1.CreateTicketResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.CreateTicket is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) GetTicket(context.Context, *connect.Request[v1.GetTicketRequest]) (*connect.Response[v1.GetTicketResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.GetTicket is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) ListTickets(context.Context, *connect.Request[v1.ListTicketsRequest]) (*connect.Response[v1.ListTicketsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.ListTickets is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) UpdateTicket(context.Context, *connect.Request[v1.UpdateTicketRequest]) (*connect.Response[v1.UpdateTicketResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.UpdateTicket is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) ReassignTicketAuthor(context.Context, *connect.Request[v1.ReassignTicketAuthorRequest]) (*connect.Response[v1.ReassignTicketAuthorResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.ReassignTicketAuthor is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) AddMessage(context.Context, *connect.Request[v1.AddMessageRequest]) (*connect.Response[v1.AddMessageResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.AddMessage is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) CloseTicket(context.Context, *connect.Request[v1.CloseTicketRequest]) (*connect.Response[v1.CloseTicketResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.CloseTicket is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) ReopenTicket(context.Context, *connect.Request[v1.ReopenTicketRequest]) (*connect.Response[v1.ReopenTicketResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.ReopenTicket is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) RateTicket(context.Context, *connect.Request[v1.RateTicketRequest]) (*connect.Response[v1.RateTicketResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.RateTicket is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) ListCannedResponses(context.Context, *connect.Request[v1.ListCannedResponsesRequest]) (*connect.Response[v1.ListCannedResponsesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.ListCannedResponses is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) CreateCannedResponse(context.Context, *connect.Request[v1.CreateCannedResponseRequest]) (*connect.Response[v1.CreateCannedResponseResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.CreateCannedResponse is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) UpdateCannedResponse(context.Context, *connect.Request[v1.UpdateCannedResponseRequest]) (*connect.Response[v1.UpdateCannedResponseResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.UpdateCannedResponse is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) DeleteCannedResponse(context.Context, *connect.Request[v1.DeleteCannedResponseRequest]) (*connect.Response[v1.DeleteCannedResponseResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.DeleteCannedResponse is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) ListModerationQueue(context.Context, *connect.Request[v1.ListModerationQueueRequest]) (*connect.Response[v1.ListModerationQueueResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.ListModerationQueue is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) ModerationAction(context.Context, *connect.Request[v1.ModerationActionRequest]) (*connect.Response[v1.ModerationActionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.ModerationAction is not implemented")) +} + +func (UnimplementedHelpDeskServiceHandler) GetTicketContext(context.Context, *connect.Request[v1.GetTicketContextRequest]) (*connect.Response[v1.GetTicketContextResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.HelpDeskService.GetTicketContext is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/infrastructure.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/infrastructure.connect.go new file mode 100644 index 0000000..79b3742 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/infrastructure.connect.go @@ -0,0 +1,1554 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/infrastructure.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // InfrastructureServiceName is the fully-qualified name of the InfrastructureService service. + InfrastructureServiceName = "orchestrator.v1.InfrastructureService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // InfrastructureServiceGetInfrastructureOverviewProcedure is the fully-qualified name of the + // InfrastructureService's GetInfrastructureOverview RPC. + InfrastructureServiceGetInfrastructureOverviewProcedure = "/orchestrator.v1.InfrastructureService/GetInfrastructureOverview" + // InfrastructureServiceGetNodeHealthProcedure is the fully-qualified name of the + // InfrastructureService's GetNodeHealth RPC. + InfrastructureServiceGetNodeHealthProcedure = "/orchestrator.v1.InfrastructureService/GetNodeHealth" + // InfrastructureServiceRunHealthCheckProcedure is the fully-qualified name of the + // InfrastructureService's RunHealthCheck RPC. + InfrastructureServiceRunHealthCheckProcedure = "/orchestrator.v1.InfrastructureService/RunHealthCheck" + // InfrastructureServiceGetHealthHistoryProcedure is the fully-qualified name of the + // InfrastructureService's GetHealthHistory RPC. + InfrastructureServiceGetHealthHistoryProcedure = "/orchestrator.v1.InfrastructureService/GetHealthHistory" + // InfrastructureServiceListNodeContainersProcedure is the fully-qualified name of the + // InfrastructureService's ListNodeContainers RPC. + InfrastructureServiceListNodeContainersProcedure = "/orchestrator.v1.InfrastructureService/ListNodeContainers" + // InfrastructureServiceGetContainerSpecProcedure is the fully-qualified name of the + // InfrastructureService's GetContainerSpec RPC. + InfrastructureServiceGetContainerSpecProcedure = "/orchestrator.v1.InfrastructureService/GetContainerSpec" + // InfrastructureServiceRestartContainerProcedure is the fully-qualified name of the + // InfrastructureService's RestartContainer RPC. + InfrastructureServiceRestartContainerProcedure = "/orchestrator.v1.InfrastructureService/RestartContainer" + // InfrastructureServiceRecreateContainerProcedure is the fully-qualified name of the + // InfrastructureService's RecreateContainer RPC. + InfrastructureServiceRecreateContainerProcedure = "/orchestrator.v1.InfrastructureService/RecreateContainer" + // InfrastructureServiceGetContainerLogsProcedure is the fully-qualified name of the + // InfrastructureService's GetContainerLogs RPC. + InfrastructureServiceGetContainerLogsProcedure = "/orchestrator.v1.InfrastructureService/GetContainerLogs" + // InfrastructureServiceInspectContainerProcedure is the fully-qualified name of the + // InfrastructureService's InspectContainer RPC. + InfrastructureServiceInspectContainerProcedure = "/orchestrator.v1.InfrastructureService/InspectContainer" + // InfrastructureServiceListFirewallRulesProcedure is the fully-qualified name of the + // InfrastructureService's ListFirewallRules RPC. + InfrastructureServiceListFirewallRulesProcedure = "/orchestrator.v1.InfrastructureService/ListFirewallRules" + // InfrastructureServiceCreateFirewallRuleProcedure is the fully-qualified name of the + // InfrastructureService's CreateFirewallRule RPC. + InfrastructureServiceCreateFirewallRuleProcedure = "/orchestrator.v1.InfrastructureService/CreateFirewallRule" + // InfrastructureServiceUpdateFirewallRuleProcedure is the fully-qualified name of the + // InfrastructureService's UpdateFirewallRule RPC. + InfrastructureServiceUpdateFirewallRuleProcedure = "/orchestrator.v1.InfrastructureService/UpdateFirewallRule" + // InfrastructureServiceDeleteFirewallRuleProcedure is the fully-qualified name of the + // InfrastructureService's DeleteFirewallRule RPC. + InfrastructureServiceDeleteFirewallRuleProcedure = "/orchestrator.v1.InfrastructureService/DeleteFirewallRule" + // InfrastructureServiceListNodeFirewallOverridesProcedure is the fully-qualified name of the + // InfrastructureService's ListNodeFirewallOverrides RPC. + InfrastructureServiceListNodeFirewallOverridesProcedure = "/orchestrator.v1.InfrastructureService/ListNodeFirewallOverrides" + // InfrastructureServiceCreateNodeFirewallOverrideProcedure is the fully-qualified name of the + // InfrastructureService's CreateNodeFirewallOverride RPC. + InfrastructureServiceCreateNodeFirewallOverrideProcedure = "/orchestrator.v1.InfrastructureService/CreateNodeFirewallOverride" + // InfrastructureServiceDeleteNodeFirewallOverrideProcedure is the fully-qualified name of the + // InfrastructureService's DeleteNodeFirewallOverride RPC. + InfrastructureServiceDeleteNodeFirewallOverrideProcedure = "/orchestrator.v1.InfrastructureService/DeleteNodeFirewallOverride" + // InfrastructureServiceGetFirewallSyncStatusProcedure is the fully-qualified name of the + // InfrastructureService's GetFirewallSyncStatus RPC. + InfrastructureServiceGetFirewallSyncStatusProcedure = "/orchestrator.v1.InfrastructureService/GetFirewallSyncStatus" + // InfrastructureServiceSyncNodeFirewallProcedure is the fully-qualified name of the + // InfrastructureService's SyncNodeFirewall RPC. + InfrastructureServiceSyncNodeFirewallProcedure = "/orchestrator.v1.InfrastructureService/SyncNodeFirewall" + // InfrastructureServiceSyncAllFirewallsProcedure is the fully-qualified name of the + // InfrastructureService's SyncAllFirewalls RPC. + InfrastructureServiceSyncAllFirewallsProcedure = "/orchestrator.v1.InfrastructureService/SyncAllFirewalls" + // InfrastructureServiceTestCrossNodeConnectivityProcedure is the fully-qualified name of the + // InfrastructureService's TestCrossNodeConnectivity RPC. + InfrastructureServiceTestCrossNodeConnectivityProcedure = "/orchestrator.v1.InfrastructureService/TestCrossNodeConnectivity" + // InfrastructureServiceListTLSCertificatesProcedure is the fully-qualified name of the + // InfrastructureService's ListTLSCertificates RPC. + InfrastructureServiceListTLSCertificatesProcedure = "/orchestrator.v1.InfrastructureService/ListTLSCertificates" + // InfrastructureServiceRenewCertificateProcedure is the fully-qualified name of the + // InfrastructureService's RenewCertificate RPC. + InfrastructureServiceRenewCertificateProcedure = "/orchestrator.v1.InfrastructureService/RenewCertificate" + // InfrastructureServiceListTraefikRoutesProcedure is the fully-qualified name of the + // InfrastructureService's ListTraefikRoutes RPC. + InfrastructureServiceListTraefikRoutesProcedure = "/orchestrator.v1.InfrastructureService/ListTraefikRoutes" + // InfrastructureServiceTraceRouteProcedure is the fully-qualified name of the + // InfrastructureService's TraceRoute RPC. + InfrastructureServiceTraceRouteProcedure = "/orchestrator.v1.InfrastructureService/TraceRoute" + // InfrastructureServiceGetUpdateStatusProcedure is the fully-qualified name of the + // InfrastructureService's GetUpdateStatus RPC. + InfrastructureServiceGetUpdateStatusProcedure = "/orchestrator.v1.InfrastructureService/GetUpdateStatus" + // InfrastructureServiceCheckForUpdatesProcedure is the fully-qualified name of the + // InfrastructureService's CheckForUpdates RPC. + InfrastructureServiceCheckForUpdatesProcedure = "/orchestrator.v1.InfrastructureService/CheckForUpdates" + // InfrastructureServiceApplySecurityUpdatesProcedure is the fully-qualified name of the + // InfrastructureService's ApplySecurityUpdates RPC. + InfrastructureServiceApplySecurityUpdatesProcedure = "/orchestrator.v1.InfrastructureService/ApplySecurityUpdates" + // InfrastructureServiceApplyAllUpdatesProcedure is the fully-qualified name of the + // InfrastructureService's ApplyAllUpdates RPC. + InfrastructureServiceApplyAllUpdatesProcedure = "/orchestrator.v1.InfrastructureService/ApplyAllUpdates" + // InfrastructureServiceUpgradeContainerProcedure is the fully-qualified name of the + // InfrastructureService's UpgradeContainer RPC. + InfrastructureServiceUpgradeContainerProcedure = "/orchestrator.v1.InfrastructureService/UpgradeContainer" + // InfrastructureServiceScheduleMaintenanceProcedure is the fully-qualified name of the + // InfrastructureService's ScheduleMaintenance RPC. + InfrastructureServiceScheduleMaintenanceProcedure = "/orchestrator.v1.InfrastructureService/ScheduleMaintenance" + // InfrastructureServiceEnterMaintenanceNowProcedure is the fully-qualified name of the + // InfrastructureService's EnterMaintenanceNow RPC. + InfrastructureServiceEnterMaintenanceNowProcedure = "/orchestrator.v1.InfrastructureService/EnterMaintenanceNow" + // InfrastructureServiceExitMaintenanceProcedure is the fully-qualified name of the + // InfrastructureService's ExitMaintenance RPC. + InfrastructureServiceExitMaintenanceProcedure = "/orchestrator.v1.InfrastructureService/ExitMaintenance" + // InfrastructureServiceCancelScheduledMaintenanceProcedure is the fully-qualified name of the + // InfrastructureService's CancelScheduledMaintenance RPC. + InfrastructureServiceCancelScheduledMaintenanceProcedure = "/orchestrator.v1.InfrastructureService/CancelScheduledMaintenance" + // InfrastructureServiceListMaintenanceWindowsProcedure is the fully-qualified name of the + // InfrastructureService's ListMaintenanceWindows RPC. + InfrastructureServiceListMaintenanceWindowsProcedure = "/orchestrator.v1.InfrastructureService/ListMaintenanceWindows" + // InfrastructureServiceGetSSHLoginAuditProcedure is the fully-qualified name of the + // InfrastructureService's GetSSHLoginAudit RPC. + InfrastructureServiceGetSSHLoginAuditProcedure = "/orchestrator.v1.InfrastructureService/GetSSHLoginAudit" + // InfrastructureServiceRunSecurityAuditProcedure is the fully-qualified name of the + // InfrastructureService's RunSecurityAudit RPC. + InfrastructureServiceRunSecurityAuditProcedure = "/orchestrator.v1.InfrastructureService/RunSecurityAudit" + // InfrastructureServiceListActiveAlertsProcedure is the fully-qualified name of the + // InfrastructureService's ListActiveAlerts RPC. + InfrastructureServiceListActiveAlertsProcedure = "/orchestrator.v1.InfrastructureService/ListActiveAlerts" + // InfrastructureServiceAcknowledgeAlertProcedure is the fully-qualified name of the + // InfrastructureService's AcknowledgeAlert RPC. + InfrastructureServiceAcknowledgeAlertProcedure = "/orchestrator.v1.InfrastructureService/AcknowledgeAlert" + // InfrastructureServiceListAlertRulesProcedure is the fully-qualified name of the + // InfrastructureService's ListAlertRules RPC. + InfrastructureServiceListAlertRulesProcedure = "/orchestrator.v1.InfrastructureService/ListAlertRules" + // InfrastructureServiceUpdateAlertRuleProcedure is the fully-qualified name of the + // InfrastructureService's UpdateAlertRule RPC. + InfrastructureServiceUpdateAlertRuleProcedure = "/orchestrator.v1.InfrastructureService/UpdateAlertRule" + // InfrastructureServiceListAlertHistoryProcedure is the fully-qualified name of the + // InfrastructureService's ListAlertHistory RPC. + InfrastructureServiceListAlertHistoryProcedure = "/orchestrator.v1.InfrastructureService/ListAlertHistory" + // InfrastructureServiceGetNotificationChannelsProcedure is the fully-qualified name of the + // InfrastructureService's GetNotificationChannels RPC. + InfrastructureServiceGetNotificationChannelsProcedure = "/orchestrator.v1.InfrastructureService/GetNotificationChannels" + // InfrastructureServiceUpdateNotificationChannelProcedure is the fully-qualified name of the + // InfrastructureService's UpdateNotificationChannel RPC. + InfrastructureServiceUpdateNotificationChannelProcedure = "/orchestrator.v1.InfrastructureService/UpdateNotificationChannel" + // InfrastructureServiceTestNotificationChannelProcedure is the fully-qualified name of the + // InfrastructureService's TestNotificationChannel RPC. + InfrastructureServiceTestNotificationChannelProcedure = "/orchestrator.v1.InfrastructureService/TestNotificationChannel" + // InfrastructureServiceListConsulKeysProcedure is the fully-qualified name of the + // InfrastructureService's ListConsulKeys RPC. + InfrastructureServiceListConsulKeysProcedure = "/orchestrator.v1.InfrastructureService/ListConsulKeys" + // InfrastructureServiceGetConsulKeyGroupProcedure is the fully-qualified name of the + // InfrastructureService's GetConsulKeyGroup RPC. + InfrastructureServiceGetConsulKeyGroupProcedure = "/orchestrator.v1.InfrastructureService/GetConsulKeyGroup" + // InfrastructureServiceRegenerateConsulRoutesProcedure is the fully-qualified name of the + // InfrastructureService's RegenerateConsulRoutes RPC. + InfrastructureServiceRegenerateConsulRoutesProcedure = "/orchestrator.v1.InfrastructureService/RegenerateConsulRoutes" + // InfrastructureServiceDeleteConsulKeysProcedure is the fully-qualified name of the + // InfrastructureService's DeleteConsulKeys RPC. + InfrastructureServiceDeleteConsulKeysProcedure = "/orchestrator.v1.InfrastructureService/DeleteConsulKeys" + // InfrastructureServiceListAuditLogProcedure is the fully-qualified name of the + // InfrastructureService's ListAuditLog RPC. + InfrastructureServiceListAuditLogProcedure = "/orchestrator.v1.InfrastructureService/ListAuditLog" +) + +// InfrastructureServiceClient is a client for the orchestrator.v1.InfrastructureService service. +type InfrastructureServiceClient interface { + // --- Health & Metrics --- + GetInfrastructureOverview(context.Context, *connect.Request[v1.GetInfrastructureOverviewRequest]) (*connect.Response[v1.GetInfrastructureOverviewResponse], error) + GetNodeHealth(context.Context, *connect.Request[v1.GetNodeHealthRequest]) (*connect.Response[v1.GetNodeHealthResponse], error) + RunHealthCheck(context.Context, *connect.Request[v1.RunHealthCheckRequest]) (*connect.Response[v1.RunHealthCheckResponse], error) + GetHealthHistory(context.Context, *connect.Request[v1.GetInfraHealthHistoryRequest]) (*connect.Response[v1.GetInfraHealthHistoryResponse], error) + // --- Containers --- + ListNodeContainers(context.Context, *connect.Request[v1.ListNodeContainersRequest]) (*connect.Response[v1.ListNodeContainersResponse], error) + GetContainerSpec(context.Context, *connect.Request[v1.GetContainerSpecRequest]) (*connect.Response[v1.GetContainerSpecResponse], error) + RestartContainer(context.Context, *connect.Request[v1.RestartContainerRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) + RecreateContainer(context.Context, *connect.Request[v1.RecreateContainerRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) + GetContainerLogs(context.Context, *connect.Request[v1.GetContainerLogsRequest]) (*connect.Response[v1.GetContainerLogsResponse], error) + InspectContainer(context.Context, *connect.Request[v1.InspectContainerRequest]) (*connect.Response[v1.InspectContainerResponse], error) + // --- Firewall --- + ListFirewallRules(context.Context, *connect.Request[v1.ListFirewallRulesRequest]) (*connect.Response[v1.ListFirewallRulesResponse], error) + CreateFirewallRule(context.Context, *connect.Request[v1.CreateFirewallRuleRequest]) (*connect.Response[v1.CreateFirewallRuleResponse], error) + UpdateFirewallRule(context.Context, *connect.Request[v1.UpdateFirewallRuleRequest]) (*connect.Response[v1.UpdateFirewallRuleResponse], error) + DeleteFirewallRule(context.Context, *connect.Request[v1.DeleteFirewallRuleRequest]) (*connect.Response[v1.DeleteFirewallRuleResponse], error) + ListNodeFirewallOverrides(context.Context, *connect.Request[v1.ListNodeFirewallOverridesRequest]) (*connect.Response[v1.ListNodeFirewallOverridesResponse], error) + CreateNodeFirewallOverride(context.Context, *connect.Request[v1.CreateNodeFirewallOverrideRequest]) (*connect.Response[v1.CreateNodeFirewallOverrideResponse], error) + DeleteNodeFirewallOverride(context.Context, *connect.Request[v1.DeleteNodeFirewallOverrideRequest]) (*connect.Response[v1.DeleteNodeFirewallOverrideResponse], error) + GetFirewallSyncStatus(context.Context, *connect.Request[v1.GetFirewallSyncStatusRequest]) (*connect.Response[v1.GetFirewallSyncStatusResponse], error) + SyncNodeFirewall(context.Context, *connect.Request[v1.SyncNodeFirewallRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) + SyncAllFirewalls(context.Context, *connect.Request[v1.SyncAllFirewallsRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) + // --- Networking & TLS --- + TestCrossNodeConnectivity(context.Context, *connect.Request[v1.TestCrossNodeConnectivityRequest]) (*connect.Response[v1.TestCrossNodeConnectivityResponse], error) + ListTLSCertificates(context.Context, *connect.Request[v1.ListTLSCertificatesRequest]) (*connect.Response[v1.ListTLSCertificatesResponse], error) + RenewCertificate(context.Context, *connect.Request[v1.RenewCertificateRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) + ListTraefikRoutes(context.Context, *connect.Request[v1.ListTraefikRoutesRequest]) (*connect.Response[v1.ListTraefikRoutesResponse], error) + TraceRoute(context.Context, *connect.Request[v1.TraceRouteRequest]) (*connect.Response[v1.TraceRouteResponse], error) + // --- Updates --- + GetUpdateStatus(context.Context, *connect.Request[v1.GetUpdateStatusRequest]) (*connect.Response[v1.GetUpdateStatusResponse], error) + CheckForUpdates(context.Context, *connect.Request[v1.CheckForUpdatesRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) + ApplySecurityUpdates(context.Context, *connect.Request[v1.ApplySecurityUpdatesRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) + ApplyAllUpdates(context.Context, *connect.Request[v1.ApplyAllUpdatesRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) + UpgradeContainer(context.Context, *connect.Request[v1.UpgradeContainerRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) + // --- Maintenance --- + ScheduleMaintenance(context.Context, *connect.Request[v1.ScheduleMaintenanceRequest]) (*connect.Response[v1.ScheduleMaintenanceResponse], error) + EnterMaintenanceNow(context.Context, *connect.Request[v1.EnterMaintenanceNowRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) + ExitMaintenance(context.Context, *connect.Request[v1.ExitMaintenanceRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) + CancelScheduledMaintenance(context.Context, *connect.Request[v1.CancelScheduledMaintenanceRequest]) (*connect.Response[v1.CancelScheduledMaintenanceResponse], error) + ListMaintenanceWindows(context.Context, *connect.Request[v1.ListMaintenanceWindowsRequest]) (*connect.Response[v1.ListMaintenanceWindowsResponse], error) + // --- Security --- + GetSSHLoginAudit(context.Context, *connect.Request[v1.GetSSHLoginAuditRequest]) (*connect.Response[v1.GetSSHLoginAuditResponse], error) + RunSecurityAudit(context.Context, *connect.Request[v1.RunSecurityAuditRequest]) (*connect.Response[v1.RunSecurityAuditResponse], error) + // --- Alerts --- + ListActiveAlerts(context.Context, *connect.Request[v1.ListActiveAlertsRequest]) (*connect.Response[v1.ListActiveAlertsResponse], error) + AcknowledgeAlert(context.Context, *connect.Request[v1.AcknowledgeAlertRequest]) (*connect.Response[v1.AcknowledgeAlertResponse], error) + ListAlertRules(context.Context, *connect.Request[v1.ListAlertRulesRequest]) (*connect.Response[v1.ListAlertRulesResponse], error) + UpdateAlertRule(context.Context, *connect.Request[v1.UpdateAlertRuleRequest]) (*connect.Response[v1.UpdateAlertRuleResponse], error) + ListAlertHistory(context.Context, *connect.Request[v1.ListAlertHistoryRequest]) (*connect.Response[v1.ListAlertHistoryResponse], error) + GetNotificationChannels(context.Context, *connect.Request[v1.GetNotificationChannelsRequest]) (*connect.Response[v1.GetNotificationChannelsResponse], error) + UpdateNotificationChannel(context.Context, *connect.Request[v1.UpdateNotificationChannelRequest]) (*connect.Response[v1.UpdateNotificationChannelResponse], error) + TestNotificationChannel(context.Context, *connect.Request[v1.TestNotificationChannelRequest]) (*connect.Response[v1.TestNotificationChannelResponse], error) + // --- Consul KV --- + ListConsulKeys(context.Context, *connect.Request[v1.ListConsulKeysRequest]) (*connect.Response[v1.ListConsulKeysResponse], error) + GetConsulKeyGroup(context.Context, *connect.Request[v1.GetConsulKeyGroupRequest]) (*connect.Response[v1.GetConsulKeyGroupResponse], error) + RegenerateConsulRoutes(context.Context, *connect.Request[v1.RegenerateConsulRoutesRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) + DeleteConsulKeys(context.Context, *connect.Request[v1.DeleteConsulKeysRequest]) (*connect.Response[v1.DeleteConsulKeysResponse], error) + // --- Audit Log --- + ListAuditLog(context.Context, *connect.Request[v1.ListAuditLogRequest]) (*connect.Response[v1.ListAuditLogResponse], error) +} + +// NewInfrastructureServiceClient constructs a client for the orchestrator.v1.InfrastructureService +// service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for +// gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply +// the connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewInfrastructureServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) InfrastructureServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + infrastructureServiceMethods := v1.File_orchestrator_v1_infrastructure_proto.Services().ByName("InfrastructureService").Methods() + return &infrastructureServiceClient{ + getInfrastructureOverview: connect.NewClient[v1.GetInfrastructureOverviewRequest, v1.GetInfrastructureOverviewResponse]( + httpClient, + baseURL+InfrastructureServiceGetInfrastructureOverviewProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("GetInfrastructureOverview")), + connect.WithClientOptions(opts...), + ), + getNodeHealth: connect.NewClient[v1.GetNodeHealthRequest, v1.GetNodeHealthResponse]( + httpClient, + baseURL+InfrastructureServiceGetNodeHealthProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("GetNodeHealth")), + connect.WithClientOptions(opts...), + ), + runHealthCheck: connect.NewClient[v1.RunHealthCheckRequest, v1.RunHealthCheckResponse]( + httpClient, + baseURL+InfrastructureServiceRunHealthCheckProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("RunHealthCheck")), + connect.WithClientOptions(opts...), + ), + getHealthHistory: connect.NewClient[v1.GetInfraHealthHistoryRequest, v1.GetInfraHealthHistoryResponse]( + httpClient, + baseURL+InfrastructureServiceGetHealthHistoryProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("GetHealthHistory")), + connect.WithClientOptions(opts...), + ), + listNodeContainers: connect.NewClient[v1.ListNodeContainersRequest, v1.ListNodeContainersResponse]( + httpClient, + baseURL+InfrastructureServiceListNodeContainersProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ListNodeContainers")), + connect.WithClientOptions(opts...), + ), + getContainerSpec: connect.NewClient[v1.GetContainerSpecRequest, v1.GetContainerSpecResponse]( + httpClient, + baseURL+InfrastructureServiceGetContainerSpecProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("GetContainerSpec")), + connect.WithClientOptions(opts...), + ), + restartContainer: connect.NewClient[v1.RestartContainerRequest, v1.OperationOutput]( + httpClient, + baseURL+InfrastructureServiceRestartContainerProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("RestartContainer")), + connect.WithClientOptions(opts...), + ), + recreateContainer: connect.NewClient[v1.RecreateContainerRequest, v1.OperationOutput]( + httpClient, + baseURL+InfrastructureServiceRecreateContainerProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("RecreateContainer")), + connect.WithClientOptions(opts...), + ), + getContainerLogs: connect.NewClient[v1.GetContainerLogsRequest, v1.GetContainerLogsResponse]( + httpClient, + baseURL+InfrastructureServiceGetContainerLogsProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("GetContainerLogs")), + connect.WithClientOptions(opts...), + ), + inspectContainer: connect.NewClient[v1.InspectContainerRequest, v1.InspectContainerResponse]( + httpClient, + baseURL+InfrastructureServiceInspectContainerProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("InspectContainer")), + connect.WithClientOptions(opts...), + ), + listFirewallRules: connect.NewClient[v1.ListFirewallRulesRequest, v1.ListFirewallRulesResponse]( + httpClient, + baseURL+InfrastructureServiceListFirewallRulesProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ListFirewallRules")), + connect.WithClientOptions(opts...), + ), + createFirewallRule: connect.NewClient[v1.CreateFirewallRuleRequest, v1.CreateFirewallRuleResponse]( + httpClient, + baseURL+InfrastructureServiceCreateFirewallRuleProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("CreateFirewallRule")), + connect.WithClientOptions(opts...), + ), + updateFirewallRule: connect.NewClient[v1.UpdateFirewallRuleRequest, v1.UpdateFirewallRuleResponse]( + httpClient, + baseURL+InfrastructureServiceUpdateFirewallRuleProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("UpdateFirewallRule")), + connect.WithClientOptions(opts...), + ), + deleteFirewallRule: connect.NewClient[v1.DeleteFirewallRuleRequest, v1.DeleteFirewallRuleResponse]( + httpClient, + baseURL+InfrastructureServiceDeleteFirewallRuleProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("DeleteFirewallRule")), + connect.WithClientOptions(opts...), + ), + listNodeFirewallOverrides: connect.NewClient[v1.ListNodeFirewallOverridesRequest, v1.ListNodeFirewallOverridesResponse]( + httpClient, + baseURL+InfrastructureServiceListNodeFirewallOverridesProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ListNodeFirewallOverrides")), + connect.WithClientOptions(opts...), + ), + createNodeFirewallOverride: connect.NewClient[v1.CreateNodeFirewallOverrideRequest, v1.CreateNodeFirewallOverrideResponse]( + httpClient, + baseURL+InfrastructureServiceCreateNodeFirewallOverrideProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("CreateNodeFirewallOverride")), + connect.WithClientOptions(opts...), + ), + deleteNodeFirewallOverride: connect.NewClient[v1.DeleteNodeFirewallOverrideRequest, v1.DeleteNodeFirewallOverrideResponse]( + httpClient, + baseURL+InfrastructureServiceDeleteNodeFirewallOverrideProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("DeleteNodeFirewallOverride")), + connect.WithClientOptions(opts...), + ), + getFirewallSyncStatus: connect.NewClient[v1.GetFirewallSyncStatusRequest, v1.GetFirewallSyncStatusResponse]( + httpClient, + baseURL+InfrastructureServiceGetFirewallSyncStatusProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("GetFirewallSyncStatus")), + connect.WithClientOptions(opts...), + ), + syncNodeFirewall: connect.NewClient[v1.SyncNodeFirewallRequest, v1.OperationOutput]( + httpClient, + baseURL+InfrastructureServiceSyncNodeFirewallProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("SyncNodeFirewall")), + connect.WithClientOptions(opts...), + ), + syncAllFirewalls: connect.NewClient[v1.SyncAllFirewallsRequest, v1.OperationOutput]( + httpClient, + baseURL+InfrastructureServiceSyncAllFirewallsProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("SyncAllFirewalls")), + connect.WithClientOptions(opts...), + ), + testCrossNodeConnectivity: connect.NewClient[v1.TestCrossNodeConnectivityRequest, v1.TestCrossNodeConnectivityResponse]( + httpClient, + baseURL+InfrastructureServiceTestCrossNodeConnectivityProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("TestCrossNodeConnectivity")), + connect.WithClientOptions(opts...), + ), + listTLSCertificates: connect.NewClient[v1.ListTLSCertificatesRequest, v1.ListTLSCertificatesResponse]( + httpClient, + baseURL+InfrastructureServiceListTLSCertificatesProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ListTLSCertificates")), + connect.WithClientOptions(opts...), + ), + renewCertificate: connect.NewClient[v1.RenewCertificateRequest, v1.OperationOutput]( + httpClient, + baseURL+InfrastructureServiceRenewCertificateProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("RenewCertificate")), + connect.WithClientOptions(opts...), + ), + listTraefikRoutes: connect.NewClient[v1.ListTraefikRoutesRequest, v1.ListTraefikRoutesResponse]( + httpClient, + baseURL+InfrastructureServiceListTraefikRoutesProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ListTraefikRoutes")), + connect.WithClientOptions(opts...), + ), + traceRoute: connect.NewClient[v1.TraceRouteRequest, v1.TraceRouteResponse]( + httpClient, + baseURL+InfrastructureServiceTraceRouteProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("TraceRoute")), + connect.WithClientOptions(opts...), + ), + getUpdateStatus: connect.NewClient[v1.GetUpdateStatusRequest, v1.GetUpdateStatusResponse]( + httpClient, + baseURL+InfrastructureServiceGetUpdateStatusProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("GetUpdateStatus")), + connect.WithClientOptions(opts...), + ), + checkForUpdates: connect.NewClient[v1.CheckForUpdatesRequest, v1.OperationOutput]( + httpClient, + baseURL+InfrastructureServiceCheckForUpdatesProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("CheckForUpdates")), + connect.WithClientOptions(opts...), + ), + applySecurityUpdates: connect.NewClient[v1.ApplySecurityUpdatesRequest, v1.OperationOutput]( + httpClient, + baseURL+InfrastructureServiceApplySecurityUpdatesProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ApplySecurityUpdates")), + connect.WithClientOptions(opts...), + ), + applyAllUpdates: connect.NewClient[v1.ApplyAllUpdatesRequest, v1.OperationOutput]( + httpClient, + baseURL+InfrastructureServiceApplyAllUpdatesProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ApplyAllUpdates")), + connect.WithClientOptions(opts...), + ), + upgradeContainer: connect.NewClient[v1.UpgradeContainerRequest, v1.OperationOutput]( + httpClient, + baseURL+InfrastructureServiceUpgradeContainerProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("UpgradeContainer")), + connect.WithClientOptions(opts...), + ), + scheduleMaintenance: connect.NewClient[v1.ScheduleMaintenanceRequest, v1.ScheduleMaintenanceResponse]( + httpClient, + baseURL+InfrastructureServiceScheduleMaintenanceProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ScheduleMaintenance")), + connect.WithClientOptions(opts...), + ), + enterMaintenanceNow: connect.NewClient[v1.EnterMaintenanceNowRequest, v1.OperationOutput]( + httpClient, + baseURL+InfrastructureServiceEnterMaintenanceNowProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("EnterMaintenanceNow")), + connect.WithClientOptions(opts...), + ), + exitMaintenance: connect.NewClient[v1.ExitMaintenanceRequest, v1.OperationOutput]( + httpClient, + baseURL+InfrastructureServiceExitMaintenanceProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ExitMaintenance")), + connect.WithClientOptions(opts...), + ), + cancelScheduledMaintenance: connect.NewClient[v1.CancelScheduledMaintenanceRequest, v1.CancelScheduledMaintenanceResponse]( + httpClient, + baseURL+InfrastructureServiceCancelScheduledMaintenanceProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("CancelScheduledMaintenance")), + connect.WithClientOptions(opts...), + ), + listMaintenanceWindows: connect.NewClient[v1.ListMaintenanceWindowsRequest, v1.ListMaintenanceWindowsResponse]( + httpClient, + baseURL+InfrastructureServiceListMaintenanceWindowsProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ListMaintenanceWindows")), + connect.WithClientOptions(opts...), + ), + getSSHLoginAudit: connect.NewClient[v1.GetSSHLoginAuditRequest, v1.GetSSHLoginAuditResponse]( + httpClient, + baseURL+InfrastructureServiceGetSSHLoginAuditProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("GetSSHLoginAudit")), + connect.WithClientOptions(opts...), + ), + runSecurityAudit: connect.NewClient[v1.RunSecurityAuditRequest, v1.RunSecurityAuditResponse]( + httpClient, + baseURL+InfrastructureServiceRunSecurityAuditProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("RunSecurityAudit")), + connect.WithClientOptions(opts...), + ), + listActiveAlerts: connect.NewClient[v1.ListActiveAlertsRequest, v1.ListActiveAlertsResponse]( + httpClient, + baseURL+InfrastructureServiceListActiveAlertsProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ListActiveAlerts")), + connect.WithClientOptions(opts...), + ), + acknowledgeAlert: connect.NewClient[v1.AcknowledgeAlertRequest, v1.AcknowledgeAlertResponse]( + httpClient, + baseURL+InfrastructureServiceAcknowledgeAlertProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("AcknowledgeAlert")), + connect.WithClientOptions(opts...), + ), + listAlertRules: connect.NewClient[v1.ListAlertRulesRequest, v1.ListAlertRulesResponse]( + httpClient, + baseURL+InfrastructureServiceListAlertRulesProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ListAlertRules")), + connect.WithClientOptions(opts...), + ), + updateAlertRule: connect.NewClient[v1.UpdateAlertRuleRequest, v1.UpdateAlertRuleResponse]( + httpClient, + baseURL+InfrastructureServiceUpdateAlertRuleProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("UpdateAlertRule")), + connect.WithClientOptions(opts...), + ), + listAlertHistory: connect.NewClient[v1.ListAlertHistoryRequest, v1.ListAlertHistoryResponse]( + httpClient, + baseURL+InfrastructureServiceListAlertHistoryProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ListAlertHistory")), + connect.WithClientOptions(opts...), + ), + getNotificationChannels: connect.NewClient[v1.GetNotificationChannelsRequest, v1.GetNotificationChannelsResponse]( + httpClient, + baseURL+InfrastructureServiceGetNotificationChannelsProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("GetNotificationChannels")), + connect.WithClientOptions(opts...), + ), + updateNotificationChannel: connect.NewClient[v1.UpdateNotificationChannelRequest, v1.UpdateNotificationChannelResponse]( + httpClient, + baseURL+InfrastructureServiceUpdateNotificationChannelProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("UpdateNotificationChannel")), + connect.WithClientOptions(opts...), + ), + testNotificationChannel: connect.NewClient[v1.TestNotificationChannelRequest, v1.TestNotificationChannelResponse]( + httpClient, + baseURL+InfrastructureServiceTestNotificationChannelProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("TestNotificationChannel")), + connect.WithClientOptions(opts...), + ), + listConsulKeys: connect.NewClient[v1.ListConsulKeysRequest, v1.ListConsulKeysResponse]( + httpClient, + baseURL+InfrastructureServiceListConsulKeysProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ListConsulKeys")), + connect.WithClientOptions(opts...), + ), + getConsulKeyGroup: connect.NewClient[v1.GetConsulKeyGroupRequest, v1.GetConsulKeyGroupResponse]( + httpClient, + baseURL+InfrastructureServiceGetConsulKeyGroupProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("GetConsulKeyGroup")), + connect.WithClientOptions(opts...), + ), + regenerateConsulRoutes: connect.NewClient[v1.RegenerateConsulRoutesRequest, v1.OperationOutput]( + httpClient, + baseURL+InfrastructureServiceRegenerateConsulRoutesProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("RegenerateConsulRoutes")), + connect.WithClientOptions(opts...), + ), + deleteConsulKeys: connect.NewClient[v1.DeleteConsulKeysRequest, v1.DeleteConsulKeysResponse]( + httpClient, + baseURL+InfrastructureServiceDeleteConsulKeysProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("DeleteConsulKeys")), + connect.WithClientOptions(opts...), + ), + listAuditLog: connect.NewClient[v1.ListAuditLogRequest, v1.ListAuditLogResponse]( + httpClient, + baseURL+InfrastructureServiceListAuditLogProcedure, + connect.WithSchema(infrastructureServiceMethods.ByName("ListAuditLog")), + connect.WithClientOptions(opts...), + ), + } +} + +// infrastructureServiceClient implements InfrastructureServiceClient. +type infrastructureServiceClient struct { + getInfrastructureOverview *connect.Client[v1.GetInfrastructureOverviewRequest, v1.GetInfrastructureOverviewResponse] + getNodeHealth *connect.Client[v1.GetNodeHealthRequest, v1.GetNodeHealthResponse] + runHealthCheck *connect.Client[v1.RunHealthCheckRequest, v1.RunHealthCheckResponse] + getHealthHistory *connect.Client[v1.GetInfraHealthHistoryRequest, v1.GetInfraHealthHistoryResponse] + listNodeContainers *connect.Client[v1.ListNodeContainersRequest, v1.ListNodeContainersResponse] + getContainerSpec *connect.Client[v1.GetContainerSpecRequest, v1.GetContainerSpecResponse] + restartContainer *connect.Client[v1.RestartContainerRequest, v1.OperationOutput] + recreateContainer *connect.Client[v1.RecreateContainerRequest, v1.OperationOutput] + getContainerLogs *connect.Client[v1.GetContainerLogsRequest, v1.GetContainerLogsResponse] + inspectContainer *connect.Client[v1.InspectContainerRequest, v1.InspectContainerResponse] + listFirewallRules *connect.Client[v1.ListFirewallRulesRequest, v1.ListFirewallRulesResponse] + createFirewallRule *connect.Client[v1.CreateFirewallRuleRequest, v1.CreateFirewallRuleResponse] + updateFirewallRule *connect.Client[v1.UpdateFirewallRuleRequest, v1.UpdateFirewallRuleResponse] + deleteFirewallRule *connect.Client[v1.DeleteFirewallRuleRequest, v1.DeleteFirewallRuleResponse] + listNodeFirewallOverrides *connect.Client[v1.ListNodeFirewallOverridesRequest, v1.ListNodeFirewallOverridesResponse] + createNodeFirewallOverride *connect.Client[v1.CreateNodeFirewallOverrideRequest, v1.CreateNodeFirewallOverrideResponse] + deleteNodeFirewallOverride *connect.Client[v1.DeleteNodeFirewallOverrideRequest, v1.DeleteNodeFirewallOverrideResponse] + getFirewallSyncStatus *connect.Client[v1.GetFirewallSyncStatusRequest, v1.GetFirewallSyncStatusResponse] + syncNodeFirewall *connect.Client[v1.SyncNodeFirewallRequest, v1.OperationOutput] + syncAllFirewalls *connect.Client[v1.SyncAllFirewallsRequest, v1.OperationOutput] + testCrossNodeConnectivity *connect.Client[v1.TestCrossNodeConnectivityRequest, v1.TestCrossNodeConnectivityResponse] + listTLSCertificates *connect.Client[v1.ListTLSCertificatesRequest, v1.ListTLSCertificatesResponse] + renewCertificate *connect.Client[v1.RenewCertificateRequest, v1.OperationOutput] + listTraefikRoutes *connect.Client[v1.ListTraefikRoutesRequest, v1.ListTraefikRoutesResponse] + traceRoute *connect.Client[v1.TraceRouteRequest, v1.TraceRouteResponse] + getUpdateStatus *connect.Client[v1.GetUpdateStatusRequest, v1.GetUpdateStatusResponse] + checkForUpdates *connect.Client[v1.CheckForUpdatesRequest, v1.OperationOutput] + applySecurityUpdates *connect.Client[v1.ApplySecurityUpdatesRequest, v1.OperationOutput] + applyAllUpdates *connect.Client[v1.ApplyAllUpdatesRequest, v1.OperationOutput] + upgradeContainer *connect.Client[v1.UpgradeContainerRequest, v1.OperationOutput] + scheduleMaintenance *connect.Client[v1.ScheduleMaintenanceRequest, v1.ScheduleMaintenanceResponse] + enterMaintenanceNow *connect.Client[v1.EnterMaintenanceNowRequest, v1.OperationOutput] + exitMaintenance *connect.Client[v1.ExitMaintenanceRequest, v1.OperationOutput] + cancelScheduledMaintenance *connect.Client[v1.CancelScheduledMaintenanceRequest, v1.CancelScheduledMaintenanceResponse] + listMaintenanceWindows *connect.Client[v1.ListMaintenanceWindowsRequest, v1.ListMaintenanceWindowsResponse] + getSSHLoginAudit *connect.Client[v1.GetSSHLoginAuditRequest, v1.GetSSHLoginAuditResponse] + runSecurityAudit *connect.Client[v1.RunSecurityAuditRequest, v1.RunSecurityAuditResponse] + listActiveAlerts *connect.Client[v1.ListActiveAlertsRequest, v1.ListActiveAlertsResponse] + acknowledgeAlert *connect.Client[v1.AcknowledgeAlertRequest, v1.AcknowledgeAlertResponse] + listAlertRules *connect.Client[v1.ListAlertRulesRequest, v1.ListAlertRulesResponse] + updateAlertRule *connect.Client[v1.UpdateAlertRuleRequest, v1.UpdateAlertRuleResponse] + listAlertHistory *connect.Client[v1.ListAlertHistoryRequest, v1.ListAlertHistoryResponse] + getNotificationChannels *connect.Client[v1.GetNotificationChannelsRequest, v1.GetNotificationChannelsResponse] + updateNotificationChannel *connect.Client[v1.UpdateNotificationChannelRequest, v1.UpdateNotificationChannelResponse] + testNotificationChannel *connect.Client[v1.TestNotificationChannelRequest, v1.TestNotificationChannelResponse] + listConsulKeys *connect.Client[v1.ListConsulKeysRequest, v1.ListConsulKeysResponse] + getConsulKeyGroup *connect.Client[v1.GetConsulKeyGroupRequest, v1.GetConsulKeyGroupResponse] + regenerateConsulRoutes *connect.Client[v1.RegenerateConsulRoutesRequest, v1.OperationOutput] + deleteConsulKeys *connect.Client[v1.DeleteConsulKeysRequest, v1.DeleteConsulKeysResponse] + listAuditLog *connect.Client[v1.ListAuditLogRequest, v1.ListAuditLogResponse] +} + +// GetInfrastructureOverview calls orchestrator.v1.InfrastructureService.GetInfrastructureOverview. +func (c *infrastructureServiceClient) GetInfrastructureOverview(ctx context.Context, req *connect.Request[v1.GetInfrastructureOverviewRequest]) (*connect.Response[v1.GetInfrastructureOverviewResponse], error) { + return c.getInfrastructureOverview.CallUnary(ctx, req) +} + +// GetNodeHealth calls orchestrator.v1.InfrastructureService.GetNodeHealth. +func (c *infrastructureServiceClient) GetNodeHealth(ctx context.Context, req *connect.Request[v1.GetNodeHealthRequest]) (*connect.Response[v1.GetNodeHealthResponse], error) { + return c.getNodeHealth.CallUnary(ctx, req) +} + +// RunHealthCheck calls orchestrator.v1.InfrastructureService.RunHealthCheck. +func (c *infrastructureServiceClient) RunHealthCheck(ctx context.Context, req *connect.Request[v1.RunHealthCheckRequest]) (*connect.Response[v1.RunHealthCheckResponse], error) { + return c.runHealthCheck.CallUnary(ctx, req) +} + +// GetHealthHistory calls orchestrator.v1.InfrastructureService.GetHealthHistory. +func (c *infrastructureServiceClient) GetHealthHistory(ctx context.Context, req *connect.Request[v1.GetInfraHealthHistoryRequest]) (*connect.Response[v1.GetInfraHealthHistoryResponse], error) { + return c.getHealthHistory.CallUnary(ctx, req) +} + +// ListNodeContainers calls orchestrator.v1.InfrastructureService.ListNodeContainers. +func (c *infrastructureServiceClient) ListNodeContainers(ctx context.Context, req *connect.Request[v1.ListNodeContainersRequest]) (*connect.Response[v1.ListNodeContainersResponse], error) { + return c.listNodeContainers.CallUnary(ctx, req) +} + +// GetContainerSpec calls orchestrator.v1.InfrastructureService.GetContainerSpec. +func (c *infrastructureServiceClient) GetContainerSpec(ctx context.Context, req *connect.Request[v1.GetContainerSpecRequest]) (*connect.Response[v1.GetContainerSpecResponse], error) { + return c.getContainerSpec.CallUnary(ctx, req) +} + +// RestartContainer calls orchestrator.v1.InfrastructureService.RestartContainer. +func (c *infrastructureServiceClient) RestartContainer(ctx context.Context, req *connect.Request[v1.RestartContainerRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) { + return c.restartContainer.CallServerStream(ctx, req) +} + +// RecreateContainer calls orchestrator.v1.InfrastructureService.RecreateContainer. +func (c *infrastructureServiceClient) RecreateContainer(ctx context.Context, req *connect.Request[v1.RecreateContainerRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) { + return c.recreateContainer.CallServerStream(ctx, req) +} + +// GetContainerLogs calls orchestrator.v1.InfrastructureService.GetContainerLogs. +func (c *infrastructureServiceClient) GetContainerLogs(ctx context.Context, req *connect.Request[v1.GetContainerLogsRequest]) (*connect.Response[v1.GetContainerLogsResponse], error) { + return c.getContainerLogs.CallUnary(ctx, req) +} + +// InspectContainer calls orchestrator.v1.InfrastructureService.InspectContainer. +func (c *infrastructureServiceClient) InspectContainer(ctx context.Context, req *connect.Request[v1.InspectContainerRequest]) (*connect.Response[v1.InspectContainerResponse], error) { + return c.inspectContainer.CallUnary(ctx, req) +} + +// ListFirewallRules calls orchestrator.v1.InfrastructureService.ListFirewallRules. +func (c *infrastructureServiceClient) ListFirewallRules(ctx context.Context, req *connect.Request[v1.ListFirewallRulesRequest]) (*connect.Response[v1.ListFirewallRulesResponse], error) { + return c.listFirewallRules.CallUnary(ctx, req) +} + +// CreateFirewallRule calls orchestrator.v1.InfrastructureService.CreateFirewallRule. +func (c *infrastructureServiceClient) CreateFirewallRule(ctx context.Context, req *connect.Request[v1.CreateFirewallRuleRequest]) (*connect.Response[v1.CreateFirewallRuleResponse], error) { + return c.createFirewallRule.CallUnary(ctx, req) +} + +// UpdateFirewallRule calls orchestrator.v1.InfrastructureService.UpdateFirewallRule. +func (c *infrastructureServiceClient) UpdateFirewallRule(ctx context.Context, req *connect.Request[v1.UpdateFirewallRuleRequest]) (*connect.Response[v1.UpdateFirewallRuleResponse], error) { + return c.updateFirewallRule.CallUnary(ctx, req) +} + +// DeleteFirewallRule calls orchestrator.v1.InfrastructureService.DeleteFirewallRule. +func (c *infrastructureServiceClient) DeleteFirewallRule(ctx context.Context, req *connect.Request[v1.DeleteFirewallRuleRequest]) (*connect.Response[v1.DeleteFirewallRuleResponse], error) { + return c.deleteFirewallRule.CallUnary(ctx, req) +} + +// ListNodeFirewallOverrides calls orchestrator.v1.InfrastructureService.ListNodeFirewallOverrides. +func (c *infrastructureServiceClient) ListNodeFirewallOverrides(ctx context.Context, req *connect.Request[v1.ListNodeFirewallOverridesRequest]) (*connect.Response[v1.ListNodeFirewallOverridesResponse], error) { + return c.listNodeFirewallOverrides.CallUnary(ctx, req) +} + +// CreateNodeFirewallOverride calls +// orchestrator.v1.InfrastructureService.CreateNodeFirewallOverride. +func (c *infrastructureServiceClient) CreateNodeFirewallOverride(ctx context.Context, req *connect.Request[v1.CreateNodeFirewallOverrideRequest]) (*connect.Response[v1.CreateNodeFirewallOverrideResponse], error) { + return c.createNodeFirewallOverride.CallUnary(ctx, req) +} + +// DeleteNodeFirewallOverride calls +// orchestrator.v1.InfrastructureService.DeleteNodeFirewallOverride. +func (c *infrastructureServiceClient) DeleteNodeFirewallOverride(ctx context.Context, req *connect.Request[v1.DeleteNodeFirewallOverrideRequest]) (*connect.Response[v1.DeleteNodeFirewallOverrideResponse], error) { + return c.deleteNodeFirewallOverride.CallUnary(ctx, req) +} + +// GetFirewallSyncStatus calls orchestrator.v1.InfrastructureService.GetFirewallSyncStatus. +func (c *infrastructureServiceClient) GetFirewallSyncStatus(ctx context.Context, req *connect.Request[v1.GetFirewallSyncStatusRequest]) (*connect.Response[v1.GetFirewallSyncStatusResponse], error) { + return c.getFirewallSyncStatus.CallUnary(ctx, req) +} + +// SyncNodeFirewall calls orchestrator.v1.InfrastructureService.SyncNodeFirewall. +func (c *infrastructureServiceClient) SyncNodeFirewall(ctx context.Context, req *connect.Request[v1.SyncNodeFirewallRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) { + return c.syncNodeFirewall.CallServerStream(ctx, req) +} + +// SyncAllFirewalls calls orchestrator.v1.InfrastructureService.SyncAllFirewalls. +func (c *infrastructureServiceClient) SyncAllFirewalls(ctx context.Context, req *connect.Request[v1.SyncAllFirewallsRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) { + return c.syncAllFirewalls.CallServerStream(ctx, req) +} + +// TestCrossNodeConnectivity calls orchestrator.v1.InfrastructureService.TestCrossNodeConnectivity. +func (c *infrastructureServiceClient) TestCrossNodeConnectivity(ctx context.Context, req *connect.Request[v1.TestCrossNodeConnectivityRequest]) (*connect.Response[v1.TestCrossNodeConnectivityResponse], error) { + return c.testCrossNodeConnectivity.CallUnary(ctx, req) +} + +// ListTLSCertificates calls orchestrator.v1.InfrastructureService.ListTLSCertificates. +func (c *infrastructureServiceClient) ListTLSCertificates(ctx context.Context, req *connect.Request[v1.ListTLSCertificatesRequest]) (*connect.Response[v1.ListTLSCertificatesResponse], error) { + return c.listTLSCertificates.CallUnary(ctx, req) +} + +// RenewCertificate calls orchestrator.v1.InfrastructureService.RenewCertificate. +func (c *infrastructureServiceClient) RenewCertificate(ctx context.Context, req *connect.Request[v1.RenewCertificateRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) { + return c.renewCertificate.CallServerStream(ctx, req) +} + +// ListTraefikRoutes calls orchestrator.v1.InfrastructureService.ListTraefikRoutes. +func (c *infrastructureServiceClient) ListTraefikRoutes(ctx context.Context, req *connect.Request[v1.ListTraefikRoutesRequest]) (*connect.Response[v1.ListTraefikRoutesResponse], error) { + return c.listTraefikRoutes.CallUnary(ctx, req) +} + +// TraceRoute calls orchestrator.v1.InfrastructureService.TraceRoute. +func (c *infrastructureServiceClient) TraceRoute(ctx context.Context, req *connect.Request[v1.TraceRouteRequest]) (*connect.Response[v1.TraceRouteResponse], error) { + return c.traceRoute.CallUnary(ctx, req) +} + +// GetUpdateStatus calls orchestrator.v1.InfrastructureService.GetUpdateStatus. +func (c *infrastructureServiceClient) GetUpdateStatus(ctx context.Context, req *connect.Request[v1.GetUpdateStatusRequest]) (*connect.Response[v1.GetUpdateStatusResponse], error) { + return c.getUpdateStatus.CallUnary(ctx, req) +} + +// CheckForUpdates calls orchestrator.v1.InfrastructureService.CheckForUpdates. +func (c *infrastructureServiceClient) CheckForUpdates(ctx context.Context, req *connect.Request[v1.CheckForUpdatesRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) { + return c.checkForUpdates.CallServerStream(ctx, req) +} + +// ApplySecurityUpdates calls orchestrator.v1.InfrastructureService.ApplySecurityUpdates. +func (c *infrastructureServiceClient) ApplySecurityUpdates(ctx context.Context, req *connect.Request[v1.ApplySecurityUpdatesRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) { + return c.applySecurityUpdates.CallServerStream(ctx, req) +} + +// ApplyAllUpdates calls orchestrator.v1.InfrastructureService.ApplyAllUpdates. +func (c *infrastructureServiceClient) ApplyAllUpdates(ctx context.Context, req *connect.Request[v1.ApplyAllUpdatesRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) { + return c.applyAllUpdates.CallServerStream(ctx, req) +} + +// UpgradeContainer calls orchestrator.v1.InfrastructureService.UpgradeContainer. +func (c *infrastructureServiceClient) UpgradeContainer(ctx context.Context, req *connect.Request[v1.UpgradeContainerRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) { + return c.upgradeContainer.CallServerStream(ctx, req) +} + +// ScheduleMaintenance calls orchestrator.v1.InfrastructureService.ScheduleMaintenance. +func (c *infrastructureServiceClient) ScheduleMaintenance(ctx context.Context, req *connect.Request[v1.ScheduleMaintenanceRequest]) (*connect.Response[v1.ScheduleMaintenanceResponse], error) { + return c.scheduleMaintenance.CallUnary(ctx, req) +} + +// EnterMaintenanceNow calls orchestrator.v1.InfrastructureService.EnterMaintenanceNow. +func (c *infrastructureServiceClient) EnterMaintenanceNow(ctx context.Context, req *connect.Request[v1.EnterMaintenanceNowRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) { + return c.enterMaintenanceNow.CallServerStream(ctx, req) +} + +// ExitMaintenance calls orchestrator.v1.InfrastructureService.ExitMaintenance. +func (c *infrastructureServiceClient) ExitMaintenance(ctx context.Context, req *connect.Request[v1.ExitMaintenanceRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) { + return c.exitMaintenance.CallServerStream(ctx, req) +} + +// CancelScheduledMaintenance calls +// orchestrator.v1.InfrastructureService.CancelScheduledMaintenance. +func (c *infrastructureServiceClient) CancelScheduledMaintenance(ctx context.Context, req *connect.Request[v1.CancelScheduledMaintenanceRequest]) (*connect.Response[v1.CancelScheduledMaintenanceResponse], error) { + return c.cancelScheduledMaintenance.CallUnary(ctx, req) +} + +// ListMaintenanceWindows calls orchestrator.v1.InfrastructureService.ListMaintenanceWindows. +func (c *infrastructureServiceClient) ListMaintenanceWindows(ctx context.Context, req *connect.Request[v1.ListMaintenanceWindowsRequest]) (*connect.Response[v1.ListMaintenanceWindowsResponse], error) { + return c.listMaintenanceWindows.CallUnary(ctx, req) +} + +// GetSSHLoginAudit calls orchestrator.v1.InfrastructureService.GetSSHLoginAudit. +func (c *infrastructureServiceClient) GetSSHLoginAudit(ctx context.Context, req *connect.Request[v1.GetSSHLoginAuditRequest]) (*connect.Response[v1.GetSSHLoginAuditResponse], error) { + return c.getSSHLoginAudit.CallUnary(ctx, req) +} + +// RunSecurityAudit calls orchestrator.v1.InfrastructureService.RunSecurityAudit. +func (c *infrastructureServiceClient) RunSecurityAudit(ctx context.Context, req *connect.Request[v1.RunSecurityAuditRequest]) (*connect.Response[v1.RunSecurityAuditResponse], error) { + return c.runSecurityAudit.CallUnary(ctx, req) +} + +// ListActiveAlerts calls orchestrator.v1.InfrastructureService.ListActiveAlerts. +func (c *infrastructureServiceClient) ListActiveAlerts(ctx context.Context, req *connect.Request[v1.ListActiveAlertsRequest]) (*connect.Response[v1.ListActiveAlertsResponse], error) { + return c.listActiveAlerts.CallUnary(ctx, req) +} + +// AcknowledgeAlert calls orchestrator.v1.InfrastructureService.AcknowledgeAlert. +func (c *infrastructureServiceClient) AcknowledgeAlert(ctx context.Context, req *connect.Request[v1.AcknowledgeAlertRequest]) (*connect.Response[v1.AcknowledgeAlertResponse], error) { + return c.acknowledgeAlert.CallUnary(ctx, req) +} + +// ListAlertRules calls orchestrator.v1.InfrastructureService.ListAlertRules. +func (c *infrastructureServiceClient) ListAlertRules(ctx context.Context, req *connect.Request[v1.ListAlertRulesRequest]) (*connect.Response[v1.ListAlertRulesResponse], error) { + return c.listAlertRules.CallUnary(ctx, req) +} + +// UpdateAlertRule calls orchestrator.v1.InfrastructureService.UpdateAlertRule. +func (c *infrastructureServiceClient) UpdateAlertRule(ctx context.Context, req *connect.Request[v1.UpdateAlertRuleRequest]) (*connect.Response[v1.UpdateAlertRuleResponse], error) { + return c.updateAlertRule.CallUnary(ctx, req) +} + +// ListAlertHistory calls orchestrator.v1.InfrastructureService.ListAlertHistory. +func (c *infrastructureServiceClient) ListAlertHistory(ctx context.Context, req *connect.Request[v1.ListAlertHistoryRequest]) (*connect.Response[v1.ListAlertHistoryResponse], error) { + return c.listAlertHistory.CallUnary(ctx, req) +} + +// GetNotificationChannels calls orchestrator.v1.InfrastructureService.GetNotificationChannels. +func (c *infrastructureServiceClient) GetNotificationChannels(ctx context.Context, req *connect.Request[v1.GetNotificationChannelsRequest]) (*connect.Response[v1.GetNotificationChannelsResponse], error) { + return c.getNotificationChannels.CallUnary(ctx, req) +} + +// UpdateNotificationChannel calls orchestrator.v1.InfrastructureService.UpdateNotificationChannel. +func (c *infrastructureServiceClient) UpdateNotificationChannel(ctx context.Context, req *connect.Request[v1.UpdateNotificationChannelRequest]) (*connect.Response[v1.UpdateNotificationChannelResponse], error) { + return c.updateNotificationChannel.CallUnary(ctx, req) +} + +// TestNotificationChannel calls orchestrator.v1.InfrastructureService.TestNotificationChannel. +func (c *infrastructureServiceClient) TestNotificationChannel(ctx context.Context, req *connect.Request[v1.TestNotificationChannelRequest]) (*connect.Response[v1.TestNotificationChannelResponse], error) { + return c.testNotificationChannel.CallUnary(ctx, req) +} + +// ListConsulKeys calls orchestrator.v1.InfrastructureService.ListConsulKeys. +func (c *infrastructureServiceClient) ListConsulKeys(ctx context.Context, req *connect.Request[v1.ListConsulKeysRequest]) (*connect.Response[v1.ListConsulKeysResponse], error) { + return c.listConsulKeys.CallUnary(ctx, req) +} + +// GetConsulKeyGroup calls orchestrator.v1.InfrastructureService.GetConsulKeyGroup. +func (c *infrastructureServiceClient) GetConsulKeyGroup(ctx context.Context, req *connect.Request[v1.GetConsulKeyGroupRequest]) (*connect.Response[v1.GetConsulKeyGroupResponse], error) { + return c.getConsulKeyGroup.CallUnary(ctx, req) +} + +// RegenerateConsulRoutes calls orchestrator.v1.InfrastructureService.RegenerateConsulRoutes. +func (c *infrastructureServiceClient) RegenerateConsulRoutes(ctx context.Context, req *connect.Request[v1.RegenerateConsulRoutesRequest]) (*connect.ServerStreamForClient[v1.OperationOutput], error) { + return c.regenerateConsulRoutes.CallServerStream(ctx, req) +} + +// DeleteConsulKeys calls orchestrator.v1.InfrastructureService.DeleteConsulKeys. +func (c *infrastructureServiceClient) DeleteConsulKeys(ctx context.Context, req *connect.Request[v1.DeleteConsulKeysRequest]) (*connect.Response[v1.DeleteConsulKeysResponse], error) { + return c.deleteConsulKeys.CallUnary(ctx, req) +} + +// ListAuditLog calls orchestrator.v1.InfrastructureService.ListAuditLog. +func (c *infrastructureServiceClient) ListAuditLog(ctx context.Context, req *connect.Request[v1.ListAuditLogRequest]) (*connect.Response[v1.ListAuditLogResponse], error) { + return c.listAuditLog.CallUnary(ctx, req) +} + +// InfrastructureServiceHandler is an implementation of the orchestrator.v1.InfrastructureService +// service. +type InfrastructureServiceHandler interface { + // --- Health & Metrics --- + GetInfrastructureOverview(context.Context, *connect.Request[v1.GetInfrastructureOverviewRequest]) (*connect.Response[v1.GetInfrastructureOverviewResponse], error) + GetNodeHealth(context.Context, *connect.Request[v1.GetNodeHealthRequest]) (*connect.Response[v1.GetNodeHealthResponse], error) + RunHealthCheck(context.Context, *connect.Request[v1.RunHealthCheckRequest]) (*connect.Response[v1.RunHealthCheckResponse], error) + GetHealthHistory(context.Context, *connect.Request[v1.GetInfraHealthHistoryRequest]) (*connect.Response[v1.GetInfraHealthHistoryResponse], error) + // --- Containers --- + ListNodeContainers(context.Context, *connect.Request[v1.ListNodeContainersRequest]) (*connect.Response[v1.ListNodeContainersResponse], error) + GetContainerSpec(context.Context, *connect.Request[v1.GetContainerSpecRequest]) (*connect.Response[v1.GetContainerSpecResponse], error) + RestartContainer(context.Context, *connect.Request[v1.RestartContainerRequest], *connect.ServerStream[v1.OperationOutput]) error + RecreateContainer(context.Context, *connect.Request[v1.RecreateContainerRequest], *connect.ServerStream[v1.OperationOutput]) error + GetContainerLogs(context.Context, *connect.Request[v1.GetContainerLogsRequest]) (*connect.Response[v1.GetContainerLogsResponse], error) + InspectContainer(context.Context, *connect.Request[v1.InspectContainerRequest]) (*connect.Response[v1.InspectContainerResponse], error) + // --- Firewall --- + ListFirewallRules(context.Context, *connect.Request[v1.ListFirewallRulesRequest]) (*connect.Response[v1.ListFirewallRulesResponse], error) + CreateFirewallRule(context.Context, *connect.Request[v1.CreateFirewallRuleRequest]) (*connect.Response[v1.CreateFirewallRuleResponse], error) + UpdateFirewallRule(context.Context, *connect.Request[v1.UpdateFirewallRuleRequest]) (*connect.Response[v1.UpdateFirewallRuleResponse], error) + DeleteFirewallRule(context.Context, *connect.Request[v1.DeleteFirewallRuleRequest]) (*connect.Response[v1.DeleteFirewallRuleResponse], error) + ListNodeFirewallOverrides(context.Context, *connect.Request[v1.ListNodeFirewallOverridesRequest]) (*connect.Response[v1.ListNodeFirewallOverridesResponse], error) + CreateNodeFirewallOverride(context.Context, *connect.Request[v1.CreateNodeFirewallOverrideRequest]) (*connect.Response[v1.CreateNodeFirewallOverrideResponse], error) + DeleteNodeFirewallOverride(context.Context, *connect.Request[v1.DeleteNodeFirewallOverrideRequest]) (*connect.Response[v1.DeleteNodeFirewallOverrideResponse], error) + GetFirewallSyncStatus(context.Context, *connect.Request[v1.GetFirewallSyncStatusRequest]) (*connect.Response[v1.GetFirewallSyncStatusResponse], error) + SyncNodeFirewall(context.Context, *connect.Request[v1.SyncNodeFirewallRequest], *connect.ServerStream[v1.OperationOutput]) error + SyncAllFirewalls(context.Context, *connect.Request[v1.SyncAllFirewallsRequest], *connect.ServerStream[v1.OperationOutput]) error + // --- Networking & TLS --- + TestCrossNodeConnectivity(context.Context, *connect.Request[v1.TestCrossNodeConnectivityRequest]) (*connect.Response[v1.TestCrossNodeConnectivityResponse], error) + ListTLSCertificates(context.Context, *connect.Request[v1.ListTLSCertificatesRequest]) (*connect.Response[v1.ListTLSCertificatesResponse], error) + RenewCertificate(context.Context, *connect.Request[v1.RenewCertificateRequest], *connect.ServerStream[v1.OperationOutput]) error + ListTraefikRoutes(context.Context, *connect.Request[v1.ListTraefikRoutesRequest]) (*connect.Response[v1.ListTraefikRoutesResponse], error) + TraceRoute(context.Context, *connect.Request[v1.TraceRouteRequest]) (*connect.Response[v1.TraceRouteResponse], error) + // --- Updates --- + GetUpdateStatus(context.Context, *connect.Request[v1.GetUpdateStatusRequest]) (*connect.Response[v1.GetUpdateStatusResponse], error) + CheckForUpdates(context.Context, *connect.Request[v1.CheckForUpdatesRequest], *connect.ServerStream[v1.OperationOutput]) error + ApplySecurityUpdates(context.Context, *connect.Request[v1.ApplySecurityUpdatesRequest], *connect.ServerStream[v1.OperationOutput]) error + ApplyAllUpdates(context.Context, *connect.Request[v1.ApplyAllUpdatesRequest], *connect.ServerStream[v1.OperationOutput]) error + UpgradeContainer(context.Context, *connect.Request[v1.UpgradeContainerRequest], *connect.ServerStream[v1.OperationOutput]) error + // --- Maintenance --- + ScheduleMaintenance(context.Context, *connect.Request[v1.ScheduleMaintenanceRequest]) (*connect.Response[v1.ScheduleMaintenanceResponse], error) + EnterMaintenanceNow(context.Context, *connect.Request[v1.EnterMaintenanceNowRequest], *connect.ServerStream[v1.OperationOutput]) error + ExitMaintenance(context.Context, *connect.Request[v1.ExitMaintenanceRequest], *connect.ServerStream[v1.OperationOutput]) error + CancelScheduledMaintenance(context.Context, *connect.Request[v1.CancelScheduledMaintenanceRequest]) (*connect.Response[v1.CancelScheduledMaintenanceResponse], error) + ListMaintenanceWindows(context.Context, *connect.Request[v1.ListMaintenanceWindowsRequest]) (*connect.Response[v1.ListMaintenanceWindowsResponse], error) + // --- Security --- + GetSSHLoginAudit(context.Context, *connect.Request[v1.GetSSHLoginAuditRequest]) (*connect.Response[v1.GetSSHLoginAuditResponse], error) + RunSecurityAudit(context.Context, *connect.Request[v1.RunSecurityAuditRequest]) (*connect.Response[v1.RunSecurityAuditResponse], error) + // --- Alerts --- + ListActiveAlerts(context.Context, *connect.Request[v1.ListActiveAlertsRequest]) (*connect.Response[v1.ListActiveAlertsResponse], error) + AcknowledgeAlert(context.Context, *connect.Request[v1.AcknowledgeAlertRequest]) (*connect.Response[v1.AcknowledgeAlertResponse], error) + ListAlertRules(context.Context, *connect.Request[v1.ListAlertRulesRequest]) (*connect.Response[v1.ListAlertRulesResponse], error) + UpdateAlertRule(context.Context, *connect.Request[v1.UpdateAlertRuleRequest]) (*connect.Response[v1.UpdateAlertRuleResponse], error) + ListAlertHistory(context.Context, *connect.Request[v1.ListAlertHistoryRequest]) (*connect.Response[v1.ListAlertHistoryResponse], error) + GetNotificationChannels(context.Context, *connect.Request[v1.GetNotificationChannelsRequest]) (*connect.Response[v1.GetNotificationChannelsResponse], error) + UpdateNotificationChannel(context.Context, *connect.Request[v1.UpdateNotificationChannelRequest]) (*connect.Response[v1.UpdateNotificationChannelResponse], error) + TestNotificationChannel(context.Context, *connect.Request[v1.TestNotificationChannelRequest]) (*connect.Response[v1.TestNotificationChannelResponse], error) + // --- Consul KV --- + ListConsulKeys(context.Context, *connect.Request[v1.ListConsulKeysRequest]) (*connect.Response[v1.ListConsulKeysResponse], error) + GetConsulKeyGroup(context.Context, *connect.Request[v1.GetConsulKeyGroupRequest]) (*connect.Response[v1.GetConsulKeyGroupResponse], error) + RegenerateConsulRoutes(context.Context, *connect.Request[v1.RegenerateConsulRoutesRequest], *connect.ServerStream[v1.OperationOutput]) error + DeleteConsulKeys(context.Context, *connect.Request[v1.DeleteConsulKeysRequest]) (*connect.Response[v1.DeleteConsulKeysResponse], error) + // --- Audit Log --- + ListAuditLog(context.Context, *connect.Request[v1.ListAuditLogRequest]) (*connect.Response[v1.ListAuditLogResponse], error) +} + +// NewInfrastructureServiceHandler builds an HTTP handler from the service implementation. It +// returns the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewInfrastructureServiceHandler(svc InfrastructureServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + infrastructureServiceMethods := v1.File_orchestrator_v1_infrastructure_proto.Services().ByName("InfrastructureService").Methods() + infrastructureServiceGetInfrastructureOverviewHandler := connect.NewUnaryHandler( + InfrastructureServiceGetInfrastructureOverviewProcedure, + svc.GetInfrastructureOverview, + connect.WithSchema(infrastructureServiceMethods.ByName("GetInfrastructureOverview")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceGetNodeHealthHandler := connect.NewUnaryHandler( + InfrastructureServiceGetNodeHealthProcedure, + svc.GetNodeHealth, + connect.WithSchema(infrastructureServiceMethods.ByName("GetNodeHealth")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceRunHealthCheckHandler := connect.NewUnaryHandler( + InfrastructureServiceRunHealthCheckProcedure, + svc.RunHealthCheck, + connect.WithSchema(infrastructureServiceMethods.ByName("RunHealthCheck")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceGetHealthHistoryHandler := connect.NewUnaryHandler( + InfrastructureServiceGetHealthHistoryProcedure, + svc.GetHealthHistory, + connect.WithSchema(infrastructureServiceMethods.ByName("GetHealthHistory")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceListNodeContainersHandler := connect.NewUnaryHandler( + InfrastructureServiceListNodeContainersProcedure, + svc.ListNodeContainers, + connect.WithSchema(infrastructureServiceMethods.ByName("ListNodeContainers")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceGetContainerSpecHandler := connect.NewUnaryHandler( + InfrastructureServiceGetContainerSpecProcedure, + svc.GetContainerSpec, + connect.WithSchema(infrastructureServiceMethods.ByName("GetContainerSpec")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceRestartContainerHandler := connect.NewServerStreamHandler( + InfrastructureServiceRestartContainerProcedure, + svc.RestartContainer, + connect.WithSchema(infrastructureServiceMethods.ByName("RestartContainer")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceRecreateContainerHandler := connect.NewServerStreamHandler( + InfrastructureServiceRecreateContainerProcedure, + svc.RecreateContainer, + connect.WithSchema(infrastructureServiceMethods.ByName("RecreateContainer")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceGetContainerLogsHandler := connect.NewUnaryHandler( + InfrastructureServiceGetContainerLogsProcedure, + svc.GetContainerLogs, + connect.WithSchema(infrastructureServiceMethods.ByName("GetContainerLogs")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceInspectContainerHandler := connect.NewUnaryHandler( + InfrastructureServiceInspectContainerProcedure, + svc.InspectContainer, + connect.WithSchema(infrastructureServiceMethods.ByName("InspectContainer")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceListFirewallRulesHandler := connect.NewUnaryHandler( + InfrastructureServiceListFirewallRulesProcedure, + svc.ListFirewallRules, + connect.WithSchema(infrastructureServiceMethods.ByName("ListFirewallRules")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceCreateFirewallRuleHandler := connect.NewUnaryHandler( + InfrastructureServiceCreateFirewallRuleProcedure, + svc.CreateFirewallRule, + connect.WithSchema(infrastructureServiceMethods.ByName("CreateFirewallRule")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceUpdateFirewallRuleHandler := connect.NewUnaryHandler( + InfrastructureServiceUpdateFirewallRuleProcedure, + svc.UpdateFirewallRule, + connect.WithSchema(infrastructureServiceMethods.ByName("UpdateFirewallRule")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceDeleteFirewallRuleHandler := connect.NewUnaryHandler( + InfrastructureServiceDeleteFirewallRuleProcedure, + svc.DeleteFirewallRule, + connect.WithSchema(infrastructureServiceMethods.ByName("DeleteFirewallRule")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceListNodeFirewallOverridesHandler := connect.NewUnaryHandler( + InfrastructureServiceListNodeFirewallOverridesProcedure, + svc.ListNodeFirewallOverrides, + connect.WithSchema(infrastructureServiceMethods.ByName("ListNodeFirewallOverrides")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceCreateNodeFirewallOverrideHandler := connect.NewUnaryHandler( + InfrastructureServiceCreateNodeFirewallOverrideProcedure, + svc.CreateNodeFirewallOverride, + connect.WithSchema(infrastructureServiceMethods.ByName("CreateNodeFirewallOverride")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceDeleteNodeFirewallOverrideHandler := connect.NewUnaryHandler( + InfrastructureServiceDeleteNodeFirewallOverrideProcedure, + svc.DeleteNodeFirewallOverride, + connect.WithSchema(infrastructureServiceMethods.ByName("DeleteNodeFirewallOverride")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceGetFirewallSyncStatusHandler := connect.NewUnaryHandler( + InfrastructureServiceGetFirewallSyncStatusProcedure, + svc.GetFirewallSyncStatus, + connect.WithSchema(infrastructureServiceMethods.ByName("GetFirewallSyncStatus")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceSyncNodeFirewallHandler := connect.NewServerStreamHandler( + InfrastructureServiceSyncNodeFirewallProcedure, + svc.SyncNodeFirewall, + connect.WithSchema(infrastructureServiceMethods.ByName("SyncNodeFirewall")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceSyncAllFirewallsHandler := connect.NewServerStreamHandler( + InfrastructureServiceSyncAllFirewallsProcedure, + svc.SyncAllFirewalls, + connect.WithSchema(infrastructureServiceMethods.ByName("SyncAllFirewalls")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceTestCrossNodeConnectivityHandler := connect.NewUnaryHandler( + InfrastructureServiceTestCrossNodeConnectivityProcedure, + svc.TestCrossNodeConnectivity, + connect.WithSchema(infrastructureServiceMethods.ByName("TestCrossNodeConnectivity")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceListTLSCertificatesHandler := connect.NewUnaryHandler( + InfrastructureServiceListTLSCertificatesProcedure, + svc.ListTLSCertificates, + connect.WithSchema(infrastructureServiceMethods.ByName("ListTLSCertificates")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceRenewCertificateHandler := connect.NewServerStreamHandler( + InfrastructureServiceRenewCertificateProcedure, + svc.RenewCertificate, + connect.WithSchema(infrastructureServiceMethods.ByName("RenewCertificate")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceListTraefikRoutesHandler := connect.NewUnaryHandler( + InfrastructureServiceListTraefikRoutesProcedure, + svc.ListTraefikRoutes, + connect.WithSchema(infrastructureServiceMethods.ByName("ListTraefikRoutes")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceTraceRouteHandler := connect.NewUnaryHandler( + InfrastructureServiceTraceRouteProcedure, + svc.TraceRoute, + connect.WithSchema(infrastructureServiceMethods.ByName("TraceRoute")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceGetUpdateStatusHandler := connect.NewUnaryHandler( + InfrastructureServiceGetUpdateStatusProcedure, + svc.GetUpdateStatus, + connect.WithSchema(infrastructureServiceMethods.ByName("GetUpdateStatus")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceCheckForUpdatesHandler := connect.NewServerStreamHandler( + InfrastructureServiceCheckForUpdatesProcedure, + svc.CheckForUpdates, + connect.WithSchema(infrastructureServiceMethods.ByName("CheckForUpdates")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceApplySecurityUpdatesHandler := connect.NewServerStreamHandler( + InfrastructureServiceApplySecurityUpdatesProcedure, + svc.ApplySecurityUpdates, + connect.WithSchema(infrastructureServiceMethods.ByName("ApplySecurityUpdates")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceApplyAllUpdatesHandler := connect.NewServerStreamHandler( + InfrastructureServiceApplyAllUpdatesProcedure, + svc.ApplyAllUpdates, + connect.WithSchema(infrastructureServiceMethods.ByName("ApplyAllUpdates")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceUpgradeContainerHandler := connect.NewServerStreamHandler( + InfrastructureServiceUpgradeContainerProcedure, + svc.UpgradeContainer, + connect.WithSchema(infrastructureServiceMethods.ByName("UpgradeContainer")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceScheduleMaintenanceHandler := connect.NewUnaryHandler( + InfrastructureServiceScheduleMaintenanceProcedure, + svc.ScheduleMaintenance, + connect.WithSchema(infrastructureServiceMethods.ByName("ScheduleMaintenance")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceEnterMaintenanceNowHandler := connect.NewServerStreamHandler( + InfrastructureServiceEnterMaintenanceNowProcedure, + svc.EnterMaintenanceNow, + connect.WithSchema(infrastructureServiceMethods.ByName("EnterMaintenanceNow")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceExitMaintenanceHandler := connect.NewServerStreamHandler( + InfrastructureServiceExitMaintenanceProcedure, + svc.ExitMaintenance, + connect.WithSchema(infrastructureServiceMethods.ByName("ExitMaintenance")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceCancelScheduledMaintenanceHandler := connect.NewUnaryHandler( + InfrastructureServiceCancelScheduledMaintenanceProcedure, + svc.CancelScheduledMaintenance, + connect.WithSchema(infrastructureServiceMethods.ByName("CancelScheduledMaintenance")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceListMaintenanceWindowsHandler := connect.NewUnaryHandler( + InfrastructureServiceListMaintenanceWindowsProcedure, + svc.ListMaintenanceWindows, + connect.WithSchema(infrastructureServiceMethods.ByName("ListMaintenanceWindows")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceGetSSHLoginAuditHandler := connect.NewUnaryHandler( + InfrastructureServiceGetSSHLoginAuditProcedure, + svc.GetSSHLoginAudit, + connect.WithSchema(infrastructureServiceMethods.ByName("GetSSHLoginAudit")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceRunSecurityAuditHandler := connect.NewUnaryHandler( + InfrastructureServiceRunSecurityAuditProcedure, + svc.RunSecurityAudit, + connect.WithSchema(infrastructureServiceMethods.ByName("RunSecurityAudit")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceListActiveAlertsHandler := connect.NewUnaryHandler( + InfrastructureServiceListActiveAlertsProcedure, + svc.ListActiveAlerts, + connect.WithSchema(infrastructureServiceMethods.ByName("ListActiveAlerts")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceAcknowledgeAlertHandler := connect.NewUnaryHandler( + InfrastructureServiceAcknowledgeAlertProcedure, + svc.AcknowledgeAlert, + connect.WithSchema(infrastructureServiceMethods.ByName("AcknowledgeAlert")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceListAlertRulesHandler := connect.NewUnaryHandler( + InfrastructureServiceListAlertRulesProcedure, + svc.ListAlertRules, + connect.WithSchema(infrastructureServiceMethods.ByName("ListAlertRules")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceUpdateAlertRuleHandler := connect.NewUnaryHandler( + InfrastructureServiceUpdateAlertRuleProcedure, + svc.UpdateAlertRule, + connect.WithSchema(infrastructureServiceMethods.ByName("UpdateAlertRule")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceListAlertHistoryHandler := connect.NewUnaryHandler( + InfrastructureServiceListAlertHistoryProcedure, + svc.ListAlertHistory, + connect.WithSchema(infrastructureServiceMethods.ByName("ListAlertHistory")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceGetNotificationChannelsHandler := connect.NewUnaryHandler( + InfrastructureServiceGetNotificationChannelsProcedure, + svc.GetNotificationChannels, + connect.WithSchema(infrastructureServiceMethods.ByName("GetNotificationChannels")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceUpdateNotificationChannelHandler := connect.NewUnaryHandler( + InfrastructureServiceUpdateNotificationChannelProcedure, + svc.UpdateNotificationChannel, + connect.WithSchema(infrastructureServiceMethods.ByName("UpdateNotificationChannel")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceTestNotificationChannelHandler := connect.NewUnaryHandler( + InfrastructureServiceTestNotificationChannelProcedure, + svc.TestNotificationChannel, + connect.WithSchema(infrastructureServiceMethods.ByName("TestNotificationChannel")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceListConsulKeysHandler := connect.NewUnaryHandler( + InfrastructureServiceListConsulKeysProcedure, + svc.ListConsulKeys, + connect.WithSchema(infrastructureServiceMethods.ByName("ListConsulKeys")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceGetConsulKeyGroupHandler := connect.NewUnaryHandler( + InfrastructureServiceGetConsulKeyGroupProcedure, + svc.GetConsulKeyGroup, + connect.WithSchema(infrastructureServiceMethods.ByName("GetConsulKeyGroup")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceRegenerateConsulRoutesHandler := connect.NewServerStreamHandler( + InfrastructureServiceRegenerateConsulRoutesProcedure, + svc.RegenerateConsulRoutes, + connect.WithSchema(infrastructureServiceMethods.ByName("RegenerateConsulRoutes")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceDeleteConsulKeysHandler := connect.NewUnaryHandler( + InfrastructureServiceDeleteConsulKeysProcedure, + svc.DeleteConsulKeys, + connect.WithSchema(infrastructureServiceMethods.ByName("DeleteConsulKeys")), + connect.WithHandlerOptions(opts...), + ) + infrastructureServiceListAuditLogHandler := connect.NewUnaryHandler( + InfrastructureServiceListAuditLogProcedure, + svc.ListAuditLog, + connect.WithSchema(infrastructureServiceMethods.ByName("ListAuditLog")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.InfrastructureService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case InfrastructureServiceGetInfrastructureOverviewProcedure: + infrastructureServiceGetInfrastructureOverviewHandler.ServeHTTP(w, r) + case InfrastructureServiceGetNodeHealthProcedure: + infrastructureServiceGetNodeHealthHandler.ServeHTTP(w, r) + case InfrastructureServiceRunHealthCheckProcedure: + infrastructureServiceRunHealthCheckHandler.ServeHTTP(w, r) + case InfrastructureServiceGetHealthHistoryProcedure: + infrastructureServiceGetHealthHistoryHandler.ServeHTTP(w, r) + case InfrastructureServiceListNodeContainersProcedure: + infrastructureServiceListNodeContainersHandler.ServeHTTP(w, r) + case InfrastructureServiceGetContainerSpecProcedure: + infrastructureServiceGetContainerSpecHandler.ServeHTTP(w, r) + case InfrastructureServiceRestartContainerProcedure: + infrastructureServiceRestartContainerHandler.ServeHTTP(w, r) + case InfrastructureServiceRecreateContainerProcedure: + infrastructureServiceRecreateContainerHandler.ServeHTTP(w, r) + case InfrastructureServiceGetContainerLogsProcedure: + infrastructureServiceGetContainerLogsHandler.ServeHTTP(w, r) + case InfrastructureServiceInspectContainerProcedure: + infrastructureServiceInspectContainerHandler.ServeHTTP(w, r) + case InfrastructureServiceListFirewallRulesProcedure: + infrastructureServiceListFirewallRulesHandler.ServeHTTP(w, r) + case InfrastructureServiceCreateFirewallRuleProcedure: + infrastructureServiceCreateFirewallRuleHandler.ServeHTTP(w, r) + case InfrastructureServiceUpdateFirewallRuleProcedure: + infrastructureServiceUpdateFirewallRuleHandler.ServeHTTP(w, r) + case InfrastructureServiceDeleteFirewallRuleProcedure: + infrastructureServiceDeleteFirewallRuleHandler.ServeHTTP(w, r) + case InfrastructureServiceListNodeFirewallOverridesProcedure: + infrastructureServiceListNodeFirewallOverridesHandler.ServeHTTP(w, r) + case InfrastructureServiceCreateNodeFirewallOverrideProcedure: + infrastructureServiceCreateNodeFirewallOverrideHandler.ServeHTTP(w, r) + case InfrastructureServiceDeleteNodeFirewallOverrideProcedure: + infrastructureServiceDeleteNodeFirewallOverrideHandler.ServeHTTP(w, r) + case InfrastructureServiceGetFirewallSyncStatusProcedure: + infrastructureServiceGetFirewallSyncStatusHandler.ServeHTTP(w, r) + case InfrastructureServiceSyncNodeFirewallProcedure: + infrastructureServiceSyncNodeFirewallHandler.ServeHTTP(w, r) + case InfrastructureServiceSyncAllFirewallsProcedure: + infrastructureServiceSyncAllFirewallsHandler.ServeHTTP(w, r) + case InfrastructureServiceTestCrossNodeConnectivityProcedure: + infrastructureServiceTestCrossNodeConnectivityHandler.ServeHTTP(w, r) + case InfrastructureServiceListTLSCertificatesProcedure: + infrastructureServiceListTLSCertificatesHandler.ServeHTTP(w, r) + case InfrastructureServiceRenewCertificateProcedure: + infrastructureServiceRenewCertificateHandler.ServeHTTP(w, r) + case InfrastructureServiceListTraefikRoutesProcedure: + infrastructureServiceListTraefikRoutesHandler.ServeHTTP(w, r) + case InfrastructureServiceTraceRouteProcedure: + infrastructureServiceTraceRouteHandler.ServeHTTP(w, r) + case InfrastructureServiceGetUpdateStatusProcedure: + infrastructureServiceGetUpdateStatusHandler.ServeHTTP(w, r) + case InfrastructureServiceCheckForUpdatesProcedure: + infrastructureServiceCheckForUpdatesHandler.ServeHTTP(w, r) + case InfrastructureServiceApplySecurityUpdatesProcedure: + infrastructureServiceApplySecurityUpdatesHandler.ServeHTTP(w, r) + case InfrastructureServiceApplyAllUpdatesProcedure: + infrastructureServiceApplyAllUpdatesHandler.ServeHTTP(w, r) + case InfrastructureServiceUpgradeContainerProcedure: + infrastructureServiceUpgradeContainerHandler.ServeHTTP(w, r) + case InfrastructureServiceScheduleMaintenanceProcedure: + infrastructureServiceScheduleMaintenanceHandler.ServeHTTP(w, r) + case InfrastructureServiceEnterMaintenanceNowProcedure: + infrastructureServiceEnterMaintenanceNowHandler.ServeHTTP(w, r) + case InfrastructureServiceExitMaintenanceProcedure: + infrastructureServiceExitMaintenanceHandler.ServeHTTP(w, r) + case InfrastructureServiceCancelScheduledMaintenanceProcedure: + infrastructureServiceCancelScheduledMaintenanceHandler.ServeHTTP(w, r) + case InfrastructureServiceListMaintenanceWindowsProcedure: + infrastructureServiceListMaintenanceWindowsHandler.ServeHTTP(w, r) + case InfrastructureServiceGetSSHLoginAuditProcedure: + infrastructureServiceGetSSHLoginAuditHandler.ServeHTTP(w, r) + case InfrastructureServiceRunSecurityAuditProcedure: + infrastructureServiceRunSecurityAuditHandler.ServeHTTP(w, r) + case InfrastructureServiceListActiveAlertsProcedure: + infrastructureServiceListActiveAlertsHandler.ServeHTTP(w, r) + case InfrastructureServiceAcknowledgeAlertProcedure: + infrastructureServiceAcknowledgeAlertHandler.ServeHTTP(w, r) + case InfrastructureServiceListAlertRulesProcedure: + infrastructureServiceListAlertRulesHandler.ServeHTTP(w, r) + case InfrastructureServiceUpdateAlertRuleProcedure: + infrastructureServiceUpdateAlertRuleHandler.ServeHTTP(w, r) + case InfrastructureServiceListAlertHistoryProcedure: + infrastructureServiceListAlertHistoryHandler.ServeHTTP(w, r) + case InfrastructureServiceGetNotificationChannelsProcedure: + infrastructureServiceGetNotificationChannelsHandler.ServeHTTP(w, r) + case InfrastructureServiceUpdateNotificationChannelProcedure: + infrastructureServiceUpdateNotificationChannelHandler.ServeHTTP(w, r) + case InfrastructureServiceTestNotificationChannelProcedure: + infrastructureServiceTestNotificationChannelHandler.ServeHTTP(w, r) + case InfrastructureServiceListConsulKeysProcedure: + infrastructureServiceListConsulKeysHandler.ServeHTTP(w, r) + case InfrastructureServiceGetConsulKeyGroupProcedure: + infrastructureServiceGetConsulKeyGroupHandler.ServeHTTP(w, r) + case InfrastructureServiceRegenerateConsulRoutesProcedure: + infrastructureServiceRegenerateConsulRoutesHandler.ServeHTTP(w, r) + case InfrastructureServiceDeleteConsulKeysProcedure: + infrastructureServiceDeleteConsulKeysHandler.ServeHTTP(w, r) + case InfrastructureServiceListAuditLogProcedure: + infrastructureServiceListAuditLogHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedInfrastructureServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedInfrastructureServiceHandler struct{} + +func (UnimplementedInfrastructureServiceHandler) GetInfrastructureOverview(context.Context, *connect.Request[v1.GetInfrastructureOverviewRequest]) (*connect.Response[v1.GetInfrastructureOverviewResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.GetInfrastructureOverview is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) GetNodeHealth(context.Context, *connect.Request[v1.GetNodeHealthRequest]) (*connect.Response[v1.GetNodeHealthResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.GetNodeHealth is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) RunHealthCheck(context.Context, *connect.Request[v1.RunHealthCheckRequest]) (*connect.Response[v1.RunHealthCheckResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.RunHealthCheck is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) GetHealthHistory(context.Context, *connect.Request[v1.GetInfraHealthHistoryRequest]) (*connect.Response[v1.GetInfraHealthHistoryResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.GetHealthHistory is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ListNodeContainers(context.Context, *connect.Request[v1.ListNodeContainersRequest]) (*connect.Response[v1.ListNodeContainersResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ListNodeContainers is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) GetContainerSpec(context.Context, *connect.Request[v1.GetContainerSpecRequest]) (*connect.Response[v1.GetContainerSpecResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.GetContainerSpec is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) RestartContainer(context.Context, *connect.Request[v1.RestartContainerRequest], *connect.ServerStream[v1.OperationOutput]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.RestartContainer is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) RecreateContainer(context.Context, *connect.Request[v1.RecreateContainerRequest], *connect.ServerStream[v1.OperationOutput]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.RecreateContainer is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) GetContainerLogs(context.Context, *connect.Request[v1.GetContainerLogsRequest]) (*connect.Response[v1.GetContainerLogsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.GetContainerLogs is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) InspectContainer(context.Context, *connect.Request[v1.InspectContainerRequest]) (*connect.Response[v1.InspectContainerResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.InspectContainer is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ListFirewallRules(context.Context, *connect.Request[v1.ListFirewallRulesRequest]) (*connect.Response[v1.ListFirewallRulesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ListFirewallRules is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) CreateFirewallRule(context.Context, *connect.Request[v1.CreateFirewallRuleRequest]) (*connect.Response[v1.CreateFirewallRuleResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.CreateFirewallRule is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) UpdateFirewallRule(context.Context, *connect.Request[v1.UpdateFirewallRuleRequest]) (*connect.Response[v1.UpdateFirewallRuleResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.UpdateFirewallRule is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) DeleteFirewallRule(context.Context, *connect.Request[v1.DeleteFirewallRuleRequest]) (*connect.Response[v1.DeleteFirewallRuleResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.DeleteFirewallRule is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ListNodeFirewallOverrides(context.Context, *connect.Request[v1.ListNodeFirewallOverridesRequest]) (*connect.Response[v1.ListNodeFirewallOverridesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ListNodeFirewallOverrides is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) CreateNodeFirewallOverride(context.Context, *connect.Request[v1.CreateNodeFirewallOverrideRequest]) (*connect.Response[v1.CreateNodeFirewallOverrideResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.CreateNodeFirewallOverride is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) DeleteNodeFirewallOverride(context.Context, *connect.Request[v1.DeleteNodeFirewallOverrideRequest]) (*connect.Response[v1.DeleteNodeFirewallOverrideResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.DeleteNodeFirewallOverride is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) GetFirewallSyncStatus(context.Context, *connect.Request[v1.GetFirewallSyncStatusRequest]) (*connect.Response[v1.GetFirewallSyncStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.GetFirewallSyncStatus is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) SyncNodeFirewall(context.Context, *connect.Request[v1.SyncNodeFirewallRequest], *connect.ServerStream[v1.OperationOutput]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.SyncNodeFirewall is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) SyncAllFirewalls(context.Context, *connect.Request[v1.SyncAllFirewallsRequest], *connect.ServerStream[v1.OperationOutput]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.SyncAllFirewalls is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) TestCrossNodeConnectivity(context.Context, *connect.Request[v1.TestCrossNodeConnectivityRequest]) (*connect.Response[v1.TestCrossNodeConnectivityResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.TestCrossNodeConnectivity is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ListTLSCertificates(context.Context, *connect.Request[v1.ListTLSCertificatesRequest]) (*connect.Response[v1.ListTLSCertificatesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ListTLSCertificates is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) RenewCertificate(context.Context, *connect.Request[v1.RenewCertificateRequest], *connect.ServerStream[v1.OperationOutput]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.RenewCertificate is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ListTraefikRoutes(context.Context, *connect.Request[v1.ListTraefikRoutesRequest]) (*connect.Response[v1.ListTraefikRoutesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ListTraefikRoutes is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) TraceRoute(context.Context, *connect.Request[v1.TraceRouteRequest]) (*connect.Response[v1.TraceRouteResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.TraceRoute is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) GetUpdateStatus(context.Context, *connect.Request[v1.GetUpdateStatusRequest]) (*connect.Response[v1.GetUpdateStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.GetUpdateStatus is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) CheckForUpdates(context.Context, *connect.Request[v1.CheckForUpdatesRequest], *connect.ServerStream[v1.OperationOutput]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.CheckForUpdates is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ApplySecurityUpdates(context.Context, *connect.Request[v1.ApplySecurityUpdatesRequest], *connect.ServerStream[v1.OperationOutput]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ApplySecurityUpdates is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ApplyAllUpdates(context.Context, *connect.Request[v1.ApplyAllUpdatesRequest], *connect.ServerStream[v1.OperationOutput]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ApplyAllUpdates is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) UpgradeContainer(context.Context, *connect.Request[v1.UpgradeContainerRequest], *connect.ServerStream[v1.OperationOutput]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.UpgradeContainer is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ScheduleMaintenance(context.Context, *connect.Request[v1.ScheduleMaintenanceRequest]) (*connect.Response[v1.ScheduleMaintenanceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ScheduleMaintenance is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) EnterMaintenanceNow(context.Context, *connect.Request[v1.EnterMaintenanceNowRequest], *connect.ServerStream[v1.OperationOutput]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.EnterMaintenanceNow is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ExitMaintenance(context.Context, *connect.Request[v1.ExitMaintenanceRequest], *connect.ServerStream[v1.OperationOutput]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ExitMaintenance is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) CancelScheduledMaintenance(context.Context, *connect.Request[v1.CancelScheduledMaintenanceRequest]) (*connect.Response[v1.CancelScheduledMaintenanceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.CancelScheduledMaintenance is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ListMaintenanceWindows(context.Context, *connect.Request[v1.ListMaintenanceWindowsRequest]) (*connect.Response[v1.ListMaintenanceWindowsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ListMaintenanceWindows is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) GetSSHLoginAudit(context.Context, *connect.Request[v1.GetSSHLoginAuditRequest]) (*connect.Response[v1.GetSSHLoginAuditResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.GetSSHLoginAudit is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) RunSecurityAudit(context.Context, *connect.Request[v1.RunSecurityAuditRequest]) (*connect.Response[v1.RunSecurityAuditResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.RunSecurityAudit is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ListActiveAlerts(context.Context, *connect.Request[v1.ListActiveAlertsRequest]) (*connect.Response[v1.ListActiveAlertsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ListActiveAlerts is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) AcknowledgeAlert(context.Context, *connect.Request[v1.AcknowledgeAlertRequest]) (*connect.Response[v1.AcknowledgeAlertResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.AcknowledgeAlert is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ListAlertRules(context.Context, *connect.Request[v1.ListAlertRulesRequest]) (*connect.Response[v1.ListAlertRulesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ListAlertRules is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) UpdateAlertRule(context.Context, *connect.Request[v1.UpdateAlertRuleRequest]) (*connect.Response[v1.UpdateAlertRuleResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.UpdateAlertRule is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ListAlertHistory(context.Context, *connect.Request[v1.ListAlertHistoryRequest]) (*connect.Response[v1.ListAlertHistoryResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ListAlertHistory is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) GetNotificationChannels(context.Context, *connect.Request[v1.GetNotificationChannelsRequest]) (*connect.Response[v1.GetNotificationChannelsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.GetNotificationChannels is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) UpdateNotificationChannel(context.Context, *connect.Request[v1.UpdateNotificationChannelRequest]) (*connect.Response[v1.UpdateNotificationChannelResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.UpdateNotificationChannel is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) TestNotificationChannel(context.Context, *connect.Request[v1.TestNotificationChannelRequest]) (*connect.Response[v1.TestNotificationChannelResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.TestNotificationChannel is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ListConsulKeys(context.Context, *connect.Request[v1.ListConsulKeysRequest]) (*connect.Response[v1.ListConsulKeysResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ListConsulKeys is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) GetConsulKeyGroup(context.Context, *connect.Request[v1.GetConsulKeyGroupRequest]) (*connect.Response[v1.GetConsulKeyGroupResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.GetConsulKeyGroup is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) RegenerateConsulRoutes(context.Context, *connect.Request[v1.RegenerateConsulRoutesRequest], *connect.ServerStream[v1.OperationOutput]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.RegenerateConsulRoutes is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) DeleteConsulKeys(context.Context, *connect.Request[v1.DeleteConsulKeysRequest]) (*connect.Response[v1.DeleteConsulKeysResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.DeleteConsulKeys is not implemented")) +} + +func (UnimplementedInfrastructureServiceHandler) ListAuditLog(context.Context, *connect.Request[v1.ListAuditLogRequest]) (*connect.Response[v1.ListAuditLogResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InfrastructureService.ListAuditLog is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/instances.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/instances.connect.go new file mode 100644 index 0000000..902099f --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/instances.connect.go @@ -0,0 +1,1423 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/instances.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // InstanceServiceName is the fully-qualified name of the InstanceService service. + InstanceServiceName = "orchestrator.v1.InstanceService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // InstanceServiceCreateInstanceProcedure is the fully-qualified name of the InstanceService's + // CreateInstance RPC. + InstanceServiceCreateInstanceProcedure = "/orchestrator.v1.InstanceService/CreateInstance" + // InstanceServiceGetInstanceProcedure is the fully-qualified name of the InstanceService's + // GetInstance RPC. + InstanceServiceGetInstanceProcedure = "/orchestrator.v1.InstanceService/GetInstance" + // InstanceServiceListInstancesProcedure is the fully-qualified name of the InstanceService's + // ListInstances RPC. + InstanceServiceListInstancesProcedure = "/orchestrator.v1.InstanceService/ListInstances" + // InstanceServiceListAllInstancesProcedure is the fully-qualified name of the InstanceService's + // ListAllInstances RPC. + InstanceServiceListAllInstancesProcedure = "/orchestrator.v1.InstanceService/ListAllInstances" + // InstanceServiceListMyInstancesProcedure is the fully-qualified name of the InstanceService's + // ListMyInstances RPC. + InstanceServiceListMyInstancesProcedure = "/orchestrator.v1.InstanceService/ListMyInstances" + // InstanceServiceUpdateInstanceProcedure is the fully-qualified name of the InstanceService's + // UpdateInstance RPC. + InstanceServiceUpdateInstanceProcedure = "/orchestrator.v1.InstanceService/UpdateInstance" + // InstanceServiceDeleteInstanceProcedure is the fully-qualified name of the InstanceService's + // DeleteInstance RPC. + InstanceServiceDeleteInstanceProcedure = "/orchestrator.v1.InstanceService/DeleteInstance" + // InstanceServiceStartInstanceProcedure is the fully-qualified name of the InstanceService's + // StartInstance RPC. + InstanceServiceStartInstanceProcedure = "/orchestrator.v1.InstanceService/StartInstance" + // InstanceServiceStopInstanceProcedure is the fully-qualified name of the InstanceService's + // StopInstance RPC. + InstanceServiceStopInstanceProcedure = "/orchestrator.v1.InstanceService/StopInstance" + // InstanceServiceStartOperationProcedure is the fully-qualified name of the InstanceService's + // StartOperation RPC. + InstanceServiceStartOperationProcedure = "/orchestrator.v1.InstanceService/StartOperation" + // InstanceServiceGetOperationProcedure is the fully-qualified name of the InstanceService's + // GetOperation RPC. + InstanceServiceGetOperationProcedure = "/orchestrator.v1.InstanceService/GetOperation" + // InstanceServiceGetActiveOperationProcedure is the fully-qualified name of the InstanceService's + // GetActiveOperation RPC. + InstanceServiceGetActiveOperationProcedure = "/orchestrator.v1.InstanceService/GetActiveOperation" + // InstanceServiceGetLatestOperationProcedure is the fully-qualified name of the InstanceService's + // GetLatestOperation RPC. + InstanceServiceGetLatestOperationProcedure = "/orchestrator.v1.InstanceService/GetLatestOperation" + // InstanceServiceCancelOperationProcedure is the fully-qualified name of the InstanceService's + // CancelOperation RPC. + InstanceServiceCancelOperationProcedure = "/orchestrator.v1.InstanceService/CancelOperation" + // InstanceServiceGetLatestCMSVersionProcedure is the fully-qualified name of the InstanceService's + // GetLatestCMSVersion RPC. + InstanceServiceGetLatestCMSVersionProcedure = "/orchestrator.v1.InstanceService/GetLatestCMSVersion" + // InstanceServiceGetInstanceLogsProcedure is the fully-qualified name of the InstanceService's + // GetInstanceLogs RPC. + InstanceServiceGetInstanceLogsProcedure = "/orchestrator.v1.InstanceService/GetInstanceLogs" + // InstanceServiceListInstanceUsersProcedure is the fully-qualified name of the InstanceService's + // ListInstanceUsers RPC. + InstanceServiceListInstanceUsersProcedure = "/orchestrator.v1.InstanceService/ListInstanceUsers" + // InstanceServiceGrantInstanceAccessProcedure is the fully-qualified name of the InstanceService's + // GrantInstanceAccess RPC. + InstanceServiceGrantInstanceAccessProcedure = "/orchestrator.v1.InstanceService/GrantInstanceAccess" + // InstanceServiceUpdateUserRoleProcedure is the fully-qualified name of the InstanceService's + // UpdateUserRole RPC. + InstanceServiceUpdateUserRoleProcedure = "/orchestrator.v1.InstanceService/UpdateUserRole" + // InstanceServiceRemoveUserProcedure is the fully-qualified name of the InstanceService's + // RemoveUser RPC. + InstanceServiceRemoveUserProcedure = "/orchestrator.v1.InstanceService/RemoveUser" + // InstanceServiceGetInstanceStorageLimitsProcedure is the fully-qualified name of the + // InstanceService's GetInstanceStorageLimits RPC. + InstanceServiceGetInstanceStorageLimitsProcedure = "/orchestrator.v1.InstanceService/GetInstanceStorageLimits" + // InstanceServiceInstallPluginToInstanceProcedure is the fully-qualified name of the + // InstanceService's InstallPluginToInstance RPC. + InstanceServiceInstallPluginToInstanceProcedure = "/orchestrator.v1.InstanceService/InstallPluginToInstance" + // InstanceServiceGetInstanceMetricsProcedure is the fully-qualified name of the InstanceService's + // GetInstanceMetrics RPC. + InstanceServiceGetInstanceMetricsProcedure = "/orchestrator.v1.InstanceService/GetInstanceMetrics" + // InstanceServiceGetBandwidthHistoryProcedure is the fully-qualified name of the InstanceService's + // GetBandwidthHistory RPC. + InstanceServiceGetBandwidthHistoryProcedure = "/orchestrator.v1.InstanceService/GetBandwidthHistory" + // InstanceServiceBulkStartInstancesProcedure is the fully-qualified name of the InstanceService's + // BulkStartInstances RPC. + InstanceServiceBulkStartInstancesProcedure = "/orchestrator.v1.InstanceService/BulkStartInstances" + // InstanceServiceBulkStopInstancesProcedure is the fully-qualified name of the InstanceService's + // BulkStopInstances RPC. + InstanceServiceBulkStopInstancesProcedure = "/orchestrator.v1.InstanceService/BulkStopInstances" + // InstanceServiceBulkRestartInstancesProcedure is the fully-qualified name of the InstanceService's + // BulkRestartInstances RPC. + InstanceServiceBulkRestartInstancesProcedure = "/orchestrator.v1.InstanceService/BulkRestartInstances" + // InstanceServiceBulkDeleteInstancesProcedure is the fully-qualified name of the InstanceService's + // BulkDeleteInstances RPC. + InstanceServiceBulkDeleteInstancesProcedure = "/orchestrator.v1.InstanceService/BulkDeleteInstances" + // InstanceServiceBulkRegenerateTraefikConfigsProcedure is the fully-qualified name of the + // InstanceService's BulkRegenerateTraefikConfigs RPC. + InstanceServiceBulkRegenerateTraefikConfigsProcedure = "/orchestrator.v1.InstanceService/BulkRegenerateTraefikConfigs" + // InstanceServiceRegenerateAllTraefikConfigsProcedure is the fully-qualified name of the + // InstanceService's RegenerateAllTraefikConfigs RPC. + InstanceServiceRegenerateAllTraefikConfigsProcedure = "/orchestrator.v1.InstanceService/RegenerateAllTraefikConfigs" + // InstanceServiceGetInstanceConfigurationProcedure is the fully-qualified name of the + // InstanceService's GetInstanceConfiguration RPC. + InstanceServiceGetInstanceConfigurationProcedure = "/orchestrator.v1.InstanceService/GetInstanceConfiguration" + // InstanceServiceGetInstanceUserPasswordsProcedure is the fully-qualified name of the + // InstanceService's GetInstanceUserPasswords RPC. + InstanceServiceGetInstanceUserPasswordsProcedure = "/orchestrator.v1.InstanceService/GetInstanceUserPasswords" + // InstanceServiceRequestSelfRestartProcedure is the fully-qualified name of the InstanceService's + // RequestSelfRestart RPC. + InstanceServiceRequestSelfRestartProcedure = "/orchestrator.v1.InstanceService/RequestSelfRestart" + // InstanceServiceWatchAndRestartInstanceProcedure is the fully-qualified name of the + // InstanceService's WatchAndRestartInstance RPC. + InstanceServiceWatchAndRestartInstanceProcedure = "/orchestrator.v1.InstanceService/WatchAndRestartInstance" + // InstanceServiceMoveInstanceProcedure is the fully-qualified name of the InstanceService's + // MoveInstance RPC. + InstanceServiceMoveInstanceProcedure = "/orchestrator.v1.InstanceService/MoveInstance" + // InstanceServiceMoveInstanceToNodeProcedure is the fully-qualified name of the InstanceService's + // MoveInstanceToNode RPC. + InstanceServiceMoveInstanceToNodeProcedure = "/orchestrator.v1.InstanceService/MoveInstanceToNode" + // InstanceServicePreviewUpgradeCampaignProcedure is the fully-qualified name of the + // InstanceService's PreviewUpgradeCampaign RPC. + InstanceServicePreviewUpgradeCampaignProcedure = "/orchestrator.v1.InstanceService/PreviewUpgradeCampaign" + // InstanceServiceStartUpgradeCampaignProcedure is the fully-qualified name of the InstanceService's + // StartUpgradeCampaign RPC. + InstanceServiceStartUpgradeCampaignProcedure = "/orchestrator.v1.InstanceService/StartUpgradeCampaign" + // InstanceServiceGetUpgradeCampaignProcedure is the fully-qualified name of the InstanceService's + // GetUpgradeCampaign RPC. + InstanceServiceGetUpgradeCampaignProcedure = "/orchestrator.v1.InstanceService/GetUpgradeCampaign" + // InstanceServiceListUpgradeCampaignsProcedure is the fully-qualified name of the InstanceService's + // ListUpgradeCampaigns RPC. + InstanceServiceListUpgradeCampaignsProcedure = "/orchestrator.v1.InstanceService/ListUpgradeCampaigns" + // InstanceServicePauseUpgradeCampaignProcedure is the fully-qualified name of the InstanceService's + // PauseUpgradeCampaign RPC. + InstanceServicePauseUpgradeCampaignProcedure = "/orchestrator.v1.InstanceService/PauseUpgradeCampaign" + // InstanceServiceResumeUpgradeCampaignProcedure is the fully-qualified name of the + // InstanceService's ResumeUpgradeCampaign RPC. + InstanceServiceResumeUpgradeCampaignProcedure = "/orchestrator.v1.InstanceService/ResumeUpgradeCampaign" + // InstanceServiceCancelUpgradeCampaignProcedure is the fully-qualified name of the + // InstanceService's CancelUpgradeCampaign RPC. + InstanceServiceCancelUpgradeCampaignProcedure = "/orchestrator.v1.InstanceService/CancelUpgradeCampaign" +) + +// InstanceServiceClient is a client for the orchestrator.v1.InstanceService service. +type InstanceServiceClient interface { + // Create a new instance + CreateInstance(context.Context, *connect.Request[v1.CreateInstanceRequest]) (*connect.Response[v1.CreateInstanceResponse], error) + // Get an instance by ID + GetInstance(context.Context, *connect.Request[v1.GetInstanceRequest]) (*connect.Response[v1.GetInstanceResponse], error) + // List instances for an account + ListInstances(context.Context, *connect.Request[v1.ListInstancesRequest]) (*connect.Response[v1.ListInstancesResponse], error) + // List all instances across all accounts (admin only) + ListAllInstances(context.Context, *connect.Request[v1.ListAllInstancesRequest]) (*connect.Response[v1.ListAllInstancesResponse], error) + // List instances the current user has access to + ListMyInstances(context.Context, *connect.Request[v1.ListMyInstancesRequest]) (*connect.Response[v1.ListMyInstancesResponse], error) + // Update an instance + UpdateInstance(context.Context, *connect.Request[v1.UpdateInstanceRequest]) (*connect.Response[v1.UpdateInstanceResponse], error) + // Delete an instance + DeleteInstance(context.Context, *connect.Request[v1.DeleteInstanceRequest]) (*connect.Response[v1.DeleteInstanceResponse], error) + // Start an instance + StartInstance(context.Context, *connect.Request[v1.StartInstanceRequest]) (*connect.Response[v1.StartInstanceResponse], error) + // Stop an instance + StopInstance(context.Context, *connect.Request[v1.StopInstanceRequest]) (*connect.Response[v1.StopInstanceResponse], error) + // Start a state-backed instance operation (upgrade/restart/deploy). Returns + // immediately with an operation_id; readiness is resolved by a recorded push, + // and the detached runner survives client disconnect. + StartOperation(context.Context, *connect.Request[v1.StartOperationRequest]) (*connect.Response[v1.StartOperationResponse], error) + // Get an operation and its persisted logs (first paint, polling fallback, reload truth). + GetOperation(context.Context, *connect.Request[v1.GetOperationRequest]) (*connect.Response[v1.GetOperationResponse], error) + // Discover an in-flight operation for an instance (resume after reload). + GetActiveOperation(context.Context, *connect.Request[v1.GetActiveOperationRequest]) (*connect.Response[v1.GetActiveOperationResponse], error) + // Most recent operation for an instance regardless of status (terminal states + // included) — used by the provisioning page after refresh. + GetLatestOperation(context.Context, *connect.Request[v1.GetLatestOperationRequest]) (*connect.Response[v1.GetLatestOperationResponse], error) + // Cancel a stuck or in-flight operation, marking it as failed. + CancelOperation(context.Context, *connect.Request[v1.CancelOperationRequest]) (*connect.Response[v1.CancelOperationResponse], error) + // Latest CMS image version available in the registry (admin dashboards, upgrade UI). + GetLatestCMSVersion(context.Context, *connect.Request[v1.GetLatestCMSVersionRequest]) (*connect.Response[v1.GetLatestCMSVersionResponse], error) + // Get instance logs (streaming) + GetInstanceLogs(context.Context, *connect.Request[v1.GetInstanceLogsRequest]) (*connect.ServerStreamForClient[v1.LogEntry], error) + // User access management + // (Inviting/accepting now lives in InviteService; see invites.proto.) + // List users with access to an instance + ListInstanceUsers(context.Context, *connect.Request[v1.ListInstanceUsersRequest]) (*connect.Response[v1.ListInstanceUsersResponse], error) + // Grant an existing account team member direct access to an instance + GrantInstanceAccess(context.Context, *connect.Request[v1.GrantInstanceAccessRequest]) (*connect.Response[v1.GrantInstanceAccessResponse], error) + // Update a user's role + UpdateUserRole(context.Context, *connect.Request[v1.UpdateUserRoleRequest]) (*connect.Response[v1.UpdateUserRoleResponse], error) + // Remove a user from an instance + RemoveUser(context.Context, *connect.Request[v1.RemoveUserRequest]) (*connect.Response[v1.RemoveUserResponse], error) + // Get storage limits and usage for an instance (called by CMS instances) + GetInstanceStorageLimits(context.Context, *connect.Request[v1.GetInstanceStorageLimitsRequest]) (*connect.Response[v1.GetInstanceStorageLimitsResponse], error) + // One-click registry install: proxies to the target CMS instance's + // management API (InstallPlugin) and records the install event. Install + // only — never activates a theme. Requires instance tenancy. + InstallPluginToInstance(context.Context, *connect.Request[v1.InstallPluginToInstanceRequest]) (*connect.Response[v1.InstallPluginToInstanceResponse], error) + // Get detailed metrics for an instance (dashboard view) + GetInstanceMetrics(context.Context, *connect.Request[v1.GetInstanceMetricsRequest]) (*connect.Response[v1.GetInstanceMetricsResponse], error) + // Get bandwidth history for charts (last 7 or 30 days) + GetBandwidthHistory(context.Context, *connect.Request[v1.GetBandwidthHistoryRequest]) (*connect.Response[v1.GetBandwidthHistoryResponse], error) + // Bulk operations + // Start multiple instances + BulkStartInstances(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) + // Stop multiple instances + BulkStopInstances(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) + // Restart multiple instances + BulkRestartInstances(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) + // Delete multiple instances + BulkDeleteInstances(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) + // Regenerate Traefik configs for multiple instances (superadmin only) + BulkRegenerateTraefikConfigs(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) + // Regenerate Traefik configs for ALL instances (superadmin only) + RegenerateAllTraefikConfigs(context.Context, *connect.Request[v1.RegenerateAllTraefikConfigsRequest]) (*connect.Response[v1.BulkInstancesResponse], error) + // Get instance configuration details including Vault secrets and env vars (superadmin only) + GetInstanceConfiguration(context.Context, *connect.Request[v1.GetInstanceConfigurationRequest]) (*connect.Response[v1.GetInstanceConfigurationResponse], error) + // Get password hashes for all SSO users in an instance (called by CMS on startup) + // Authenticated via X-CMS-Secret header + GetInstanceUserPasswords(context.Context, *connect.Request[v1.GetInstanceUserPasswordsRequest]) (*connect.Response[v1.GetInstanceUserPasswordsResponse], error) + // Request self-restart (called by CMS instance to restart itself) + // Authenticated via X-CMS-Secret header + RequestSelfRestart(context.Context, *connect.Request[v1.RequestSelfRestartRequest]) (*connect.Response[v1.RequestSelfRestartResponse], error) + // Watch an instance restart and stream progress (called by CMS frontend during plugin restart handoff) + // Authenticated via HMAC watch token, not cookies + WatchAndRestartInstance(context.Context, *connect.Request[v1.WatchAndRestartInstanceRequest]) (*connect.ServerStreamForClient[v1.OperationProgress], error) + // Move an instance to a different account (superadmin only) + MoveInstance(context.Context, *connect.Request[v1.MoveInstanceRequest]) (*connect.Response[v1.MoveInstanceResponse], error) + // Move an instance to a different node (account owner or superadmin) + MoveInstanceToNode(context.Context, *connect.Request[v1.MoveInstanceToNodeRequest]) (*connect.Response[v1.MoveInstanceToNodeResponse], error) + // Fleet upgrade campaigns (superadmin). + PreviewUpgradeCampaign(context.Context, *connect.Request[v1.PreviewUpgradeCampaignRequest]) (*connect.Response[v1.PreviewUpgradeCampaignResponse], error) + StartUpgradeCampaign(context.Context, *connect.Request[v1.StartUpgradeCampaignRequest]) (*connect.Response[v1.StartUpgradeCampaignResponse], error) + GetUpgradeCampaign(context.Context, *connect.Request[v1.GetUpgradeCampaignRequest]) (*connect.Response[v1.GetUpgradeCampaignResponse], error) + ListUpgradeCampaigns(context.Context, *connect.Request[v1.ListUpgradeCampaignsRequest]) (*connect.Response[v1.ListUpgradeCampaignsResponse], error) + PauseUpgradeCampaign(context.Context, *connect.Request[v1.CampaignActionRequest]) (*connect.Response[v1.CampaignActionResponse], error) + ResumeUpgradeCampaign(context.Context, *connect.Request[v1.CampaignActionRequest]) (*connect.Response[v1.CampaignActionResponse], error) + CancelUpgradeCampaign(context.Context, *connect.Request[v1.CampaignActionRequest]) (*connect.Response[v1.CampaignActionResponse], error) +} + +// NewInstanceServiceClient constructs a client for the orchestrator.v1.InstanceService service. By +// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, +// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewInstanceServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) InstanceServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + instanceServiceMethods := v1.File_orchestrator_v1_instances_proto.Services().ByName("InstanceService").Methods() + return &instanceServiceClient{ + createInstance: connect.NewClient[v1.CreateInstanceRequest, v1.CreateInstanceResponse]( + httpClient, + baseURL+InstanceServiceCreateInstanceProcedure, + connect.WithSchema(instanceServiceMethods.ByName("CreateInstance")), + connect.WithClientOptions(opts...), + ), + getInstance: connect.NewClient[v1.GetInstanceRequest, v1.GetInstanceResponse]( + httpClient, + baseURL+InstanceServiceGetInstanceProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetInstance")), + connect.WithClientOptions(opts...), + ), + listInstances: connect.NewClient[v1.ListInstancesRequest, v1.ListInstancesResponse]( + httpClient, + baseURL+InstanceServiceListInstancesProcedure, + connect.WithSchema(instanceServiceMethods.ByName("ListInstances")), + connect.WithClientOptions(opts...), + ), + listAllInstances: connect.NewClient[v1.ListAllInstancesRequest, v1.ListAllInstancesResponse]( + httpClient, + baseURL+InstanceServiceListAllInstancesProcedure, + connect.WithSchema(instanceServiceMethods.ByName("ListAllInstances")), + connect.WithClientOptions(opts...), + ), + listMyInstances: connect.NewClient[v1.ListMyInstancesRequest, v1.ListMyInstancesResponse]( + httpClient, + baseURL+InstanceServiceListMyInstancesProcedure, + connect.WithSchema(instanceServiceMethods.ByName("ListMyInstances")), + connect.WithClientOptions(opts...), + ), + updateInstance: connect.NewClient[v1.UpdateInstanceRequest, v1.UpdateInstanceResponse]( + httpClient, + baseURL+InstanceServiceUpdateInstanceProcedure, + connect.WithSchema(instanceServiceMethods.ByName("UpdateInstance")), + connect.WithClientOptions(opts...), + ), + deleteInstance: connect.NewClient[v1.DeleteInstanceRequest, v1.DeleteInstanceResponse]( + httpClient, + baseURL+InstanceServiceDeleteInstanceProcedure, + connect.WithSchema(instanceServiceMethods.ByName("DeleteInstance")), + connect.WithClientOptions(opts...), + ), + startInstance: connect.NewClient[v1.StartInstanceRequest, v1.StartInstanceResponse]( + httpClient, + baseURL+InstanceServiceStartInstanceProcedure, + connect.WithSchema(instanceServiceMethods.ByName("StartInstance")), + connect.WithClientOptions(opts...), + ), + stopInstance: connect.NewClient[v1.StopInstanceRequest, v1.StopInstanceResponse]( + httpClient, + baseURL+InstanceServiceStopInstanceProcedure, + connect.WithSchema(instanceServiceMethods.ByName("StopInstance")), + connect.WithClientOptions(opts...), + ), + startOperation: connect.NewClient[v1.StartOperationRequest, v1.StartOperationResponse]( + httpClient, + baseURL+InstanceServiceStartOperationProcedure, + connect.WithSchema(instanceServiceMethods.ByName("StartOperation")), + connect.WithClientOptions(opts...), + ), + getOperation: connect.NewClient[v1.GetOperationRequest, v1.GetOperationResponse]( + httpClient, + baseURL+InstanceServiceGetOperationProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetOperation")), + connect.WithClientOptions(opts...), + ), + getActiveOperation: connect.NewClient[v1.GetActiveOperationRequest, v1.GetActiveOperationResponse]( + httpClient, + baseURL+InstanceServiceGetActiveOperationProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetActiveOperation")), + connect.WithClientOptions(opts...), + ), + getLatestOperation: connect.NewClient[v1.GetLatestOperationRequest, v1.GetLatestOperationResponse]( + httpClient, + baseURL+InstanceServiceGetLatestOperationProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetLatestOperation")), + connect.WithClientOptions(opts...), + ), + cancelOperation: connect.NewClient[v1.CancelOperationRequest, v1.CancelOperationResponse]( + httpClient, + baseURL+InstanceServiceCancelOperationProcedure, + connect.WithSchema(instanceServiceMethods.ByName("CancelOperation")), + connect.WithClientOptions(opts...), + ), + getLatestCMSVersion: connect.NewClient[v1.GetLatestCMSVersionRequest, v1.GetLatestCMSVersionResponse]( + httpClient, + baseURL+InstanceServiceGetLatestCMSVersionProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetLatestCMSVersion")), + connect.WithClientOptions(opts...), + ), + getInstanceLogs: connect.NewClient[v1.GetInstanceLogsRequest, v1.LogEntry]( + httpClient, + baseURL+InstanceServiceGetInstanceLogsProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceLogs")), + connect.WithClientOptions(opts...), + ), + listInstanceUsers: connect.NewClient[v1.ListInstanceUsersRequest, v1.ListInstanceUsersResponse]( + httpClient, + baseURL+InstanceServiceListInstanceUsersProcedure, + connect.WithSchema(instanceServiceMethods.ByName("ListInstanceUsers")), + connect.WithClientOptions(opts...), + ), + grantInstanceAccess: connect.NewClient[v1.GrantInstanceAccessRequest, v1.GrantInstanceAccessResponse]( + httpClient, + baseURL+InstanceServiceGrantInstanceAccessProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GrantInstanceAccess")), + connect.WithClientOptions(opts...), + ), + updateUserRole: connect.NewClient[v1.UpdateUserRoleRequest, v1.UpdateUserRoleResponse]( + httpClient, + baseURL+InstanceServiceUpdateUserRoleProcedure, + connect.WithSchema(instanceServiceMethods.ByName("UpdateUserRole")), + connect.WithClientOptions(opts...), + ), + removeUser: connect.NewClient[v1.RemoveUserRequest, v1.RemoveUserResponse]( + httpClient, + baseURL+InstanceServiceRemoveUserProcedure, + connect.WithSchema(instanceServiceMethods.ByName("RemoveUser")), + connect.WithClientOptions(opts...), + ), + getInstanceStorageLimits: connect.NewClient[v1.GetInstanceStorageLimitsRequest, v1.GetInstanceStorageLimitsResponse]( + httpClient, + baseURL+InstanceServiceGetInstanceStorageLimitsProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceStorageLimits")), + connect.WithClientOptions(opts...), + ), + installPluginToInstance: connect.NewClient[v1.InstallPluginToInstanceRequest, v1.InstallPluginToInstanceResponse]( + httpClient, + baseURL+InstanceServiceInstallPluginToInstanceProcedure, + connect.WithSchema(instanceServiceMethods.ByName("InstallPluginToInstance")), + connect.WithClientOptions(opts...), + ), + getInstanceMetrics: connect.NewClient[v1.GetInstanceMetricsRequest, v1.GetInstanceMetricsResponse]( + httpClient, + baseURL+InstanceServiceGetInstanceMetricsProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceMetrics")), + connect.WithClientOptions(opts...), + ), + getBandwidthHistory: connect.NewClient[v1.GetBandwidthHistoryRequest, v1.GetBandwidthHistoryResponse]( + httpClient, + baseURL+InstanceServiceGetBandwidthHistoryProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetBandwidthHistory")), + connect.WithClientOptions(opts...), + ), + bulkStartInstances: connect.NewClient[v1.BulkInstancesRequest, v1.BulkInstancesResponse]( + httpClient, + baseURL+InstanceServiceBulkStartInstancesProcedure, + connect.WithSchema(instanceServiceMethods.ByName("BulkStartInstances")), + connect.WithClientOptions(opts...), + ), + bulkStopInstances: connect.NewClient[v1.BulkInstancesRequest, v1.BulkInstancesResponse]( + httpClient, + baseURL+InstanceServiceBulkStopInstancesProcedure, + connect.WithSchema(instanceServiceMethods.ByName("BulkStopInstances")), + connect.WithClientOptions(opts...), + ), + bulkRestartInstances: connect.NewClient[v1.BulkInstancesRequest, v1.BulkInstancesResponse]( + httpClient, + baseURL+InstanceServiceBulkRestartInstancesProcedure, + connect.WithSchema(instanceServiceMethods.ByName("BulkRestartInstances")), + connect.WithClientOptions(opts...), + ), + bulkDeleteInstances: connect.NewClient[v1.BulkInstancesRequest, v1.BulkInstancesResponse]( + httpClient, + baseURL+InstanceServiceBulkDeleteInstancesProcedure, + connect.WithSchema(instanceServiceMethods.ByName("BulkDeleteInstances")), + connect.WithClientOptions(opts...), + ), + bulkRegenerateTraefikConfigs: connect.NewClient[v1.BulkInstancesRequest, v1.BulkInstancesResponse]( + httpClient, + baseURL+InstanceServiceBulkRegenerateTraefikConfigsProcedure, + connect.WithSchema(instanceServiceMethods.ByName("BulkRegenerateTraefikConfigs")), + connect.WithClientOptions(opts...), + ), + regenerateAllTraefikConfigs: connect.NewClient[v1.RegenerateAllTraefikConfigsRequest, v1.BulkInstancesResponse]( + httpClient, + baseURL+InstanceServiceRegenerateAllTraefikConfigsProcedure, + connect.WithSchema(instanceServiceMethods.ByName("RegenerateAllTraefikConfigs")), + connect.WithClientOptions(opts...), + ), + getInstanceConfiguration: connect.NewClient[v1.GetInstanceConfigurationRequest, v1.GetInstanceConfigurationResponse]( + httpClient, + baseURL+InstanceServiceGetInstanceConfigurationProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceConfiguration")), + connect.WithClientOptions(opts...), + ), + getInstanceUserPasswords: connect.NewClient[v1.GetInstanceUserPasswordsRequest, v1.GetInstanceUserPasswordsResponse]( + httpClient, + baseURL+InstanceServiceGetInstanceUserPasswordsProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceUserPasswords")), + connect.WithClientOptions(opts...), + ), + requestSelfRestart: connect.NewClient[v1.RequestSelfRestartRequest, v1.RequestSelfRestartResponse]( + httpClient, + baseURL+InstanceServiceRequestSelfRestartProcedure, + connect.WithSchema(instanceServiceMethods.ByName("RequestSelfRestart")), + connect.WithClientOptions(opts...), + ), + watchAndRestartInstance: connect.NewClient[v1.WatchAndRestartInstanceRequest, v1.OperationProgress]( + httpClient, + baseURL+InstanceServiceWatchAndRestartInstanceProcedure, + connect.WithSchema(instanceServiceMethods.ByName("WatchAndRestartInstance")), + connect.WithClientOptions(opts...), + ), + moveInstance: connect.NewClient[v1.MoveInstanceRequest, v1.MoveInstanceResponse]( + httpClient, + baseURL+InstanceServiceMoveInstanceProcedure, + connect.WithSchema(instanceServiceMethods.ByName("MoveInstance")), + connect.WithClientOptions(opts...), + ), + moveInstanceToNode: connect.NewClient[v1.MoveInstanceToNodeRequest, v1.MoveInstanceToNodeResponse]( + httpClient, + baseURL+InstanceServiceMoveInstanceToNodeProcedure, + connect.WithSchema(instanceServiceMethods.ByName("MoveInstanceToNode")), + connect.WithClientOptions(opts...), + ), + previewUpgradeCampaign: connect.NewClient[v1.PreviewUpgradeCampaignRequest, v1.PreviewUpgradeCampaignResponse]( + httpClient, + baseURL+InstanceServicePreviewUpgradeCampaignProcedure, + connect.WithSchema(instanceServiceMethods.ByName("PreviewUpgradeCampaign")), + connect.WithClientOptions(opts...), + ), + startUpgradeCampaign: connect.NewClient[v1.StartUpgradeCampaignRequest, v1.StartUpgradeCampaignResponse]( + httpClient, + baseURL+InstanceServiceStartUpgradeCampaignProcedure, + connect.WithSchema(instanceServiceMethods.ByName("StartUpgradeCampaign")), + connect.WithClientOptions(opts...), + ), + getUpgradeCampaign: connect.NewClient[v1.GetUpgradeCampaignRequest, v1.GetUpgradeCampaignResponse]( + httpClient, + baseURL+InstanceServiceGetUpgradeCampaignProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetUpgradeCampaign")), + connect.WithClientOptions(opts...), + ), + listUpgradeCampaigns: connect.NewClient[v1.ListUpgradeCampaignsRequest, v1.ListUpgradeCampaignsResponse]( + httpClient, + baseURL+InstanceServiceListUpgradeCampaignsProcedure, + connect.WithSchema(instanceServiceMethods.ByName("ListUpgradeCampaigns")), + connect.WithClientOptions(opts...), + ), + pauseUpgradeCampaign: connect.NewClient[v1.CampaignActionRequest, v1.CampaignActionResponse]( + httpClient, + baseURL+InstanceServicePauseUpgradeCampaignProcedure, + connect.WithSchema(instanceServiceMethods.ByName("PauseUpgradeCampaign")), + connect.WithClientOptions(opts...), + ), + resumeUpgradeCampaign: connect.NewClient[v1.CampaignActionRequest, v1.CampaignActionResponse]( + httpClient, + baseURL+InstanceServiceResumeUpgradeCampaignProcedure, + connect.WithSchema(instanceServiceMethods.ByName("ResumeUpgradeCampaign")), + connect.WithClientOptions(opts...), + ), + cancelUpgradeCampaign: connect.NewClient[v1.CampaignActionRequest, v1.CampaignActionResponse]( + httpClient, + baseURL+InstanceServiceCancelUpgradeCampaignProcedure, + connect.WithSchema(instanceServiceMethods.ByName("CancelUpgradeCampaign")), + connect.WithClientOptions(opts...), + ), + } +} + +// instanceServiceClient implements InstanceServiceClient. +type instanceServiceClient struct { + createInstance *connect.Client[v1.CreateInstanceRequest, v1.CreateInstanceResponse] + getInstance *connect.Client[v1.GetInstanceRequest, v1.GetInstanceResponse] + listInstances *connect.Client[v1.ListInstancesRequest, v1.ListInstancesResponse] + listAllInstances *connect.Client[v1.ListAllInstancesRequest, v1.ListAllInstancesResponse] + listMyInstances *connect.Client[v1.ListMyInstancesRequest, v1.ListMyInstancesResponse] + updateInstance *connect.Client[v1.UpdateInstanceRequest, v1.UpdateInstanceResponse] + deleteInstance *connect.Client[v1.DeleteInstanceRequest, v1.DeleteInstanceResponse] + startInstance *connect.Client[v1.StartInstanceRequest, v1.StartInstanceResponse] + stopInstance *connect.Client[v1.StopInstanceRequest, v1.StopInstanceResponse] + startOperation *connect.Client[v1.StartOperationRequest, v1.StartOperationResponse] + getOperation *connect.Client[v1.GetOperationRequest, v1.GetOperationResponse] + getActiveOperation *connect.Client[v1.GetActiveOperationRequest, v1.GetActiveOperationResponse] + getLatestOperation *connect.Client[v1.GetLatestOperationRequest, v1.GetLatestOperationResponse] + cancelOperation *connect.Client[v1.CancelOperationRequest, v1.CancelOperationResponse] + getLatestCMSVersion *connect.Client[v1.GetLatestCMSVersionRequest, v1.GetLatestCMSVersionResponse] + getInstanceLogs *connect.Client[v1.GetInstanceLogsRequest, v1.LogEntry] + listInstanceUsers *connect.Client[v1.ListInstanceUsersRequest, v1.ListInstanceUsersResponse] + grantInstanceAccess *connect.Client[v1.GrantInstanceAccessRequest, v1.GrantInstanceAccessResponse] + updateUserRole *connect.Client[v1.UpdateUserRoleRequest, v1.UpdateUserRoleResponse] + removeUser *connect.Client[v1.RemoveUserRequest, v1.RemoveUserResponse] + getInstanceStorageLimits *connect.Client[v1.GetInstanceStorageLimitsRequest, v1.GetInstanceStorageLimitsResponse] + installPluginToInstance *connect.Client[v1.InstallPluginToInstanceRequest, v1.InstallPluginToInstanceResponse] + getInstanceMetrics *connect.Client[v1.GetInstanceMetricsRequest, v1.GetInstanceMetricsResponse] + getBandwidthHistory *connect.Client[v1.GetBandwidthHistoryRequest, v1.GetBandwidthHistoryResponse] + bulkStartInstances *connect.Client[v1.BulkInstancesRequest, v1.BulkInstancesResponse] + bulkStopInstances *connect.Client[v1.BulkInstancesRequest, v1.BulkInstancesResponse] + bulkRestartInstances *connect.Client[v1.BulkInstancesRequest, v1.BulkInstancesResponse] + bulkDeleteInstances *connect.Client[v1.BulkInstancesRequest, v1.BulkInstancesResponse] + bulkRegenerateTraefikConfigs *connect.Client[v1.BulkInstancesRequest, v1.BulkInstancesResponse] + regenerateAllTraefikConfigs *connect.Client[v1.RegenerateAllTraefikConfigsRequest, v1.BulkInstancesResponse] + getInstanceConfiguration *connect.Client[v1.GetInstanceConfigurationRequest, v1.GetInstanceConfigurationResponse] + getInstanceUserPasswords *connect.Client[v1.GetInstanceUserPasswordsRequest, v1.GetInstanceUserPasswordsResponse] + requestSelfRestart *connect.Client[v1.RequestSelfRestartRequest, v1.RequestSelfRestartResponse] + watchAndRestartInstance *connect.Client[v1.WatchAndRestartInstanceRequest, v1.OperationProgress] + moveInstance *connect.Client[v1.MoveInstanceRequest, v1.MoveInstanceResponse] + moveInstanceToNode *connect.Client[v1.MoveInstanceToNodeRequest, v1.MoveInstanceToNodeResponse] + previewUpgradeCampaign *connect.Client[v1.PreviewUpgradeCampaignRequest, v1.PreviewUpgradeCampaignResponse] + startUpgradeCampaign *connect.Client[v1.StartUpgradeCampaignRequest, v1.StartUpgradeCampaignResponse] + getUpgradeCampaign *connect.Client[v1.GetUpgradeCampaignRequest, v1.GetUpgradeCampaignResponse] + listUpgradeCampaigns *connect.Client[v1.ListUpgradeCampaignsRequest, v1.ListUpgradeCampaignsResponse] + pauseUpgradeCampaign *connect.Client[v1.CampaignActionRequest, v1.CampaignActionResponse] + resumeUpgradeCampaign *connect.Client[v1.CampaignActionRequest, v1.CampaignActionResponse] + cancelUpgradeCampaign *connect.Client[v1.CampaignActionRequest, v1.CampaignActionResponse] +} + +// CreateInstance calls orchestrator.v1.InstanceService.CreateInstance. +func (c *instanceServiceClient) CreateInstance(ctx context.Context, req *connect.Request[v1.CreateInstanceRequest]) (*connect.Response[v1.CreateInstanceResponse], error) { + return c.createInstance.CallUnary(ctx, req) +} + +// GetInstance calls orchestrator.v1.InstanceService.GetInstance. +func (c *instanceServiceClient) GetInstance(ctx context.Context, req *connect.Request[v1.GetInstanceRequest]) (*connect.Response[v1.GetInstanceResponse], error) { + return c.getInstance.CallUnary(ctx, req) +} + +// ListInstances calls orchestrator.v1.InstanceService.ListInstances. +func (c *instanceServiceClient) ListInstances(ctx context.Context, req *connect.Request[v1.ListInstancesRequest]) (*connect.Response[v1.ListInstancesResponse], error) { + return c.listInstances.CallUnary(ctx, req) +} + +// ListAllInstances calls orchestrator.v1.InstanceService.ListAllInstances. +func (c *instanceServiceClient) ListAllInstances(ctx context.Context, req *connect.Request[v1.ListAllInstancesRequest]) (*connect.Response[v1.ListAllInstancesResponse], error) { + return c.listAllInstances.CallUnary(ctx, req) +} + +// ListMyInstances calls orchestrator.v1.InstanceService.ListMyInstances. +func (c *instanceServiceClient) ListMyInstances(ctx context.Context, req *connect.Request[v1.ListMyInstancesRequest]) (*connect.Response[v1.ListMyInstancesResponse], error) { + return c.listMyInstances.CallUnary(ctx, req) +} + +// UpdateInstance calls orchestrator.v1.InstanceService.UpdateInstance. +func (c *instanceServiceClient) UpdateInstance(ctx context.Context, req *connect.Request[v1.UpdateInstanceRequest]) (*connect.Response[v1.UpdateInstanceResponse], error) { + return c.updateInstance.CallUnary(ctx, req) +} + +// DeleteInstance calls orchestrator.v1.InstanceService.DeleteInstance. +func (c *instanceServiceClient) DeleteInstance(ctx context.Context, req *connect.Request[v1.DeleteInstanceRequest]) (*connect.Response[v1.DeleteInstanceResponse], error) { + return c.deleteInstance.CallUnary(ctx, req) +} + +// StartInstance calls orchestrator.v1.InstanceService.StartInstance. +func (c *instanceServiceClient) StartInstance(ctx context.Context, req *connect.Request[v1.StartInstanceRequest]) (*connect.Response[v1.StartInstanceResponse], error) { + return c.startInstance.CallUnary(ctx, req) +} + +// StopInstance calls orchestrator.v1.InstanceService.StopInstance. +func (c *instanceServiceClient) StopInstance(ctx context.Context, req *connect.Request[v1.StopInstanceRequest]) (*connect.Response[v1.StopInstanceResponse], error) { + return c.stopInstance.CallUnary(ctx, req) +} + +// StartOperation calls orchestrator.v1.InstanceService.StartOperation. +func (c *instanceServiceClient) StartOperation(ctx context.Context, req *connect.Request[v1.StartOperationRequest]) (*connect.Response[v1.StartOperationResponse], error) { + return c.startOperation.CallUnary(ctx, req) +} + +// GetOperation calls orchestrator.v1.InstanceService.GetOperation. +func (c *instanceServiceClient) GetOperation(ctx context.Context, req *connect.Request[v1.GetOperationRequest]) (*connect.Response[v1.GetOperationResponse], error) { + return c.getOperation.CallUnary(ctx, req) +} + +// GetActiveOperation calls orchestrator.v1.InstanceService.GetActiveOperation. +func (c *instanceServiceClient) GetActiveOperation(ctx context.Context, req *connect.Request[v1.GetActiveOperationRequest]) (*connect.Response[v1.GetActiveOperationResponse], error) { + return c.getActiveOperation.CallUnary(ctx, req) +} + +// GetLatestOperation calls orchestrator.v1.InstanceService.GetLatestOperation. +func (c *instanceServiceClient) GetLatestOperation(ctx context.Context, req *connect.Request[v1.GetLatestOperationRequest]) (*connect.Response[v1.GetLatestOperationResponse], error) { + return c.getLatestOperation.CallUnary(ctx, req) +} + +// CancelOperation calls orchestrator.v1.InstanceService.CancelOperation. +func (c *instanceServiceClient) CancelOperation(ctx context.Context, req *connect.Request[v1.CancelOperationRequest]) (*connect.Response[v1.CancelOperationResponse], error) { + return c.cancelOperation.CallUnary(ctx, req) +} + +// GetLatestCMSVersion calls orchestrator.v1.InstanceService.GetLatestCMSVersion. +func (c *instanceServiceClient) GetLatestCMSVersion(ctx context.Context, req *connect.Request[v1.GetLatestCMSVersionRequest]) (*connect.Response[v1.GetLatestCMSVersionResponse], error) { + return c.getLatestCMSVersion.CallUnary(ctx, req) +} + +// GetInstanceLogs calls orchestrator.v1.InstanceService.GetInstanceLogs. +func (c *instanceServiceClient) GetInstanceLogs(ctx context.Context, req *connect.Request[v1.GetInstanceLogsRequest]) (*connect.ServerStreamForClient[v1.LogEntry], error) { + return c.getInstanceLogs.CallServerStream(ctx, req) +} + +// ListInstanceUsers calls orchestrator.v1.InstanceService.ListInstanceUsers. +func (c *instanceServiceClient) ListInstanceUsers(ctx context.Context, req *connect.Request[v1.ListInstanceUsersRequest]) (*connect.Response[v1.ListInstanceUsersResponse], error) { + return c.listInstanceUsers.CallUnary(ctx, req) +} + +// GrantInstanceAccess calls orchestrator.v1.InstanceService.GrantInstanceAccess. +func (c *instanceServiceClient) GrantInstanceAccess(ctx context.Context, req *connect.Request[v1.GrantInstanceAccessRequest]) (*connect.Response[v1.GrantInstanceAccessResponse], error) { + return c.grantInstanceAccess.CallUnary(ctx, req) +} + +// UpdateUserRole calls orchestrator.v1.InstanceService.UpdateUserRole. +func (c *instanceServiceClient) UpdateUserRole(ctx context.Context, req *connect.Request[v1.UpdateUserRoleRequest]) (*connect.Response[v1.UpdateUserRoleResponse], error) { + return c.updateUserRole.CallUnary(ctx, req) +} + +// RemoveUser calls orchestrator.v1.InstanceService.RemoveUser. +func (c *instanceServiceClient) RemoveUser(ctx context.Context, req *connect.Request[v1.RemoveUserRequest]) (*connect.Response[v1.RemoveUserResponse], error) { + return c.removeUser.CallUnary(ctx, req) +} + +// GetInstanceStorageLimits calls orchestrator.v1.InstanceService.GetInstanceStorageLimits. +func (c *instanceServiceClient) GetInstanceStorageLimits(ctx context.Context, req *connect.Request[v1.GetInstanceStorageLimitsRequest]) (*connect.Response[v1.GetInstanceStorageLimitsResponse], error) { + return c.getInstanceStorageLimits.CallUnary(ctx, req) +} + +// InstallPluginToInstance calls orchestrator.v1.InstanceService.InstallPluginToInstance. +func (c *instanceServiceClient) InstallPluginToInstance(ctx context.Context, req *connect.Request[v1.InstallPluginToInstanceRequest]) (*connect.Response[v1.InstallPluginToInstanceResponse], error) { + return c.installPluginToInstance.CallUnary(ctx, req) +} + +// GetInstanceMetrics calls orchestrator.v1.InstanceService.GetInstanceMetrics. +func (c *instanceServiceClient) GetInstanceMetrics(ctx context.Context, req *connect.Request[v1.GetInstanceMetricsRequest]) (*connect.Response[v1.GetInstanceMetricsResponse], error) { + return c.getInstanceMetrics.CallUnary(ctx, req) +} + +// GetBandwidthHistory calls orchestrator.v1.InstanceService.GetBandwidthHistory. +func (c *instanceServiceClient) GetBandwidthHistory(ctx context.Context, req *connect.Request[v1.GetBandwidthHistoryRequest]) (*connect.Response[v1.GetBandwidthHistoryResponse], error) { + return c.getBandwidthHistory.CallUnary(ctx, req) +} + +// BulkStartInstances calls orchestrator.v1.InstanceService.BulkStartInstances. +func (c *instanceServiceClient) BulkStartInstances(ctx context.Context, req *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) { + return c.bulkStartInstances.CallUnary(ctx, req) +} + +// BulkStopInstances calls orchestrator.v1.InstanceService.BulkStopInstances. +func (c *instanceServiceClient) BulkStopInstances(ctx context.Context, req *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) { + return c.bulkStopInstances.CallUnary(ctx, req) +} + +// BulkRestartInstances calls orchestrator.v1.InstanceService.BulkRestartInstances. +func (c *instanceServiceClient) BulkRestartInstances(ctx context.Context, req *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) { + return c.bulkRestartInstances.CallUnary(ctx, req) +} + +// BulkDeleteInstances calls orchestrator.v1.InstanceService.BulkDeleteInstances. +func (c *instanceServiceClient) BulkDeleteInstances(ctx context.Context, req *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) { + return c.bulkDeleteInstances.CallUnary(ctx, req) +} + +// BulkRegenerateTraefikConfigs calls orchestrator.v1.InstanceService.BulkRegenerateTraefikConfigs. +func (c *instanceServiceClient) BulkRegenerateTraefikConfigs(ctx context.Context, req *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) { + return c.bulkRegenerateTraefikConfigs.CallUnary(ctx, req) +} + +// RegenerateAllTraefikConfigs calls orchestrator.v1.InstanceService.RegenerateAllTraefikConfigs. +func (c *instanceServiceClient) RegenerateAllTraefikConfigs(ctx context.Context, req *connect.Request[v1.RegenerateAllTraefikConfigsRequest]) (*connect.Response[v1.BulkInstancesResponse], error) { + return c.regenerateAllTraefikConfigs.CallUnary(ctx, req) +} + +// GetInstanceConfiguration calls orchestrator.v1.InstanceService.GetInstanceConfiguration. +func (c *instanceServiceClient) GetInstanceConfiguration(ctx context.Context, req *connect.Request[v1.GetInstanceConfigurationRequest]) (*connect.Response[v1.GetInstanceConfigurationResponse], error) { + return c.getInstanceConfiguration.CallUnary(ctx, req) +} + +// GetInstanceUserPasswords calls orchestrator.v1.InstanceService.GetInstanceUserPasswords. +func (c *instanceServiceClient) GetInstanceUserPasswords(ctx context.Context, req *connect.Request[v1.GetInstanceUserPasswordsRequest]) (*connect.Response[v1.GetInstanceUserPasswordsResponse], error) { + return c.getInstanceUserPasswords.CallUnary(ctx, req) +} + +// RequestSelfRestart calls orchestrator.v1.InstanceService.RequestSelfRestart. +func (c *instanceServiceClient) RequestSelfRestart(ctx context.Context, req *connect.Request[v1.RequestSelfRestartRequest]) (*connect.Response[v1.RequestSelfRestartResponse], error) { + return c.requestSelfRestart.CallUnary(ctx, req) +} + +// WatchAndRestartInstance calls orchestrator.v1.InstanceService.WatchAndRestartInstance. +func (c *instanceServiceClient) WatchAndRestartInstance(ctx context.Context, req *connect.Request[v1.WatchAndRestartInstanceRequest]) (*connect.ServerStreamForClient[v1.OperationProgress], error) { + return c.watchAndRestartInstance.CallServerStream(ctx, req) +} + +// MoveInstance calls orchestrator.v1.InstanceService.MoveInstance. +func (c *instanceServiceClient) MoveInstance(ctx context.Context, req *connect.Request[v1.MoveInstanceRequest]) (*connect.Response[v1.MoveInstanceResponse], error) { + return c.moveInstance.CallUnary(ctx, req) +} + +// MoveInstanceToNode calls orchestrator.v1.InstanceService.MoveInstanceToNode. +func (c *instanceServiceClient) MoveInstanceToNode(ctx context.Context, req *connect.Request[v1.MoveInstanceToNodeRequest]) (*connect.Response[v1.MoveInstanceToNodeResponse], error) { + return c.moveInstanceToNode.CallUnary(ctx, req) +} + +// PreviewUpgradeCampaign calls orchestrator.v1.InstanceService.PreviewUpgradeCampaign. +func (c *instanceServiceClient) PreviewUpgradeCampaign(ctx context.Context, req *connect.Request[v1.PreviewUpgradeCampaignRequest]) (*connect.Response[v1.PreviewUpgradeCampaignResponse], error) { + return c.previewUpgradeCampaign.CallUnary(ctx, req) +} + +// StartUpgradeCampaign calls orchestrator.v1.InstanceService.StartUpgradeCampaign. +func (c *instanceServiceClient) StartUpgradeCampaign(ctx context.Context, req *connect.Request[v1.StartUpgradeCampaignRequest]) (*connect.Response[v1.StartUpgradeCampaignResponse], error) { + return c.startUpgradeCampaign.CallUnary(ctx, req) +} + +// GetUpgradeCampaign calls orchestrator.v1.InstanceService.GetUpgradeCampaign. +func (c *instanceServiceClient) GetUpgradeCampaign(ctx context.Context, req *connect.Request[v1.GetUpgradeCampaignRequest]) (*connect.Response[v1.GetUpgradeCampaignResponse], error) { + return c.getUpgradeCampaign.CallUnary(ctx, req) +} + +// ListUpgradeCampaigns calls orchestrator.v1.InstanceService.ListUpgradeCampaigns. +func (c *instanceServiceClient) ListUpgradeCampaigns(ctx context.Context, req *connect.Request[v1.ListUpgradeCampaignsRequest]) (*connect.Response[v1.ListUpgradeCampaignsResponse], error) { + return c.listUpgradeCampaigns.CallUnary(ctx, req) +} + +// PauseUpgradeCampaign calls orchestrator.v1.InstanceService.PauseUpgradeCampaign. +func (c *instanceServiceClient) PauseUpgradeCampaign(ctx context.Context, req *connect.Request[v1.CampaignActionRequest]) (*connect.Response[v1.CampaignActionResponse], error) { + return c.pauseUpgradeCampaign.CallUnary(ctx, req) +} + +// ResumeUpgradeCampaign calls orchestrator.v1.InstanceService.ResumeUpgradeCampaign. +func (c *instanceServiceClient) ResumeUpgradeCampaign(ctx context.Context, req *connect.Request[v1.CampaignActionRequest]) (*connect.Response[v1.CampaignActionResponse], error) { + return c.resumeUpgradeCampaign.CallUnary(ctx, req) +} + +// CancelUpgradeCampaign calls orchestrator.v1.InstanceService.CancelUpgradeCampaign. +func (c *instanceServiceClient) CancelUpgradeCampaign(ctx context.Context, req *connect.Request[v1.CampaignActionRequest]) (*connect.Response[v1.CampaignActionResponse], error) { + return c.cancelUpgradeCampaign.CallUnary(ctx, req) +} + +// InstanceServiceHandler is an implementation of the orchestrator.v1.InstanceService service. +type InstanceServiceHandler interface { + // Create a new instance + CreateInstance(context.Context, *connect.Request[v1.CreateInstanceRequest]) (*connect.Response[v1.CreateInstanceResponse], error) + // Get an instance by ID + GetInstance(context.Context, *connect.Request[v1.GetInstanceRequest]) (*connect.Response[v1.GetInstanceResponse], error) + // List instances for an account + ListInstances(context.Context, *connect.Request[v1.ListInstancesRequest]) (*connect.Response[v1.ListInstancesResponse], error) + // List all instances across all accounts (admin only) + ListAllInstances(context.Context, *connect.Request[v1.ListAllInstancesRequest]) (*connect.Response[v1.ListAllInstancesResponse], error) + // List instances the current user has access to + ListMyInstances(context.Context, *connect.Request[v1.ListMyInstancesRequest]) (*connect.Response[v1.ListMyInstancesResponse], error) + // Update an instance + UpdateInstance(context.Context, *connect.Request[v1.UpdateInstanceRequest]) (*connect.Response[v1.UpdateInstanceResponse], error) + // Delete an instance + DeleteInstance(context.Context, *connect.Request[v1.DeleteInstanceRequest]) (*connect.Response[v1.DeleteInstanceResponse], error) + // Start an instance + StartInstance(context.Context, *connect.Request[v1.StartInstanceRequest]) (*connect.Response[v1.StartInstanceResponse], error) + // Stop an instance + StopInstance(context.Context, *connect.Request[v1.StopInstanceRequest]) (*connect.Response[v1.StopInstanceResponse], error) + // Start a state-backed instance operation (upgrade/restart/deploy). Returns + // immediately with an operation_id; readiness is resolved by a recorded push, + // and the detached runner survives client disconnect. + StartOperation(context.Context, *connect.Request[v1.StartOperationRequest]) (*connect.Response[v1.StartOperationResponse], error) + // Get an operation and its persisted logs (first paint, polling fallback, reload truth). + GetOperation(context.Context, *connect.Request[v1.GetOperationRequest]) (*connect.Response[v1.GetOperationResponse], error) + // Discover an in-flight operation for an instance (resume after reload). + GetActiveOperation(context.Context, *connect.Request[v1.GetActiveOperationRequest]) (*connect.Response[v1.GetActiveOperationResponse], error) + // Most recent operation for an instance regardless of status (terminal states + // included) — used by the provisioning page after refresh. + GetLatestOperation(context.Context, *connect.Request[v1.GetLatestOperationRequest]) (*connect.Response[v1.GetLatestOperationResponse], error) + // Cancel a stuck or in-flight operation, marking it as failed. + CancelOperation(context.Context, *connect.Request[v1.CancelOperationRequest]) (*connect.Response[v1.CancelOperationResponse], error) + // Latest CMS image version available in the registry (admin dashboards, upgrade UI). + GetLatestCMSVersion(context.Context, *connect.Request[v1.GetLatestCMSVersionRequest]) (*connect.Response[v1.GetLatestCMSVersionResponse], error) + // Get instance logs (streaming) + GetInstanceLogs(context.Context, *connect.Request[v1.GetInstanceLogsRequest], *connect.ServerStream[v1.LogEntry]) error + // User access management + // (Inviting/accepting now lives in InviteService; see invites.proto.) + // List users with access to an instance + ListInstanceUsers(context.Context, *connect.Request[v1.ListInstanceUsersRequest]) (*connect.Response[v1.ListInstanceUsersResponse], error) + // Grant an existing account team member direct access to an instance + GrantInstanceAccess(context.Context, *connect.Request[v1.GrantInstanceAccessRequest]) (*connect.Response[v1.GrantInstanceAccessResponse], error) + // Update a user's role + UpdateUserRole(context.Context, *connect.Request[v1.UpdateUserRoleRequest]) (*connect.Response[v1.UpdateUserRoleResponse], error) + // Remove a user from an instance + RemoveUser(context.Context, *connect.Request[v1.RemoveUserRequest]) (*connect.Response[v1.RemoveUserResponse], error) + // Get storage limits and usage for an instance (called by CMS instances) + GetInstanceStorageLimits(context.Context, *connect.Request[v1.GetInstanceStorageLimitsRequest]) (*connect.Response[v1.GetInstanceStorageLimitsResponse], error) + // One-click registry install: proxies to the target CMS instance's + // management API (InstallPlugin) and records the install event. Install + // only — never activates a theme. Requires instance tenancy. + InstallPluginToInstance(context.Context, *connect.Request[v1.InstallPluginToInstanceRequest]) (*connect.Response[v1.InstallPluginToInstanceResponse], error) + // Get detailed metrics for an instance (dashboard view) + GetInstanceMetrics(context.Context, *connect.Request[v1.GetInstanceMetricsRequest]) (*connect.Response[v1.GetInstanceMetricsResponse], error) + // Get bandwidth history for charts (last 7 or 30 days) + GetBandwidthHistory(context.Context, *connect.Request[v1.GetBandwidthHistoryRequest]) (*connect.Response[v1.GetBandwidthHistoryResponse], error) + // Bulk operations + // Start multiple instances + BulkStartInstances(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) + // Stop multiple instances + BulkStopInstances(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) + // Restart multiple instances + BulkRestartInstances(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) + // Delete multiple instances + BulkDeleteInstances(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) + // Regenerate Traefik configs for multiple instances (superadmin only) + BulkRegenerateTraefikConfigs(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) + // Regenerate Traefik configs for ALL instances (superadmin only) + RegenerateAllTraefikConfigs(context.Context, *connect.Request[v1.RegenerateAllTraefikConfigsRequest]) (*connect.Response[v1.BulkInstancesResponse], error) + // Get instance configuration details including Vault secrets and env vars (superadmin only) + GetInstanceConfiguration(context.Context, *connect.Request[v1.GetInstanceConfigurationRequest]) (*connect.Response[v1.GetInstanceConfigurationResponse], error) + // Get password hashes for all SSO users in an instance (called by CMS on startup) + // Authenticated via X-CMS-Secret header + GetInstanceUserPasswords(context.Context, *connect.Request[v1.GetInstanceUserPasswordsRequest]) (*connect.Response[v1.GetInstanceUserPasswordsResponse], error) + // Request self-restart (called by CMS instance to restart itself) + // Authenticated via X-CMS-Secret header + RequestSelfRestart(context.Context, *connect.Request[v1.RequestSelfRestartRequest]) (*connect.Response[v1.RequestSelfRestartResponse], error) + // Watch an instance restart and stream progress (called by CMS frontend during plugin restart handoff) + // Authenticated via HMAC watch token, not cookies + WatchAndRestartInstance(context.Context, *connect.Request[v1.WatchAndRestartInstanceRequest], *connect.ServerStream[v1.OperationProgress]) error + // Move an instance to a different account (superadmin only) + MoveInstance(context.Context, *connect.Request[v1.MoveInstanceRequest]) (*connect.Response[v1.MoveInstanceResponse], error) + // Move an instance to a different node (account owner or superadmin) + MoveInstanceToNode(context.Context, *connect.Request[v1.MoveInstanceToNodeRequest]) (*connect.Response[v1.MoveInstanceToNodeResponse], error) + // Fleet upgrade campaigns (superadmin). + PreviewUpgradeCampaign(context.Context, *connect.Request[v1.PreviewUpgradeCampaignRequest]) (*connect.Response[v1.PreviewUpgradeCampaignResponse], error) + StartUpgradeCampaign(context.Context, *connect.Request[v1.StartUpgradeCampaignRequest]) (*connect.Response[v1.StartUpgradeCampaignResponse], error) + GetUpgradeCampaign(context.Context, *connect.Request[v1.GetUpgradeCampaignRequest]) (*connect.Response[v1.GetUpgradeCampaignResponse], error) + ListUpgradeCampaigns(context.Context, *connect.Request[v1.ListUpgradeCampaignsRequest]) (*connect.Response[v1.ListUpgradeCampaignsResponse], error) + PauseUpgradeCampaign(context.Context, *connect.Request[v1.CampaignActionRequest]) (*connect.Response[v1.CampaignActionResponse], error) + ResumeUpgradeCampaign(context.Context, *connect.Request[v1.CampaignActionRequest]) (*connect.Response[v1.CampaignActionResponse], error) + CancelUpgradeCampaign(context.Context, *connect.Request[v1.CampaignActionRequest]) (*connect.Response[v1.CampaignActionResponse], error) +} + +// NewInstanceServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewInstanceServiceHandler(svc InstanceServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + instanceServiceMethods := v1.File_orchestrator_v1_instances_proto.Services().ByName("InstanceService").Methods() + instanceServiceCreateInstanceHandler := connect.NewUnaryHandler( + InstanceServiceCreateInstanceProcedure, + svc.CreateInstance, + connect.WithSchema(instanceServiceMethods.ByName("CreateInstance")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetInstanceHandler := connect.NewUnaryHandler( + InstanceServiceGetInstanceProcedure, + svc.GetInstance, + connect.WithSchema(instanceServiceMethods.ByName("GetInstance")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceListInstancesHandler := connect.NewUnaryHandler( + InstanceServiceListInstancesProcedure, + svc.ListInstances, + connect.WithSchema(instanceServiceMethods.ByName("ListInstances")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceListAllInstancesHandler := connect.NewUnaryHandler( + InstanceServiceListAllInstancesProcedure, + svc.ListAllInstances, + connect.WithSchema(instanceServiceMethods.ByName("ListAllInstances")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceListMyInstancesHandler := connect.NewUnaryHandler( + InstanceServiceListMyInstancesProcedure, + svc.ListMyInstances, + connect.WithSchema(instanceServiceMethods.ByName("ListMyInstances")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceUpdateInstanceHandler := connect.NewUnaryHandler( + InstanceServiceUpdateInstanceProcedure, + svc.UpdateInstance, + connect.WithSchema(instanceServiceMethods.ByName("UpdateInstance")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceDeleteInstanceHandler := connect.NewUnaryHandler( + InstanceServiceDeleteInstanceProcedure, + svc.DeleteInstance, + connect.WithSchema(instanceServiceMethods.ByName("DeleteInstance")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceStartInstanceHandler := connect.NewUnaryHandler( + InstanceServiceStartInstanceProcedure, + svc.StartInstance, + connect.WithSchema(instanceServiceMethods.ByName("StartInstance")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceStopInstanceHandler := connect.NewUnaryHandler( + InstanceServiceStopInstanceProcedure, + svc.StopInstance, + connect.WithSchema(instanceServiceMethods.ByName("StopInstance")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceStartOperationHandler := connect.NewUnaryHandler( + InstanceServiceStartOperationProcedure, + svc.StartOperation, + connect.WithSchema(instanceServiceMethods.ByName("StartOperation")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetOperationHandler := connect.NewUnaryHandler( + InstanceServiceGetOperationProcedure, + svc.GetOperation, + connect.WithSchema(instanceServiceMethods.ByName("GetOperation")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetActiveOperationHandler := connect.NewUnaryHandler( + InstanceServiceGetActiveOperationProcedure, + svc.GetActiveOperation, + connect.WithSchema(instanceServiceMethods.ByName("GetActiveOperation")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetLatestOperationHandler := connect.NewUnaryHandler( + InstanceServiceGetLatestOperationProcedure, + svc.GetLatestOperation, + connect.WithSchema(instanceServiceMethods.ByName("GetLatestOperation")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceCancelOperationHandler := connect.NewUnaryHandler( + InstanceServiceCancelOperationProcedure, + svc.CancelOperation, + connect.WithSchema(instanceServiceMethods.ByName("CancelOperation")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetLatestCMSVersionHandler := connect.NewUnaryHandler( + InstanceServiceGetLatestCMSVersionProcedure, + svc.GetLatestCMSVersion, + connect.WithSchema(instanceServiceMethods.ByName("GetLatestCMSVersion")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetInstanceLogsHandler := connect.NewServerStreamHandler( + InstanceServiceGetInstanceLogsProcedure, + svc.GetInstanceLogs, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceLogs")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceListInstanceUsersHandler := connect.NewUnaryHandler( + InstanceServiceListInstanceUsersProcedure, + svc.ListInstanceUsers, + connect.WithSchema(instanceServiceMethods.ByName("ListInstanceUsers")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGrantInstanceAccessHandler := connect.NewUnaryHandler( + InstanceServiceGrantInstanceAccessProcedure, + svc.GrantInstanceAccess, + connect.WithSchema(instanceServiceMethods.ByName("GrantInstanceAccess")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceUpdateUserRoleHandler := connect.NewUnaryHandler( + InstanceServiceUpdateUserRoleProcedure, + svc.UpdateUserRole, + connect.WithSchema(instanceServiceMethods.ByName("UpdateUserRole")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceRemoveUserHandler := connect.NewUnaryHandler( + InstanceServiceRemoveUserProcedure, + svc.RemoveUser, + connect.WithSchema(instanceServiceMethods.ByName("RemoveUser")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetInstanceStorageLimitsHandler := connect.NewUnaryHandler( + InstanceServiceGetInstanceStorageLimitsProcedure, + svc.GetInstanceStorageLimits, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceStorageLimits")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceInstallPluginToInstanceHandler := connect.NewUnaryHandler( + InstanceServiceInstallPluginToInstanceProcedure, + svc.InstallPluginToInstance, + connect.WithSchema(instanceServiceMethods.ByName("InstallPluginToInstance")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetInstanceMetricsHandler := connect.NewUnaryHandler( + InstanceServiceGetInstanceMetricsProcedure, + svc.GetInstanceMetrics, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceMetrics")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetBandwidthHistoryHandler := connect.NewUnaryHandler( + InstanceServiceGetBandwidthHistoryProcedure, + svc.GetBandwidthHistory, + connect.WithSchema(instanceServiceMethods.ByName("GetBandwidthHistory")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceBulkStartInstancesHandler := connect.NewUnaryHandler( + InstanceServiceBulkStartInstancesProcedure, + svc.BulkStartInstances, + connect.WithSchema(instanceServiceMethods.ByName("BulkStartInstances")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceBulkStopInstancesHandler := connect.NewUnaryHandler( + InstanceServiceBulkStopInstancesProcedure, + svc.BulkStopInstances, + connect.WithSchema(instanceServiceMethods.ByName("BulkStopInstances")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceBulkRestartInstancesHandler := connect.NewUnaryHandler( + InstanceServiceBulkRestartInstancesProcedure, + svc.BulkRestartInstances, + connect.WithSchema(instanceServiceMethods.ByName("BulkRestartInstances")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceBulkDeleteInstancesHandler := connect.NewUnaryHandler( + InstanceServiceBulkDeleteInstancesProcedure, + svc.BulkDeleteInstances, + connect.WithSchema(instanceServiceMethods.ByName("BulkDeleteInstances")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceBulkRegenerateTraefikConfigsHandler := connect.NewUnaryHandler( + InstanceServiceBulkRegenerateTraefikConfigsProcedure, + svc.BulkRegenerateTraefikConfigs, + connect.WithSchema(instanceServiceMethods.ByName("BulkRegenerateTraefikConfigs")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceRegenerateAllTraefikConfigsHandler := connect.NewUnaryHandler( + InstanceServiceRegenerateAllTraefikConfigsProcedure, + svc.RegenerateAllTraefikConfigs, + connect.WithSchema(instanceServiceMethods.ByName("RegenerateAllTraefikConfigs")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetInstanceConfigurationHandler := connect.NewUnaryHandler( + InstanceServiceGetInstanceConfigurationProcedure, + svc.GetInstanceConfiguration, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceConfiguration")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetInstanceUserPasswordsHandler := connect.NewUnaryHandler( + InstanceServiceGetInstanceUserPasswordsProcedure, + svc.GetInstanceUserPasswords, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceUserPasswords")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceRequestSelfRestartHandler := connect.NewUnaryHandler( + InstanceServiceRequestSelfRestartProcedure, + svc.RequestSelfRestart, + connect.WithSchema(instanceServiceMethods.ByName("RequestSelfRestart")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceWatchAndRestartInstanceHandler := connect.NewServerStreamHandler( + InstanceServiceWatchAndRestartInstanceProcedure, + svc.WatchAndRestartInstance, + connect.WithSchema(instanceServiceMethods.ByName("WatchAndRestartInstance")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceMoveInstanceHandler := connect.NewUnaryHandler( + InstanceServiceMoveInstanceProcedure, + svc.MoveInstance, + connect.WithSchema(instanceServiceMethods.ByName("MoveInstance")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceMoveInstanceToNodeHandler := connect.NewUnaryHandler( + InstanceServiceMoveInstanceToNodeProcedure, + svc.MoveInstanceToNode, + connect.WithSchema(instanceServiceMethods.ByName("MoveInstanceToNode")), + connect.WithHandlerOptions(opts...), + ) + instanceServicePreviewUpgradeCampaignHandler := connect.NewUnaryHandler( + InstanceServicePreviewUpgradeCampaignProcedure, + svc.PreviewUpgradeCampaign, + connect.WithSchema(instanceServiceMethods.ByName("PreviewUpgradeCampaign")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceStartUpgradeCampaignHandler := connect.NewUnaryHandler( + InstanceServiceStartUpgradeCampaignProcedure, + svc.StartUpgradeCampaign, + connect.WithSchema(instanceServiceMethods.ByName("StartUpgradeCampaign")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetUpgradeCampaignHandler := connect.NewUnaryHandler( + InstanceServiceGetUpgradeCampaignProcedure, + svc.GetUpgradeCampaign, + connect.WithSchema(instanceServiceMethods.ByName("GetUpgradeCampaign")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceListUpgradeCampaignsHandler := connect.NewUnaryHandler( + InstanceServiceListUpgradeCampaignsProcedure, + svc.ListUpgradeCampaigns, + connect.WithSchema(instanceServiceMethods.ByName("ListUpgradeCampaigns")), + connect.WithHandlerOptions(opts...), + ) + instanceServicePauseUpgradeCampaignHandler := connect.NewUnaryHandler( + InstanceServicePauseUpgradeCampaignProcedure, + svc.PauseUpgradeCampaign, + connect.WithSchema(instanceServiceMethods.ByName("PauseUpgradeCampaign")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceResumeUpgradeCampaignHandler := connect.NewUnaryHandler( + InstanceServiceResumeUpgradeCampaignProcedure, + svc.ResumeUpgradeCampaign, + connect.WithSchema(instanceServiceMethods.ByName("ResumeUpgradeCampaign")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceCancelUpgradeCampaignHandler := connect.NewUnaryHandler( + InstanceServiceCancelUpgradeCampaignProcedure, + svc.CancelUpgradeCampaign, + connect.WithSchema(instanceServiceMethods.ByName("CancelUpgradeCampaign")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.InstanceService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case InstanceServiceCreateInstanceProcedure: + instanceServiceCreateInstanceHandler.ServeHTTP(w, r) + case InstanceServiceGetInstanceProcedure: + instanceServiceGetInstanceHandler.ServeHTTP(w, r) + case InstanceServiceListInstancesProcedure: + instanceServiceListInstancesHandler.ServeHTTP(w, r) + case InstanceServiceListAllInstancesProcedure: + instanceServiceListAllInstancesHandler.ServeHTTP(w, r) + case InstanceServiceListMyInstancesProcedure: + instanceServiceListMyInstancesHandler.ServeHTTP(w, r) + case InstanceServiceUpdateInstanceProcedure: + instanceServiceUpdateInstanceHandler.ServeHTTP(w, r) + case InstanceServiceDeleteInstanceProcedure: + instanceServiceDeleteInstanceHandler.ServeHTTP(w, r) + case InstanceServiceStartInstanceProcedure: + instanceServiceStartInstanceHandler.ServeHTTP(w, r) + case InstanceServiceStopInstanceProcedure: + instanceServiceStopInstanceHandler.ServeHTTP(w, r) + case InstanceServiceStartOperationProcedure: + instanceServiceStartOperationHandler.ServeHTTP(w, r) + case InstanceServiceGetOperationProcedure: + instanceServiceGetOperationHandler.ServeHTTP(w, r) + case InstanceServiceGetActiveOperationProcedure: + instanceServiceGetActiveOperationHandler.ServeHTTP(w, r) + case InstanceServiceGetLatestOperationProcedure: + instanceServiceGetLatestOperationHandler.ServeHTTP(w, r) + case InstanceServiceCancelOperationProcedure: + instanceServiceCancelOperationHandler.ServeHTTP(w, r) + case InstanceServiceGetLatestCMSVersionProcedure: + instanceServiceGetLatestCMSVersionHandler.ServeHTTP(w, r) + case InstanceServiceGetInstanceLogsProcedure: + instanceServiceGetInstanceLogsHandler.ServeHTTP(w, r) + case InstanceServiceListInstanceUsersProcedure: + instanceServiceListInstanceUsersHandler.ServeHTTP(w, r) + case InstanceServiceGrantInstanceAccessProcedure: + instanceServiceGrantInstanceAccessHandler.ServeHTTP(w, r) + case InstanceServiceUpdateUserRoleProcedure: + instanceServiceUpdateUserRoleHandler.ServeHTTP(w, r) + case InstanceServiceRemoveUserProcedure: + instanceServiceRemoveUserHandler.ServeHTTP(w, r) + case InstanceServiceGetInstanceStorageLimitsProcedure: + instanceServiceGetInstanceStorageLimitsHandler.ServeHTTP(w, r) + case InstanceServiceInstallPluginToInstanceProcedure: + instanceServiceInstallPluginToInstanceHandler.ServeHTTP(w, r) + case InstanceServiceGetInstanceMetricsProcedure: + instanceServiceGetInstanceMetricsHandler.ServeHTTP(w, r) + case InstanceServiceGetBandwidthHistoryProcedure: + instanceServiceGetBandwidthHistoryHandler.ServeHTTP(w, r) + case InstanceServiceBulkStartInstancesProcedure: + instanceServiceBulkStartInstancesHandler.ServeHTTP(w, r) + case InstanceServiceBulkStopInstancesProcedure: + instanceServiceBulkStopInstancesHandler.ServeHTTP(w, r) + case InstanceServiceBulkRestartInstancesProcedure: + instanceServiceBulkRestartInstancesHandler.ServeHTTP(w, r) + case InstanceServiceBulkDeleteInstancesProcedure: + instanceServiceBulkDeleteInstancesHandler.ServeHTTP(w, r) + case InstanceServiceBulkRegenerateTraefikConfigsProcedure: + instanceServiceBulkRegenerateTraefikConfigsHandler.ServeHTTP(w, r) + case InstanceServiceRegenerateAllTraefikConfigsProcedure: + instanceServiceRegenerateAllTraefikConfigsHandler.ServeHTTP(w, r) + case InstanceServiceGetInstanceConfigurationProcedure: + instanceServiceGetInstanceConfigurationHandler.ServeHTTP(w, r) + case InstanceServiceGetInstanceUserPasswordsProcedure: + instanceServiceGetInstanceUserPasswordsHandler.ServeHTTP(w, r) + case InstanceServiceRequestSelfRestartProcedure: + instanceServiceRequestSelfRestartHandler.ServeHTTP(w, r) + case InstanceServiceWatchAndRestartInstanceProcedure: + instanceServiceWatchAndRestartInstanceHandler.ServeHTTP(w, r) + case InstanceServiceMoveInstanceProcedure: + instanceServiceMoveInstanceHandler.ServeHTTP(w, r) + case InstanceServiceMoveInstanceToNodeProcedure: + instanceServiceMoveInstanceToNodeHandler.ServeHTTP(w, r) + case InstanceServicePreviewUpgradeCampaignProcedure: + instanceServicePreviewUpgradeCampaignHandler.ServeHTTP(w, r) + case InstanceServiceStartUpgradeCampaignProcedure: + instanceServiceStartUpgradeCampaignHandler.ServeHTTP(w, r) + case InstanceServiceGetUpgradeCampaignProcedure: + instanceServiceGetUpgradeCampaignHandler.ServeHTTP(w, r) + case InstanceServiceListUpgradeCampaignsProcedure: + instanceServiceListUpgradeCampaignsHandler.ServeHTTP(w, r) + case InstanceServicePauseUpgradeCampaignProcedure: + instanceServicePauseUpgradeCampaignHandler.ServeHTTP(w, r) + case InstanceServiceResumeUpgradeCampaignProcedure: + instanceServiceResumeUpgradeCampaignHandler.ServeHTTP(w, r) + case InstanceServiceCancelUpgradeCampaignProcedure: + instanceServiceCancelUpgradeCampaignHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedInstanceServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedInstanceServiceHandler struct{} + +func (UnimplementedInstanceServiceHandler) CreateInstance(context.Context, *connect.Request[v1.CreateInstanceRequest]) (*connect.Response[v1.CreateInstanceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.CreateInstance is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) GetInstance(context.Context, *connect.Request[v1.GetInstanceRequest]) (*connect.Response[v1.GetInstanceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.GetInstance is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) ListInstances(context.Context, *connect.Request[v1.ListInstancesRequest]) (*connect.Response[v1.ListInstancesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.ListInstances is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) ListAllInstances(context.Context, *connect.Request[v1.ListAllInstancesRequest]) (*connect.Response[v1.ListAllInstancesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.ListAllInstances is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) ListMyInstances(context.Context, *connect.Request[v1.ListMyInstancesRequest]) (*connect.Response[v1.ListMyInstancesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.ListMyInstances is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) UpdateInstance(context.Context, *connect.Request[v1.UpdateInstanceRequest]) (*connect.Response[v1.UpdateInstanceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.UpdateInstance is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) DeleteInstance(context.Context, *connect.Request[v1.DeleteInstanceRequest]) (*connect.Response[v1.DeleteInstanceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.DeleteInstance is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) StartInstance(context.Context, *connect.Request[v1.StartInstanceRequest]) (*connect.Response[v1.StartInstanceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.StartInstance is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) StopInstance(context.Context, *connect.Request[v1.StopInstanceRequest]) (*connect.Response[v1.StopInstanceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.StopInstance is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) StartOperation(context.Context, *connect.Request[v1.StartOperationRequest]) (*connect.Response[v1.StartOperationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.StartOperation is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) GetOperation(context.Context, *connect.Request[v1.GetOperationRequest]) (*connect.Response[v1.GetOperationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.GetOperation is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) GetActiveOperation(context.Context, *connect.Request[v1.GetActiveOperationRequest]) (*connect.Response[v1.GetActiveOperationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.GetActiveOperation is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) GetLatestOperation(context.Context, *connect.Request[v1.GetLatestOperationRequest]) (*connect.Response[v1.GetLatestOperationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.GetLatestOperation is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) CancelOperation(context.Context, *connect.Request[v1.CancelOperationRequest]) (*connect.Response[v1.CancelOperationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.CancelOperation is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) GetLatestCMSVersion(context.Context, *connect.Request[v1.GetLatestCMSVersionRequest]) (*connect.Response[v1.GetLatestCMSVersionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.GetLatestCMSVersion is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) GetInstanceLogs(context.Context, *connect.Request[v1.GetInstanceLogsRequest], *connect.ServerStream[v1.LogEntry]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.GetInstanceLogs is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) ListInstanceUsers(context.Context, *connect.Request[v1.ListInstanceUsersRequest]) (*connect.Response[v1.ListInstanceUsersResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.ListInstanceUsers is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) GrantInstanceAccess(context.Context, *connect.Request[v1.GrantInstanceAccessRequest]) (*connect.Response[v1.GrantInstanceAccessResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.GrantInstanceAccess is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) UpdateUserRole(context.Context, *connect.Request[v1.UpdateUserRoleRequest]) (*connect.Response[v1.UpdateUserRoleResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.UpdateUserRole is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) RemoveUser(context.Context, *connect.Request[v1.RemoveUserRequest]) (*connect.Response[v1.RemoveUserResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.RemoveUser is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) GetInstanceStorageLimits(context.Context, *connect.Request[v1.GetInstanceStorageLimitsRequest]) (*connect.Response[v1.GetInstanceStorageLimitsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.GetInstanceStorageLimits is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) InstallPluginToInstance(context.Context, *connect.Request[v1.InstallPluginToInstanceRequest]) (*connect.Response[v1.InstallPluginToInstanceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.InstallPluginToInstance is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) GetInstanceMetrics(context.Context, *connect.Request[v1.GetInstanceMetricsRequest]) (*connect.Response[v1.GetInstanceMetricsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.GetInstanceMetrics is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) GetBandwidthHistory(context.Context, *connect.Request[v1.GetBandwidthHistoryRequest]) (*connect.Response[v1.GetBandwidthHistoryResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.GetBandwidthHistory is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) BulkStartInstances(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.BulkStartInstances is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) BulkStopInstances(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.BulkStopInstances is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) BulkRestartInstances(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.BulkRestartInstances is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) BulkDeleteInstances(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.BulkDeleteInstances is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) BulkRegenerateTraefikConfigs(context.Context, *connect.Request[v1.BulkInstancesRequest]) (*connect.Response[v1.BulkInstancesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.BulkRegenerateTraefikConfigs is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) RegenerateAllTraefikConfigs(context.Context, *connect.Request[v1.RegenerateAllTraefikConfigsRequest]) (*connect.Response[v1.BulkInstancesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.RegenerateAllTraefikConfigs is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) GetInstanceConfiguration(context.Context, *connect.Request[v1.GetInstanceConfigurationRequest]) (*connect.Response[v1.GetInstanceConfigurationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.GetInstanceConfiguration is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) GetInstanceUserPasswords(context.Context, *connect.Request[v1.GetInstanceUserPasswordsRequest]) (*connect.Response[v1.GetInstanceUserPasswordsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.GetInstanceUserPasswords is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) RequestSelfRestart(context.Context, *connect.Request[v1.RequestSelfRestartRequest]) (*connect.Response[v1.RequestSelfRestartResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.RequestSelfRestart is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) WatchAndRestartInstance(context.Context, *connect.Request[v1.WatchAndRestartInstanceRequest], *connect.ServerStream[v1.OperationProgress]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.WatchAndRestartInstance is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) MoveInstance(context.Context, *connect.Request[v1.MoveInstanceRequest]) (*connect.Response[v1.MoveInstanceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.MoveInstance is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) MoveInstanceToNode(context.Context, *connect.Request[v1.MoveInstanceToNodeRequest]) (*connect.Response[v1.MoveInstanceToNodeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.MoveInstanceToNode is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) PreviewUpgradeCampaign(context.Context, *connect.Request[v1.PreviewUpgradeCampaignRequest]) (*connect.Response[v1.PreviewUpgradeCampaignResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.PreviewUpgradeCampaign is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) StartUpgradeCampaign(context.Context, *connect.Request[v1.StartUpgradeCampaignRequest]) (*connect.Response[v1.StartUpgradeCampaignResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.StartUpgradeCampaign is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) GetUpgradeCampaign(context.Context, *connect.Request[v1.GetUpgradeCampaignRequest]) (*connect.Response[v1.GetUpgradeCampaignResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.GetUpgradeCampaign is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) ListUpgradeCampaigns(context.Context, *connect.Request[v1.ListUpgradeCampaignsRequest]) (*connect.Response[v1.ListUpgradeCampaignsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.ListUpgradeCampaigns is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) PauseUpgradeCampaign(context.Context, *connect.Request[v1.CampaignActionRequest]) (*connect.Response[v1.CampaignActionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.PauseUpgradeCampaign is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) ResumeUpgradeCampaign(context.Context, *connect.Request[v1.CampaignActionRequest]) (*connect.Response[v1.CampaignActionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.ResumeUpgradeCampaign is not implemented")) +} + +func (UnimplementedInstanceServiceHandler) CancelUpgradeCampaign(context.Context, *connect.Request[v1.CampaignActionRequest]) (*connect.Response[v1.CampaignActionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.CancelUpgradeCampaign is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/invites.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/invites.connect.go new file mode 100644 index 0000000..0197ebc --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/invites.connect.go @@ -0,0 +1,266 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/invites.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // InviteServiceName is the fully-qualified name of the InviteService service. + InviteServiceName = "orchestrator.v1.InviteService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // InviteServiceCreateInviteProcedure is the fully-qualified name of the InviteService's + // CreateInvite RPC. + InviteServiceCreateInviteProcedure = "/orchestrator.v1.InviteService/CreateInvite" + // InviteServiceListPendingInvitesProcedure is the fully-qualified name of the InviteService's + // ListPendingInvites RPC. + InviteServiceListPendingInvitesProcedure = "/orchestrator.v1.InviteService/ListPendingInvites" + // InviteServiceRevokeInviteProcedure is the fully-qualified name of the InviteService's + // RevokeInvite RPC. + InviteServiceRevokeInviteProcedure = "/orchestrator.v1.InviteService/RevokeInvite" + // InviteServiceListMyInvitesProcedure is the fully-qualified name of the InviteService's + // ListMyInvites RPC. + InviteServiceListMyInvitesProcedure = "/orchestrator.v1.InviteService/ListMyInvites" + // InviteServiceAcceptInviteProcedure is the fully-qualified name of the InviteService's + // AcceptInvite RPC. + InviteServiceAcceptInviteProcedure = "/orchestrator.v1.InviteService/AcceptInvite" + // InviteServiceDeclineInviteProcedure is the fully-qualified name of the InviteService's + // DeclineInvite RPC. + InviteServiceDeclineInviteProcedure = "/orchestrator.v1.InviteService/DeclineInvite" +) + +// InviteServiceClient is a client for the orchestrator.v1.InviteService service. +type InviteServiceClient interface { + // Create or refresh an invite and email the invitee (inviter). + CreateInvite(context.Context, *connect.Request[v1.CreateInviteRequest]) (*connect.Response[v1.CreateInviteResponse], error) + // List the pending invites for an account or instance (inviter). + ListPendingInvites(context.Context, *connect.Request[v1.ListPendingInvitesRequest]) (*connect.Response[v1.ListPendingInvitesResponse], error) + // Revoke a pending invite (inviter). + RevokeInvite(context.Context, *connect.Request[v1.RevokeInviteRequest]) (*connect.Response[v1.RevokeInviteResponse], error) + // List the signed-in user's own pending invites (invitee). + ListMyInvites(context.Context, *connect.Request[v1.ListMyInvitesRequest]) (*connect.Response[v1.ListMyInvitesResponse], error) + // Accept an invite via its emailed token (invitee). + AcceptInvite(context.Context, *connect.Request[v1.AcceptInviteRequest]) (*connect.Response[v1.AcceptInviteResponse], error) + // Decline (delete) one of the signed-in user's pending invites (invitee). + DeclineInvite(context.Context, *connect.Request[v1.DeclineInviteRequest]) (*connect.Response[v1.DeclineInviteResponse], error) +} + +// NewInviteServiceClient constructs a client for the orchestrator.v1.InviteService service. By +// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, +// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewInviteServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) InviteServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + inviteServiceMethods := v1.File_orchestrator_v1_invites_proto.Services().ByName("InviteService").Methods() + return &inviteServiceClient{ + createInvite: connect.NewClient[v1.CreateInviteRequest, v1.CreateInviteResponse]( + httpClient, + baseURL+InviteServiceCreateInviteProcedure, + connect.WithSchema(inviteServiceMethods.ByName("CreateInvite")), + connect.WithClientOptions(opts...), + ), + listPendingInvites: connect.NewClient[v1.ListPendingInvitesRequest, v1.ListPendingInvitesResponse]( + httpClient, + baseURL+InviteServiceListPendingInvitesProcedure, + connect.WithSchema(inviteServiceMethods.ByName("ListPendingInvites")), + connect.WithClientOptions(opts...), + ), + revokeInvite: connect.NewClient[v1.RevokeInviteRequest, v1.RevokeInviteResponse]( + httpClient, + baseURL+InviteServiceRevokeInviteProcedure, + connect.WithSchema(inviteServiceMethods.ByName("RevokeInvite")), + connect.WithClientOptions(opts...), + ), + listMyInvites: connect.NewClient[v1.ListMyInvitesRequest, v1.ListMyInvitesResponse]( + httpClient, + baseURL+InviteServiceListMyInvitesProcedure, + connect.WithSchema(inviteServiceMethods.ByName("ListMyInvites")), + connect.WithClientOptions(opts...), + ), + acceptInvite: connect.NewClient[v1.AcceptInviteRequest, v1.AcceptInviteResponse]( + httpClient, + baseURL+InviteServiceAcceptInviteProcedure, + connect.WithSchema(inviteServiceMethods.ByName("AcceptInvite")), + connect.WithClientOptions(opts...), + ), + declineInvite: connect.NewClient[v1.DeclineInviteRequest, v1.DeclineInviteResponse]( + httpClient, + baseURL+InviteServiceDeclineInviteProcedure, + connect.WithSchema(inviteServiceMethods.ByName("DeclineInvite")), + connect.WithClientOptions(opts...), + ), + } +} + +// inviteServiceClient implements InviteServiceClient. +type inviteServiceClient struct { + createInvite *connect.Client[v1.CreateInviteRequest, v1.CreateInviteResponse] + listPendingInvites *connect.Client[v1.ListPendingInvitesRequest, v1.ListPendingInvitesResponse] + revokeInvite *connect.Client[v1.RevokeInviteRequest, v1.RevokeInviteResponse] + listMyInvites *connect.Client[v1.ListMyInvitesRequest, v1.ListMyInvitesResponse] + acceptInvite *connect.Client[v1.AcceptInviteRequest, v1.AcceptInviteResponse] + declineInvite *connect.Client[v1.DeclineInviteRequest, v1.DeclineInviteResponse] +} + +// CreateInvite calls orchestrator.v1.InviteService.CreateInvite. +func (c *inviteServiceClient) CreateInvite(ctx context.Context, req *connect.Request[v1.CreateInviteRequest]) (*connect.Response[v1.CreateInviteResponse], error) { + return c.createInvite.CallUnary(ctx, req) +} + +// ListPendingInvites calls orchestrator.v1.InviteService.ListPendingInvites. +func (c *inviteServiceClient) ListPendingInvites(ctx context.Context, req *connect.Request[v1.ListPendingInvitesRequest]) (*connect.Response[v1.ListPendingInvitesResponse], error) { + return c.listPendingInvites.CallUnary(ctx, req) +} + +// RevokeInvite calls orchestrator.v1.InviteService.RevokeInvite. +func (c *inviteServiceClient) RevokeInvite(ctx context.Context, req *connect.Request[v1.RevokeInviteRequest]) (*connect.Response[v1.RevokeInviteResponse], error) { + return c.revokeInvite.CallUnary(ctx, req) +} + +// ListMyInvites calls orchestrator.v1.InviteService.ListMyInvites. +func (c *inviteServiceClient) ListMyInvites(ctx context.Context, req *connect.Request[v1.ListMyInvitesRequest]) (*connect.Response[v1.ListMyInvitesResponse], error) { + return c.listMyInvites.CallUnary(ctx, req) +} + +// AcceptInvite calls orchestrator.v1.InviteService.AcceptInvite. +func (c *inviteServiceClient) AcceptInvite(ctx context.Context, req *connect.Request[v1.AcceptInviteRequest]) (*connect.Response[v1.AcceptInviteResponse], error) { + return c.acceptInvite.CallUnary(ctx, req) +} + +// DeclineInvite calls orchestrator.v1.InviteService.DeclineInvite. +func (c *inviteServiceClient) DeclineInvite(ctx context.Context, req *connect.Request[v1.DeclineInviteRequest]) (*connect.Response[v1.DeclineInviteResponse], error) { + return c.declineInvite.CallUnary(ctx, req) +} + +// InviteServiceHandler is an implementation of the orchestrator.v1.InviteService service. +type InviteServiceHandler interface { + // Create or refresh an invite and email the invitee (inviter). + CreateInvite(context.Context, *connect.Request[v1.CreateInviteRequest]) (*connect.Response[v1.CreateInviteResponse], error) + // List the pending invites for an account or instance (inviter). + ListPendingInvites(context.Context, *connect.Request[v1.ListPendingInvitesRequest]) (*connect.Response[v1.ListPendingInvitesResponse], error) + // Revoke a pending invite (inviter). + RevokeInvite(context.Context, *connect.Request[v1.RevokeInviteRequest]) (*connect.Response[v1.RevokeInviteResponse], error) + // List the signed-in user's own pending invites (invitee). + ListMyInvites(context.Context, *connect.Request[v1.ListMyInvitesRequest]) (*connect.Response[v1.ListMyInvitesResponse], error) + // Accept an invite via its emailed token (invitee). + AcceptInvite(context.Context, *connect.Request[v1.AcceptInviteRequest]) (*connect.Response[v1.AcceptInviteResponse], error) + // Decline (delete) one of the signed-in user's pending invites (invitee). + DeclineInvite(context.Context, *connect.Request[v1.DeclineInviteRequest]) (*connect.Response[v1.DeclineInviteResponse], error) +} + +// NewInviteServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewInviteServiceHandler(svc InviteServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + inviteServiceMethods := v1.File_orchestrator_v1_invites_proto.Services().ByName("InviteService").Methods() + inviteServiceCreateInviteHandler := connect.NewUnaryHandler( + InviteServiceCreateInviteProcedure, + svc.CreateInvite, + connect.WithSchema(inviteServiceMethods.ByName("CreateInvite")), + connect.WithHandlerOptions(opts...), + ) + inviteServiceListPendingInvitesHandler := connect.NewUnaryHandler( + InviteServiceListPendingInvitesProcedure, + svc.ListPendingInvites, + connect.WithSchema(inviteServiceMethods.ByName("ListPendingInvites")), + connect.WithHandlerOptions(opts...), + ) + inviteServiceRevokeInviteHandler := connect.NewUnaryHandler( + InviteServiceRevokeInviteProcedure, + svc.RevokeInvite, + connect.WithSchema(inviteServiceMethods.ByName("RevokeInvite")), + connect.WithHandlerOptions(opts...), + ) + inviteServiceListMyInvitesHandler := connect.NewUnaryHandler( + InviteServiceListMyInvitesProcedure, + svc.ListMyInvites, + connect.WithSchema(inviteServiceMethods.ByName("ListMyInvites")), + connect.WithHandlerOptions(opts...), + ) + inviteServiceAcceptInviteHandler := connect.NewUnaryHandler( + InviteServiceAcceptInviteProcedure, + svc.AcceptInvite, + connect.WithSchema(inviteServiceMethods.ByName("AcceptInvite")), + connect.WithHandlerOptions(opts...), + ) + inviteServiceDeclineInviteHandler := connect.NewUnaryHandler( + InviteServiceDeclineInviteProcedure, + svc.DeclineInvite, + connect.WithSchema(inviteServiceMethods.ByName("DeclineInvite")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.InviteService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case InviteServiceCreateInviteProcedure: + inviteServiceCreateInviteHandler.ServeHTTP(w, r) + case InviteServiceListPendingInvitesProcedure: + inviteServiceListPendingInvitesHandler.ServeHTTP(w, r) + case InviteServiceRevokeInviteProcedure: + inviteServiceRevokeInviteHandler.ServeHTTP(w, r) + case InviteServiceListMyInvitesProcedure: + inviteServiceListMyInvitesHandler.ServeHTTP(w, r) + case InviteServiceAcceptInviteProcedure: + inviteServiceAcceptInviteHandler.ServeHTTP(w, r) + case InviteServiceDeclineInviteProcedure: + inviteServiceDeclineInviteHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedInviteServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedInviteServiceHandler struct{} + +func (UnimplementedInviteServiceHandler) CreateInvite(context.Context, *connect.Request[v1.CreateInviteRequest]) (*connect.Response[v1.CreateInviteResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InviteService.CreateInvite is not implemented")) +} + +func (UnimplementedInviteServiceHandler) ListPendingInvites(context.Context, *connect.Request[v1.ListPendingInvitesRequest]) (*connect.Response[v1.ListPendingInvitesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InviteService.ListPendingInvites is not implemented")) +} + +func (UnimplementedInviteServiceHandler) RevokeInvite(context.Context, *connect.Request[v1.RevokeInviteRequest]) (*connect.Response[v1.RevokeInviteResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InviteService.RevokeInvite is not implemented")) +} + +func (UnimplementedInviteServiceHandler) ListMyInvites(context.Context, *connect.Request[v1.ListMyInvitesRequest]) (*connect.Response[v1.ListMyInvitesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InviteService.ListMyInvites is not implemented")) +} + +func (UnimplementedInviteServiceHandler) AcceptInvite(context.Context, *connect.Request[v1.AcceptInviteRequest]) (*connect.Response[v1.AcceptInviteResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InviteService.AcceptInvite is not implemented")) +} + +func (UnimplementedInviteServiceHandler) DeclineInvite(context.Context, *connect.Request[v1.DeclineInviteRequest]) (*connect.Response[v1.DeclineInviteResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InviteService.DeclineInvite is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/nodes.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/nodes.connect.go new file mode 100644 index 0000000..3353b63 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/nodes.connect.go @@ -0,0 +1,759 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/nodes.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // NodeServiceName is the fully-qualified name of the NodeService service. + NodeServiceName = "orchestrator.v1.NodeService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // NodeServiceCreateNodeProcedure is the fully-qualified name of the NodeService's CreateNode RPC. + NodeServiceCreateNodeProcedure = "/orchestrator.v1.NodeService/CreateNode" + // NodeServiceGetNodeProcedure is the fully-qualified name of the NodeService's GetNode RPC. + NodeServiceGetNodeProcedure = "/orchestrator.v1.NodeService/GetNode" + // NodeServiceListNodesProcedure is the fully-qualified name of the NodeService's ListNodes RPC. + NodeServiceListNodesProcedure = "/orchestrator.v1.NodeService/ListNodes" + // NodeServiceUpdateNodeProcedure is the fully-qualified name of the NodeService's UpdateNode RPC. + NodeServiceUpdateNodeProcedure = "/orchestrator.v1.NodeService/UpdateNode" + // NodeServiceUpdateNodeSSHKeyProcedure is the fully-qualified name of the NodeService's + // UpdateNodeSSHKey RPC. + NodeServiceUpdateNodeSSHKeyProcedure = "/orchestrator.v1.NodeService/UpdateNodeSSHKey" + // NodeServiceDeleteNodeProcedure is the fully-qualified name of the NodeService's DeleteNode RPC. + NodeServiceDeleteNodeProcedure = "/orchestrator.v1.NodeService/DeleteNode" + // NodeServiceHealthCheckNodeProcedure is the fully-qualified name of the NodeService's + // HealthCheckNode RPC. + NodeServiceHealthCheckNodeProcedure = "/orchestrator.v1.NodeService/HealthCheckNode" + // NodeServiceDrainNodeProcedure is the fully-qualified name of the NodeService's DrainNode RPC. + NodeServiceDrainNodeProcedure = "/orchestrator.v1.NodeService/DrainNode" + // NodeServiceActivateNodeProcedure is the fully-qualified name of the NodeService's ActivateNode + // RPC. + NodeServiceActivateNodeProcedure = "/orchestrator.v1.NodeService/ActivateNode" + // NodeServiceOfflineNodeProcedure is the fully-qualified name of the NodeService's OfflineNode RPC. + NodeServiceOfflineNodeProcedure = "/orchestrator.v1.NodeService/OfflineNode" + // NodeServiceTestNodeConnectionProcedure is the fully-qualified name of the NodeService's + // TestNodeConnection RPC. + NodeServiceTestNodeConnectionProcedure = "/orchestrator.v1.NodeService/TestNodeConnection" + // NodeServiceDeployTenantDBProcedure is the fully-qualified name of the NodeService's + // DeployTenantDB RPC. + NodeServiceDeployTenantDBProcedure = "/orchestrator.v1.NodeService/DeployTenantDB" + // NodeServiceGetNodeDatabaseMetricsProcedure is the fully-qualified name of the NodeService's + // GetNodeDatabaseMetrics RPC. + NodeServiceGetNodeDatabaseMetricsProcedure = "/orchestrator.v1.NodeService/GetNodeDatabaseMetrics" + // NodeServiceGetNodeDatabaseMetricsHistoryProcedure is the fully-qualified name of the + // NodeService's GetNodeDatabaseMetricsHistory RPC. + NodeServiceGetNodeDatabaseMetricsHistoryProcedure = "/orchestrator.v1.NodeService/GetNodeDatabaseMetricsHistory" + // NodeServiceEnableNodeDatabaseStatsProcedure is the fully-qualified name of the NodeService's + // EnableNodeDatabaseStats RPC. + NodeServiceEnableNodeDatabaseStatsProcedure = "/orchestrator.v1.NodeService/EnableNodeDatabaseStats" + // NodeServiceGetNodePgBouncerStatsProcedure is the fully-qualified name of the NodeService's + // GetNodePgBouncerStats RPC. + NodeServiceGetNodePgBouncerStatsProcedure = "/orchestrator.v1.NodeService/GetNodePgBouncerStats" + // NodeServiceGenerateNodeRegistrationKeyProcedure is the fully-qualified name of the NodeService's + // GenerateNodeRegistrationKey RPC. + NodeServiceGenerateNodeRegistrationKeyProcedure = "/orchestrator.v1.NodeService/GenerateNodeRegistrationKey" + // NodeServiceListNodeRegistrationsProcedure is the fully-qualified name of the NodeService's + // ListNodeRegistrations RPC. + NodeServiceListNodeRegistrationsProcedure = "/orchestrator.v1.NodeService/ListNodeRegistrations" + // NodeServiceDeleteNodeRegistrationProcedure is the fully-qualified name of the NodeService's + // DeleteNodeRegistration RPC. + NodeServiceDeleteNodeRegistrationProcedure = "/orchestrator.v1.NodeService/DeleteNodeRegistration" + // NodeServiceRegisterNodeProcedure is the fully-qualified name of the NodeService's RegisterNode + // RPC. + NodeServiceRegisterNodeProcedure = "/orchestrator.v1.NodeService/RegisterNode" + // NodeServiceSuggestTenantDBBudgetProcedure is the fully-qualified name of the NodeService's + // SuggestTenantDBBudget RPC. + NodeServiceSuggestTenantDBBudgetProcedure = "/orchestrator.v1.NodeService/SuggestTenantDBBudget" + // NodeServiceConfigureTenantDBProcedure is the fully-qualified name of the NodeService's + // ConfigureTenantDB RPC. + NodeServiceConfigureTenantDBProcedure = "/orchestrator.v1.NodeService/ConfigureTenantDB" +) + +// NodeServiceClient is a client for the orchestrator.v1.NodeService service. +type NodeServiceClient interface { + // Create a new node + CreateNode(context.Context, *connect.Request[v1.CreateNodeRequest]) (*connect.Response[v1.CreateNodeResponse], error) + // Get a node by ID + GetNode(context.Context, *connect.Request[v1.GetNodeRequest]) (*connect.Response[v1.GetNodeResponse], error) + // List all nodes + ListNodes(context.Context, *connect.Request[v1.ListNodesRequest]) (*connect.Response[v1.ListNodesResponse], error) + // Update node configuration + UpdateNode(context.Context, *connect.Request[v1.UpdateNodeRequest]) (*connect.Response[v1.UpdateNodeResponse], error) + // Update node SSH credentials + UpdateNodeSSHKey(context.Context, *connect.Request[v1.UpdateNodeSSHKeyRequest]) (*connect.Response[v1.UpdateNodeSSHKeyResponse], error) + // Delete a node (soft delete) + DeleteNode(context.Context, *connect.Request[v1.DeleteNodeRequest]) (*connect.Response[v1.DeleteNodeResponse], error) + // Perform health check on a node + HealthCheckNode(context.Context, *connect.Request[v1.HealthCheckNodeRequest]) (*connect.Response[v1.HealthCheckNodeResponse], error) + // Set node to draining mode (no new instances) + DrainNode(context.Context, *connect.Request[v1.DrainNodeRequest]) (*connect.Response[v1.DrainNodeResponse], error) + // Activate a node (accept new instances) + ActivateNode(context.Context, *connect.Request[v1.ActivateNodeRequest]) (*connect.Response[v1.ActivateNodeResponse], error) + // Take a node offline + OfflineNode(context.Context, *connect.Request[v1.OfflineNodeRequest]) (*connect.Response[v1.OfflineNodeResponse], error) + // Test node connectivity + TestNodeConnection(context.Context, *connect.Request[v1.TestNodeConnectionRequest]) (*connect.Response[v1.TestNodeConnectionResponse], error) + // Deploy or redeploy the tenant database on a node + DeployTenantDB(context.Context, *connect.Request[v1.DeployTenantDBRequest]) (*connect.Response[v1.DeployTenantDBResponse], error) + // Get live Postgres metrics for a node's tenant database + GetNodeDatabaseMetrics(context.Context, *connect.Request[v1.GetNodeDatabaseMetricsRequest]) (*connect.Response[v1.GetNodeDatabaseMetricsResponse], error) + // Get historical Postgres metric snapshots for sparklines + GetNodeDatabaseMetricsHistory(context.Context, *connect.Request[v1.GetNodeDatabaseMetricsHistoryRequest]) (*connect.Response[v1.GetNodeDatabaseMetricsHistoryResponse], error) + // Enable pg_stat_statements on a node's tenant DB (restarts tenant-db) + EnableNodeDatabaseStats(context.Context, *connect.Request[v1.EnableNodeDatabaseStatsRequest]) (*connect.Response[v1.EnableNodeDatabaseStatsResponse], error) + // Get live pgBouncer connection-pooler stats for a node (SHOW POOLS/STATS/CONFIG) + GetNodePgBouncerStats(context.Context, *connect.Request[v1.GetNodePgBouncerStatsRequest]) (*connect.Response[v1.GetNodePgBouncerStatsResponse], error) + // --- Node Registration --- + // Generate a one-time registration key for automated node setup (Superadmin only) + GenerateNodeRegistrationKey(context.Context, *connect.Request[v1.GenerateNodeRegistrationKeyRequest]) (*connect.Response[v1.GenerateNodeRegistrationKeyResponse], error) + // List registration keys (Admin) + ListNodeRegistrations(context.Context, *connect.Request[v1.ListNodeRegistrationsRequest]) (*connect.Response[v1.ListNodeRegistrationsResponse], error) + // Delete an unused registration key (Superadmin only) + DeleteNodeRegistration(context.Context, *connect.Request[v1.DeleteNodeRegistrationRequest]) (*connect.Response[v1.DeleteNodeRegistrationResponse], error) + // Register a node using a key (Public - validated by key) + RegisterNode(context.Context, *connect.Request[v1.RegisterNodeRequest]) (*connect.Response[v1.RegisterNodeResponse], error) + // --- Tenant DB Budgeting --- + // Suggest a max_connections budget for the tenant database on a node + SuggestTenantDBBudget(context.Context, *connect.Request[v1.SuggestTenantDBBudgetRequest]) (*connect.Response[v1.SuggestTenantDBBudgetResponse], error) + // Configure the tenant database connection budget on a node + ConfigureTenantDB(context.Context, *connect.Request[v1.ConfigureTenantDBRequest]) (*connect.Response[v1.ConfigureTenantDBResponse], error) +} + +// NewNodeServiceClient constructs a client for the orchestrator.v1.NodeService service. By default, +// it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and +// sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() +// or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewNodeServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) NodeServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + nodeServiceMethods := v1.File_orchestrator_v1_nodes_proto.Services().ByName("NodeService").Methods() + return &nodeServiceClient{ + createNode: connect.NewClient[v1.CreateNodeRequest, v1.CreateNodeResponse]( + httpClient, + baseURL+NodeServiceCreateNodeProcedure, + connect.WithSchema(nodeServiceMethods.ByName("CreateNode")), + connect.WithClientOptions(opts...), + ), + getNode: connect.NewClient[v1.GetNodeRequest, v1.GetNodeResponse]( + httpClient, + baseURL+NodeServiceGetNodeProcedure, + connect.WithSchema(nodeServiceMethods.ByName("GetNode")), + connect.WithClientOptions(opts...), + ), + listNodes: connect.NewClient[v1.ListNodesRequest, v1.ListNodesResponse]( + httpClient, + baseURL+NodeServiceListNodesProcedure, + connect.WithSchema(nodeServiceMethods.ByName("ListNodes")), + connect.WithClientOptions(opts...), + ), + updateNode: connect.NewClient[v1.UpdateNodeRequest, v1.UpdateNodeResponse]( + httpClient, + baseURL+NodeServiceUpdateNodeProcedure, + connect.WithSchema(nodeServiceMethods.ByName("UpdateNode")), + connect.WithClientOptions(opts...), + ), + updateNodeSSHKey: connect.NewClient[v1.UpdateNodeSSHKeyRequest, v1.UpdateNodeSSHKeyResponse]( + httpClient, + baseURL+NodeServiceUpdateNodeSSHKeyProcedure, + connect.WithSchema(nodeServiceMethods.ByName("UpdateNodeSSHKey")), + connect.WithClientOptions(opts...), + ), + deleteNode: connect.NewClient[v1.DeleteNodeRequest, v1.DeleteNodeResponse]( + httpClient, + baseURL+NodeServiceDeleteNodeProcedure, + connect.WithSchema(nodeServiceMethods.ByName("DeleteNode")), + connect.WithClientOptions(opts...), + ), + healthCheckNode: connect.NewClient[v1.HealthCheckNodeRequest, v1.HealthCheckNodeResponse]( + httpClient, + baseURL+NodeServiceHealthCheckNodeProcedure, + connect.WithSchema(nodeServiceMethods.ByName("HealthCheckNode")), + connect.WithClientOptions(opts...), + ), + drainNode: connect.NewClient[v1.DrainNodeRequest, v1.DrainNodeResponse]( + httpClient, + baseURL+NodeServiceDrainNodeProcedure, + connect.WithSchema(nodeServiceMethods.ByName("DrainNode")), + connect.WithClientOptions(opts...), + ), + activateNode: connect.NewClient[v1.ActivateNodeRequest, v1.ActivateNodeResponse]( + httpClient, + baseURL+NodeServiceActivateNodeProcedure, + connect.WithSchema(nodeServiceMethods.ByName("ActivateNode")), + connect.WithClientOptions(opts...), + ), + offlineNode: connect.NewClient[v1.OfflineNodeRequest, v1.OfflineNodeResponse]( + httpClient, + baseURL+NodeServiceOfflineNodeProcedure, + connect.WithSchema(nodeServiceMethods.ByName("OfflineNode")), + connect.WithClientOptions(opts...), + ), + testNodeConnection: connect.NewClient[v1.TestNodeConnectionRequest, v1.TestNodeConnectionResponse]( + httpClient, + baseURL+NodeServiceTestNodeConnectionProcedure, + connect.WithSchema(nodeServiceMethods.ByName("TestNodeConnection")), + connect.WithClientOptions(opts...), + ), + deployTenantDB: connect.NewClient[v1.DeployTenantDBRequest, v1.DeployTenantDBResponse]( + httpClient, + baseURL+NodeServiceDeployTenantDBProcedure, + connect.WithSchema(nodeServiceMethods.ByName("DeployTenantDB")), + connect.WithClientOptions(opts...), + ), + getNodeDatabaseMetrics: connect.NewClient[v1.GetNodeDatabaseMetricsRequest, v1.GetNodeDatabaseMetricsResponse]( + httpClient, + baseURL+NodeServiceGetNodeDatabaseMetricsProcedure, + connect.WithSchema(nodeServiceMethods.ByName("GetNodeDatabaseMetrics")), + connect.WithClientOptions(opts...), + ), + getNodeDatabaseMetricsHistory: connect.NewClient[v1.GetNodeDatabaseMetricsHistoryRequest, v1.GetNodeDatabaseMetricsHistoryResponse]( + httpClient, + baseURL+NodeServiceGetNodeDatabaseMetricsHistoryProcedure, + connect.WithSchema(nodeServiceMethods.ByName("GetNodeDatabaseMetricsHistory")), + connect.WithClientOptions(opts...), + ), + enableNodeDatabaseStats: connect.NewClient[v1.EnableNodeDatabaseStatsRequest, v1.EnableNodeDatabaseStatsResponse]( + httpClient, + baseURL+NodeServiceEnableNodeDatabaseStatsProcedure, + connect.WithSchema(nodeServiceMethods.ByName("EnableNodeDatabaseStats")), + connect.WithClientOptions(opts...), + ), + getNodePgBouncerStats: connect.NewClient[v1.GetNodePgBouncerStatsRequest, v1.GetNodePgBouncerStatsResponse]( + httpClient, + baseURL+NodeServiceGetNodePgBouncerStatsProcedure, + connect.WithSchema(nodeServiceMethods.ByName("GetNodePgBouncerStats")), + connect.WithClientOptions(opts...), + ), + generateNodeRegistrationKey: connect.NewClient[v1.GenerateNodeRegistrationKeyRequest, v1.GenerateNodeRegistrationKeyResponse]( + httpClient, + baseURL+NodeServiceGenerateNodeRegistrationKeyProcedure, + connect.WithSchema(nodeServiceMethods.ByName("GenerateNodeRegistrationKey")), + connect.WithClientOptions(opts...), + ), + listNodeRegistrations: connect.NewClient[v1.ListNodeRegistrationsRequest, v1.ListNodeRegistrationsResponse]( + httpClient, + baseURL+NodeServiceListNodeRegistrationsProcedure, + connect.WithSchema(nodeServiceMethods.ByName("ListNodeRegistrations")), + connect.WithClientOptions(opts...), + ), + deleteNodeRegistration: connect.NewClient[v1.DeleteNodeRegistrationRequest, v1.DeleteNodeRegistrationResponse]( + httpClient, + baseURL+NodeServiceDeleteNodeRegistrationProcedure, + connect.WithSchema(nodeServiceMethods.ByName("DeleteNodeRegistration")), + connect.WithClientOptions(opts...), + ), + registerNode: connect.NewClient[v1.RegisterNodeRequest, v1.RegisterNodeResponse]( + httpClient, + baseURL+NodeServiceRegisterNodeProcedure, + connect.WithSchema(nodeServiceMethods.ByName("RegisterNode")), + connect.WithClientOptions(opts...), + ), + suggestTenantDBBudget: connect.NewClient[v1.SuggestTenantDBBudgetRequest, v1.SuggestTenantDBBudgetResponse]( + httpClient, + baseURL+NodeServiceSuggestTenantDBBudgetProcedure, + connect.WithSchema(nodeServiceMethods.ByName("SuggestTenantDBBudget")), + connect.WithClientOptions(opts...), + ), + configureTenantDB: connect.NewClient[v1.ConfigureTenantDBRequest, v1.ConfigureTenantDBResponse]( + httpClient, + baseURL+NodeServiceConfigureTenantDBProcedure, + connect.WithSchema(nodeServiceMethods.ByName("ConfigureTenantDB")), + connect.WithClientOptions(opts...), + ), + } +} + +// nodeServiceClient implements NodeServiceClient. +type nodeServiceClient struct { + createNode *connect.Client[v1.CreateNodeRequest, v1.CreateNodeResponse] + getNode *connect.Client[v1.GetNodeRequest, v1.GetNodeResponse] + listNodes *connect.Client[v1.ListNodesRequest, v1.ListNodesResponse] + updateNode *connect.Client[v1.UpdateNodeRequest, v1.UpdateNodeResponse] + updateNodeSSHKey *connect.Client[v1.UpdateNodeSSHKeyRequest, v1.UpdateNodeSSHKeyResponse] + deleteNode *connect.Client[v1.DeleteNodeRequest, v1.DeleteNodeResponse] + healthCheckNode *connect.Client[v1.HealthCheckNodeRequest, v1.HealthCheckNodeResponse] + drainNode *connect.Client[v1.DrainNodeRequest, v1.DrainNodeResponse] + activateNode *connect.Client[v1.ActivateNodeRequest, v1.ActivateNodeResponse] + offlineNode *connect.Client[v1.OfflineNodeRequest, v1.OfflineNodeResponse] + testNodeConnection *connect.Client[v1.TestNodeConnectionRequest, v1.TestNodeConnectionResponse] + deployTenantDB *connect.Client[v1.DeployTenantDBRequest, v1.DeployTenantDBResponse] + getNodeDatabaseMetrics *connect.Client[v1.GetNodeDatabaseMetricsRequest, v1.GetNodeDatabaseMetricsResponse] + getNodeDatabaseMetricsHistory *connect.Client[v1.GetNodeDatabaseMetricsHistoryRequest, v1.GetNodeDatabaseMetricsHistoryResponse] + enableNodeDatabaseStats *connect.Client[v1.EnableNodeDatabaseStatsRequest, v1.EnableNodeDatabaseStatsResponse] + getNodePgBouncerStats *connect.Client[v1.GetNodePgBouncerStatsRequest, v1.GetNodePgBouncerStatsResponse] + generateNodeRegistrationKey *connect.Client[v1.GenerateNodeRegistrationKeyRequest, v1.GenerateNodeRegistrationKeyResponse] + listNodeRegistrations *connect.Client[v1.ListNodeRegistrationsRequest, v1.ListNodeRegistrationsResponse] + deleteNodeRegistration *connect.Client[v1.DeleteNodeRegistrationRequest, v1.DeleteNodeRegistrationResponse] + registerNode *connect.Client[v1.RegisterNodeRequest, v1.RegisterNodeResponse] + suggestTenantDBBudget *connect.Client[v1.SuggestTenantDBBudgetRequest, v1.SuggestTenantDBBudgetResponse] + configureTenantDB *connect.Client[v1.ConfigureTenantDBRequest, v1.ConfigureTenantDBResponse] +} + +// CreateNode calls orchestrator.v1.NodeService.CreateNode. +func (c *nodeServiceClient) CreateNode(ctx context.Context, req *connect.Request[v1.CreateNodeRequest]) (*connect.Response[v1.CreateNodeResponse], error) { + return c.createNode.CallUnary(ctx, req) +} + +// GetNode calls orchestrator.v1.NodeService.GetNode. +func (c *nodeServiceClient) GetNode(ctx context.Context, req *connect.Request[v1.GetNodeRequest]) (*connect.Response[v1.GetNodeResponse], error) { + return c.getNode.CallUnary(ctx, req) +} + +// ListNodes calls orchestrator.v1.NodeService.ListNodes. +func (c *nodeServiceClient) ListNodes(ctx context.Context, req *connect.Request[v1.ListNodesRequest]) (*connect.Response[v1.ListNodesResponse], error) { + return c.listNodes.CallUnary(ctx, req) +} + +// UpdateNode calls orchestrator.v1.NodeService.UpdateNode. +func (c *nodeServiceClient) UpdateNode(ctx context.Context, req *connect.Request[v1.UpdateNodeRequest]) (*connect.Response[v1.UpdateNodeResponse], error) { + return c.updateNode.CallUnary(ctx, req) +} + +// UpdateNodeSSHKey calls orchestrator.v1.NodeService.UpdateNodeSSHKey. +func (c *nodeServiceClient) UpdateNodeSSHKey(ctx context.Context, req *connect.Request[v1.UpdateNodeSSHKeyRequest]) (*connect.Response[v1.UpdateNodeSSHKeyResponse], error) { + return c.updateNodeSSHKey.CallUnary(ctx, req) +} + +// DeleteNode calls orchestrator.v1.NodeService.DeleteNode. +func (c *nodeServiceClient) DeleteNode(ctx context.Context, req *connect.Request[v1.DeleteNodeRequest]) (*connect.Response[v1.DeleteNodeResponse], error) { + return c.deleteNode.CallUnary(ctx, req) +} + +// HealthCheckNode calls orchestrator.v1.NodeService.HealthCheckNode. +func (c *nodeServiceClient) HealthCheckNode(ctx context.Context, req *connect.Request[v1.HealthCheckNodeRequest]) (*connect.Response[v1.HealthCheckNodeResponse], error) { + return c.healthCheckNode.CallUnary(ctx, req) +} + +// DrainNode calls orchestrator.v1.NodeService.DrainNode. +func (c *nodeServiceClient) DrainNode(ctx context.Context, req *connect.Request[v1.DrainNodeRequest]) (*connect.Response[v1.DrainNodeResponse], error) { + return c.drainNode.CallUnary(ctx, req) +} + +// ActivateNode calls orchestrator.v1.NodeService.ActivateNode. +func (c *nodeServiceClient) ActivateNode(ctx context.Context, req *connect.Request[v1.ActivateNodeRequest]) (*connect.Response[v1.ActivateNodeResponse], error) { + return c.activateNode.CallUnary(ctx, req) +} + +// OfflineNode calls orchestrator.v1.NodeService.OfflineNode. +func (c *nodeServiceClient) OfflineNode(ctx context.Context, req *connect.Request[v1.OfflineNodeRequest]) (*connect.Response[v1.OfflineNodeResponse], error) { + return c.offlineNode.CallUnary(ctx, req) +} + +// TestNodeConnection calls orchestrator.v1.NodeService.TestNodeConnection. +func (c *nodeServiceClient) TestNodeConnection(ctx context.Context, req *connect.Request[v1.TestNodeConnectionRequest]) (*connect.Response[v1.TestNodeConnectionResponse], error) { + return c.testNodeConnection.CallUnary(ctx, req) +} + +// DeployTenantDB calls orchestrator.v1.NodeService.DeployTenantDB. +func (c *nodeServiceClient) DeployTenantDB(ctx context.Context, req *connect.Request[v1.DeployTenantDBRequest]) (*connect.Response[v1.DeployTenantDBResponse], error) { + return c.deployTenantDB.CallUnary(ctx, req) +} + +// GetNodeDatabaseMetrics calls orchestrator.v1.NodeService.GetNodeDatabaseMetrics. +func (c *nodeServiceClient) GetNodeDatabaseMetrics(ctx context.Context, req *connect.Request[v1.GetNodeDatabaseMetricsRequest]) (*connect.Response[v1.GetNodeDatabaseMetricsResponse], error) { + return c.getNodeDatabaseMetrics.CallUnary(ctx, req) +} + +// GetNodeDatabaseMetricsHistory calls orchestrator.v1.NodeService.GetNodeDatabaseMetricsHistory. +func (c *nodeServiceClient) GetNodeDatabaseMetricsHistory(ctx context.Context, req *connect.Request[v1.GetNodeDatabaseMetricsHistoryRequest]) (*connect.Response[v1.GetNodeDatabaseMetricsHistoryResponse], error) { + return c.getNodeDatabaseMetricsHistory.CallUnary(ctx, req) +} + +// EnableNodeDatabaseStats calls orchestrator.v1.NodeService.EnableNodeDatabaseStats. +func (c *nodeServiceClient) EnableNodeDatabaseStats(ctx context.Context, req *connect.Request[v1.EnableNodeDatabaseStatsRequest]) (*connect.Response[v1.EnableNodeDatabaseStatsResponse], error) { + return c.enableNodeDatabaseStats.CallUnary(ctx, req) +} + +// GetNodePgBouncerStats calls orchestrator.v1.NodeService.GetNodePgBouncerStats. +func (c *nodeServiceClient) GetNodePgBouncerStats(ctx context.Context, req *connect.Request[v1.GetNodePgBouncerStatsRequest]) (*connect.Response[v1.GetNodePgBouncerStatsResponse], error) { + return c.getNodePgBouncerStats.CallUnary(ctx, req) +} + +// GenerateNodeRegistrationKey calls orchestrator.v1.NodeService.GenerateNodeRegistrationKey. +func (c *nodeServiceClient) GenerateNodeRegistrationKey(ctx context.Context, req *connect.Request[v1.GenerateNodeRegistrationKeyRequest]) (*connect.Response[v1.GenerateNodeRegistrationKeyResponse], error) { + return c.generateNodeRegistrationKey.CallUnary(ctx, req) +} + +// ListNodeRegistrations calls orchestrator.v1.NodeService.ListNodeRegistrations. +func (c *nodeServiceClient) ListNodeRegistrations(ctx context.Context, req *connect.Request[v1.ListNodeRegistrationsRequest]) (*connect.Response[v1.ListNodeRegistrationsResponse], error) { + return c.listNodeRegistrations.CallUnary(ctx, req) +} + +// DeleteNodeRegistration calls orchestrator.v1.NodeService.DeleteNodeRegistration. +func (c *nodeServiceClient) DeleteNodeRegistration(ctx context.Context, req *connect.Request[v1.DeleteNodeRegistrationRequest]) (*connect.Response[v1.DeleteNodeRegistrationResponse], error) { + return c.deleteNodeRegistration.CallUnary(ctx, req) +} + +// RegisterNode calls orchestrator.v1.NodeService.RegisterNode. +func (c *nodeServiceClient) RegisterNode(ctx context.Context, req *connect.Request[v1.RegisterNodeRequest]) (*connect.Response[v1.RegisterNodeResponse], error) { + return c.registerNode.CallUnary(ctx, req) +} + +// SuggestTenantDBBudget calls orchestrator.v1.NodeService.SuggestTenantDBBudget. +func (c *nodeServiceClient) SuggestTenantDBBudget(ctx context.Context, req *connect.Request[v1.SuggestTenantDBBudgetRequest]) (*connect.Response[v1.SuggestTenantDBBudgetResponse], error) { + return c.suggestTenantDBBudget.CallUnary(ctx, req) +} + +// ConfigureTenantDB calls orchestrator.v1.NodeService.ConfigureTenantDB. +func (c *nodeServiceClient) ConfigureTenantDB(ctx context.Context, req *connect.Request[v1.ConfigureTenantDBRequest]) (*connect.Response[v1.ConfigureTenantDBResponse], error) { + return c.configureTenantDB.CallUnary(ctx, req) +} + +// NodeServiceHandler is an implementation of the orchestrator.v1.NodeService service. +type NodeServiceHandler interface { + // Create a new node + CreateNode(context.Context, *connect.Request[v1.CreateNodeRequest]) (*connect.Response[v1.CreateNodeResponse], error) + // Get a node by ID + GetNode(context.Context, *connect.Request[v1.GetNodeRequest]) (*connect.Response[v1.GetNodeResponse], error) + // List all nodes + ListNodes(context.Context, *connect.Request[v1.ListNodesRequest]) (*connect.Response[v1.ListNodesResponse], error) + // Update node configuration + UpdateNode(context.Context, *connect.Request[v1.UpdateNodeRequest]) (*connect.Response[v1.UpdateNodeResponse], error) + // Update node SSH credentials + UpdateNodeSSHKey(context.Context, *connect.Request[v1.UpdateNodeSSHKeyRequest]) (*connect.Response[v1.UpdateNodeSSHKeyResponse], error) + // Delete a node (soft delete) + DeleteNode(context.Context, *connect.Request[v1.DeleteNodeRequest]) (*connect.Response[v1.DeleteNodeResponse], error) + // Perform health check on a node + HealthCheckNode(context.Context, *connect.Request[v1.HealthCheckNodeRequest]) (*connect.Response[v1.HealthCheckNodeResponse], error) + // Set node to draining mode (no new instances) + DrainNode(context.Context, *connect.Request[v1.DrainNodeRequest]) (*connect.Response[v1.DrainNodeResponse], error) + // Activate a node (accept new instances) + ActivateNode(context.Context, *connect.Request[v1.ActivateNodeRequest]) (*connect.Response[v1.ActivateNodeResponse], error) + // Take a node offline + OfflineNode(context.Context, *connect.Request[v1.OfflineNodeRequest]) (*connect.Response[v1.OfflineNodeResponse], error) + // Test node connectivity + TestNodeConnection(context.Context, *connect.Request[v1.TestNodeConnectionRequest]) (*connect.Response[v1.TestNodeConnectionResponse], error) + // Deploy or redeploy the tenant database on a node + DeployTenantDB(context.Context, *connect.Request[v1.DeployTenantDBRequest]) (*connect.Response[v1.DeployTenantDBResponse], error) + // Get live Postgres metrics for a node's tenant database + GetNodeDatabaseMetrics(context.Context, *connect.Request[v1.GetNodeDatabaseMetricsRequest]) (*connect.Response[v1.GetNodeDatabaseMetricsResponse], error) + // Get historical Postgres metric snapshots for sparklines + GetNodeDatabaseMetricsHistory(context.Context, *connect.Request[v1.GetNodeDatabaseMetricsHistoryRequest]) (*connect.Response[v1.GetNodeDatabaseMetricsHistoryResponse], error) + // Enable pg_stat_statements on a node's tenant DB (restarts tenant-db) + EnableNodeDatabaseStats(context.Context, *connect.Request[v1.EnableNodeDatabaseStatsRequest]) (*connect.Response[v1.EnableNodeDatabaseStatsResponse], error) + // Get live pgBouncer connection-pooler stats for a node (SHOW POOLS/STATS/CONFIG) + GetNodePgBouncerStats(context.Context, *connect.Request[v1.GetNodePgBouncerStatsRequest]) (*connect.Response[v1.GetNodePgBouncerStatsResponse], error) + // --- Node Registration --- + // Generate a one-time registration key for automated node setup (Superadmin only) + GenerateNodeRegistrationKey(context.Context, *connect.Request[v1.GenerateNodeRegistrationKeyRequest]) (*connect.Response[v1.GenerateNodeRegistrationKeyResponse], error) + // List registration keys (Admin) + ListNodeRegistrations(context.Context, *connect.Request[v1.ListNodeRegistrationsRequest]) (*connect.Response[v1.ListNodeRegistrationsResponse], error) + // Delete an unused registration key (Superadmin only) + DeleteNodeRegistration(context.Context, *connect.Request[v1.DeleteNodeRegistrationRequest]) (*connect.Response[v1.DeleteNodeRegistrationResponse], error) + // Register a node using a key (Public - validated by key) + RegisterNode(context.Context, *connect.Request[v1.RegisterNodeRequest]) (*connect.Response[v1.RegisterNodeResponse], error) + // --- Tenant DB Budgeting --- + // Suggest a max_connections budget for the tenant database on a node + SuggestTenantDBBudget(context.Context, *connect.Request[v1.SuggestTenantDBBudgetRequest]) (*connect.Response[v1.SuggestTenantDBBudgetResponse], error) + // Configure the tenant database connection budget on a node + ConfigureTenantDB(context.Context, *connect.Request[v1.ConfigureTenantDBRequest]) (*connect.Response[v1.ConfigureTenantDBResponse], error) +} + +// NewNodeServiceHandler builds an HTTP handler from the service implementation. It returns the path +// on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewNodeServiceHandler(svc NodeServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + nodeServiceMethods := v1.File_orchestrator_v1_nodes_proto.Services().ByName("NodeService").Methods() + nodeServiceCreateNodeHandler := connect.NewUnaryHandler( + NodeServiceCreateNodeProcedure, + svc.CreateNode, + connect.WithSchema(nodeServiceMethods.ByName("CreateNode")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceGetNodeHandler := connect.NewUnaryHandler( + NodeServiceGetNodeProcedure, + svc.GetNode, + connect.WithSchema(nodeServiceMethods.ByName("GetNode")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceListNodesHandler := connect.NewUnaryHandler( + NodeServiceListNodesProcedure, + svc.ListNodes, + connect.WithSchema(nodeServiceMethods.ByName("ListNodes")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceUpdateNodeHandler := connect.NewUnaryHandler( + NodeServiceUpdateNodeProcedure, + svc.UpdateNode, + connect.WithSchema(nodeServiceMethods.ByName("UpdateNode")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceUpdateNodeSSHKeyHandler := connect.NewUnaryHandler( + NodeServiceUpdateNodeSSHKeyProcedure, + svc.UpdateNodeSSHKey, + connect.WithSchema(nodeServiceMethods.ByName("UpdateNodeSSHKey")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceDeleteNodeHandler := connect.NewUnaryHandler( + NodeServiceDeleteNodeProcedure, + svc.DeleteNode, + connect.WithSchema(nodeServiceMethods.ByName("DeleteNode")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceHealthCheckNodeHandler := connect.NewUnaryHandler( + NodeServiceHealthCheckNodeProcedure, + svc.HealthCheckNode, + connect.WithSchema(nodeServiceMethods.ByName("HealthCheckNode")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceDrainNodeHandler := connect.NewUnaryHandler( + NodeServiceDrainNodeProcedure, + svc.DrainNode, + connect.WithSchema(nodeServiceMethods.ByName("DrainNode")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceActivateNodeHandler := connect.NewUnaryHandler( + NodeServiceActivateNodeProcedure, + svc.ActivateNode, + connect.WithSchema(nodeServiceMethods.ByName("ActivateNode")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceOfflineNodeHandler := connect.NewUnaryHandler( + NodeServiceOfflineNodeProcedure, + svc.OfflineNode, + connect.WithSchema(nodeServiceMethods.ByName("OfflineNode")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceTestNodeConnectionHandler := connect.NewUnaryHandler( + NodeServiceTestNodeConnectionProcedure, + svc.TestNodeConnection, + connect.WithSchema(nodeServiceMethods.ByName("TestNodeConnection")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceDeployTenantDBHandler := connect.NewUnaryHandler( + NodeServiceDeployTenantDBProcedure, + svc.DeployTenantDB, + connect.WithSchema(nodeServiceMethods.ByName("DeployTenantDB")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceGetNodeDatabaseMetricsHandler := connect.NewUnaryHandler( + NodeServiceGetNodeDatabaseMetricsProcedure, + svc.GetNodeDatabaseMetrics, + connect.WithSchema(nodeServiceMethods.ByName("GetNodeDatabaseMetrics")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceGetNodeDatabaseMetricsHistoryHandler := connect.NewUnaryHandler( + NodeServiceGetNodeDatabaseMetricsHistoryProcedure, + svc.GetNodeDatabaseMetricsHistory, + connect.WithSchema(nodeServiceMethods.ByName("GetNodeDatabaseMetricsHistory")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceEnableNodeDatabaseStatsHandler := connect.NewUnaryHandler( + NodeServiceEnableNodeDatabaseStatsProcedure, + svc.EnableNodeDatabaseStats, + connect.WithSchema(nodeServiceMethods.ByName("EnableNodeDatabaseStats")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceGetNodePgBouncerStatsHandler := connect.NewUnaryHandler( + NodeServiceGetNodePgBouncerStatsProcedure, + svc.GetNodePgBouncerStats, + connect.WithSchema(nodeServiceMethods.ByName("GetNodePgBouncerStats")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceGenerateNodeRegistrationKeyHandler := connect.NewUnaryHandler( + NodeServiceGenerateNodeRegistrationKeyProcedure, + svc.GenerateNodeRegistrationKey, + connect.WithSchema(nodeServiceMethods.ByName("GenerateNodeRegistrationKey")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceListNodeRegistrationsHandler := connect.NewUnaryHandler( + NodeServiceListNodeRegistrationsProcedure, + svc.ListNodeRegistrations, + connect.WithSchema(nodeServiceMethods.ByName("ListNodeRegistrations")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceDeleteNodeRegistrationHandler := connect.NewUnaryHandler( + NodeServiceDeleteNodeRegistrationProcedure, + svc.DeleteNodeRegistration, + connect.WithSchema(nodeServiceMethods.ByName("DeleteNodeRegistration")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceRegisterNodeHandler := connect.NewUnaryHandler( + NodeServiceRegisterNodeProcedure, + svc.RegisterNode, + connect.WithSchema(nodeServiceMethods.ByName("RegisterNode")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceSuggestTenantDBBudgetHandler := connect.NewUnaryHandler( + NodeServiceSuggestTenantDBBudgetProcedure, + svc.SuggestTenantDBBudget, + connect.WithSchema(nodeServiceMethods.ByName("SuggestTenantDBBudget")), + connect.WithHandlerOptions(opts...), + ) + nodeServiceConfigureTenantDBHandler := connect.NewUnaryHandler( + NodeServiceConfigureTenantDBProcedure, + svc.ConfigureTenantDB, + connect.WithSchema(nodeServiceMethods.ByName("ConfigureTenantDB")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.NodeService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case NodeServiceCreateNodeProcedure: + nodeServiceCreateNodeHandler.ServeHTTP(w, r) + case NodeServiceGetNodeProcedure: + nodeServiceGetNodeHandler.ServeHTTP(w, r) + case NodeServiceListNodesProcedure: + nodeServiceListNodesHandler.ServeHTTP(w, r) + case NodeServiceUpdateNodeProcedure: + nodeServiceUpdateNodeHandler.ServeHTTP(w, r) + case NodeServiceUpdateNodeSSHKeyProcedure: + nodeServiceUpdateNodeSSHKeyHandler.ServeHTTP(w, r) + case NodeServiceDeleteNodeProcedure: + nodeServiceDeleteNodeHandler.ServeHTTP(w, r) + case NodeServiceHealthCheckNodeProcedure: + nodeServiceHealthCheckNodeHandler.ServeHTTP(w, r) + case NodeServiceDrainNodeProcedure: + nodeServiceDrainNodeHandler.ServeHTTP(w, r) + case NodeServiceActivateNodeProcedure: + nodeServiceActivateNodeHandler.ServeHTTP(w, r) + case NodeServiceOfflineNodeProcedure: + nodeServiceOfflineNodeHandler.ServeHTTP(w, r) + case NodeServiceTestNodeConnectionProcedure: + nodeServiceTestNodeConnectionHandler.ServeHTTP(w, r) + case NodeServiceDeployTenantDBProcedure: + nodeServiceDeployTenantDBHandler.ServeHTTP(w, r) + case NodeServiceGetNodeDatabaseMetricsProcedure: + nodeServiceGetNodeDatabaseMetricsHandler.ServeHTTP(w, r) + case NodeServiceGetNodeDatabaseMetricsHistoryProcedure: + nodeServiceGetNodeDatabaseMetricsHistoryHandler.ServeHTTP(w, r) + case NodeServiceEnableNodeDatabaseStatsProcedure: + nodeServiceEnableNodeDatabaseStatsHandler.ServeHTTP(w, r) + case NodeServiceGetNodePgBouncerStatsProcedure: + nodeServiceGetNodePgBouncerStatsHandler.ServeHTTP(w, r) + case NodeServiceGenerateNodeRegistrationKeyProcedure: + nodeServiceGenerateNodeRegistrationKeyHandler.ServeHTTP(w, r) + case NodeServiceListNodeRegistrationsProcedure: + nodeServiceListNodeRegistrationsHandler.ServeHTTP(w, r) + case NodeServiceDeleteNodeRegistrationProcedure: + nodeServiceDeleteNodeRegistrationHandler.ServeHTTP(w, r) + case NodeServiceRegisterNodeProcedure: + nodeServiceRegisterNodeHandler.ServeHTTP(w, r) + case NodeServiceSuggestTenantDBBudgetProcedure: + nodeServiceSuggestTenantDBBudgetHandler.ServeHTTP(w, r) + case NodeServiceConfigureTenantDBProcedure: + nodeServiceConfigureTenantDBHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedNodeServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedNodeServiceHandler struct{} + +func (UnimplementedNodeServiceHandler) CreateNode(context.Context, *connect.Request[v1.CreateNodeRequest]) (*connect.Response[v1.CreateNodeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.CreateNode is not implemented")) +} + +func (UnimplementedNodeServiceHandler) GetNode(context.Context, *connect.Request[v1.GetNodeRequest]) (*connect.Response[v1.GetNodeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.GetNode is not implemented")) +} + +func (UnimplementedNodeServiceHandler) ListNodes(context.Context, *connect.Request[v1.ListNodesRequest]) (*connect.Response[v1.ListNodesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.ListNodes is not implemented")) +} + +func (UnimplementedNodeServiceHandler) UpdateNode(context.Context, *connect.Request[v1.UpdateNodeRequest]) (*connect.Response[v1.UpdateNodeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.UpdateNode is not implemented")) +} + +func (UnimplementedNodeServiceHandler) UpdateNodeSSHKey(context.Context, *connect.Request[v1.UpdateNodeSSHKeyRequest]) (*connect.Response[v1.UpdateNodeSSHKeyResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.UpdateNodeSSHKey is not implemented")) +} + +func (UnimplementedNodeServiceHandler) DeleteNode(context.Context, *connect.Request[v1.DeleteNodeRequest]) (*connect.Response[v1.DeleteNodeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.DeleteNode is not implemented")) +} + +func (UnimplementedNodeServiceHandler) HealthCheckNode(context.Context, *connect.Request[v1.HealthCheckNodeRequest]) (*connect.Response[v1.HealthCheckNodeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.HealthCheckNode is not implemented")) +} + +func (UnimplementedNodeServiceHandler) DrainNode(context.Context, *connect.Request[v1.DrainNodeRequest]) (*connect.Response[v1.DrainNodeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.DrainNode is not implemented")) +} + +func (UnimplementedNodeServiceHandler) ActivateNode(context.Context, *connect.Request[v1.ActivateNodeRequest]) (*connect.Response[v1.ActivateNodeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.ActivateNode is not implemented")) +} + +func (UnimplementedNodeServiceHandler) OfflineNode(context.Context, *connect.Request[v1.OfflineNodeRequest]) (*connect.Response[v1.OfflineNodeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.OfflineNode is not implemented")) +} + +func (UnimplementedNodeServiceHandler) TestNodeConnection(context.Context, *connect.Request[v1.TestNodeConnectionRequest]) (*connect.Response[v1.TestNodeConnectionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.TestNodeConnection is not implemented")) +} + +func (UnimplementedNodeServiceHandler) DeployTenantDB(context.Context, *connect.Request[v1.DeployTenantDBRequest]) (*connect.Response[v1.DeployTenantDBResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.DeployTenantDB is not implemented")) +} + +func (UnimplementedNodeServiceHandler) GetNodeDatabaseMetrics(context.Context, *connect.Request[v1.GetNodeDatabaseMetricsRequest]) (*connect.Response[v1.GetNodeDatabaseMetricsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.GetNodeDatabaseMetrics is not implemented")) +} + +func (UnimplementedNodeServiceHandler) GetNodeDatabaseMetricsHistory(context.Context, *connect.Request[v1.GetNodeDatabaseMetricsHistoryRequest]) (*connect.Response[v1.GetNodeDatabaseMetricsHistoryResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.GetNodeDatabaseMetricsHistory is not implemented")) +} + +func (UnimplementedNodeServiceHandler) EnableNodeDatabaseStats(context.Context, *connect.Request[v1.EnableNodeDatabaseStatsRequest]) (*connect.Response[v1.EnableNodeDatabaseStatsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.EnableNodeDatabaseStats is not implemented")) +} + +func (UnimplementedNodeServiceHandler) GetNodePgBouncerStats(context.Context, *connect.Request[v1.GetNodePgBouncerStatsRequest]) (*connect.Response[v1.GetNodePgBouncerStatsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.GetNodePgBouncerStats is not implemented")) +} + +func (UnimplementedNodeServiceHandler) GenerateNodeRegistrationKey(context.Context, *connect.Request[v1.GenerateNodeRegistrationKeyRequest]) (*connect.Response[v1.GenerateNodeRegistrationKeyResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.GenerateNodeRegistrationKey is not implemented")) +} + +func (UnimplementedNodeServiceHandler) ListNodeRegistrations(context.Context, *connect.Request[v1.ListNodeRegistrationsRequest]) (*connect.Response[v1.ListNodeRegistrationsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.ListNodeRegistrations is not implemented")) +} + +func (UnimplementedNodeServiceHandler) DeleteNodeRegistration(context.Context, *connect.Request[v1.DeleteNodeRegistrationRequest]) (*connect.Response[v1.DeleteNodeRegistrationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.DeleteNodeRegistration is not implemented")) +} + +func (UnimplementedNodeServiceHandler) RegisterNode(context.Context, *connect.Request[v1.RegisterNodeRequest]) (*connect.Response[v1.RegisterNodeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.RegisterNode is not implemented")) +} + +func (UnimplementedNodeServiceHandler) SuggestTenantDBBudget(context.Context, *connect.Request[v1.SuggestTenantDBBudgetRequest]) (*connect.Response[v1.SuggestTenantDBBudgetResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.SuggestTenantDBBudget is not implemented")) +} + +func (UnimplementedNodeServiceHandler) ConfigureTenantDB(context.Context, *connect.Request[v1.ConfigureTenantDBRequest]) (*connect.Response[v1.ConfigureTenantDBResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.NodeService.ConfigureTenantDB is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/platform_backups.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/platform_backups.connect.go new file mode 100644 index 0000000..1b68acf --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/platform_backups.connect.go @@ -0,0 +1,402 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/platform_backups.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // PlatformBackupServiceName is the fully-qualified name of the PlatformBackupService service. + PlatformBackupServiceName = "orchestrator.v1.PlatformBackupService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // PlatformBackupServiceListPlatformBackupsProcedure is the fully-qualified name of the + // PlatformBackupService's ListPlatformBackups RPC. + PlatformBackupServiceListPlatformBackupsProcedure = "/orchestrator.v1.PlatformBackupService/ListPlatformBackups" + // PlatformBackupServiceGetPlatformBackupDownloadUrlProcedure is the fully-qualified name of the + // PlatformBackupService's GetPlatformBackupDownloadUrl RPC. + PlatformBackupServiceGetPlatformBackupDownloadUrlProcedure = "/orchestrator.v1.PlatformBackupService/GetPlatformBackupDownloadUrl" + // PlatformBackupServiceDeletePlatformBackupProcedure is the fully-qualified name of the + // PlatformBackupService's DeletePlatformBackup RPC. + PlatformBackupServiceDeletePlatformBackupProcedure = "/orchestrator.v1.PlatformBackupService/DeletePlatformBackup" + // PlatformBackupServiceStartBackupSweepProcedure is the fully-qualified name of the + // PlatformBackupService's StartBackupSweep RPC. + PlatformBackupServiceStartBackupSweepProcedure = "/orchestrator.v1.PlatformBackupService/StartBackupSweep" + // PlatformBackupServiceListBackupSweepsProcedure is the fully-qualified name of the + // PlatformBackupService's ListBackupSweeps RPC. + PlatformBackupServiceListBackupSweepsProcedure = "/orchestrator.v1.PlatformBackupService/ListBackupSweeps" + // PlatformBackupServiceGetPlatformBackupRetentionProcedure is the fully-qualified name of the + // PlatformBackupService's GetPlatformBackupRetention RPC. + PlatformBackupServiceGetPlatformBackupRetentionProcedure = "/orchestrator.v1.PlatformBackupService/GetPlatformBackupRetention" + // PlatformBackupServiceSetPlatformBackupRetentionProcedure is the fully-qualified name of the + // PlatformBackupService's SetPlatformBackupRetention RPC. + PlatformBackupServiceSetPlatformBackupRetentionProcedure = "/orchestrator.v1.PlatformBackupService/SetPlatformBackupRetention" + // PlatformBackupServiceRestorePlatformBackupProcedure is the fully-qualified name of the + // PlatformBackupService's RestorePlatformBackup RPC. + PlatformBackupServiceRestorePlatformBackupProcedure = "/orchestrator.v1.PlatformBackupService/RestorePlatformBackup" + // PlatformBackupServiceGetPlatformBackupDestinationProcedure is the fully-qualified name of the + // PlatformBackupService's GetPlatformBackupDestination RPC. + PlatformBackupServiceGetPlatformBackupDestinationProcedure = "/orchestrator.v1.PlatformBackupService/GetPlatformBackupDestination" + // PlatformBackupServiceSetPlatformBackupDestinationProcedure is the fully-qualified name of the + // PlatformBackupService's SetPlatformBackupDestination RPC. + PlatformBackupServiceSetPlatformBackupDestinationProcedure = "/orchestrator.v1.PlatformBackupService/SetPlatformBackupDestination" +) + +// PlatformBackupServiceClient is a client for the orchestrator.v1.PlatformBackupService service. +type PlatformBackupServiceClient interface { + // List catalog rows with optional filters + offset pagination. + ListPlatformBackups(context.Context, *connect.Request[v1.ListPlatformBackupsRequest]) (*connect.Response[v1.ListPlatformBackupsResponse], error) + // Presigned S3 download URL (15-minute expiry) for a completed backup. + GetPlatformBackupDownloadUrl(context.Context, *connect.Request[v1.GetPlatformBackupDownloadUrlRequest]) (*connect.Response[v1.GetPlatformBackupDownloadUrlResponse], error) + // Delete a completed backup (S3 object + catalog row). + DeletePlatformBackup(context.Context, *connect.Request[v1.DeletePlatformBackupRequest]) (*connect.Response[v1.DeletePlatformBackupResponse], error) + // Start a backup sweep (environment / node / instance) and return the sweep id. + StartBackupSweep(context.Context, *connect.Request[v1.StartBackupSweepRequest]) (*connect.Response[v1.StartBackupSweepResponse], error) + // List sweeps with optional scope/trigger filters + offset pagination. + ListBackupSweeps(context.Context, *connect.Request[v1.ListBackupSweepsRequest]) (*connect.Response[v1.ListBackupSweepsResponse], error) + // Get the global retention policy, or the effective policy for an instance. + GetPlatformBackupRetention(context.Context, *connect.Request[v1.GetPlatformBackupRetentionRequest]) (*connect.Response[v1.GetPlatformBackupRetentionResponse], error) + // Upsert the global retention policy or a per-instance override. + SetPlatformBackupRetention(context.Context, *connect.Request[v1.SetPlatformBackupRetentionRequest]) (*connect.Response[v1.SetPlatformBackupRetentionResponse], error) + // Restore a backup into a target instance (Task 12 implements the body). + RestorePlatformBackup(context.Context, *connect.Request[v1.RestorePlatformBackupRequest]) (*connect.Response[v1.RestorePlatformBackupResponse], error) + // Get the current backup destination: non-secret S3 fields plus *_set flags for + // the two secrets (never their values). Superadmin only. + GetPlatformBackupDestination(context.Context, *connect.Request[v1.GetPlatformBackupDestinationRequest]) (*connect.Response[v1.PlatformBackupDestination], error) + // Set the backup destination: non-secrets persisted to platform_settings, + // secrets patched into Vault (empty = keep existing), then a live reload with + // no restart. Returns the same non-secret view as Get. Superadmin only. + SetPlatformBackupDestination(context.Context, *connect.Request[v1.SetPlatformBackupDestinationRequest]) (*connect.Response[v1.PlatformBackupDestination], error) +} + +// NewPlatformBackupServiceClient constructs a client for the orchestrator.v1.PlatformBackupService +// service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for +// gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply +// the connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewPlatformBackupServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) PlatformBackupServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + platformBackupServiceMethods := v1.File_orchestrator_v1_platform_backups_proto.Services().ByName("PlatformBackupService").Methods() + return &platformBackupServiceClient{ + listPlatformBackups: connect.NewClient[v1.ListPlatformBackupsRequest, v1.ListPlatformBackupsResponse]( + httpClient, + baseURL+PlatformBackupServiceListPlatformBackupsProcedure, + connect.WithSchema(platformBackupServiceMethods.ByName("ListPlatformBackups")), + connect.WithClientOptions(opts...), + ), + getPlatformBackupDownloadUrl: connect.NewClient[v1.GetPlatformBackupDownloadUrlRequest, v1.GetPlatformBackupDownloadUrlResponse]( + httpClient, + baseURL+PlatformBackupServiceGetPlatformBackupDownloadUrlProcedure, + connect.WithSchema(platformBackupServiceMethods.ByName("GetPlatformBackupDownloadUrl")), + connect.WithClientOptions(opts...), + ), + deletePlatformBackup: connect.NewClient[v1.DeletePlatformBackupRequest, v1.DeletePlatformBackupResponse]( + httpClient, + baseURL+PlatformBackupServiceDeletePlatformBackupProcedure, + connect.WithSchema(platformBackupServiceMethods.ByName("DeletePlatformBackup")), + connect.WithClientOptions(opts...), + ), + startBackupSweep: connect.NewClient[v1.StartBackupSweepRequest, v1.StartBackupSweepResponse]( + httpClient, + baseURL+PlatformBackupServiceStartBackupSweepProcedure, + connect.WithSchema(platformBackupServiceMethods.ByName("StartBackupSweep")), + connect.WithClientOptions(opts...), + ), + listBackupSweeps: connect.NewClient[v1.ListBackupSweepsRequest, v1.ListBackupSweepsResponse]( + httpClient, + baseURL+PlatformBackupServiceListBackupSweepsProcedure, + connect.WithSchema(platformBackupServiceMethods.ByName("ListBackupSweeps")), + connect.WithClientOptions(opts...), + ), + getPlatformBackupRetention: connect.NewClient[v1.GetPlatformBackupRetentionRequest, v1.GetPlatformBackupRetentionResponse]( + httpClient, + baseURL+PlatformBackupServiceGetPlatformBackupRetentionProcedure, + connect.WithSchema(platformBackupServiceMethods.ByName("GetPlatformBackupRetention")), + connect.WithClientOptions(opts...), + ), + setPlatformBackupRetention: connect.NewClient[v1.SetPlatformBackupRetentionRequest, v1.SetPlatformBackupRetentionResponse]( + httpClient, + baseURL+PlatformBackupServiceSetPlatformBackupRetentionProcedure, + connect.WithSchema(platformBackupServiceMethods.ByName("SetPlatformBackupRetention")), + connect.WithClientOptions(opts...), + ), + restorePlatformBackup: connect.NewClient[v1.RestorePlatformBackupRequest, v1.RestorePlatformBackupResponse]( + httpClient, + baseURL+PlatformBackupServiceRestorePlatformBackupProcedure, + connect.WithSchema(platformBackupServiceMethods.ByName("RestorePlatformBackup")), + connect.WithClientOptions(opts...), + ), + getPlatformBackupDestination: connect.NewClient[v1.GetPlatformBackupDestinationRequest, v1.PlatformBackupDestination]( + httpClient, + baseURL+PlatformBackupServiceGetPlatformBackupDestinationProcedure, + connect.WithSchema(platformBackupServiceMethods.ByName("GetPlatformBackupDestination")), + connect.WithClientOptions(opts...), + ), + setPlatformBackupDestination: connect.NewClient[v1.SetPlatformBackupDestinationRequest, v1.PlatformBackupDestination]( + httpClient, + baseURL+PlatformBackupServiceSetPlatformBackupDestinationProcedure, + connect.WithSchema(platformBackupServiceMethods.ByName("SetPlatformBackupDestination")), + connect.WithClientOptions(opts...), + ), + } +} + +// platformBackupServiceClient implements PlatformBackupServiceClient. +type platformBackupServiceClient struct { + listPlatformBackups *connect.Client[v1.ListPlatformBackupsRequest, v1.ListPlatformBackupsResponse] + getPlatformBackupDownloadUrl *connect.Client[v1.GetPlatformBackupDownloadUrlRequest, v1.GetPlatformBackupDownloadUrlResponse] + deletePlatformBackup *connect.Client[v1.DeletePlatformBackupRequest, v1.DeletePlatformBackupResponse] + startBackupSweep *connect.Client[v1.StartBackupSweepRequest, v1.StartBackupSweepResponse] + listBackupSweeps *connect.Client[v1.ListBackupSweepsRequest, v1.ListBackupSweepsResponse] + getPlatformBackupRetention *connect.Client[v1.GetPlatformBackupRetentionRequest, v1.GetPlatformBackupRetentionResponse] + setPlatformBackupRetention *connect.Client[v1.SetPlatformBackupRetentionRequest, v1.SetPlatformBackupRetentionResponse] + restorePlatformBackup *connect.Client[v1.RestorePlatformBackupRequest, v1.RestorePlatformBackupResponse] + getPlatformBackupDestination *connect.Client[v1.GetPlatformBackupDestinationRequest, v1.PlatformBackupDestination] + setPlatformBackupDestination *connect.Client[v1.SetPlatformBackupDestinationRequest, v1.PlatformBackupDestination] +} + +// ListPlatformBackups calls orchestrator.v1.PlatformBackupService.ListPlatformBackups. +func (c *platformBackupServiceClient) ListPlatformBackups(ctx context.Context, req *connect.Request[v1.ListPlatformBackupsRequest]) (*connect.Response[v1.ListPlatformBackupsResponse], error) { + return c.listPlatformBackups.CallUnary(ctx, req) +} + +// GetPlatformBackupDownloadUrl calls +// orchestrator.v1.PlatformBackupService.GetPlatformBackupDownloadUrl. +func (c *platformBackupServiceClient) GetPlatformBackupDownloadUrl(ctx context.Context, req *connect.Request[v1.GetPlatformBackupDownloadUrlRequest]) (*connect.Response[v1.GetPlatformBackupDownloadUrlResponse], error) { + return c.getPlatformBackupDownloadUrl.CallUnary(ctx, req) +} + +// DeletePlatformBackup calls orchestrator.v1.PlatformBackupService.DeletePlatformBackup. +func (c *platformBackupServiceClient) DeletePlatformBackup(ctx context.Context, req *connect.Request[v1.DeletePlatformBackupRequest]) (*connect.Response[v1.DeletePlatformBackupResponse], error) { + return c.deletePlatformBackup.CallUnary(ctx, req) +} + +// StartBackupSweep calls orchestrator.v1.PlatformBackupService.StartBackupSweep. +func (c *platformBackupServiceClient) StartBackupSweep(ctx context.Context, req *connect.Request[v1.StartBackupSweepRequest]) (*connect.Response[v1.StartBackupSweepResponse], error) { + return c.startBackupSweep.CallUnary(ctx, req) +} + +// ListBackupSweeps calls orchestrator.v1.PlatformBackupService.ListBackupSweeps. +func (c *platformBackupServiceClient) ListBackupSweeps(ctx context.Context, req *connect.Request[v1.ListBackupSweepsRequest]) (*connect.Response[v1.ListBackupSweepsResponse], error) { + return c.listBackupSweeps.CallUnary(ctx, req) +} + +// GetPlatformBackupRetention calls +// orchestrator.v1.PlatformBackupService.GetPlatformBackupRetention. +func (c *platformBackupServiceClient) GetPlatformBackupRetention(ctx context.Context, req *connect.Request[v1.GetPlatformBackupRetentionRequest]) (*connect.Response[v1.GetPlatformBackupRetentionResponse], error) { + return c.getPlatformBackupRetention.CallUnary(ctx, req) +} + +// SetPlatformBackupRetention calls +// orchestrator.v1.PlatformBackupService.SetPlatformBackupRetention. +func (c *platformBackupServiceClient) SetPlatformBackupRetention(ctx context.Context, req *connect.Request[v1.SetPlatformBackupRetentionRequest]) (*connect.Response[v1.SetPlatformBackupRetentionResponse], error) { + return c.setPlatformBackupRetention.CallUnary(ctx, req) +} + +// RestorePlatformBackup calls orchestrator.v1.PlatformBackupService.RestorePlatformBackup. +func (c *platformBackupServiceClient) RestorePlatformBackup(ctx context.Context, req *connect.Request[v1.RestorePlatformBackupRequest]) (*connect.Response[v1.RestorePlatformBackupResponse], error) { + return c.restorePlatformBackup.CallUnary(ctx, req) +} + +// GetPlatformBackupDestination calls +// orchestrator.v1.PlatformBackupService.GetPlatformBackupDestination. +func (c *platformBackupServiceClient) GetPlatformBackupDestination(ctx context.Context, req *connect.Request[v1.GetPlatformBackupDestinationRequest]) (*connect.Response[v1.PlatformBackupDestination], error) { + return c.getPlatformBackupDestination.CallUnary(ctx, req) +} + +// SetPlatformBackupDestination calls +// orchestrator.v1.PlatformBackupService.SetPlatformBackupDestination. +func (c *platformBackupServiceClient) SetPlatformBackupDestination(ctx context.Context, req *connect.Request[v1.SetPlatformBackupDestinationRequest]) (*connect.Response[v1.PlatformBackupDestination], error) { + return c.setPlatformBackupDestination.CallUnary(ctx, req) +} + +// PlatformBackupServiceHandler is an implementation of the orchestrator.v1.PlatformBackupService +// service. +type PlatformBackupServiceHandler interface { + // List catalog rows with optional filters + offset pagination. + ListPlatformBackups(context.Context, *connect.Request[v1.ListPlatformBackupsRequest]) (*connect.Response[v1.ListPlatformBackupsResponse], error) + // Presigned S3 download URL (15-minute expiry) for a completed backup. + GetPlatformBackupDownloadUrl(context.Context, *connect.Request[v1.GetPlatformBackupDownloadUrlRequest]) (*connect.Response[v1.GetPlatformBackupDownloadUrlResponse], error) + // Delete a completed backup (S3 object + catalog row). + DeletePlatformBackup(context.Context, *connect.Request[v1.DeletePlatformBackupRequest]) (*connect.Response[v1.DeletePlatformBackupResponse], error) + // Start a backup sweep (environment / node / instance) and return the sweep id. + StartBackupSweep(context.Context, *connect.Request[v1.StartBackupSweepRequest]) (*connect.Response[v1.StartBackupSweepResponse], error) + // List sweeps with optional scope/trigger filters + offset pagination. + ListBackupSweeps(context.Context, *connect.Request[v1.ListBackupSweepsRequest]) (*connect.Response[v1.ListBackupSweepsResponse], error) + // Get the global retention policy, or the effective policy for an instance. + GetPlatformBackupRetention(context.Context, *connect.Request[v1.GetPlatformBackupRetentionRequest]) (*connect.Response[v1.GetPlatformBackupRetentionResponse], error) + // Upsert the global retention policy or a per-instance override. + SetPlatformBackupRetention(context.Context, *connect.Request[v1.SetPlatformBackupRetentionRequest]) (*connect.Response[v1.SetPlatformBackupRetentionResponse], error) + // Restore a backup into a target instance (Task 12 implements the body). + RestorePlatformBackup(context.Context, *connect.Request[v1.RestorePlatformBackupRequest]) (*connect.Response[v1.RestorePlatformBackupResponse], error) + // Get the current backup destination: non-secret S3 fields plus *_set flags for + // the two secrets (never their values). Superadmin only. + GetPlatformBackupDestination(context.Context, *connect.Request[v1.GetPlatformBackupDestinationRequest]) (*connect.Response[v1.PlatformBackupDestination], error) + // Set the backup destination: non-secrets persisted to platform_settings, + // secrets patched into Vault (empty = keep existing), then a live reload with + // no restart. Returns the same non-secret view as Get. Superadmin only. + SetPlatformBackupDestination(context.Context, *connect.Request[v1.SetPlatformBackupDestinationRequest]) (*connect.Response[v1.PlatformBackupDestination], error) +} + +// NewPlatformBackupServiceHandler builds an HTTP handler from the service implementation. It +// returns the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewPlatformBackupServiceHandler(svc PlatformBackupServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + platformBackupServiceMethods := v1.File_orchestrator_v1_platform_backups_proto.Services().ByName("PlatformBackupService").Methods() + platformBackupServiceListPlatformBackupsHandler := connect.NewUnaryHandler( + PlatformBackupServiceListPlatformBackupsProcedure, + svc.ListPlatformBackups, + connect.WithSchema(platformBackupServiceMethods.ByName("ListPlatformBackups")), + connect.WithHandlerOptions(opts...), + ) + platformBackupServiceGetPlatformBackupDownloadUrlHandler := connect.NewUnaryHandler( + PlatformBackupServiceGetPlatformBackupDownloadUrlProcedure, + svc.GetPlatformBackupDownloadUrl, + connect.WithSchema(platformBackupServiceMethods.ByName("GetPlatformBackupDownloadUrl")), + connect.WithHandlerOptions(opts...), + ) + platformBackupServiceDeletePlatformBackupHandler := connect.NewUnaryHandler( + PlatformBackupServiceDeletePlatformBackupProcedure, + svc.DeletePlatformBackup, + connect.WithSchema(platformBackupServiceMethods.ByName("DeletePlatformBackup")), + connect.WithHandlerOptions(opts...), + ) + platformBackupServiceStartBackupSweepHandler := connect.NewUnaryHandler( + PlatformBackupServiceStartBackupSweepProcedure, + svc.StartBackupSweep, + connect.WithSchema(platformBackupServiceMethods.ByName("StartBackupSweep")), + connect.WithHandlerOptions(opts...), + ) + platformBackupServiceListBackupSweepsHandler := connect.NewUnaryHandler( + PlatformBackupServiceListBackupSweepsProcedure, + svc.ListBackupSweeps, + connect.WithSchema(platformBackupServiceMethods.ByName("ListBackupSweeps")), + connect.WithHandlerOptions(opts...), + ) + platformBackupServiceGetPlatformBackupRetentionHandler := connect.NewUnaryHandler( + PlatformBackupServiceGetPlatformBackupRetentionProcedure, + svc.GetPlatformBackupRetention, + connect.WithSchema(platformBackupServiceMethods.ByName("GetPlatformBackupRetention")), + connect.WithHandlerOptions(opts...), + ) + platformBackupServiceSetPlatformBackupRetentionHandler := connect.NewUnaryHandler( + PlatformBackupServiceSetPlatformBackupRetentionProcedure, + svc.SetPlatformBackupRetention, + connect.WithSchema(platformBackupServiceMethods.ByName("SetPlatformBackupRetention")), + connect.WithHandlerOptions(opts...), + ) + platformBackupServiceRestorePlatformBackupHandler := connect.NewUnaryHandler( + PlatformBackupServiceRestorePlatformBackupProcedure, + svc.RestorePlatformBackup, + connect.WithSchema(platformBackupServiceMethods.ByName("RestorePlatformBackup")), + connect.WithHandlerOptions(opts...), + ) + platformBackupServiceGetPlatformBackupDestinationHandler := connect.NewUnaryHandler( + PlatformBackupServiceGetPlatformBackupDestinationProcedure, + svc.GetPlatformBackupDestination, + connect.WithSchema(platformBackupServiceMethods.ByName("GetPlatformBackupDestination")), + connect.WithHandlerOptions(opts...), + ) + platformBackupServiceSetPlatformBackupDestinationHandler := connect.NewUnaryHandler( + PlatformBackupServiceSetPlatformBackupDestinationProcedure, + svc.SetPlatformBackupDestination, + connect.WithSchema(platformBackupServiceMethods.ByName("SetPlatformBackupDestination")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.PlatformBackupService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case PlatformBackupServiceListPlatformBackupsProcedure: + platformBackupServiceListPlatformBackupsHandler.ServeHTTP(w, r) + case PlatformBackupServiceGetPlatformBackupDownloadUrlProcedure: + platformBackupServiceGetPlatformBackupDownloadUrlHandler.ServeHTTP(w, r) + case PlatformBackupServiceDeletePlatformBackupProcedure: + platformBackupServiceDeletePlatformBackupHandler.ServeHTTP(w, r) + case PlatformBackupServiceStartBackupSweepProcedure: + platformBackupServiceStartBackupSweepHandler.ServeHTTP(w, r) + case PlatformBackupServiceListBackupSweepsProcedure: + platformBackupServiceListBackupSweepsHandler.ServeHTTP(w, r) + case PlatformBackupServiceGetPlatformBackupRetentionProcedure: + platformBackupServiceGetPlatformBackupRetentionHandler.ServeHTTP(w, r) + case PlatformBackupServiceSetPlatformBackupRetentionProcedure: + platformBackupServiceSetPlatformBackupRetentionHandler.ServeHTTP(w, r) + case PlatformBackupServiceRestorePlatformBackupProcedure: + platformBackupServiceRestorePlatformBackupHandler.ServeHTTP(w, r) + case PlatformBackupServiceGetPlatformBackupDestinationProcedure: + platformBackupServiceGetPlatformBackupDestinationHandler.ServeHTTP(w, r) + case PlatformBackupServiceSetPlatformBackupDestinationProcedure: + platformBackupServiceSetPlatformBackupDestinationHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedPlatformBackupServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedPlatformBackupServiceHandler struct{} + +func (UnimplementedPlatformBackupServiceHandler) ListPlatformBackups(context.Context, *connect.Request[v1.ListPlatformBackupsRequest]) (*connect.Response[v1.ListPlatformBackupsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PlatformBackupService.ListPlatformBackups is not implemented")) +} + +func (UnimplementedPlatformBackupServiceHandler) GetPlatformBackupDownloadUrl(context.Context, *connect.Request[v1.GetPlatformBackupDownloadUrlRequest]) (*connect.Response[v1.GetPlatformBackupDownloadUrlResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PlatformBackupService.GetPlatformBackupDownloadUrl is not implemented")) +} + +func (UnimplementedPlatformBackupServiceHandler) DeletePlatformBackup(context.Context, *connect.Request[v1.DeletePlatformBackupRequest]) (*connect.Response[v1.DeletePlatformBackupResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PlatformBackupService.DeletePlatformBackup is not implemented")) +} + +func (UnimplementedPlatformBackupServiceHandler) StartBackupSweep(context.Context, *connect.Request[v1.StartBackupSweepRequest]) (*connect.Response[v1.StartBackupSweepResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PlatformBackupService.StartBackupSweep is not implemented")) +} + +func (UnimplementedPlatformBackupServiceHandler) ListBackupSweeps(context.Context, *connect.Request[v1.ListBackupSweepsRequest]) (*connect.Response[v1.ListBackupSweepsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PlatformBackupService.ListBackupSweeps is not implemented")) +} + +func (UnimplementedPlatformBackupServiceHandler) GetPlatformBackupRetention(context.Context, *connect.Request[v1.GetPlatformBackupRetentionRequest]) (*connect.Response[v1.GetPlatformBackupRetentionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PlatformBackupService.GetPlatformBackupRetention is not implemented")) +} + +func (UnimplementedPlatformBackupServiceHandler) SetPlatformBackupRetention(context.Context, *connect.Request[v1.SetPlatformBackupRetentionRequest]) (*connect.Response[v1.SetPlatformBackupRetentionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PlatformBackupService.SetPlatformBackupRetention is not implemented")) +} + +func (UnimplementedPlatformBackupServiceHandler) RestorePlatformBackup(context.Context, *connect.Request[v1.RestorePlatformBackupRequest]) (*connect.Response[v1.RestorePlatformBackupResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PlatformBackupService.RestorePlatformBackup is not implemented")) +} + +func (UnimplementedPlatformBackupServiceHandler) GetPlatformBackupDestination(context.Context, *connect.Request[v1.GetPlatformBackupDestinationRequest]) (*connect.Response[v1.PlatformBackupDestination], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PlatformBackupService.GetPlatformBackupDestination is not implemented")) +} + +func (UnimplementedPlatformBackupServiceHandler) SetPlatformBackupDestination(context.Context, *connect.Request[v1.SetPlatformBackupDestinationRequest]) (*connect.Response[v1.PlatformBackupDestination], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PlatformBackupService.SetPlatformBackupDestination is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/plugin_builds.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/plugin_builds.connect.go new file mode 100644 index 0000000..91c2be5 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/plugin_builds.connect.go @@ -0,0 +1,115 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/plugin_builds.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // PluginBuildServiceName is the fully-qualified name of the PluginBuildService service. + PluginBuildServiceName = "orchestrator.v1.PluginBuildService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // PluginBuildServiceBuildPluginImageProcedure is the fully-qualified name of the + // PluginBuildService's BuildPluginImage RPC. + PluginBuildServiceBuildPluginImageProcedure = "/orchestrator.v1.PluginBuildService/BuildPluginImage" +) + +// PluginBuildServiceClient is a client for the orchestrator.v1.PluginBuildService service. +type PluginBuildServiceClient interface { + // Build a custom CMS image with the specified plugins injected. + // Called by a CMS instance (authenticated via X-CMS-Secret). + // Streams build progress and returns the built image tag in the final message. + BuildPluginImage(context.Context, *connect.Request[v1.BuildPluginImageRequest]) (*connect.ServerStreamForClient[v1.OperationProgress], error) +} + +// NewPluginBuildServiceClient constructs a client for the orchestrator.v1.PluginBuildService +// service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for +// gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply +// the connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewPluginBuildServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) PluginBuildServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + pluginBuildServiceMethods := v1.File_orchestrator_v1_plugin_builds_proto.Services().ByName("PluginBuildService").Methods() + return &pluginBuildServiceClient{ + buildPluginImage: connect.NewClient[v1.BuildPluginImageRequest, v1.OperationProgress]( + httpClient, + baseURL+PluginBuildServiceBuildPluginImageProcedure, + connect.WithSchema(pluginBuildServiceMethods.ByName("BuildPluginImage")), + connect.WithClientOptions(opts...), + ), + } +} + +// pluginBuildServiceClient implements PluginBuildServiceClient. +type pluginBuildServiceClient struct { + buildPluginImage *connect.Client[v1.BuildPluginImageRequest, v1.OperationProgress] +} + +// BuildPluginImage calls orchestrator.v1.PluginBuildService.BuildPluginImage. +func (c *pluginBuildServiceClient) BuildPluginImage(ctx context.Context, req *connect.Request[v1.BuildPluginImageRequest]) (*connect.ServerStreamForClient[v1.OperationProgress], error) { + return c.buildPluginImage.CallServerStream(ctx, req) +} + +// PluginBuildServiceHandler is an implementation of the orchestrator.v1.PluginBuildService service. +type PluginBuildServiceHandler interface { + // Build a custom CMS image with the specified plugins injected. + // Called by a CMS instance (authenticated via X-CMS-Secret). + // Streams build progress and returns the built image tag in the final message. + BuildPluginImage(context.Context, *connect.Request[v1.BuildPluginImageRequest], *connect.ServerStream[v1.OperationProgress]) error +} + +// NewPluginBuildServiceHandler builds an HTTP handler from the service implementation. It returns +// the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewPluginBuildServiceHandler(svc PluginBuildServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + pluginBuildServiceMethods := v1.File_orchestrator_v1_plugin_builds_proto.Services().ByName("PluginBuildService").Methods() + pluginBuildServiceBuildPluginImageHandler := connect.NewServerStreamHandler( + PluginBuildServiceBuildPluginImageProcedure, + svc.BuildPluginImage, + connect.WithSchema(pluginBuildServiceMethods.ByName("BuildPluginImage")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.PluginBuildService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case PluginBuildServiceBuildPluginImageProcedure: + pluginBuildServiceBuildPluginImageHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedPluginBuildServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedPluginBuildServiceHandler struct{} + +func (UnimplementedPluginBuildServiceHandler) BuildPluginImage(context.Context, *connect.Request[v1.BuildPluginImageRequest], *connect.ServerStream[v1.OperationProgress]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginBuildService.BuildPluginImage is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/plugin_registry.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/plugin_registry.connect.go new file mode 100644 index 0000000..0a864dd --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/plugin_registry.connect.go @@ -0,0 +1,1992 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/plugin_registry.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // PluginScopeServiceName is the fully-qualified name of the PluginScopeService service. + PluginScopeServiceName = "orchestrator.v1.PluginScopeService" + // PluginRegistryServiceName is the fully-qualified name of the PluginRegistryService service. + PluginRegistryServiceName = "orchestrator.v1.PluginRegistryService" + // PluginModerationServiceName is the fully-qualified name of the PluginModerationService service. + PluginModerationServiceName = "orchestrator.v1.PluginModerationService" + // PluginGalleryServiceName is the fully-qualified name of the PluginGalleryService service. + PluginGalleryServiceName = "orchestrator.v1.PluginGalleryService" + // PluginReviewServiceName is the fully-qualified name of the PluginReviewService service. + PluginReviewServiceName = "orchestrator.v1.PluginReviewService" + // PluginPublishServiceName is the fully-qualified name of the PluginPublishService service. + PluginPublishServiceName = "orchestrator.v1.PluginPublishService" + // PluginAuthServiceName is the fully-qualified name of the PluginAuthService service. + PluginAuthServiceName = "orchestrator.v1.PluginAuthService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // PluginScopeServiceCreateScopeProcedure is the fully-qualified name of the PluginScopeService's + // CreateScope RPC. + PluginScopeServiceCreateScopeProcedure = "/orchestrator.v1.PluginScopeService/CreateScope" + // PluginScopeServiceListMyScopesProcedure is the fully-qualified name of the PluginScopeService's + // ListMyScopes RPC. + PluginScopeServiceListMyScopesProcedure = "/orchestrator.v1.PluginScopeService/ListMyScopes" + // PluginScopeServiceGetScopeProcedure is the fully-qualified name of the PluginScopeService's + // GetScope RPC. + PluginScopeServiceGetScopeProcedure = "/orchestrator.v1.PluginScopeService/GetScope" + // PluginScopeServiceListMyPluginsProcedure is the fully-qualified name of the PluginScopeService's + // ListMyPlugins RPC. + PluginScopeServiceListMyPluginsProcedure = "/orchestrator.v1.PluginScopeService/ListMyPlugins" + // PluginRegistryServiceCreatePluginProcedure is the fully-qualified name of the + // PluginRegistryService's CreatePlugin RPC. + PluginRegistryServiceCreatePluginProcedure = "/orchestrator.v1.PluginRegistryService/CreatePlugin" + // PluginRegistryServiceGetPluginProcedure is the fully-qualified name of the + // PluginRegistryService's GetPlugin RPC. + PluginRegistryServiceGetPluginProcedure = "/orchestrator.v1.PluginRegistryService/GetPlugin" + // PluginRegistryServiceListPluginsProcedure is the fully-qualified name of the + // PluginRegistryService's ListPlugins RPC. + PluginRegistryServiceListPluginsProcedure = "/orchestrator.v1.PluginRegistryService/ListPlugins" + // PluginRegistryServiceGetVersionProcedure is the fully-qualified name of the + // PluginRegistryService's GetVersion RPC. + PluginRegistryServiceGetVersionProcedure = "/orchestrator.v1.PluginRegistryService/GetVersion" + // PluginRegistryServiceResolveInstallProcedure is the fully-qualified name of the + // PluginRegistryService's ResolveInstall RPC. + PluginRegistryServiceResolveInstallProcedure = "/orchestrator.v1.PluginRegistryService/ResolveInstall" + // PluginRegistryServiceListCategoriesProcedure is the fully-qualified name of the + // PluginRegistryService's ListCategories RPC. + PluginRegistryServiceListCategoriesProcedure = "/orchestrator.v1.PluginRegistryService/ListCategories" + // PluginRegistryServiceListTagsProcedure is the fully-qualified name of the PluginRegistryService's + // ListTags RPC. + PluginRegistryServiceListTagsProcedure = "/orchestrator.v1.PluginRegistryService/ListTags" + // PluginRegistryServiceSubmitForReviewProcedure is the fully-qualified name of the + // PluginRegistryService's SubmitForReview RPC. + PluginRegistryServiceSubmitForReviewProcedure = "/orchestrator.v1.PluginRegistryService/SubmitForReview" + // PluginRegistryServiceListPrivatePluginsProcedure is the fully-qualified name of the + // PluginRegistryService's ListPrivatePlugins RPC. + PluginRegistryServiceListPrivatePluginsProcedure = "/orchestrator.v1.PluginRegistryService/ListPrivatePlugins" + // PluginRegistryServiceDeletePrivatePluginProcedure is the fully-qualified name of the + // PluginRegistryService's DeletePrivatePlugin RPC. + PluginRegistryServiceDeletePrivatePluginProcedure = "/orchestrator.v1.PluginRegistryService/DeletePrivatePlugin" + // PluginRegistryServiceDeletePrivatePluginVersionProcedure is the fully-qualified name of the + // PluginRegistryService's DeletePrivatePluginVersion RPC. + PluginRegistryServiceDeletePrivatePluginVersionProcedure = "/orchestrator.v1.PluginRegistryService/DeletePrivatePluginVersion" + // PluginRegistryServiceListPrivatePluginInstallSitesProcedure is the fully-qualified name of the + // PluginRegistryService's ListPrivatePluginInstallSites RPC. + PluginRegistryServiceListPrivatePluginInstallSitesProcedure = "/orchestrator.v1.PluginRegistryService/ListPrivatePluginInstallSites" + // PluginRegistryServiceListPrivatePluginsForInstanceProcedure is the fully-qualified name of the + // PluginRegistryService's ListPrivatePluginsForInstance RPC. + PluginRegistryServiceListPrivatePluginsForInstanceProcedure = "/orchestrator.v1.PluginRegistryService/ListPrivatePluginsForInstance" + // PluginRegistryServiceResolveInstallForInstanceProcedure is the fully-qualified name of the + // PluginRegistryService's ResolveInstallForInstance RPC. + PluginRegistryServiceResolveInstallForInstanceProcedure = "/orchestrator.v1.PluginRegistryService/ResolveInstallForInstance" + // PluginRegistryServiceConfirmPluginInstallForInstanceProcedure is the fully-qualified name of the + // PluginRegistryService's ConfirmPluginInstallForInstance RPC. + PluginRegistryServiceConfirmPluginInstallForInstanceProcedure = "/orchestrator.v1.PluginRegistryService/ConfirmPluginInstallForInstance" + // PluginModerationServiceListPendingReviewsProcedure is the fully-qualified name of the + // PluginModerationService's ListPendingReviews RPC. + PluginModerationServiceListPendingReviewsProcedure = "/orchestrator.v1.PluginModerationService/ListPendingReviews" + // PluginModerationServiceApproveSubmissionProcedure is the fully-qualified name of the + // PluginModerationService's ApproveSubmission RPC. + PluginModerationServiceApproveSubmissionProcedure = "/orchestrator.v1.PluginModerationService/ApproveSubmission" + // PluginModerationServiceRejectSubmissionProcedure is the fully-qualified name of the + // PluginModerationService's RejectSubmission RPC. + PluginModerationServiceRejectSubmissionProcedure = "/orchestrator.v1.PluginModerationService/RejectSubmission" + // PluginModerationServiceRequestChangesProcedure is the fully-qualified name of the + // PluginModerationService's RequestChanges RPC. + PluginModerationServiceRequestChangesProcedure = "/orchestrator.v1.PluginModerationService/RequestChanges" + // PluginModerationServiceUnpublishPluginProcedure is the fully-qualified name of the + // PluginModerationService's UnpublishPlugin RPC. + PluginModerationServiceUnpublishPluginProcedure = "/orchestrator.v1.PluginModerationService/UnpublishPlugin" + // PluginModerationServiceTakedownPluginProcedure is the fully-qualified name of the + // PluginModerationService's TakedownPlugin RPC. + PluginModerationServiceTakedownPluginProcedure = "/orchestrator.v1.PluginModerationService/TakedownPlugin" + // PluginModerationServiceRestorePluginProcedure is the fully-qualified name of the + // PluginModerationService's RestorePlugin RPC. + PluginModerationServiceRestorePluginProcedure = "/orchestrator.v1.PluginModerationService/RestorePlugin" + // PluginModerationServiceYankVersionProcedure is the fully-qualified name of the + // PluginModerationService's YankVersion RPC. + PluginModerationServiceYankVersionProcedure = "/orchestrator.v1.PluginModerationService/YankVersion" + // PluginModerationServiceDeletePublicPluginProcedure is the fully-qualified name of the + // PluginModerationService's DeletePublicPlugin RPC. + PluginModerationServiceDeletePublicPluginProcedure = "/orchestrator.v1.PluginModerationService/DeletePublicPlugin" + // PluginModerationServiceListFlaggedReviewsProcedure is the fully-qualified name of the + // PluginModerationService's ListFlaggedReviews RPC. + PluginModerationServiceListFlaggedReviewsProcedure = "/orchestrator.v1.PluginModerationService/ListFlaggedReviews" + // PluginModerationServiceSoftDeleteReviewProcedure is the fully-qualified name of the + // PluginModerationService's SoftDeleteReview RPC. + PluginModerationServiceSoftDeleteReviewProcedure = "/orchestrator.v1.PluginModerationService/SoftDeleteReview" + // PluginModerationServiceSoftDeleteReplyProcedure is the fully-qualified name of the + // PluginModerationService's SoftDeleteReply RPC. + PluginModerationServiceSoftDeleteReplyProcedure = "/orchestrator.v1.PluginModerationService/SoftDeleteReply" + // PluginModerationServiceCreateCategoryProcedure is the fully-qualified name of the + // PluginModerationService's CreateCategory RPC. + PluginModerationServiceCreateCategoryProcedure = "/orchestrator.v1.PluginModerationService/CreateCategory" + // PluginModerationServiceUpdateCategoryProcedure is the fully-qualified name of the + // PluginModerationService's UpdateCategory RPC. + PluginModerationServiceUpdateCategoryProcedure = "/orchestrator.v1.PluginModerationService/UpdateCategory" + // PluginModerationServiceDeleteCategoryProcedure is the fully-qualified name of the + // PluginModerationService's DeleteCategory RPC. + PluginModerationServiceDeleteCategoryProcedure = "/orchestrator.v1.PluginModerationService/DeleteCategory" + // PluginGalleryServiceListScreenshotsProcedure is the fully-qualified name of the + // PluginGalleryService's ListScreenshots RPC. + PluginGalleryServiceListScreenshotsProcedure = "/orchestrator.v1.PluginGalleryService/ListScreenshots" + // PluginGalleryServiceUploadScreenshotProcedure is the fully-qualified name of the + // PluginGalleryService's UploadScreenshot RPC. + PluginGalleryServiceUploadScreenshotProcedure = "/orchestrator.v1.PluginGalleryService/UploadScreenshot" + // PluginGalleryServiceDeleteScreenshotProcedure is the fully-qualified name of the + // PluginGalleryService's DeleteScreenshot RPC. + PluginGalleryServiceDeleteScreenshotProcedure = "/orchestrator.v1.PluginGalleryService/DeleteScreenshot" + // PluginGalleryServiceReorderScreenshotsProcedure is the fully-qualified name of the + // PluginGalleryService's ReorderScreenshots RPC. + PluginGalleryServiceReorderScreenshotsProcedure = "/orchestrator.v1.PluginGalleryService/ReorderScreenshots" + // PluginGalleryServiceSetFeaturedScreenshotProcedure is the fully-qualified name of the + // PluginGalleryService's SetFeaturedScreenshot RPC. + PluginGalleryServiceSetFeaturedScreenshotProcedure = "/orchestrator.v1.PluginGalleryService/SetFeaturedScreenshot" + // PluginReviewServiceListReviewsProcedure is the fully-qualified name of the PluginReviewService's + // ListReviews RPC. + PluginReviewServiceListReviewsProcedure = "/orchestrator.v1.PluginReviewService/ListReviews" + // PluginReviewServiceGetMyReviewProcedure is the fully-qualified name of the PluginReviewService's + // GetMyReview RPC. + PluginReviewServiceGetMyReviewProcedure = "/orchestrator.v1.PluginReviewService/GetMyReview" + // PluginReviewServiceUpsertReviewProcedure is the fully-qualified name of the PluginReviewService's + // UpsertReview RPC. + PluginReviewServiceUpsertReviewProcedure = "/orchestrator.v1.PluginReviewService/UpsertReview" + // PluginReviewServiceDeleteReviewProcedure is the fully-qualified name of the PluginReviewService's + // DeleteReview RPC. + PluginReviewServiceDeleteReviewProcedure = "/orchestrator.v1.PluginReviewService/DeleteReview" + // PluginReviewServiceReplyToReviewProcedure is the fully-qualified name of the + // PluginReviewService's ReplyToReview RPC. + PluginReviewServiceReplyToReviewProcedure = "/orchestrator.v1.PluginReviewService/ReplyToReview" + // PluginReviewServiceDeleteReplyProcedure is the fully-qualified name of the PluginReviewService's + // DeleteReply RPC. + PluginReviewServiceDeleteReplyProcedure = "/orchestrator.v1.PluginReviewService/DeleteReply" + // PluginReviewServiceFlagReviewProcedure is the fully-qualified name of the PluginReviewService's + // FlagReview RPC. + PluginReviewServiceFlagReviewProcedure = "/orchestrator.v1.PluginReviewService/FlagReview" + // PluginPublishServicePublishVersionProcedure is the fully-qualified name of the + // PluginPublishService's PublishVersion RPC. + PluginPublishServicePublishVersionProcedure = "/orchestrator.v1.PluginPublishService/PublishVersion" + // PluginAuthServiceStartDeviceProcedure is the fully-qualified name of the PluginAuthService's + // StartDevice RPC. + PluginAuthServiceStartDeviceProcedure = "/orchestrator.v1.PluginAuthService/StartDevice" + // PluginAuthServicePollDeviceProcedure is the fully-qualified name of the PluginAuthService's + // PollDevice RPC. + PluginAuthServicePollDeviceProcedure = "/orchestrator.v1.PluginAuthService/PollDevice" + // PluginAuthServiceApproveDeviceProcedure is the fully-qualified name of the PluginAuthService's + // ApproveDevice RPC. + PluginAuthServiceApproveDeviceProcedure = "/orchestrator.v1.PluginAuthService/ApproveDevice" + // PluginAuthServiceDenyDeviceProcedure is the fully-qualified name of the PluginAuthService's + // DenyDevice RPC. + PluginAuthServiceDenyDeviceProcedure = "/orchestrator.v1.PluginAuthService/DenyDevice" + // PluginAuthServiceGetDeviceStatusProcedure is the fully-qualified name of the PluginAuthService's + // GetDeviceStatus RPC. + PluginAuthServiceGetDeviceStatusProcedure = "/orchestrator.v1.PluginAuthService/GetDeviceStatus" + // PluginAuthServiceWhoamiProcedure is the fully-qualified name of the PluginAuthService's Whoami + // RPC. + PluginAuthServiceWhoamiProcedure = "/orchestrator.v1.PluginAuthService/Whoami" + // PluginAuthServiceListMyAccountsForCLIProcedure is the fully-qualified name of the + // PluginAuthService's ListMyAccountsForCLI RPC. + PluginAuthServiceListMyAccountsForCLIProcedure = "/orchestrator.v1.PluginAuthService/ListMyAccountsForCLI" +) + +// PluginScopeServiceClient is a client for the orchestrator.v1.PluginScopeService service. +type PluginScopeServiceClient interface { + CreateScope(context.Context, *connect.Request[v1.CreateScopeRequest]) (*connect.Response[v1.CreateScopeResponse], error) + ListMyScopes(context.Context, *connect.Request[v1.ListMyScopesRequest]) (*connect.Response[v1.ListMyScopesResponse], error) + GetScope(context.Context, *connect.Request[v1.GetScopeRequest]) (*connect.Response[v1.GetScopeResponse], error) + ListMyPlugins(context.Context, *connect.Request[v1.ListMyPluginsRequest]) (*connect.Response[v1.ListMyPluginsResponse], error) +} + +// NewPluginScopeServiceClient constructs a client for the orchestrator.v1.PluginScopeService +// service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for +// gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply +// the connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewPluginScopeServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) PluginScopeServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + pluginScopeServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginScopeService").Methods() + return &pluginScopeServiceClient{ + createScope: connect.NewClient[v1.CreateScopeRequest, v1.CreateScopeResponse]( + httpClient, + baseURL+PluginScopeServiceCreateScopeProcedure, + connect.WithSchema(pluginScopeServiceMethods.ByName("CreateScope")), + connect.WithClientOptions(opts...), + ), + listMyScopes: connect.NewClient[v1.ListMyScopesRequest, v1.ListMyScopesResponse]( + httpClient, + baseURL+PluginScopeServiceListMyScopesProcedure, + connect.WithSchema(pluginScopeServiceMethods.ByName("ListMyScopes")), + connect.WithClientOptions(opts...), + ), + getScope: connect.NewClient[v1.GetScopeRequest, v1.GetScopeResponse]( + httpClient, + baseURL+PluginScopeServiceGetScopeProcedure, + connect.WithSchema(pluginScopeServiceMethods.ByName("GetScope")), + connect.WithClientOptions(opts...), + ), + listMyPlugins: connect.NewClient[v1.ListMyPluginsRequest, v1.ListMyPluginsResponse]( + httpClient, + baseURL+PluginScopeServiceListMyPluginsProcedure, + connect.WithSchema(pluginScopeServiceMethods.ByName("ListMyPlugins")), + connect.WithClientOptions(opts...), + ), + } +} + +// pluginScopeServiceClient implements PluginScopeServiceClient. +type pluginScopeServiceClient struct { + createScope *connect.Client[v1.CreateScopeRequest, v1.CreateScopeResponse] + listMyScopes *connect.Client[v1.ListMyScopesRequest, v1.ListMyScopesResponse] + getScope *connect.Client[v1.GetScopeRequest, v1.GetScopeResponse] + listMyPlugins *connect.Client[v1.ListMyPluginsRequest, v1.ListMyPluginsResponse] +} + +// CreateScope calls orchestrator.v1.PluginScopeService.CreateScope. +func (c *pluginScopeServiceClient) CreateScope(ctx context.Context, req *connect.Request[v1.CreateScopeRequest]) (*connect.Response[v1.CreateScopeResponse], error) { + return c.createScope.CallUnary(ctx, req) +} + +// ListMyScopes calls orchestrator.v1.PluginScopeService.ListMyScopes. +func (c *pluginScopeServiceClient) ListMyScopes(ctx context.Context, req *connect.Request[v1.ListMyScopesRequest]) (*connect.Response[v1.ListMyScopesResponse], error) { + return c.listMyScopes.CallUnary(ctx, req) +} + +// GetScope calls orchestrator.v1.PluginScopeService.GetScope. +func (c *pluginScopeServiceClient) GetScope(ctx context.Context, req *connect.Request[v1.GetScopeRequest]) (*connect.Response[v1.GetScopeResponse], error) { + return c.getScope.CallUnary(ctx, req) +} + +// ListMyPlugins calls orchestrator.v1.PluginScopeService.ListMyPlugins. +func (c *pluginScopeServiceClient) ListMyPlugins(ctx context.Context, req *connect.Request[v1.ListMyPluginsRequest]) (*connect.Response[v1.ListMyPluginsResponse], error) { + return c.listMyPlugins.CallUnary(ctx, req) +} + +// PluginScopeServiceHandler is an implementation of the orchestrator.v1.PluginScopeService service. +type PluginScopeServiceHandler interface { + CreateScope(context.Context, *connect.Request[v1.CreateScopeRequest]) (*connect.Response[v1.CreateScopeResponse], error) + ListMyScopes(context.Context, *connect.Request[v1.ListMyScopesRequest]) (*connect.Response[v1.ListMyScopesResponse], error) + GetScope(context.Context, *connect.Request[v1.GetScopeRequest]) (*connect.Response[v1.GetScopeResponse], error) + ListMyPlugins(context.Context, *connect.Request[v1.ListMyPluginsRequest]) (*connect.Response[v1.ListMyPluginsResponse], error) +} + +// NewPluginScopeServiceHandler builds an HTTP handler from the service implementation. It returns +// the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewPluginScopeServiceHandler(svc PluginScopeServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + pluginScopeServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginScopeService").Methods() + pluginScopeServiceCreateScopeHandler := connect.NewUnaryHandler( + PluginScopeServiceCreateScopeProcedure, + svc.CreateScope, + connect.WithSchema(pluginScopeServiceMethods.ByName("CreateScope")), + connect.WithHandlerOptions(opts...), + ) + pluginScopeServiceListMyScopesHandler := connect.NewUnaryHandler( + PluginScopeServiceListMyScopesProcedure, + svc.ListMyScopes, + connect.WithSchema(pluginScopeServiceMethods.ByName("ListMyScopes")), + connect.WithHandlerOptions(opts...), + ) + pluginScopeServiceGetScopeHandler := connect.NewUnaryHandler( + PluginScopeServiceGetScopeProcedure, + svc.GetScope, + connect.WithSchema(pluginScopeServiceMethods.ByName("GetScope")), + connect.WithHandlerOptions(opts...), + ) + pluginScopeServiceListMyPluginsHandler := connect.NewUnaryHandler( + PluginScopeServiceListMyPluginsProcedure, + svc.ListMyPlugins, + connect.WithSchema(pluginScopeServiceMethods.ByName("ListMyPlugins")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.PluginScopeService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case PluginScopeServiceCreateScopeProcedure: + pluginScopeServiceCreateScopeHandler.ServeHTTP(w, r) + case PluginScopeServiceListMyScopesProcedure: + pluginScopeServiceListMyScopesHandler.ServeHTTP(w, r) + case PluginScopeServiceGetScopeProcedure: + pluginScopeServiceGetScopeHandler.ServeHTTP(w, r) + case PluginScopeServiceListMyPluginsProcedure: + pluginScopeServiceListMyPluginsHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedPluginScopeServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedPluginScopeServiceHandler struct{} + +func (UnimplementedPluginScopeServiceHandler) CreateScope(context.Context, *connect.Request[v1.CreateScopeRequest]) (*connect.Response[v1.CreateScopeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginScopeService.CreateScope is not implemented")) +} + +func (UnimplementedPluginScopeServiceHandler) ListMyScopes(context.Context, *connect.Request[v1.ListMyScopesRequest]) (*connect.Response[v1.ListMyScopesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginScopeService.ListMyScopes is not implemented")) +} + +func (UnimplementedPluginScopeServiceHandler) GetScope(context.Context, *connect.Request[v1.GetScopeRequest]) (*connect.Response[v1.GetScopeResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginScopeService.GetScope is not implemented")) +} + +func (UnimplementedPluginScopeServiceHandler) ListMyPlugins(context.Context, *connect.Request[v1.ListMyPluginsRequest]) (*connect.Response[v1.ListMyPluginsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginScopeService.ListMyPlugins is not implemented")) +} + +// PluginRegistryServiceClient is a client for the orchestrator.v1.PluginRegistryService service. +type PluginRegistryServiceClient interface { + CreatePlugin(context.Context, *connect.Request[v1.CreatePluginRequest]) (*connect.Response[v1.CreatePluginResponse], error) + GetPlugin(context.Context, *connect.Request[v1.GetPluginRequest]) (*connect.Response[v1.GetPluginResponse], error) + ListPlugins(context.Context, *connect.Request[v1.ListPluginsRequest]) (*connect.Response[v1.ListPluginsResponse], error) + GetVersion(context.Context, *connect.Request[v1.GetVersionRequest]) (*connect.Response[v1.GetVersionResponse], error) + ResolveInstall(context.Context, *connect.Request[v1.ResolveInstallRequest]) (*connect.Response[v1.ResolveInstallResponse], error) + ListCategories(context.Context, *connect.Request[v1.ListCategoriesRequest]) (*connect.Response[v1.ListCategoriesResponse], error) + ListTags(context.Context, *connect.Request[v1.ListTagsRequest]) (*connect.Response[v1.ListTagsResponse], error) + SubmitForReview(context.Context, *connect.Request[v1.SubmitForReviewRequest]) (*connect.Response[v1.SubmitForReviewResponse], error) + // Private-plugin RPCs. All require the caller to be a member of the target + // account; the server resolves account membership from the bearer token. + ListPrivatePlugins(context.Context, *connect.Request[v1.ListPrivatePluginsRequest]) (*connect.Response[v1.ListPrivatePluginsResponse], error) + DeletePrivatePlugin(context.Context, *connect.Request[v1.DeletePrivatePluginRequest]) (*connect.Response[v1.DeletePrivatePluginResponse], error) + DeletePrivatePluginVersion(context.Context, *connect.Request[v1.DeletePrivatePluginVersionRequest]) (*connect.Response[v1.DeletePrivatePluginVersionResponse], error) + ListPrivatePluginInstallSites(context.Context, *connect.Request[v1.ListPrivatePluginInstallSitesRequest]) (*connect.Response[v1.ListPrivatePluginInstallSitesResponse], error) + // Instance-authenticated variants used by the CMS install/update flow. A CMS + // instance calls these with its per-account X-CMS-Secret header plus its + // instance_id; the server resolves the owning account from the instance and + // authorises private plugins owned by that account. No end-user JWT is + // required (the calling instance, not a user, is the trust unit). + ListPrivatePluginsForInstance(context.Context, *connect.Request[v1.ListPrivatePluginsForInstanceRequest]) (*connect.Response[v1.ListPrivatePluginsResponse], error) + ResolveInstallForInstance(context.Context, *connect.Request[v1.ResolveInstallForInstanceRequest]) (*connect.Response[v1.ResolveInstallResponse], error) + ConfirmPluginInstallForInstance(context.Context, *connect.Request[v1.ConfirmPluginInstallForInstanceRequest]) (*connect.Response[v1.ConfirmPluginInstallForInstanceResponse], error) +} + +// NewPluginRegistryServiceClient constructs a client for the orchestrator.v1.PluginRegistryService +// service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for +// gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply +// the connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewPluginRegistryServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) PluginRegistryServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + pluginRegistryServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginRegistryService").Methods() + return &pluginRegistryServiceClient{ + createPlugin: connect.NewClient[v1.CreatePluginRequest, v1.CreatePluginResponse]( + httpClient, + baseURL+PluginRegistryServiceCreatePluginProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("CreatePlugin")), + connect.WithClientOptions(opts...), + ), + getPlugin: connect.NewClient[v1.GetPluginRequest, v1.GetPluginResponse]( + httpClient, + baseURL+PluginRegistryServiceGetPluginProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("GetPlugin")), + connect.WithClientOptions(opts...), + ), + listPlugins: connect.NewClient[v1.ListPluginsRequest, v1.ListPluginsResponse]( + httpClient, + baseURL+PluginRegistryServiceListPluginsProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListPlugins")), + connect.WithClientOptions(opts...), + ), + getVersion: connect.NewClient[v1.GetVersionRequest, v1.GetVersionResponse]( + httpClient, + baseURL+PluginRegistryServiceGetVersionProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("GetVersion")), + connect.WithClientOptions(opts...), + ), + resolveInstall: connect.NewClient[v1.ResolveInstallRequest, v1.ResolveInstallResponse]( + httpClient, + baseURL+PluginRegistryServiceResolveInstallProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ResolveInstall")), + connect.WithClientOptions(opts...), + ), + listCategories: connect.NewClient[v1.ListCategoriesRequest, v1.ListCategoriesResponse]( + httpClient, + baseURL+PluginRegistryServiceListCategoriesProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListCategories")), + connect.WithClientOptions(opts...), + ), + listTags: connect.NewClient[v1.ListTagsRequest, v1.ListTagsResponse]( + httpClient, + baseURL+PluginRegistryServiceListTagsProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListTags")), + connect.WithClientOptions(opts...), + ), + submitForReview: connect.NewClient[v1.SubmitForReviewRequest, v1.SubmitForReviewResponse]( + httpClient, + baseURL+PluginRegistryServiceSubmitForReviewProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("SubmitForReview")), + connect.WithClientOptions(opts...), + ), + listPrivatePlugins: connect.NewClient[v1.ListPrivatePluginsRequest, v1.ListPrivatePluginsResponse]( + httpClient, + baseURL+PluginRegistryServiceListPrivatePluginsProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListPrivatePlugins")), + connect.WithClientOptions(opts...), + ), + deletePrivatePlugin: connect.NewClient[v1.DeletePrivatePluginRequest, v1.DeletePrivatePluginResponse]( + httpClient, + baseURL+PluginRegistryServiceDeletePrivatePluginProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("DeletePrivatePlugin")), + connect.WithClientOptions(opts...), + ), + deletePrivatePluginVersion: connect.NewClient[v1.DeletePrivatePluginVersionRequest, v1.DeletePrivatePluginVersionResponse]( + httpClient, + baseURL+PluginRegistryServiceDeletePrivatePluginVersionProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("DeletePrivatePluginVersion")), + connect.WithClientOptions(opts...), + ), + listPrivatePluginInstallSites: connect.NewClient[v1.ListPrivatePluginInstallSitesRequest, v1.ListPrivatePluginInstallSitesResponse]( + httpClient, + baseURL+PluginRegistryServiceListPrivatePluginInstallSitesProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListPrivatePluginInstallSites")), + connect.WithClientOptions(opts...), + ), + listPrivatePluginsForInstance: connect.NewClient[v1.ListPrivatePluginsForInstanceRequest, v1.ListPrivatePluginsResponse]( + httpClient, + baseURL+PluginRegistryServiceListPrivatePluginsForInstanceProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListPrivatePluginsForInstance")), + connect.WithClientOptions(opts...), + ), + resolveInstallForInstance: connect.NewClient[v1.ResolveInstallForInstanceRequest, v1.ResolveInstallResponse]( + httpClient, + baseURL+PluginRegistryServiceResolveInstallForInstanceProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ResolveInstallForInstance")), + connect.WithClientOptions(opts...), + ), + confirmPluginInstallForInstance: connect.NewClient[v1.ConfirmPluginInstallForInstanceRequest, v1.ConfirmPluginInstallForInstanceResponse]( + httpClient, + baseURL+PluginRegistryServiceConfirmPluginInstallForInstanceProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ConfirmPluginInstallForInstance")), + connect.WithClientOptions(opts...), + ), + } +} + +// pluginRegistryServiceClient implements PluginRegistryServiceClient. +type pluginRegistryServiceClient struct { + createPlugin *connect.Client[v1.CreatePluginRequest, v1.CreatePluginResponse] + getPlugin *connect.Client[v1.GetPluginRequest, v1.GetPluginResponse] + listPlugins *connect.Client[v1.ListPluginsRequest, v1.ListPluginsResponse] + getVersion *connect.Client[v1.GetVersionRequest, v1.GetVersionResponse] + resolveInstall *connect.Client[v1.ResolveInstallRequest, v1.ResolveInstallResponse] + listCategories *connect.Client[v1.ListCategoriesRequest, v1.ListCategoriesResponse] + listTags *connect.Client[v1.ListTagsRequest, v1.ListTagsResponse] + submitForReview *connect.Client[v1.SubmitForReviewRequest, v1.SubmitForReviewResponse] + listPrivatePlugins *connect.Client[v1.ListPrivatePluginsRequest, v1.ListPrivatePluginsResponse] + deletePrivatePlugin *connect.Client[v1.DeletePrivatePluginRequest, v1.DeletePrivatePluginResponse] + deletePrivatePluginVersion *connect.Client[v1.DeletePrivatePluginVersionRequest, v1.DeletePrivatePluginVersionResponse] + listPrivatePluginInstallSites *connect.Client[v1.ListPrivatePluginInstallSitesRequest, v1.ListPrivatePluginInstallSitesResponse] + listPrivatePluginsForInstance *connect.Client[v1.ListPrivatePluginsForInstanceRequest, v1.ListPrivatePluginsResponse] + resolveInstallForInstance *connect.Client[v1.ResolveInstallForInstanceRequest, v1.ResolveInstallResponse] + confirmPluginInstallForInstance *connect.Client[v1.ConfirmPluginInstallForInstanceRequest, v1.ConfirmPluginInstallForInstanceResponse] +} + +// CreatePlugin calls orchestrator.v1.PluginRegistryService.CreatePlugin. +func (c *pluginRegistryServiceClient) CreatePlugin(ctx context.Context, req *connect.Request[v1.CreatePluginRequest]) (*connect.Response[v1.CreatePluginResponse], error) { + return c.createPlugin.CallUnary(ctx, req) +} + +// GetPlugin calls orchestrator.v1.PluginRegistryService.GetPlugin. +func (c *pluginRegistryServiceClient) GetPlugin(ctx context.Context, req *connect.Request[v1.GetPluginRequest]) (*connect.Response[v1.GetPluginResponse], error) { + return c.getPlugin.CallUnary(ctx, req) +} + +// ListPlugins calls orchestrator.v1.PluginRegistryService.ListPlugins. +func (c *pluginRegistryServiceClient) ListPlugins(ctx context.Context, req *connect.Request[v1.ListPluginsRequest]) (*connect.Response[v1.ListPluginsResponse], error) { + return c.listPlugins.CallUnary(ctx, req) +} + +// GetVersion calls orchestrator.v1.PluginRegistryService.GetVersion. +func (c *pluginRegistryServiceClient) GetVersion(ctx context.Context, req *connect.Request[v1.GetVersionRequest]) (*connect.Response[v1.GetVersionResponse], error) { + return c.getVersion.CallUnary(ctx, req) +} + +// ResolveInstall calls orchestrator.v1.PluginRegistryService.ResolveInstall. +func (c *pluginRegistryServiceClient) ResolveInstall(ctx context.Context, req *connect.Request[v1.ResolveInstallRequest]) (*connect.Response[v1.ResolveInstallResponse], error) { + return c.resolveInstall.CallUnary(ctx, req) +} + +// ListCategories calls orchestrator.v1.PluginRegistryService.ListCategories. +func (c *pluginRegistryServiceClient) ListCategories(ctx context.Context, req *connect.Request[v1.ListCategoriesRequest]) (*connect.Response[v1.ListCategoriesResponse], error) { + return c.listCategories.CallUnary(ctx, req) +} + +// ListTags calls orchestrator.v1.PluginRegistryService.ListTags. +func (c *pluginRegistryServiceClient) ListTags(ctx context.Context, req *connect.Request[v1.ListTagsRequest]) (*connect.Response[v1.ListTagsResponse], error) { + return c.listTags.CallUnary(ctx, req) +} + +// SubmitForReview calls orchestrator.v1.PluginRegistryService.SubmitForReview. +func (c *pluginRegistryServiceClient) SubmitForReview(ctx context.Context, req *connect.Request[v1.SubmitForReviewRequest]) (*connect.Response[v1.SubmitForReviewResponse], error) { + return c.submitForReview.CallUnary(ctx, req) +} + +// ListPrivatePlugins calls orchestrator.v1.PluginRegistryService.ListPrivatePlugins. +func (c *pluginRegistryServiceClient) ListPrivatePlugins(ctx context.Context, req *connect.Request[v1.ListPrivatePluginsRequest]) (*connect.Response[v1.ListPrivatePluginsResponse], error) { + return c.listPrivatePlugins.CallUnary(ctx, req) +} + +// DeletePrivatePlugin calls orchestrator.v1.PluginRegistryService.DeletePrivatePlugin. +func (c *pluginRegistryServiceClient) DeletePrivatePlugin(ctx context.Context, req *connect.Request[v1.DeletePrivatePluginRequest]) (*connect.Response[v1.DeletePrivatePluginResponse], error) { + return c.deletePrivatePlugin.CallUnary(ctx, req) +} + +// DeletePrivatePluginVersion calls +// orchestrator.v1.PluginRegistryService.DeletePrivatePluginVersion. +func (c *pluginRegistryServiceClient) DeletePrivatePluginVersion(ctx context.Context, req *connect.Request[v1.DeletePrivatePluginVersionRequest]) (*connect.Response[v1.DeletePrivatePluginVersionResponse], error) { + return c.deletePrivatePluginVersion.CallUnary(ctx, req) +} + +// ListPrivatePluginInstallSites calls +// orchestrator.v1.PluginRegistryService.ListPrivatePluginInstallSites. +func (c *pluginRegistryServiceClient) ListPrivatePluginInstallSites(ctx context.Context, req *connect.Request[v1.ListPrivatePluginInstallSitesRequest]) (*connect.Response[v1.ListPrivatePluginInstallSitesResponse], error) { + return c.listPrivatePluginInstallSites.CallUnary(ctx, req) +} + +// ListPrivatePluginsForInstance calls +// orchestrator.v1.PluginRegistryService.ListPrivatePluginsForInstance. +func (c *pluginRegistryServiceClient) ListPrivatePluginsForInstance(ctx context.Context, req *connect.Request[v1.ListPrivatePluginsForInstanceRequest]) (*connect.Response[v1.ListPrivatePluginsResponse], error) { + return c.listPrivatePluginsForInstance.CallUnary(ctx, req) +} + +// ResolveInstallForInstance calls orchestrator.v1.PluginRegistryService.ResolveInstallForInstance. +func (c *pluginRegistryServiceClient) ResolveInstallForInstance(ctx context.Context, req *connect.Request[v1.ResolveInstallForInstanceRequest]) (*connect.Response[v1.ResolveInstallResponse], error) { + return c.resolveInstallForInstance.CallUnary(ctx, req) +} + +// ConfirmPluginInstallForInstance calls +// orchestrator.v1.PluginRegistryService.ConfirmPluginInstallForInstance. +func (c *pluginRegistryServiceClient) ConfirmPluginInstallForInstance(ctx context.Context, req *connect.Request[v1.ConfirmPluginInstallForInstanceRequest]) (*connect.Response[v1.ConfirmPluginInstallForInstanceResponse], error) { + return c.confirmPluginInstallForInstance.CallUnary(ctx, req) +} + +// PluginRegistryServiceHandler is an implementation of the orchestrator.v1.PluginRegistryService +// service. +type PluginRegistryServiceHandler interface { + CreatePlugin(context.Context, *connect.Request[v1.CreatePluginRequest]) (*connect.Response[v1.CreatePluginResponse], error) + GetPlugin(context.Context, *connect.Request[v1.GetPluginRequest]) (*connect.Response[v1.GetPluginResponse], error) + ListPlugins(context.Context, *connect.Request[v1.ListPluginsRequest]) (*connect.Response[v1.ListPluginsResponse], error) + GetVersion(context.Context, *connect.Request[v1.GetVersionRequest]) (*connect.Response[v1.GetVersionResponse], error) + ResolveInstall(context.Context, *connect.Request[v1.ResolveInstallRequest]) (*connect.Response[v1.ResolveInstallResponse], error) + ListCategories(context.Context, *connect.Request[v1.ListCategoriesRequest]) (*connect.Response[v1.ListCategoriesResponse], error) + ListTags(context.Context, *connect.Request[v1.ListTagsRequest]) (*connect.Response[v1.ListTagsResponse], error) + SubmitForReview(context.Context, *connect.Request[v1.SubmitForReviewRequest]) (*connect.Response[v1.SubmitForReviewResponse], error) + // Private-plugin RPCs. All require the caller to be a member of the target + // account; the server resolves account membership from the bearer token. + ListPrivatePlugins(context.Context, *connect.Request[v1.ListPrivatePluginsRequest]) (*connect.Response[v1.ListPrivatePluginsResponse], error) + DeletePrivatePlugin(context.Context, *connect.Request[v1.DeletePrivatePluginRequest]) (*connect.Response[v1.DeletePrivatePluginResponse], error) + DeletePrivatePluginVersion(context.Context, *connect.Request[v1.DeletePrivatePluginVersionRequest]) (*connect.Response[v1.DeletePrivatePluginVersionResponse], error) + ListPrivatePluginInstallSites(context.Context, *connect.Request[v1.ListPrivatePluginInstallSitesRequest]) (*connect.Response[v1.ListPrivatePluginInstallSitesResponse], error) + // Instance-authenticated variants used by the CMS install/update flow. A CMS + // instance calls these with its per-account X-CMS-Secret header plus its + // instance_id; the server resolves the owning account from the instance and + // authorises private plugins owned by that account. No end-user JWT is + // required (the calling instance, not a user, is the trust unit). + ListPrivatePluginsForInstance(context.Context, *connect.Request[v1.ListPrivatePluginsForInstanceRequest]) (*connect.Response[v1.ListPrivatePluginsResponse], error) + ResolveInstallForInstance(context.Context, *connect.Request[v1.ResolveInstallForInstanceRequest]) (*connect.Response[v1.ResolveInstallResponse], error) + ConfirmPluginInstallForInstance(context.Context, *connect.Request[v1.ConfirmPluginInstallForInstanceRequest]) (*connect.Response[v1.ConfirmPluginInstallForInstanceResponse], error) +} + +// NewPluginRegistryServiceHandler builds an HTTP handler from the service implementation. It +// returns the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewPluginRegistryServiceHandler(svc PluginRegistryServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + pluginRegistryServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginRegistryService").Methods() + pluginRegistryServiceCreatePluginHandler := connect.NewUnaryHandler( + PluginRegistryServiceCreatePluginProcedure, + svc.CreatePlugin, + connect.WithSchema(pluginRegistryServiceMethods.ByName("CreatePlugin")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceGetPluginHandler := connect.NewUnaryHandler( + PluginRegistryServiceGetPluginProcedure, + svc.GetPlugin, + connect.WithSchema(pluginRegistryServiceMethods.ByName("GetPlugin")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceListPluginsHandler := connect.NewUnaryHandler( + PluginRegistryServiceListPluginsProcedure, + svc.ListPlugins, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListPlugins")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceGetVersionHandler := connect.NewUnaryHandler( + PluginRegistryServiceGetVersionProcedure, + svc.GetVersion, + connect.WithSchema(pluginRegistryServiceMethods.ByName("GetVersion")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceResolveInstallHandler := connect.NewUnaryHandler( + PluginRegistryServiceResolveInstallProcedure, + svc.ResolveInstall, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ResolveInstall")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceListCategoriesHandler := connect.NewUnaryHandler( + PluginRegistryServiceListCategoriesProcedure, + svc.ListCategories, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListCategories")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceListTagsHandler := connect.NewUnaryHandler( + PluginRegistryServiceListTagsProcedure, + svc.ListTags, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListTags")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceSubmitForReviewHandler := connect.NewUnaryHandler( + PluginRegistryServiceSubmitForReviewProcedure, + svc.SubmitForReview, + connect.WithSchema(pluginRegistryServiceMethods.ByName("SubmitForReview")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceListPrivatePluginsHandler := connect.NewUnaryHandler( + PluginRegistryServiceListPrivatePluginsProcedure, + svc.ListPrivatePlugins, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListPrivatePlugins")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceDeletePrivatePluginHandler := connect.NewUnaryHandler( + PluginRegistryServiceDeletePrivatePluginProcedure, + svc.DeletePrivatePlugin, + connect.WithSchema(pluginRegistryServiceMethods.ByName("DeletePrivatePlugin")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceDeletePrivatePluginVersionHandler := connect.NewUnaryHandler( + PluginRegistryServiceDeletePrivatePluginVersionProcedure, + svc.DeletePrivatePluginVersion, + connect.WithSchema(pluginRegistryServiceMethods.ByName("DeletePrivatePluginVersion")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceListPrivatePluginInstallSitesHandler := connect.NewUnaryHandler( + PluginRegistryServiceListPrivatePluginInstallSitesProcedure, + svc.ListPrivatePluginInstallSites, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListPrivatePluginInstallSites")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceListPrivatePluginsForInstanceHandler := connect.NewUnaryHandler( + PluginRegistryServiceListPrivatePluginsForInstanceProcedure, + svc.ListPrivatePluginsForInstance, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListPrivatePluginsForInstance")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceResolveInstallForInstanceHandler := connect.NewUnaryHandler( + PluginRegistryServiceResolveInstallForInstanceProcedure, + svc.ResolveInstallForInstance, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ResolveInstallForInstance")), + connect.WithHandlerOptions(opts...), + ) + pluginRegistryServiceConfirmPluginInstallForInstanceHandler := connect.NewUnaryHandler( + PluginRegistryServiceConfirmPluginInstallForInstanceProcedure, + svc.ConfirmPluginInstallForInstance, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ConfirmPluginInstallForInstance")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.PluginRegistryService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case PluginRegistryServiceCreatePluginProcedure: + pluginRegistryServiceCreatePluginHandler.ServeHTTP(w, r) + case PluginRegistryServiceGetPluginProcedure: + pluginRegistryServiceGetPluginHandler.ServeHTTP(w, r) + case PluginRegistryServiceListPluginsProcedure: + pluginRegistryServiceListPluginsHandler.ServeHTTP(w, r) + case PluginRegistryServiceGetVersionProcedure: + pluginRegistryServiceGetVersionHandler.ServeHTTP(w, r) + case PluginRegistryServiceResolveInstallProcedure: + pluginRegistryServiceResolveInstallHandler.ServeHTTP(w, r) + case PluginRegistryServiceListCategoriesProcedure: + pluginRegistryServiceListCategoriesHandler.ServeHTTP(w, r) + case PluginRegistryServiceListTagsProcedure: + pluginRegistryServiceListTagsHandler.ServeHTTP(w, r) + case PluginRegistryServiceSubmitForReviewProcedure: + pluginRegistryServiceSubmitForReviewHandler.ServeHTTP(w, r) + case PluginRegistryServiceListPrivatePluginsProcedure: + pluginRegistryServiceListPrivatePluginsHandler.ServeHTTP(w, r) + case PluginRegistryServiceDeletePrivatePluginProcedure: + pluginRegistryServiceDeletePrivatePluginHandler.ServeHTTP(w, r) + case PluginRegistryServiceDeletePrivatePluginVersionProcedure: + pluginRegistryServiceDeletePrivatePluginVersionHandler.ServeHTTP(w, r) + case PluginRegistryServiceListPrivatePluginInstallSitesProcedure: + pluginRegistryServiceListPrivatePluginInstallSitesHandler.ServeHTTP(w, r) + case PluginRegistryServiceListPrivatePluginsForInstanceProcedure: + pluginRegistryServiceListPrivatePluginsForInstanceHandler.ServeHTTP(w, r) + case PluginRegistryServiceResolveInstallForInstanceProcedure: + pluginRegistryServiceResolveInstallForInstanceHandler.ServeHTTP(w, r) + case PluginRegistryServiceConfirmPluginInstallForInstanceProcedure: + pluginRegistryServiceConfirmPluginInstallForInstanceHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedPluginRegistryServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedPluginRegistryServiceHandler struct{} + +func (UnimplementedPluginRegistryServiceHandler) CreatePlugin(context.Context, *connect.Request[v1.CreatePluginRequest]) (*connect.Response[v1.CreatePluginResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.CreatePlugin is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) GetPlugin(context.Context, *connect.Request[v1.GetPluginRequest]) (*connect.Response[v1.GetPluginResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.GetPlugin is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) ListPlugins(context.Context, *connect.Request[v1.ListPluginsRequest]) (*connect.Response[v1.ListPluginsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.ListPlugins is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) GetVersion(context.Context, *connect.Request[v1.GetVersionRequest]) (*connect.Response[v1.GetVersionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.GetVersion is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) ResolveInstall(context.Context, *connect.Request[v1.ResolveInstallRequest]) (*connect.Response[v1.ResolveInstallResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.ResolveInstall is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) ListCategories(context.Context, *connect.Request[v1.ListCategoriesRequest]) (*connect.Response[v1.ListCategoriesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.ListCategories is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) ListTags(context.Context, *connect.Request[v1.ListTagsRequest]) (*connect.Response[v1.ListTagsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.ListTags is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) SubmitForReview(context.Context, *connect.Request[v1.SubmitForReviewRequest]) (*connect.Response[v1.SubmitForReviewResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.SubmitForReview is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) ListPrivatePlugins(context.Context, *connect.Request[v1.ListPrivatePluginsRequest]) (*connect.Response[v1.ListPrivatePluginsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.ListPrivatePlugins is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) DeletePrivatePlugin(context.Context, *connect.Request[v1.DeletePrivatePluginRequest]) (*connect.Response[v1.DeletePrivatePluginResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.DeletePrivatePlugin is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) DeletePrivatePluginVersion(context.Context, *connect.Request[v1.DeletePrivatePluginVersionRequest]) (*connect.Response[v1.DeletePrivatePluginVersionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.DeletePrivatePluginVersion is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) ListPrivatePluginInstallSites(context.Context, *connect.Request[v1.ListPrivatePluginInstallSitesRequest]) (*connect.Response[v1.ListPrivatePluginInstallSitesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.ListPrivatePluginInstallSites is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) ListPrivatePluginsForInstance(context.Context, *connect.Request[v1.ListPrivatePluginsForInstanceRequest]) (*connect.Response[v1.ListPrivatePluginsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.ListPrivatePluginsForInstance is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) ResolveInstallForInstance(context.Context, *connect.Request[v1.ResolveInstallForInstanceRequest]) (*connect.Response[v1.ResolveInstallResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.ResolveInstallForInstance is not implemented")) +} + +func (UnimplementedPluginRegistryServiceHandler) ConfirmPluginInstallForInstance(context.Context, *connect.Request[v1.ConfirmPluginInstallForInstanceRequest]) (*connect.Response[v1.ConfirmPluginInstallForInstanceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.ConfirmPluginInstallForInstance is not implemented")) +} + +// PluginModerationServiceClient is a client for the orchestrator.v1.PluginModerationService +// service. +type PluginModerationServiceClient interface { + ListPendingReviews(context.Context, *connect.Request[v1.ListPendingReviewsRequest]) (*connect.Response[v1.ListPendingReviewsResponse], error) + ApproveSubmission(context.Context, *connect.Request[v1.ApproveSubmissionRequest]) (*connect.Response[v1.ApproveSubmissionResponse], error) + RejectSubmission(context.Context, *connect.Request[v1.RejectSubmissionRequest]) (*connect.Response[v1.RejectSubmissionResponse], error) + RequestChanges(context.Context, *connect.Request[v1.RequestChangesRequest]) (*connect.Response[v1.RequestChangesResponse], error) + // Post-publication lifecycle control (WO-057). These act on plugins that are + // already public (or under_review), giving operators the ability to pull a + // plugin back out of the catalog after it shipped: + // - UnpublishPlugin: public -> under_review. Stops new installs, leaves + // existing installs untouched. Reversible via re-moderation. + // - TakedownPlugin: public|under_review -> taken_down. For malware. The + // instance sweep that force-uninstalls it everywhere is a separate flow + // (WO-059); this RPC only moves catalog state. + // - RestorePlugin: taken_down -> under_review (operator re-approves; not + // auto-republished). + // - YankVersion: marks a single version unusable without touching siblings. + // - DeletePublicPlugin: superadmin hard-delete incl. archive blobs. + UnpublishPlugin(context.Context, *connect.Request[v1.UnpublishPluginRequest]) (*connect.Response[v1.UnpublishPluginResponse], error) + TakedownPlugin(context.Context, *connect.Request[v1.TakedownPluginRequest]) (*connect.Response[v1.TakedownPluginResponse], error) + RestorePlugin(context.Context, *connect.Request[v1.RestorePluginRequest]) (*connect.Response[v1.RestorePluginResponse], error) + YankVersion(context.Context, *connect.Request[v1.YankVersionRequest]) (*connect.Response[v1.YankVersionResponse], error) + DeletePublicPlugin(context.Context, *connect.Request[v1.DeletePublicPluginRequest]) (*connect.Response[v1.DeletePublicPluginResponse], error) + // Star-review moderation (ADR 0021). Unrelated to the submission queue + // above: these act on user reviews (PluginReviewService), not plugins. + ListFlaggedReviews(context.Context, *connect.Request[v1.ListFlaggedReviewsRequest]) (*connect.Response[v1.ListFlaggedReviewsResponse], error) + SoftDeleteReview(context.Context, *connect.Request[v1.SoftDeleteReviewRequest]) (*connect.Response[v1.SoftDeleteReviewResponse], error) + SoftDeleteReply(context.Context, *connect.Request[v1.SoftDeleteReplyRequest]) (*connect.Response[v1.SoftDeleteReplyResponse], error) + // Registry category catalog management. Slugs are immutable once created + // because plugin.mod manifests persist them; metadata and ordering remain + // editable. Deletion is rejected while any plugin uses the category. + CreateCategory(context.Context, *connect.Request[v1.CreateCategoryRequest]) (*connect.Response[v1.CreateCategoryResponse], error) + UpdateCategory(context.Context, *connect.Request[v1.UpdateCategoryRequest]) (*connect.Response[v1.UpdateCategoryResponse], error) + DeleteCategory(context.Context, *connect.Request[v1.DeleteCategoryRequest]) (*connect.Response[v1.DeleteCategoryResponse], error) +} + +// NewPluginModerationServiceClient constructs a client for the +// orchestrator.v1.PluginModerationService service. By default, it uses the Connect protocol with +// the binary Protobuf Codec, asks for gzipped responses, and sends uncompressed requests. To use +// the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewPluginModerationServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) PluginModerationServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + pluginModerationServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginModerationService").Methods() + return &pluginModerationServiceClient{ + listPendingReviews: connect.NewClient[v1.ListPendingReviewsRequest, v1.ListPendingReviewsResponse]( + httpClient, + baseURL+PluginModerationServiceListPendingReviewsProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("ListPendingReviews")), + connect.WithClientOptions(opts...), + ), + approveSubmission: connect.NewClient[v1.ApproveSubmissionRequest, v1.ApproveSubmissionResponse]( + httpClient, + baseURL+PluginModerationServiceApproveSubmissionProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("ApproveSubmission")), + connect.WithClientOptions(opts...), + ), + rejectSubmission: connect.NewClient[v1.RejectSubmissionRequest, v1.RejectSubmissionResponse]( + httpClient, + baseURL+PluginModerationServiceRejectSubmissionProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("RejectSubmission")), + connect.WithClientOptions(opts...), + ), + requestChanges: connect.NewClient[v1.RequestChangesRequest, v1.RequestChangesResponse]( + httpClient, + baseURL+PluginModerationServiceRequestChangesProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("RequestChanges")), + connect.WithClientOptions(opts...), + ), + unpublishPlugin: connect.NewClient[v1.UnpublishPluginRequest, v1.UnpublishPluginResponse]( + httpClient, + baseURL+PluginModerationServiceUnpublishPluginProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("UnpublishPlugin")), + connect.WithClientOptions(opts...), + ), + takedownPlugin: connect.NewClient[v1.TakedownPluginRequest, v1.TakedownPluginResponse]( + httpClient, + baseURL+PluginModerationServiceTakedownPluginProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("TakedownPlugin")), + connect.WithClientOptions(opts...), + ), + restorePlugin: connect.NewClient[v1.RestorePluginRequest, v1.RestorePluginResponse]( + httpClient, + baseURL+PluginModerationServiceRestorePluginProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("RestorePlugin")), + connect.WithClientOptions(opts...), + ), + yankVersion: connect.NewClient[v1.YankVersionRequest, v1.YankVersionResponse]( + httpClient, + baseURL+PluginModerationServiceYankVersionProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("YankVersion")), + connect.WithClientOptions(opts...), + ), + deletePublicPlugin: connect.NewClient[v1.DeletePublicPluginRequest, v1.DeletePublicPluginResponse]( + httpClient, + baseURL+PluginModerationServiceDeletePublicPluginProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("DeletePublicPlugin")), + connect.WithClientOptions(opts...), + ), + listFlaggedReviews: connect.NewClient[v1.ListFlaggedReviewsRequest, v1.ListFlaggedReviewsResponse]( + httpClient, + baseURL+PluginModerationServiceListFlaggedReviewsProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("ListFlaggedReviews")), + connect.WithClientOptions(opts...), + ), + softDeleteReview: connect.NewClient[v1.SoftDeleteReviewRequest, v1.SoftDeleteReviewResponse]( + httpClient, + baseURL+PluginModerationServiceSoftDeleteReviewProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("SoftDeleteReview")), + connect.WithClientOptions(opts...), + ), + softDeleteReply: connect.NewClient[v1.SoftDeleteReplyRequest, v1.SoftDeleteReplyResponse]( + httpClient, + baseURL+PluginModerationServiceSoftDeleteReplyProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("SoftDeleteReply")), + connect.WithClientOptions(opts...), + ), + createCategory: connect.NewClient[v1.CreateCategoryRequest, v1.CreateCategoryResponse]( + httpClient, + baseURL+PluginModerationServiceCreateCategoryProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("CreateCategory")), + connect.WithClientOptions(opts...), + ), + updateCategory: connect.NewClient[v1.UpdateCategoryRequest, v1.UpdateCategoryResponse]( + httpClient, + baseURL+PluginModerationServiceUpdateCategoryProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("UpdateCategory")), + connect.WithClientOptions(opts...), + ), + deleteCategory: connect.NewClient[v1.DeleteCategoryRequest, v1.DeleteCategoryResponse]( + httpClient, + baseURL+PluginModerationServiceDeleteCategoryProcedure, + connect.WithSchema(pluginModerationServiceMethods.ByName("DeleteCategory")), + connect.WithClientOptions(opts...), + ), + } +} + +// pluginModerationServiceClient implements PluginModerationServiceClient. +type pluginModerationServiceClient struct { + listPendingReviews *connect.Client[v1.ListPendingReviewsRequest, v1.ListPendingReviewsResponse] + approveSubmission *connect.Client[v1.ApproveSubmissionRequest, v1.ApproveSubmissionResponse] + rejectSubmission *connect.Client[v1.RejectSubmissionRequest, v1.RejectSubmissionResponse] + requestChanges *connect.Client[v1.RequestChangesRequest, v1.RequestChangesResponse] + unpublishPlugin *connect.Client[v1.UnpublishPluginRequest, v1.UnpublishPluginResponse] + takedownPlugin *connect.Client[v1.TakedownPluginRequest, v1.TakedownPluginResponse] + restorePlugin *connect.Client[v1.RestorePluginRequest, v1.RestorePluginResponse] + yankVersion *connect.Client[v1.YankVersionRequest, v1.YankVersionResponse] + deletePublicPlugin *connect.Client[v1.DeletePublicPluginRequest, v1.DeletePublicPluginResponse] + listFlaggedReviews *connect.Client[v1.ListFlaggedReviewsRequest, v1.ListFlaggedReviewsResponse] + softDeleteReview *connect.Client[v1.SoftDeleteReviewRequest, v1.SoftDeleteReviewResponse] + softDeleteReply *connect.Client[v1.SoftDeleteReplyRequest, v1.SoftDeleteReplyResponse] + createCategory *connect.Client[v1.CreateCategoryRequest, v1.CreateCategoryResponse] + updateCategory *connect.Client[v1.UpdateCategoryRequest, v1.UpdateCategoryResponse] + deleteCategory *connect.Client[v1.DeleteCategoryRequest, v1.DeleteCategoryResponse] +} + +// ListPendingReviews calls orchestrator.v1.PluginModerationService.ListPendingReviews. +func (c *pluginModerationServiceClient) ListPendingReviews(ctx context.Context, req *connect.Request[v1.ListPendingReviewsRequest]) (*connect.Response[v1.ListPendingReviewsResponse], error) { + return c.listPendingReviews.CallUnary(ctx, req) +} + +// ApproveSubmission calls orchestrator.v1.PluginModerationService.ApproveSubmission. +func (c *pluginModerationServiceClient) ApproveSubmission(ctx context.Context, req *connect.Request[v1.ApproveSubmissionRequest]) (*connect.Response[v1.ApproveSubmissionResponse], error) { + return c.approveSubmission.CallUnary(ctx, req) +} + +// RejectSubmission calls orchestrator.v1.PluginModerationService.RejectSubmission. +func (c *pluginModerationServiceClient) RejectSubmission(ctx context.Context, req *connect.Request[v1.RejectSubmissionRequest]) (*connect.Response[v1.RejectSubmissionResponse], error) { + return c.rejectSubmission.CallUnary(ctx, req) +} + +// RequestChanges calls orchestrator.v1.PluginModerationService.RequestChanges. +func (c *pluginModerationServiceClient) RequestChanges(ctx context.Context, req *connect.Request[v1.RequestChangesRequest]) (*connect.Response[v1.RequestChangesResponse], error) { + return c.requestChanges.CallUnary(ctx, req) +} + +// UnpublishPlugin calls orchestrator.v1.PluginModerationService.UnpublishPlugin. +func (c *pluginModerationServiceClient) UnpublishPlugin(ctx context.Context, req *connect.Request[v1.UnpublishPluginRequest]) (*connect.Response[v1.UnpublishPluginResponse], error) { + return c.unpublishPlugin.CallUnary(ctx, req) +} + +// TakedownPlugin calls orchestrator.v1.PluginModerationService.TakedownPlugin. +func (c *pluginModerationServiceClient) TakedownPlugin(ctx context.Context, req *connect.Request[v1.TakedownPluginRequest]) (*connect.Response[v1.TakedownPluginResponse], error) { + return c.takedownPlugin.CallUnary(ctx, req) +} + +// RestorePlugin calls orchestrator.v1.PluginModerationService.RestorePlugin. +func (c *pluginModerationServiceClient) RestorePlugin(ctx context.Context, req *connect.Request[v1.RestorePluginRequest]) (*connect.Response[v1.RestorePluginResponse], error) { + return c.restorePlugin.CallUnary(ctx, req) +} + +// YankVersion calls orchestrator.v1.PluginModerationService.YankVersion. +func (c *pluginModerationServiceClient) YankVersion(ctx context.Context, req *connect.Request[v1.YankVersionRequest]) (*connect.Response[v1.YankVersionResponse], error) { + return c.yankVersion.CallUnary(ctx, req) +} + +// DeletePublicPlugin calls orchestrator.v1.PluginModerationService.DeletePublicPlugin. +func (c *pluginModerationServiceClient) DeletePublicPlugin(ctx context.Context, req *connect.Request[v1.DeletePublicPluginRequest]) (*connect.Response[v1.DeletePublicPluginResponse], error) { + return c.deletePublicPlugin.CallUnary(ctx, req) +} + +// ListFlaggedReviews calls orchestrator.v1.PluginModerationService.ListFlaggedReviews. +func (c *pluginModerationServiceClient) ListFlaggedReviews(ctx context.Context, req *connect.Request[v1.ListFlaggedReviewsRequest]) (*connect.Response[v1.ListFlaggedReviewsResponse], error) { + return c.listFlaggedReviews.CallUnary(ctx, req) +} + +// SoftDeleteReview calls orchestrator.v1.PluginModerationService.SoftDeleteReview. +func (c *pluginModerationServiceClient) SoftDeleteReview(ctx context.Context, req *connect.Request[v1.SoftDeleteReviewRequest]) (*connect.Response[v1.SoftDeleteReviewResponse], error) { + return c.softDeleteReview.CallUnary(ctx, req) +} + +// SoftDeleteReply calls orchestrator.v1.PluginModerationService.SoftDeleteReply. +func (c *pluginModerationServiceClient) SoftDeleteReply(ctx context.Context, req *connect.Request[v1.SoftDeleteReplyRequest]) (*connect.Response[v1.SoftDeleteReplyResponse], error) { + return c.softDeleteReply.CallUnary(ctx, req) +} + +// CreateCategory calls orchestrator.v1.PluginModerationService.CreateCategory. +func (c *pluginModerationServiceClient) CreateCategory(ctx context.Context, req *connect.Request[v1.CreateCategoryRequest]) (*connect.Response[v1.CreateCategoryResponse], error) { + return c.createCategory.CallUnary(ctx, req) +} + +// UpdateCategory calls orchestrator.v1.PluginModerationService.UpdateCategory. +func (c *pluginModerationServiceClient) UpdateCategory(ctx context.Context, req *connect.Request[v1.UpdateCategoryRequest]) (*connect.Response[v1.UpdateCategoryResponse], error) { + return c.updateCategory.CallUnary(ctx, req) +} + +// DeleteCategory calls orchestrator.v1.PluginModerationService.DeleteCategory. +func (c *pluginModerationServiceClient) DeleteCategory(ctx context.Context, req *connect.Request[v1.DeleteCategoryRequest]) (*connect.Response[v1.DeleteCategoryResponse], error) { + return c.deleteCategory.CallUnary(ctx, req) +} + +// PluginModerationServiceHandler is an implementation of the +// orchestrator.v1.PluginModerationService service. +type PluginModerationServiceHandler interface { + ListPendingReviews(context.Context, *connect.Request[v1.ListPendingReviewsRequest]) (*connect.Response[v1.ListPendingReviewsResponse], error) + ApproveSubmission(context.Context, *connect.Request[v1.ApproveSubmissionRequest]) (*connect.Response[v1.ApproveSubmissionResponse], error) + RejectSubmission(context.Context, *connect.Request[v1.RejectSubmissionRequest]) (*connect.Response[v1.RejectSubmissionResponse], error) + RequestChanges(context.Context, *connect.Request[v1.RequestChangesRequest]) (*connect.Response[v1.RequestChangesResponse], error) + // Post-publication lifecycle control (WO-057). These act on plugins that are + // already public (or under_review), giving operators the ability to pull a + // plugin back out of the catalog after it shipped: + // - UnpublishPlugin: public -> under_review. Stops new installs, leaves + // existing installs untouched. Reversible via re-moderation. + // - TakedownPlugin: public|under_review -> taken_down. For malware. The + // instance sweep that force-uninstalls it everywhere is a separate flow + // (WO-059); this RPC only moves catalog state. + // - RestorePlugin: taken_down -> under_review (operator re-approves; not + // auto-republished). + // - YankVersion: marks a single version unusable without touching siblings. + // - DeletePublicPlugin: superadmin hard-delete incl. archive blobs. + UnpublishPlugin(context.Context, *connect.Request[v1.UnpublishPluginRequest]) (*connect.Response[v1.UnpublishPluginResponse], error) + TakedownPlugin(context.Context, *connect.Request[v1.TakedownPluginRequest]) (*connect.Response[v1.TakedownPluginResponse], error) + RestorePlugin(context.Context, *connect.Request[v1.RestorePluginRequest]) (*connect.Response[v1.RestorePluginResponse], error) + YankVersion(context.Context, *connect.Request[v1.YankVersionRequest]) (*connect.Response[v1.YankVersionResponse], error) + DeletePublicPlugin(context.Context, *connect.Request[v1.DeletePublicPluginRequest]) (*connect.Response[v1.DeletePublicPluginResponse], error) + // Star-review moderation (ADR 0021). Unrelated to the submission queue + // above: these act on user reviews (PluginReviewService), not plugins. + ListFlaggedReviews(context.Context, *connect.Request[v1.ListFlaggedReviewsRequest]) (*connect.Response[v1.ListFlaggedReviewsResponse], error) + SoftDeleteReview(context.Context, *connect.Request[v1.SoftDeleteReviewRequest]) (*connect.Response[v1.SoftDeleteReviewResponse], error) + SoftDeleteReply(context.Context, *connect.Request[v1.SoftDeleteReplyRequest]) (*connect.Response[v1.SoftDeleteReplyResponse], error) + // Registry category catalog management. Slugs are immutable once created + // because plugin.mod manifests persist them; metadata and ordering remain + // editable. Deletion is rejected while any plugin uses the category. + CreateCategory(context.Context, *connect.Request[v1.CreateCategoryRequest]) (*connect.Response[v1.CreateCategoryResponse], error) + UpdateCategory(context.Context, *connect.Request[v1.UpdateCategoryRequest]) (*connect.Response[v1.UpdateCategoryResponse], error) + DeleteCategory(context.Context, *connect.Request[v1.DeleteCategoryRequest]) (*connect.Response[v1.DeleteCategoryResponse], error) +} + +// NewPluginModerationServiceHandler builds an HTTP handler from the service implementation. It +// returns the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewPluginModerationServiceHandler(svc PluginModerationServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + pluginModerationServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginModerationService").Methods() + pluginModerationServiceListPendingReviewsHandler := connect.NewUnaryHandler( + PluginModerationServiceListPendingReviewsProcedure, + svc.ListPendingReviews, + connect.WithSchema(pluginModerationServiceMethods.ByName("ListPendingReviews")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceApproveSubmissionHandler := connect.NewUnaryHandler( + PluginModerationServiceApproveSubmissionProcedure, + svc.ApproveSubmission, + connect.WithSchema(pluginModerationServiceMethods.ByName("ApproveSubmission")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceRejectSubmissionHandler := connect.NewUnaryHandler( + PluginModerationServiceRejectSubmissionProcedure, + svc.RejectSubmission, + connect.WithSchema(pluginModerationServiceMethods.ByName("RejectSubmission")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceRequestChangesHandler := connect.NewUnaryHandler( + PluginModerationServiceRequestChangesProcedure, + svc.RequestChanges, + connect.WithSchema(pluginModerationServiceMethods.ByName("RequestChanges")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceUnpublishPluginHandler := connect.NewUnaryHandler( + PluginModerationServiceUnpublishPluginProcedure, + svc.UnpublishPlugin, + connect.WithSchema(pluginModerationServiceMethods.ByName("UnpublishPlugin")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceTakedownPluginHandler := connect.NewUnaryHandler( + PluginModerationServiceTakedownPluginProcedure, + svc.TakedownPlugin, + connect.WithSchema(pluginModerationServiceMethods.ByName("TakedownPlugin")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceRestorePluginHandler := connect.NewUnaryHandler( + PluginModerationServiceRestorePluginProcedure, + svc.RestorePlugin, + connect.WithSchema(pluginModerationServiceMethods.ByName("RestorePlugin")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceYankVersionHandler := connect.NewUnaryHandler( + PluginModerationServiceYankVersionProcedure, + svc.YankVersion, + connect.WithSchema(pluginModerationServiceMethods.ByName("YankVersion")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceDeletePublicPluginHandler := connect.NewUnaryHandler( + PluginModerationServiceDeletePublicPluginProcedure, + svc.DeletePublicPlugin, + connect.WithSchema(pluginModerationServiceMethods.ByName("DeletePublicPlugin")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceListFlaggedReviewsHandler := connect.NewUnaryHandler( + PluginModerationServiceListFlaggedReviewsProcedure, + svc.ListFlaggedReviews, + connect.WithSchema(pluginModerationServiceMethods.ByName("ListFlaggedReviews")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceSoftDeleteReviewHandler := connect.NewUnaryHandler( + PluginModerationServiceSoftDeleteReviewProcedure, + svc.SoftDeleteReview, + connect.WithSchema(pluginModerationServiceMethods.ByName("SoftDeleteReview")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceSoftDeleteReplyHandler := connect.NewUnaryHandler( + PluginModerationServiceSoftDeleteReplyProcedure, + svc.SoftDeleteReply, + connect.WithSchema(pluginModerationServiceMethods.ByName("SoftDeleteReply")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceCreateCategoryHandler := connect.NewUnaryHandler( + PluginModerationServiceCreateCategoryProcedure, + svc.CreateCategory, + connect.WithSchema(pluginModerationServiceMethods.ByName("CreateCategory")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceUpdateCategoryHandler := connect.NewUnaryHandler( + PluginModerationServiceUpdateCategoryProcedure, + svc.UpdateCategory, + connect.WithSchema(pluginModerationServiceMethods.ByName("UpdateCategory")), + connect.WithHandlerOptions(opts...), + ) + pluginModerationServiceDeleteCategoryHandler := connect.NewUnaryHandler( + PluginModerationServiceDeleteCategoryProcedure, + svc.DeleteCategory, + connect.WithSchema(pluginModerationServiceMethods.ByName("DeleteCategory")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.PluginModerationService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case PluginModerationServiceListPendingReviewsProcedure: + pluginModerationServiceListPendingReviewsHandler.ServeHTTP(w, r) + case PluginModerationServiceApproveSubmissionProcedure: + pluginModerationServiceApproveSubmissionHandler.ServeHTTP(w, r) + case PluginModerationServiceRejectSubmissionProcedure: + pluginModerationServiceRejectSubmissionHandler.ServeHTTP(w, r) + case PluginModerationServiceRequestChangesProcedure: + pluginModerationServiceRequestChangesHandler.ServeHTTP(w, r) + case PluginModerationServiceUnpublishPluginProcedure: + pluginModerationServiceUnpublishPluginHandler.ServeHTTP(w, r) + case PluginModerationServiceTakedownPluginProcedure: + pluginModerationServiceTakedownPluginHandler.ServeHTTP(w, r) + case PluginModerationServiceRestorePluginProcedure: + pluginModerationServiceRestorePluginHandler.ServeHTTP(w, r) + case PluginModerationServiceYankVersionProcedure: + pluginModerationServiceYankVersionHandler.ServeHTTP(w, r) + case PluginModerationServiceDeletePublicPluginProcedure: + pluginModerationServiceDeletePublicPluginHandler.ServeHTTP(w, r) + case PluginModerationServiceListFlaggedReviewsProcedure: + pluginModerationServiceListFlaggedReviewsHandler.ServeHTTP(w, r) + case PluginModerationServiceSoftDeleteReviewProcedure: + pluginModerationServiceSoftDeleteReviewHandler.ServeHTTP(w, r) + case PluginModerationServiceSoftDeleteReplyProcedure: + pluginModerationServiceSoftDeleteReplyHandler.ServeHTTP(w, r) + case PluginModerationServiceCreateCategoryProcedure: + pluginModerationServiceCreateCategoryHandler.ServeHTTP(w, r) + case PluginModerationServiceUpdateCategoryProcedure: + pluginModerationServiceUpdateCategoryHandler.ServeHTTP(w, r) + case PluginModerationServiceDeleteCategoryProcedure: + pluginModerationServiceDeleteCategoryHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedPluginModerationServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedPluginModerationServiceHandler struct{} + +func (UnimplementedPluginModerationServiceHandler) ListPendingReviews(context.Context, *connect.Request[v1.ListPendingReviewsRequest]) (*connect.Response[v1.ListPendingReviewsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.ListPendingReviews is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) ApproveSubmission(context.Context, *connect.Request[v1.ApproveSubmissionRequest]) (*connect.Response[v1.ApproveSubmissionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.ApproveSubmission is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) RejectSubmission(context.Context, *connect.Request[v1.RejectSubmissionRequest]) (*connect.Response[v1.RejectSubmissionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.RejectSubmission is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) RequestChanges(context.Context, *connect.Request[v1.RequestChangesRequest]) (*connect.Response[v1.RequestChangesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.RequestChanges is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) UnpublishPlugin(context.Context, *connect.Request[v1.UnpublishPluginRequest]) (*connect.Response[v1.UnpublishPluginResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.UnpublishPlugin is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) TakedownPlugin(context.Context, *connect.Request[v1.TakedownPluginRequest]) (*connect.Response[v1.TakedownPluginResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.TakedownPlugin is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) RestorePlugin(context.Context, *connect.Request[v1.RestorePluginRequest]) (*connect.Response[v1.RestorePluginResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.RestorePlugin is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) YankVersion(context.Context, *connect.Request[v1.YankVersionRequest]) (*connect.Response[v1.YankVersionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.YankVersion is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) DeletePublicPlugin(context.Context, *connect.Request[v1.DeletePublicPluginRequest]) (*connect.Response[v1.DeletePublicPluginResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.DeletePublicPlugin is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) ListFlaggedReviews(context.Context, *connect.Request[v1.ListFlaggedReviewsRequest]) (*connect.Response[v1.ListFlaggedReviewsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.ListFlaggedReviews is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) SoftDeleteReview(context.Context, *connect.Request[v1.SoftDeleteReviewRequest]) (*connect.Response[v1.SoftDeleteReviewResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.SoftDeleteReview is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) SoftDeleteReply(context.Context, *connect.Request[v1.SoftDeleteReplyRequest]) (*connect.Response[v1.SoftDeleteReplyResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.SoftDeleteReply is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) CreateCategory(context.Context, *connect.Request[v1.CreateCategoryRequest]) (*connect.Response[v1.CreateCategoryResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.CreateCategory is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) UpdateCategory(context.Context, *connect.Request[v1.UpdateCategoryRequest]) (*connect.Response[v1.UpdateCategoryResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.UpdateCategory is not implemented")) +} + +func (UnimplementedPluginModerationServiceHandler) DeleteCategory(context.Context, *connect.Request[v1.DeleteCategoryRequest]) (*connect.Response[v1.DeleteCategoryResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginModerationService.DeleteCategory is not implemented")) +} + +// PluginGalleryServiceClient is a client for the orchestrator.v1.PluginGalleryService service. +type PluginGalleryServiceClient interface { + ListScreenshots(context.Context, *connect.Request[v1.ListScreenshotsRequest]) (*connect.Response[v1.ListScreenshotsResponse], error) + UploadScreenshot(context.Context, *connect.Request[v1.UploadScreenshotRequest]) (*connect.Response[v1.UploadScreenshotResponse], error) + DeleteScreenshot(context.Context, *connect.Request[v1.DeleteScreenshotRequest]) (*connect.Response[v1.DeleteScreenshotResponse], error) + ReorderScreenshots(context.Context, *connect.Request[v1.ReorderScreenshotsRequest]) (*connect.Response[v1.ReorderScreenshotsResponse], error) + SetFeaturedScreenshot(context.Context, *connect.Request[v1.SetFeaturedScreenshotRequest]) (*connect.Response[v1.SetFeaturedScreenshotResponse], error) +} + +// NewPluginGalleryServiceClient constructs a client for the orchestrator.v1.PluginGalleryService +// service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for +// gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply +// the connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewPluginGalleryServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) PluginGalleryServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + pluginGalleryServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginGalleryService").Methods() + return &pluginGalleryServiceClient{ + listScreenshots: connect.NewClient[v1.ListScreenshotsRequest, v1.ListScreenshotsResponse]( + httpClient, + baseURL+PluginGalleryServiceListScreenshotsProcedure, + connect.WithSchema(pluginGalleryServiceMethods.ByName("ListScreenshots")), + connect.WithClientOptions(opts...), + ), + uploadScreenshot: connect.NewClient[v1.UploadScreenshotRequest, v1.UploadScreenshotResponse]( + httpClient, + baseURL+PluginGalleryServiceUploadScreenshotProcedure, + connect.WithSchema(pluginGalleryServiceMethods.ByName("UploadScreenshot")), + connect.WithClientOptions(opts...), + ), + deleteScreenshot: connect.NewClient[v1.DeleteScreenshotRequest, v1.DeleteScreenshotResponse]( + httpClient, + baseURL+PluginGalleryServiceDeleteScreenshotProcedure, + connect.WithSchema(pluginGalleryServiceMethods.ByName("DeleteScreenshot")), + connect.WithClientOptions(opts...), + ), + reorderScreenshots: connect.NewClient[v1.ReorderScreenshotsRequest, v1.ReorderScreenshotsResponse]( + httpClient, + baseURL+PluginGalleryServiceReorderScreenshotsProcedure, + connect.WithSchema(pluginGalleryServiceMethods.ByName("ReorderScreenshots")), + connect.WithClientOptions(opts...), + ), + setFeaturedScreenshot: connect.NewClient[v1.SetFeaturedScreenshotRequest, v1.SetFeaturedScreenshotResponse]( + httpClient, + baseURL+PluginGalleryServiceSetFeaturedScreenshotProcedure, + connect.WithSchema(pluginGalleryServiceMethods.ByName("SetFeaturedScreenshot")), + connect.WithClientOptions(opts...), + ), + } +} + +// pluginGalleryServiceClient implements PluginGalleryServiceClient. +type pluginGalleryServiceClient struct { + listScreenshots *connect.Client[v1.ListScreenshotsRequest, v1.ListScreenshotsResponse] + uploadScreenshot *connect.Client[v1.UploadScreenshotRequest, v1.UploadScreenshotResponse] + deleteScreenshot *connect.Client[v1.DeleteScreenshotRequest, v1.DeleteScreenshotResponse] + reorderScreenshots *connect.Client[v1.ReorderScreenshotsRequest, v1.ReorderScreenshotsResponse] + setFeaturedScreenshot *connect.Client[v1.SetFeaturedScreenshotRequest, v1.SetFeaturedScreenshotResponse] +} + +// ListScreenshots calls orchestrator.v1.PluginGalleryService.ListScreenshots. +func (c *pluginGalleryServiceClient) ListScreenshots(ctx context.Context, req *connect.Request[v1.ListScreenshotsRequest]) (*connect.Response[v1.ListScreenshotsResponse], error) { + return c.listScreenshots.CallUnary(ctx, req) +} + +// UploadScreenshot calls orchestrator.v1.PluginGalleryService.UploadScreenshot. +func (c *pluginGalleryServiceClient) UploadScreenshot(ctx context.Context, req *connect.Request[v1.UploadScreenshotRequest]) (*connect.Response[v1.UploadScreenshotResponse], error) { + return c.uploadScreenshot.CallUnary(ctx, req) +} + +// DeleteScreenshot calls orchestrator.v1.PluginGalleryService.DeleteScreenshot. +func (c *pluginGalleryServiceClient) DeleteScreenshot(ctx context.Context, req *connect.Request[v1.DeleteScreenshotRequest]) (*connect.Response[v1.DeleteScreenshotResponse], error) { + return c.deleteScreenshot.CallUnary(ctx, req) +} + +// ReorderScreenshots calls orchestrator.v1.PluginGalleryService.ReorderScreenshots. +func (c *pluginGalleryServiceClient) ReorderScreenshots(ctx context.Context, req *connect.Request[v1.ReorderScreenshotsRequest]) (*connect.Response[v1.ReorderScreenshotsResponse], error) { + return c.reorderScreenshots.CallUnary(ctx, req) +} + +// SetFeaturedScreenshot calls orchestrator.v1.PluginGalleryService.SetFeaturedScreenshot. +func (c *pluginGalleryServiceClient) SetFeaturedScreenshot(ctx context.Context, req *connect.Request[v1.SetFeaturedScreenshotRequest]) (*connect.Response[v1.SetFeaturedScreenshotResponse], error) { + return c.setFeaturedScreenshot.CallUnary(ctx, req) +} + +// PluginGalleryServiceHandler is an implementation of the orchestrator.v1.PluginGalleryService +// service. +type PluginGalleryServiceHandler interface { + ListScreenshots(context.Context, *connect.Request[v1.ListScreenshotsRequest]) (*connect.Response[v1.ListScreenshotsResponse], error) + UploadScreenshot(context.Context, *connect.Request[v1.UploadScreenshotRequest]) (*connect.Response[v1.UploadScreenshotResponse], error) + DeleteScreenshot(context.Context, *connect.Request[v1.DeleteScreenshotRequest]) (*connect.Response[v1.DeleteScreenshotResponse], error) + ReorderScreenshots(context.Context, *connect.Request[v1.ReorderScreenshotsRequest]) (*connect.Response[v1.ReorderScreenshotsResponse], error) + SetFeaturedScreenshot(context.Context, *connect.Request[v1.SetFeaturedScreenshotRequest]) (*connect.Response[v1.SetFeaturedScreenshotResponse], error) +} + +// NewPluginGalleryServiceHandler builds an HTTP handler from the service implementation. It returns +// the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewPluginGalleryServiceHandler(svc PluginGalleryServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + pluginGalleryServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginGalleryService").Methods() + pluginGalleryServiceListScreenshotsHandler := connect.NewUnaryHandler( + PluginGalleryServiceListScreenshotsProcedure, + svc.ListScreenshots, + connect.WithSchema(pluginGalleryServiceMethods.ByName("ListScreenshots")), + connect.WithHandlerOptions(opts...), + ) + pluginGalleryServiceUploadScreenshotHandler := connect.NewUnaryHandler( + PluginGalleryServiceUploadScreenshotProcedure, + svc.UploadScreenshot, + connect.WithSchema(pluginGalleryServiceMethods.ByName("UploadScreenshot")), + connect.WithHandlerOptions(opts...), + ) + pluginGalleryServiceDeleteScreenshotHandler := connect.NewUnaryHandler( + PluginGalleryServiceDeleteScreenshotProcedure, + svc.DeleteScreenshot, + connect.WithSchema(pluginGalleryServiceMethods.ByName("DeleteScreenshot")), + connect.WithHandlerOptions(opts...), + ) + pluginGalleryServiceReorderScreenshotsHandler := connect.NewUnaryHandler( + PluginGalleryServiceReorderScreenshotsProcedure, + svc.ReorderScreenshots, + connect.WithSchema(pluginGalleryServiceMethods.ByName("ReorderScreenshots")), + connect.WithHandlerOptions(opts...), + ) + pluginGalleryServiceSetFeaturedScreenshotHandler := connect.NewUnaryHandler( + PluginGalleryServiceSetFeaturedScreenshotProcedure, + svc.SetFeaturedScreenshot, + connect.WithSchema(pluginGalleryServiceMethods.ByName("SetFeaturedScreenshot")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.PluginGalleryService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case PluginGalleryServiceListScreenshotsProcedure: + pluginGalleryServiceListScreenshotsHandler.ServeHTTP(w, r) + case PluginGalleryServiceUploadScreenshotProcedure: + pluginGalleryServiceUploadScreenshotHandler.ServeHTTP(w, r) + case PluginGalleryServiceDeleteScreenshotProcedure: + pluginGalleryServiceDeleteScreenshotHandler.ServeHTTP(w, r) + case PluginGalleryServiceReorderScreenshotsProcedure: + pluginGalleryServiceReorderScreenshotsHandler.ServeHTTP(w, r) + case PluginGalleryServiceSetFeaturedScreenshotProcedure: + pluginGalleryServiceSetFeaturedScreenshotHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedPluginGalleryServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedPluginGalleryServiceHandler struct{} + +func (UnimplementedPluginGalleryServiceHandler) ListScreenshots(context.Context, *connect.Request[v1.ListScreenshotsRequest]) (*connect.Response[v1.ListScreenshotsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginGalleryService.ListScreenshots is not implemented")) +} + +func (UnimplementedPluginGalleryServiceHandler) UploadScreenshot(context.Context, *connect.Request[v1.UploadScreenshotRequest]) (*connect.Response[v1.UploadScreenshotResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginGalleryService.UploadScreenshot is not implemented")) +} + +func (UnimplementedPluginGalleryServiceHandler) DeleteScreenshot(context.Context, *connect.Request[v1.DeleteScreenshotRequest]) (*connect.Response[v1.DeleteScreenshotResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginGalleryService.DeleteScreenshot is not implemented")) +} + +func (UnimplementedPluginGalleryServiceHandler) ReorderScreenshots(context.Context, *connect.Request[v1.ReorderScreenshotsRequest]) (*connect.Response[v1.ReorderScreenshotsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginGalleryService.ReorderScreenshots is not implemented")) +} + +func (UnimplementedPluginGalleryServiceHandler) SetFeaturedScreenshot(context.Context, *connect.Request[v1.SetFeaturedScreenshotRequest]) (*connect.Response[v1.SetFeaturedScreenshotResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginGalleryService.SetFeaturedScreenshot is not implemented")) +} + +// PluginReviewServiceClient is a client for the orchestrator.v1.PluginReviewService service. +type PluginReviewServiceClient interface { + ListReviews(context.Context, *connect.Request[v1.ListReviewsRequest]) (*connect.Response[v1.ListReviewsResponse], error) + GetMyReview(context.Context, *connect.Request[v1.GetMyReviewRequest]) (*connect.Response[v1.GetMyReviewResponse], error) + UpsertReview(context.Context, *connect.Request[v1.UpsertReviewRequest]) (*connect.Response[v1.UpsertReviewResponse], error) + DeleteReview(context.Context, *connect.Request[v1.DeleteReviewRequest]) (*connect.Response[v1.DeleteReviewResponse], error) + ReplyToReview(context.Context, *connect.Request[v1.ReplyToReviewRequest]) (*connect.Response[v1.ReplyToReviewResponse], error) + DeleteReply(context.Context, *connect.Request[v1.DeleteReplyRequest]) (*connect.Response[v1.DeleteReplyResponse], error) + FlagReview(context.Context, *connect.Request[v1.FlagReviewRequest]) (*connect.Response[v1.FlagReviewResponse], error) +} + +// NewPluginReviewServiceClient constructs a client for the orchestrator.v1.PluginReviewService +// service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for +// gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply +// the connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewPluginReviewServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) PluginReviewServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + pluginReviewServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginReviewService").Methods() + return &pluginReviewServiceClient{ + listReviews: connect.NewClient[v1.ListReviewsRequest, v1.ListReviewsResponse]( + httpClient, + baseURL+PluginReviewServiceListReviewsProcedure, + connect.WithSchema(pluginReviewServiceMethods.ByName("ListReviews")), + connect.WithClientOptions(opts...), + ), + getMyReview: connect.NewClient[v1.GetMyReviewRequest, v1.GetMyReviewResponse]( + httpClient, + baseURL+PluginReviewServiceGetMyReviewProcedure, + connect.WithSchema(pluginReviewServiceMethods.ByName("GetMyReview")), + connect.WithClientOptions(opts...), + ), + upsertReview: connect.NewClient[v1.UpsertReviewRequest, v1.UpsertReviewResponse]( + httpClient, + baseURL+PluginReviewServiceUpsertReviewProcedure, + connect.WithSchema(pluginReviewServiceMethods.ByName("UpsertReview")), + connect.WithClientOptions(opts...), + ), + deleteReview: connect.NewClient[v1.DeleteReviewRequest, v1.DeleteReviewResponse]( + httpClient, + baseURL+PluginReviewServiceDeleteReviewProcedure, + connect.WithSchema(pluginReviewServiceMethods.ByName("DeleteReview")), + connect.WithClientOptions(opts...), + ), + replyToReview: connect.NewClient[v1.ReplyToReviewRequest, v1.ReplyToReviewResponse]( + httpClient, + baseURL+PluginReviewServiceReplyToReviewProcedure, + connect.WithSchema(pluginReviewServiceMethods.ByName("ReplyToReview")), + connect.WithClientOptions(opts...), + ), + deleteReply: connect.NewClient[v1.DeleteReplyRequest, v1.DeleteReplyResponse]( + httpClient, + baseURL+PluginReviewServiceDeleteReplyProcedure, + connect.WithSchema(pluginReviewServiceMethods.ByName("DeleteReply")), + connect.WithClientOptions(opts...), + ), + flagReview: connect.NewClient[v1.FlagReviewRequest, v1.FlagReviewResponse]( + httpClient, + baseURL+PluginReviewServiceFlagReviewProcedure, + connect.WithSchema(pluginReviewServiceMethods.ByName("FlagReview")), + connect.WithClientOptions(opts...), + ), + } +} + +// pluginReviewServiceClient implements PluginReviewServiceClient. +type pluginReviewServiceClient struct { + listReviews *connect.Client[v1.ListReviewsRequest, v1.ListReviewsResponse] + getMyReview *connect.Client[v1.GetMyReviewRequest, v1.GetMyReviewResponse] + upsertReview *connect.Client[v1.UpsertReviewRequest, v1.UpsertReviewResponse] + deleteReview *connect.Client[v1.DeleteReviewRequest, v1.DeleteReviewResponse] + replyToReview *connect.Client[v1.ReplyToReviewRequest, v1.ReplyToReviewResponse] + deleteReply *connect.Client[v1.DeleteReplyRequest, v1.DeleteReplyResponse] + flagReview *connect.Client[v1.FlagReviewRequest, v1.FlagReviewResponse] +} + +// ListReviews calls orchestrator.v1.PluginReviewService.ListReviews. +func (c *pluginReviewServiceClient) ListReviews(ctx context.Context, req *connect.Request[v1.ListReviewsRequest]) (*connect.Response[v1.ListReviewsResponse], error) { + return c.listReviews.CallUnary(ctx, req) +} + +// GetMyReview calls orchestrator.v1.PluginReviewService.GetMyReview. +func (c *pluginReviewServiceClient) GetMyReview(ctx context.Context, req *connect.Request[v1.GetMyReviewRequest]) (*connect.Response[v1.GetMyReviewResponse], error) { + return c.getMyReview.CallUnary(ctx, req) +} + +// UpsertReview calls orchestrator.v1.PluginReviewService.UpsertReview. +func (c *pluginReviewServiceClient) UpsertReview(ctx context.Context, req *connect.Request[v1.UpsertReviewRequest]) (*connect.Response[v1.UpsertReviewResponse], error) { + return c.upsertReview.CallUnary(ctx, req) +} + +// DeleteReview calls orchestrator.v1.PluginReviewService.DeleteReview. +func (c *pluginReviewServiceClient) DeleteReview(ctx context.Context, req *connect.Request[v1.DeleteReviewRequest]) (*connect.Response[v1.DeleteReviewResponse], error) { + return c.deleteReview.CallUnary(ctx, req) +} + +// ReplyToReview calls orchestrator.v1.PluginReviewService.ReplyToReview. +func (c *pluginReviewServiceClient) ReplyToReview(ctx context.Context, req *connect.Request[v1.ReplyToReviewRequest]) (*connect.Response[v1.ReplyToReviewResponse], error) { + return c.replyToReview.CallUnary(ctx, req) +} + +// DeleteReply calls orchestrator.v1.PluginReviewService.DeleteReply. +func (c *pluginReviewServiceClient) DeleteReply(ctx context.Context, req *connect.Request[v1.DeleteReplyRequest]) (*connect.Response[v1.DeleteReplyResponse], error) { + return c.deleteReply.CallUnary(ctx, req) +} + +// FlagReview calls orchestrator.v1.PluginReviewService.FlagReview. +func (c *pluginReviewServiceClient) FlagReview(ctx context.Context, req *connect.Request[v1.FlagReviewRequest]) (*connect.Response[v1.FlagReviewResponse], error) { + return c.flagReview.CallUnary(ctx, req) +} + +// PluginReviewServiceHandler is an implementation of the orchestrator.v1.PluginReviewService +// service. +type PluginReviewServiceHandler interface { + ListReviews(context.Context, *connect.Request[v1.ListReviewsRequest]) (*connect.Response[v1.ListReviewsResponse], error) + GetMyReview(context.Context, *connect.Request[v1.GetMyReviewRequest]) (*connect.Response[v1.GetMyReviewResponse], error) + UpsertReview(context.Context, *connect.Request[v1.UpsertReviewRequest]) (*connect.Response[v1.UpsertReviewResponse], error) + DeleteReview(context.Context, *connect.Request[v1.DeleteReviewRequest]) (*connect.Response[v1.DeleteReviewResponse], error) + ReplyToReview(context.Context, *connect.Request[v1.ReplyToReviewRequest]) (*connect.Response[v1.ReplyToReviewResponse], error) + DeleteReply(context.Context, *connect.Request[v1.DeleteReplyRequest]) (*connect.Response[v1.DeleteReplyResponse], error) + FlagReview(context.Context, *connect.Request[v1.FlagReviewRequest]) (*connect.Response[v1.FlagReviewResponse], error) +} + +// NewPluginReviewServiceHandler builds an HTTP handler from the service implementation. It returns +// the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewPluginReviewServiceHandler(svc PluginReviewServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + pluginReviewServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginReviewService").Methods() + pluginReviewServiceListReviewsHandler := connect.NewUnaryHandler( + PluginReviewServiceListReviewsProcedure, + svc.ListReviews, + connect.WithSchema(pluginReviewServiceMethods.ByName("ListReviews")), + connect.WithHandlerOptions(opts...), + ) + pluginReviewServiceGetMyReviewHandler := connect.NewUnaryHandler( + PluginReviewServiceGetMyReviewProcedure, + svc.GetMyReview, + connect.WithSchema(pluginReviewServiceMethods.ByName("GetMyReview")), + connect.WithHandlerOptions(opts...), + ) + pluginReviewServiceUpsertReviewHandler := connect.NewUnaryHandler( + PluginReviewServiceUpsertReviewProcedure, + svc.UpsertReview, + connect.WithSchema(pluginReviewServiceMethods.ByName("UpsertReview")), + connect.WithHandlerOptions(opts...), + ) + pluginReviewServiceDeleteReviewHandler := connect.NewUnaryHandler( + PluginReviewServiceDeleteReviewProcedure, + svc.DeleteReview, + connect.WithSchema(pluginReviewServiceMethods.ByName("DeleteReview")), + connect.WithHandlerOptions(opts...), + ) + pluginReviewServiceReplyToReviewHandler := connect.NewUnaryHandler( + PluginReviewServiceReplyToReviewProcedure, + svc.ReplyToReview, + connect.WithSchema(pluginReviewServiceMethods.ByName("ReplyToReview")), + connect.WithHandlerOptions(opts...), + ) + pluginReviewServiceDeleteReplyHandler := connect.NewUnaryHandler( + PluginReviewServiceDeleteReplyProcedure, + svc.DeleteReply, + connect.WithSchema(pluginReviewServiceMethods.ByName("DeleteReply")), + connect.WithHandlerOptions(opts...), + ) + pluginReviewServiceFlagReviewHandler := connect.NewUnaryHandler( + PluginReviewServiceFlagReviewProcedure, + svc.FlagReview, + connect.WithSchema(pluginReviewServiceMethods.ByName("FlagReview")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.PluginReviewService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case PluginReviewServiceListReviewsProcedure: + pluginReviewServiceListReviewsHandler.ServeHTTP(w, r) + case PluginReviewServiceGetMyReviewProcedure: + pluginReviewServiceGetMyReviewHandler.ServeHTTP(w, r) + case PluginReviewServiceUpsertReviewProcedure: + pluginReviewServiceUpsertReviewHandler.ServeHTTP(w, r) + case PluginReviewServiceDeleteReviewProcedure: + pluginReviewServiceDeleteReviewHandler.ServeHTTP(w, r) + case PluginReviewServiceReplyToReviewProcedure: + pluginReviewServiceReplyToReviewHandler.ServeHTTP(w, r) + case PluginReviewServiceDeleteReplyProcedure: + pluginReviewServiceDeleteReplyHandler.ServeHTTP(w, r) + case PluginReviewServiceFlagReviewProcedure: + pluginReviewServiceFlagReviewHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedPluginReviewServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedPluginReviewServiceHandler struct{} + +func (UnimplementedPluginReviewServiceHandler) ListReviews(context.Context, *connect.Request[v1.ListReviewsRequest]) (*connect.Response[v1.ListReviewsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginReviewService.ListReviews is not implemented")) +} + +func (UnimplementedPluginReviewServiceHandler) GetMyReview(context.Context, *connect.Request[v1.GetMyReviewRequest]) (*connect.Response[v1.GetMyReviewResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginReviewService.GetMyReview is not implemented")) +} + +func (UnimplementedPluginReviewServiceHandler) UpsertReview(context.Context, *connect.Request[v1.UpsertReviewRequest]) (*connect.Response[v1.UpsertReviewResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginReviewService.UpsertReview is not implemented")) +} + +func (UnimplementedPluginReviewServiceHandler) DeleteReview(context.Context, *connect.Request[v1.DeleteReviewRequest]) (*connect.Response[v1.DeleteReviewResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginReviewService.DeleteReview is not implemented")) +} + +func (UnimplementedPluginReviewServiceHandler) ReplyToReview(context.Context, *connect.Request[v1.ReplyToReviewRequest]) (*connect.Response[v1.ReplyToReviewResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginReviewService.ReplyToReview is not implemented")) +} + +func (UnimplementedPluginReviewServiceHandler) DeleteReply(context.Context, *connect.Request[v1.DeleteReplyRequest]) (*connect.Response[v1.DeleteReplyResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginReviewService.DeleteReply is not implemented")) +} + +func (UnimplementedPluginReviewServiceHandler) FlagReview(context.Context, *connect.Request[v1.FlagReviewRequest]) (*connect.Response[v1.FlagReviewResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginReviewService.FlagReview is not implemented")) +} + +// PluginPublishServiceClient is a client for the orchestrator.v1.PluginPublishService service. +type PluginPublishServiceClient interface { + PublishVersion(context.Context, *connect.Request[v1.PublishVersionRequest]) (*connect.Response[v1.PublishVersionResponse], error) +} + +// NewPluginPublishServiceClient constructs a client for the orchestrator.v1.PluginPublishService +// service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for +// gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply +// the connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewPluginPublishServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) PluginPublishServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + pluginPublishServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginPublishService").Methods() + return &pluginPublishServiceClient{ + publishVersion: connect.NewClient[v1.PublishVersionRequest, v1.PublishVersionResponse]( + httpClient, + baseURL+PluginPublishServicePublishVersionProcedure, + connect.WithSchema(pluginPublishServiceMethods.ByName("PublishVersion")), + connect.WithClientOptions(opts...), + ), + } +} + +// pluginPublishServiceClient implements PluginPublishServiceClient. +type pluginPublishServiceClient struct { + publishVersion *connect.Client[v1.PublishVersionRequest, v1.PublishVersionResponse] +} + +// PublishVersion calls orchestrator.v1.PluginPublishService.PublishVersion. +func (c *pluginPublishServiceClient) PublishVersion(ctx context.Context, req *connect.Request[v1.PublishVersionRequest]) (*connect.Response[v1.PublishVersionResponse], error) { + return c.publishVersion.CallUnary(ctx, req) +} + +// PluginPublishServiceHandler is an implementation of the orchestrator.v1.PluginPublishService +// service. +type PluginPublishServiceHandler interface { + PublishVersion(context.Context, *connect.Request[v1.PublishVersionRequest]) (*connect.Response[v1.PublishVersionResponse], error) +} + +// NewPluginPublishServiceHandler builds an HTTP handler from the service implementation. It returns +// the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewPluginPublishServiceHandler(svc PluginPublishServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + pluginPublishServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginPublishService").Methods() + pluginPublishServicePublishVersionHandler := connect.NewUnaryHandler( + PluginPublishServicePublishVersionProcedure, + svc.PublishVersion, + connect.WithSchema(pluginPublishServiceMethods.ByName("PublishVersion")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.PluginPublishService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case PluginPublishServicePublishVersionProcedure: + pluginPublishServicePublishVersionHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedPluginPublishServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedPluginPublishServiceHandler struct{} + +func (UnimplementedPluginPublishServiceHandler) PublishVersion(context.Context, *connect.Request[v1.PublishVersionRequest]) (*connect.Response[v1.PublishVersionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginPublishService.PublishVersion is not implemented")) +} + +// PluginAuthServiceClient is a client for the orchestrator.v1.PluginAuthService service. +type PluginAuthServiceClient interface { + StartDevice(context.Context, *connect.Request[v1.StartDeviceRequest]) (*connect.Response[v1.StartDeviceResponse], error) + PollDevice(context.Context, *connect.Request[v1.PollDeviceRequest]) (*connect.Response[v1.PollDeviceResponse], error) + ApproveDevice(context.Context, *connect.Request[v1.ApproveDeviceRequest]) (*connect.Response[v1.ApproveDeviceResponse], error) + DenyDevice(context.Context, *connect.Request[v1.DenyDeviceRequest]) (*connect.Response[v1.DenyDeviceResponse], error) + GetDeviceStatus(context.Context, *connect.Request[v1.GetDeviceStatusRequest]) (*connect.Response[v1.GetDeviceStatusResponse], error) + Whoami(context.Context, *connect.Request[v1.WhoamiRequest]) (*connect.Response[v1.WhoamiResponse], error) + // ListMyAccounts is the CLI-facing account picker, returning the bare + // minimum needed for `ninja login` / `ninja account list`. The CLI in + // core/cmd/ninja consumes only this proto file; pulling in accounts.proto + // and AccountService would force core to also generate bindings for the + // full Account message and collide with the orchestrator's own copy at + // proto-registration time. + ListMyAccountsForCLI(context.Context, *connect.Request[v1.ListMyAccountsForCLIRequest]) (*connect.Response[v1.ListMyAccountsForCLIResponse], error) +} + +// NewPluginAuthServiceClient constructs a client for the orchestrator.v1.PluginAuthService service. +// By default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped +// responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewPluginAuthServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) PluginAuthServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + pluginAuthServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginAuthService").Methods() + return &pluginAuthServiceClient{ + startDevice: connect.NewClient[v1.StartDeviceRequest, v1.StartDeviceResponse]( + httpClient, + baseURL+PluginAuthServiceStartDeviceProcedure, + connect.WithSchema(pluginAuthServiceMethods.ByName("StartDevice")), + connect.WithClientOptions(opts...), + ), + pollDevice: connect.NewClient[v1.PollDeviceRequest, v1.PollDeviceResponse]( + httpClient, + baseURL+PluginAuthServicePollDeviceProcedure, + connect.WithSchema(pluginAuthServiceMethods.ByName("PollDevice")), + connect.WithClientOptions(opts...), + ), + approveDevice: connect.NewClient[v1.ApproveDeviceRequest, v1.ApproveDeviceResponse]( + httpClient, + baseURL+PluginAuthServiceApproveDeviceProcedure, + connect.WithSchema(pluginAuthServiceMethods.ByName("ApproveDevice")), + connect.WithClientOptions(opts...), + ), + denyDevice: connect.NewClient[v1.DenyDeviceRequest, v1.DenyDeviceResponse]( + httpClient, + baseURL+PluginAuthServiceDenyDeviceProcedure, + connect.WithSchema(pluginAuthServiceMethods.ByName("DenyDevice")), + connect.WithClientOptions(opts...), + ), + getDeviceStatus: connect.NewClient[v1.GetDeviceStatusRequest, v1.GetDeviceStatusResponse]( + httpClient, + baseURL+PluginAuthServiceGetDeviceStatusProcedure, + connect.WithSchema(pluginAuthServiceMethods.ByName("GetDeviceStatus")), + connect.WithClientOptions(opts...), + ), + whoami: connect.NewClient[v1.WhoamiRequest, v1.WhoamiResponse]( + httpClient, + baseURL+PluginAuthServiceWhoamiProcedure, + connect.WithSchema(pluginAuthServiceMethods.ByName("Whoami")), + connect.WithClientOptions(opts...), + ), + listMyAccountsForCLI: connect.NewClient[v1.ListMyAccountsForCLIRequest, v1.ListMyAccountsForCLIResponse]( + httpClient, + baseURL+PluginAuthServiceListMyAccountsForCLIProcedure, + connect.WithSchema(pluginAuthServiceMethods.ByName("ListMyAccountsForCLI")), + connect.WithClientOptions(opts...), + ), + } +} + +// pluginAuthServiceClient implements PluginAuthServiceClient. +type pluginAuthServiceClient struct { + startDevice *connect.Client[v1.StartDeviceRequest, v1.StartDeviceResponse] + pollDevice *connect.Client[v1.PollDeviceRequest, v1.PollDeviceResponse] + approveDevice *connect.Client[v1.ApproveDeviceRequest, v1.ApproveDeviceResponse] + denyDevice *connect.Client[v1.DenyDeviceRequest, v1.DenyDeviceResponse] + getDeviceStatus *connect.Client[v1.GetDeviceStatusRequest, v1.GetDeviceStatusResponse] + whoami *connect.Client[v1.WhoamiRequest, v1.WhoamiResponse] + listMyAccountsForCLI *connect.Client[v1.ListMyAccountsForCLIRequest, v1.ListMyAccountsForCLIResponse] +} + +// StartDevice calls orchestrator.v1.PluginAuthService.StartDevice. +func (c *pluginAuthServiceClient) StartDevice(ctx context.Context, req *connect.Request[v1.StartDeviceRequest]) (*connect.Response[v1.StartDeviceResponse], error) { + return c.startDevice.CallUnary(ctx, req) +} + +// PollDevice calls orchestrator.v1.PluginAuthService.PollDevice. +func (c *pluginAuthServiceClient) PollDevice(ctx context.Context, req *connect.Request[v1.PollDeviceRequest]) (*connect.Response[v1.PollDeviceResponse], error) { + return c.pollDevice.CallUnary(ctx, req) +} + +// ApproveDevice calls orchestrator.v1.PluginAuthService.ApproveDevice. +func (c *pluginAuthServiceClient) ApproveDevice(ctx context.Context, req *connect.Request[v1.ApproveDeviceRequest]) (*connect.Response[v1.ApproveDeviceResponse], error) { + return c.approveDevice.CallUnary(ctx, req) +} + +// DenyDevice calls orchestrator.v1.PluginAuthService.DenyDevice. +func (c *pluginAuthServiceClient) DenyDevice(ctx context.Context, req *connect.Request[v1.DenyDeviceRequest]) (*connect.Response[v1.DenyDeviceResponse], error) { + return c.denyDevice.CallUnary(ctx, req) +} + +// GetDeviceStatus calls orchestrator.v1.PluginAuthService.GetDeviceStatus. +func (c *pluginAuthServiceClient) GetDeviceStatus(ctx context.Context, req *connect.Request[v1.GetDeviceStatusRequest]) (*connect.Response[v1.GetDeviceStatusResponse], error) { + return c.getDeviceStatus.CallUnary(ctx, req) +} + +// Whoami calls orchestrator.v1.PluginAuthService.Whoami. +func (c *pluginAuthServiceClient) Whoami(ctx context.Context, req *connect.Request[v1.WhoamiRequest]) (*connect.Response[v1.WhoamiResponse], error) { + return c.whoami.CallUnary(ctx, req) +} + +// ListMyAccountsForCLI calls orchestrator.v1.PluginAuthService.ListMyAccountsForCLI. +func (c *pluginAuthServiceClient) ListMyAccountsForCLI(ctx context.Context, req *connect.Request[v1.ListMyAccountsForCLIRequest]) (*connect.Response[v1.ListMyAccountsForCLIResponse], error) { + return c.listMyAccountsForCLI.CallUnary(ctx, req) +} + +// PluginAuthServiceHandler is an implementation of the orchestrator.v1.PluginAuthService service. +type PluginAuthServiceHandler interface { + StartDevice(context.Context, *connect.Request[v1.StartDeviceRequest]) (*connect.Response[v1.StartDeviceResponse], error) + PollDevice(context.Context, *connect.Request[v1.PollDeviceRequest]) (*connect.Response[v1.PollDeviceResponse], error) + ApproveDevice(context.Context, *connect.Request[v1.ApproveDeviceRequest]) (*connect.Response[v1.ApproveDeviceResponse], error) + DenyDevice(context.Context, *connect.Request[v1.DenyDeviceRequest]) (*connect.Response[v1.DenyDeviceResponse], error) + GetDeviceStatus(context.Context, *connect.Request[v1.GetDeviceStatusRequest]) (*connect.Response[v1.GetDeviceStatusResponse], error) + Whoami(context.Context, *connect.Request[v1.WhoamiRequest]) (*connect.Response[v1.WhoamiResponse], error) + // ListMyAccounts is the CLI-facing account picker, returning the bare + // minimum needed for `ninja login` / `ninja account list`. The CLI in + // core/cmd/ninja consumes only this proto file; pulling in accounts.proto + // and AccountService would force core to also generate bindings for the + // full Account message and collide with the orchestrator's own copy at + // proto-registration time. + ListMyAccountsForCLI(context.Context, *connect.Request[v1.ListMyAccountsForCLIRequest]) (*connect.Response[v1.ListMyAccountsForCLIResponse], error) +} + +// NewPluginAuthServiceHandler builds an HTTP handler from the service implementation. It returns +// the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewPluginAuthServiceHandler(svc PluginAuthServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + pluginAuthServiceMethods := v1.File_orchestrator_v1_plugin_registry_proto.Services().ByName("PluginAuthService").Methods() + pluginAuthServiceStartDeviceHandler := connect.NewUnaryHandler( + PluginAuthServiceStartDeviceProcedure, + svc.StartDevice, + connect.WithSchema(pluginAuthServiceMethods.ByName("StartDevice")), + connect.WithHandlerOptions(opts...), + ) + pluginAuthServicePollDeviceHandler := connect.NewUnaryHandler( + PluginAuthServicePollDeviceProcedure, + svc.PollDevice, + connect.WithSchema(pluginAuthServiceMethods.ByName("PollDevice")), + connect.WithHandlerOptions(opts...), + ) + pluginAuthServiceApproveDeviceHandler := connect.NewUnaryHandler( + PluginAuthServiceApproveDeviceProcedure, + svc.ApproveDevice, + connect.WithSchema(pluginAuthServiceMethods.ByName("ApproveDevice")), + connect.WithHandlerOptions(opts...), + ) + pluginAuthServiceDenyDeviceHandler := connect.NewUnaryHandler( + PluginAuthServiceDenyDeviceProcedure, + svc.DenyDevice, + connect.WithSchema(pluginAuthServiceMethods.ByName("DenyDevice")), + connect.WithHandlerOptions(opts...), + ) + pluginAuthServiceGetDeviceStatusHandler := connect.NewUnaryHandler( + PluginAuthServiceGetDeviceStatusProcedure, + svc.GetDeviceStatus, + connect.WithSchema(pluginAuthServiceMethods.ByName("GetDeviceStatus")), + connect.WithHandlerOptions(opts...), + ) + pluginAuthServiceWhoamiHandler := connect.NewUnaryHandler( + PluginAuthServiceWhoamiProcedure, + svc.Whoami, + connect.WithSchema(pluginAuthServiceMethods.ByName("Whoami")), + connect.WithHandlerOptions(opts...), + ) + pluginAuthServiceListMyAccountsForCLIHandler := connect.NewUnaryHandler( + PluginAuthServiceListMyAccountsForCLIProcedure, + svc.ListMyAccountsForCLI, + connect.WithSchema(pluginAuthServiceMethods.ByName("ListMyAccountsForCLI")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.PluginAuthService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case PluginAuthServiceStartDeviceProcedure: + pluginAuthServiceStartDeviceHandler.ServeHTTP(w, r) + case PluginAuthServicePollDeviceProcedure: + pluginAuthServicePollDeviceHandler.ServeHTTP(w, r) + case PluginAuthServiceApproveDeviceProcedure: + pluginAuthServiceApproveDeviceHandler.ServeHTTP(w, r) + case PluginAuthServiceDenyDeviceProcedure: + pluginAuthServiceDenyDeviceHandler.ServeHTTP(w, r) + case PluginAuthServiceGetDeviceStatusProcedure: + pluginAuthServiceGetDeviceStatusHandler.ServeHTTP(w, r) + case PluginAuthServiceWhoamiProcedure: + pluginAuthServiceWhoamiHandler.ServeHTTP(w, r) + case PluginAuthServiceListMyAccountsForCLIProcedure: + pluginAuthServiceListMyAccountsForCLIHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedPluginAuthServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedPluginAuthServiceHandler struct{} + +func (UnimplementedPluginAuthServiceHandler) StartDevice(context.Context, *connect.Request[v1.StartDeviceRequest]) (*connect.Response[v1.StartDeviceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginAuthService.StartDevice is not implemented")) +} + +func (UnimplementedPluginAuthServiceHandler) PollDevice(context.Context, *connect.Request[v1.PollDeviceRequest]) (*connect.Response[v1.PollDeviceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginAuthService.PollDevice is not implemented")) +} + +func (UnimplementedPluginAuthServiceHandler) ApproveDevice(context.Context, *connect.Request[v1.ApproveDeviceRequest]) (*connect.Response[v1.ApproveDeviceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginAuthService.ApproveDevice is not implemented")) +} + +func (UnimplementedPluginAuthServiceHandler) DenyDevice(context.Context, *connect.Request[v1.DenyDeviceRequest]) (*connect.Response[v1.DenyDeviceResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginAuthService.DenyDevice is not implemented")) +} + +func (UnimplementedPluginAuthServiceHandler) GetDeviceStatus(context.Context, *connect.Request[v1.GetDeviceStatusRequest]) (*connect.Response[v1.GetDeviceStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginAuthService.GetDeviceStatus is not implemented")) +} + +func (UnimplementedPluginAuthServiceHandler) Whoami(context.Context, *connect.Request[v1.WhoamiRequest]) (*connect.Response[v1.WhoamiResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginAuthService.Whoami is not implemented")) +} + +func (UnimplementedPluginAuthServiceHandler) ListMyAccountsForCLI(context.Context, *connect.Request[v1.ListMyAccountsForCLIRequest]) (*connect.Response[v1.ListMyAccountsForCLIResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginAuthService.ListMyAccountsForCLI is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/push.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/push.connect.go new file mode 100644 index 0000000..80066a7 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/push.connect.go @@ -0,0 +1,210 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/push.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // PushServiceName is the fully-qualified name of the PushService service. + PushServiceName = "orchestrator.v1.PushService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // PushServiceStartDeviceAuthProcedure is the fully-qualified name of the PushService's + // StartDeviceAuth RPC. + PushServiceStartDeviceAuthProcedure = "/orchestrator.v1.PushService/StartDeviceAuth" + // PushServicePollDeviceAuthProcedure is the fully-qualified name of the PushService's + // PollDeviceAuth RPC. + PushServicePollDeviceAuthProcedure = "/orchestrator.v1.PushService/PollDeviceAuth" + // PushServiceProvisionFromBackupProcedure is the fully-qualified name of the PushService's + // ProvisionFromBackup RPC. + PushServiceProvisionFromBackupProcedure = "/orchestrator.v1.PushService/ProvisionFromBackup" + // PushServiceGetProvisioningStatusProcedure is the fully-qualified name of the PushService's + // GetProvisioningStatus RPC. + PushServiceGetProvisioningStatusProcedure = "/orchestrator.v1.PushService/GetProvisioningStatus" +) + +// PushServiceClient is a client for the orchestrator.v1.PushService service. +type PushServiceClient interface { + // StartDeviceAuth initiates the OAuth device authorization flow. + // Returns a device code and user code for CLI authentication. + StartDeviceAuth(context.Context, *connect.Request[v1.StartDeviceAuthRequest]) (*connect.Response[v1.StartDeviceAuthResponse], error) + // PollDeviceAuth checks if the user has authorized the device. + // Called repeatedly by CLI until authorization is complete or expired. + PollDeviceAuth(context.Context, *connect.Request[v1.PollDeviceAuthRequest]) (*connect.Response[v1.PollDeviceAuthResponse], error) + // ProvisionFromBackup creates a new instance from an uploaded backup. + // The backup must have been uploaded via the HTTP upload endpoint first. + ProvisionFromBackup(context.Context, *connect.Request[v1.ProvisionFromBackupRequest]) (*connect.Response[v1.ProvisionFromBackupResponse], error) + // GetProvisioningStatus returns the current status of a provisioning operation. + GetProvisioningStatus(context.Context, *connect.Request[v1.GetProvisioningStatusRequest]) (*connect.Response[v1.GetProvisioningStatusResponse], error) +} + +// NewPushServiceClient constructs a client for the orchestrator.v1.PushService service. By default, +// it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and +// sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() +// or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewPushServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) PushServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + pushServiceMethods := v1.File_orchestrator_v1_push_proto.Services().ByName("PushService").Methods() + return &pushServiceClient{ + startDeviceAuth: connect.NewClient[v1.StartDeviceAuthRequest, v1.StartDeviceAuthResponse]( + httpClient, + baseURL+PushServiceStartDeviceAuthProcedure, + connect.WithSchema(pushServiceMethods.ByName("StartDeviceAuth")), + connect.WithClientOptions(opts...), + ), + pollDeviceAuth: connect.NewClient[v1.PollDeviceAuthRequest, v1.PollDeviceAuthResponse]( + httpClient, + baseURL+PushServicePollDeviceAuthProcedure, + connect.WithSchema(pushServiceMethods.ByName("PollDeviceAuth")), + connect.WithClientOptions(opts...), + ), + provisionFromBackup: connect.NewClient[v1.ProvisionFromBackupRequest, v1.ProvisionFromBackupResponse]( + httpClient, + baseURL+PushServiceProvisionFromBackupProcedure, + connect.WithSchema(pushServiceMethods.ByName("ProvisionFromBackup")), + connect.WithClientOptions(opts...), + ), + getProvisioningStatus: connect.NewClient[v1.GetProvisioningStatusRequest, v1.GetProvisioningStatusResponse]( + httpClient, + baseURL+PushServiceGetProvisioningStatusProcedure, + connect.WithSchema(pushServiceMethods.ByName("GetProvisioningStatus")), + connect.WithClientOptions(opts...), + ), + } +} + +// pushServiceClient implements PushServiceClient. +type pushServiceClient struct { + startDeviceAuth *connect.Client[v1.StartDeviceAuthRequest, v1.StartDeviceAuthResponse] + pollDeviceAuth *connect.Client[v1.PollDeviceAuthRequest, v1.PollDeviceAuthResponse] + provisionFromBackup *connect.Client[v1.ProvisionFromBackupRequest, v1.ProvisionFromBackupResponse] + getProvisioningStatus *connect.Client[v1.GetProvisioningStatusRequest, v1.GetProvisioningStatusResponse] +} + +// StartDeviceAuth calls orchestrator.v1.PushService.StartDeviceAuth. +func (c *pushServiceClient) StartDeviceAuth(ctx context.Context, req *connect.Request[v1.StartDeviceAuthRequest]) (*connect.Response[v1.StartDeviceAuthResponse], error) { + return c.startDeviceAuth.CallUnary(ctx, req) +} + +// PollDeviceAuth calls orchestrator.v1.PushService.PollDeviceAuth. +func (c *pushServiceClient) PollDeviceAuth(ctx context.Context, req *connect.Request[v1.PollDeviceAuthRequest]) (*connect.Response[v1.PollDeviceAuthResponse], error) { + return c.pollDeviceAuth.CallUnary(ctx, req) +} + +// ProvisionFromBackup calls orchestrator.v1.PushService.ProvisionFromBackup. +func (c *pushServiceClient) ProvisionFromBackup(ctx context.Context, req *connect.Request[v1.ProvisionFromBackupRequest]) (*connect.Response[v1.ProvisionFromBackupResponse], error) { + return c.provisionFromBackup.CallUnary(ctx, req) +} + +// GetProvisioningStatus calls orchestrator.v1.PushService.GetProvisioningStatus. +func (c *pushServiceClient) GetProvisioningStatus(ctx context.Context, req *connect.Request[v1.GetProvisioningStatusRequest]) (*connect.Response[v1.GetProvisioningStatusResponse], error) { + return c.getProvisioningStatus.CallUnary(ctx, req) +} + +// PushServiceHandler is an implementation of the orchestrator.v1.PushService service. +type PushServiceHandler interface { + // StartDeviceAuth initiates the OAuth device authorization flow. + // Returns a device code and user code for CLI authentication. + StartDeviceAuth(context.Context, *connect.Request[v1.StartDeviceAuthRequest]) (*connect.Response[v1.StartDeviceAuthResponse], error) + // PollDeviceAuth checks if the user has authorized the device. + // Called repeatedly by CLI until authorization is complete or expired. + PollDeviceAuth(context.Context, *connect.Request[v1.PollDeviceAuthRequest]) (*connect.Response[v1.PollDeviceAuthResponse], error) + // ProvisionFromBackup creates a new instance from an uploaded backup. + // The backup must have been uploaded via the HTTP upload endpoint first. + ProvisionFromBackup(context.Context, *connect.Request[v1.ProvisionFromBackupRequest]) (*connect.Response[v1.ProvisionFromBackupResponse], error) + // GetProvisioningStatus returns the current status of a provisioning operation. + GetProvisioningStatus(context.Context, *connect.Request[v1.GetProvisioningStatusRequest]) (*connect.Response[v1.GetProvisioningStatusResponse], error) +} + +// NewPushServiceHandler builds an HTTP handler from the service implementation. It returns the path +// on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewPushServiceHandler(svc PushServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + pushServiceMethods := v1.File_orchestrator_v1_push_proto.Services().ByName("PushService").Methods() + pushServiceStartDeviceAuthHandler := connect.NewUnaryHandler( + PushServiceStartDeviceAuthProcedure, + svc.StartDeviceAuth, + connect.WithSchema(pushServiceMethods.ByName("StartDeviceAuth")), + connect.WithHandlerOptions(opts...), + ) + pushServicePollDeviceAuthHandler := connect.NewUnaryHandler( + PushServicePollDeviceAuthProcedure, + svc.PollDeviceAuth, + connect.WithSchema(pushServiceMethods.ByName("PollDeviceAuth")), + connect.WithHandlerOptions(opts...), + ) + pushServiceProvisionFromBackupHandler := connect.NewUnaryHandler( + PushServiceProvisionFromBackupProcedure, + svc.ProvisionFromBackup, + connect.WithSchema(pushServiceMethods.ByName("ProvisionFromBackup")), + connect.WithHandlerOptions(opts...), + ) + pushServiceGetProvisioningStatusHandler := connect.NewUnaryHandler( + PushServiceGetProvisioningStatusProcedure, + svc.GetProvisioningStatus, + connect.WithSchema(pushServiceMethods.ByName("GetProvisioningStatus")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.PushService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case PushServiceStartDeviceAuthProcedure: + pushServiceStartDeviceAuthHandler.ServeHTTP(w, r) + case PushServicePollDeviceAuthProcedure: + pushServicePollDeviceAuthHandler.ServeHTTP(w, r) + case PushServiceProvisionFromBackupProcedure: + pushServiceProvisionFromBackupHandler.ServeHTTP(w, r) + case PushServiceGetProvisioningStatusProcedure: + pushServiceGetProvisioningStatusHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedPushServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedPushServiceHandler struct{} + +func (UnimplementedPushServiceHandler) StartDeviceAuth(context.Context, *connect.Request[v1.StartDeviceAuthRequest]) (*connect.Response[v1.StartDeviceAuthResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PushService.StartDeviceAuth is not implemented")) +} + +func (UnimplementedPushServiceHandler) PollDeviceAuth(context.Context, *connect.Request[v1.PollDeviceAuthRequest]) (*connect.Response[v1.PollDeviceAuthResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PushService.PollDeviceAuth is not implemented")) +} + +func (UnimplementedPushServiceHandler) ProvisionFromBackup(context.Context, *connect.Request[v1.ProvisionFromBackupRequest]) (*connect.Response[v1.ProvisionFromBackupResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PushService.ProvisionFromBackup is not implemented")) +} + +func (UnimplementedPushServiceHandler) GetProvisioningStatus(context.Context, *connect.Request[v1.GetProvisioningStatusRequest]) (*connect.Response[v1.GetProvisioningStatusResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PushService.GetProvisioningStatus is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/registry.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/registry.connect.go new file mode 100644 index 0000000..f609a67 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/registry.connect.go @@ -0,0 +1,266 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/registry.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // RegistryServiceName is the fully-qualified name of the RegistryService service. + RegistryServiceName = "orchestrator.v1.RegistryService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // RegistryServiceListPackagesProcedure is the fully-qualified name of the RegistryService's + // ListPackages RPC. + RegistryServiceListPackagesProcedure = "/orchestrator.v1.RegistryService/ListPackages" + // RegistryServiceListPackageVersionsProcedure is the fully-qualified name of the RegistryService's + // ListPackageVersions RPC. + RegistryServiceListPackageVersionsProcedure = "/orchestrator.v1.RegistryService/ListPackageVersions" + // RegistryServiceDeletePackageVersionProcedure is the fully-qualified name of the RegistryService's + // DeletePackageVersion RPC. + RegistryServiceDeletePackageVersionProcedure = "/orchestrator.v1.RegistryService/DeletePackageVersion" + // RegistryServiceBulkDeletePackageVersionsProcedure is the fully-qualified name of the + // RegistryService's BulkDeletePackageVersions RPC. + RegistryServiceBulkDeletePackageVersionsProcedure = "/orchestrator.v1.RegistryService/BulkDeletePackageVersions" + // RegistryServiceGetRegistryStatsProcedure is the fully-qualified name of the RegistryService's + // GetRegistryStats RPC. + RegistryServiceGetRegistryStatsProcedure = "/orchestrator.v1.RegistryService/GetRegistryStats" + // RegistryServiceGetContainerStatsProcedure is the fully-qualified name of the RegistryService's + // GetContainerStats RPC. + RegistryServiceGetContainerStatsProcedure = "/orchestrator.v1.RegistryService/GetContainerStats" +) + +// RegistryServiceClient is a client for the orchestrator.v1.RegistryService service. +type RegistryServiceClient interface { + // List all packages in the registry + ListPackages(context.Context, *connect.Request[v1.ListPackagesRequest]) (*connect.Response[v1.ListPackagesResponse], error) + // List versions/tags for a specific package + ListPackageVersions(context.Context, *connect.Request[v1.ListPackageVersionsRequest]) (*connect.Response[v1.ListPackageVersionsResponse], error) + // Delete a specific package version + DeletePackageVersion(context.Context, *connect.Request[v1.DeletePackageVersionRequest]) (*connect.Response[v1.DeletePackageVersionResponse], error) + // Bulk delete package versions + BulkDeletePackageVersions(context.Context, *connect.Request[v1.BulkDeletePackageVersionsRequest]) (*connect.Response[v1.BulkDeletePackageVersionsResponse], error) + // Get registry stats + GetRegistryStats(context.Context, *connect.Request[v1.GetRegistryStatsRequest]) (*connect.Response[v1.GetRegistryStatsResponse], error) + // Get live container stats from all nodes via Podman + GetContainerStats(context.Context, *connect.Request[v1.GetContainerStatsRequest]) (*connect.Response[v1.GetContainerStatsResponse], error) +} + +// NewRegistryServiceClient constructs a client for the orchestrator.v1.RegistryService service. By +// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, +// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewRegistryServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) RegistryServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + registryServiceMethods := v1.File_orchestrator_v1_registry_proto.Services().ByName("RegistryService").Methods() + return ®istryServiceClient{ + listPackages: connect.NewClient[v1.ListPackagesRequest, v1.ListPackagesResponse]( + httpClient, + baseURL+RegistryServiceListPackagesProcedure, + connect.WithSchema(registryServiceMethods.ByName("ListPackages")), + connect.WithClientOptions(opts...), + ), + listPackageVersions: connect.NewClient[v1.ListPackageVersionsRequest, v1.ListPackageVersionsResponse]( + httpClient, + baseURL+RegistryServiceListPackageVersionsProcedure, + connect.WithSchema(registryServiceMethods.ByName("ListPackageVersions")), + connect.WithClientOptions(opts...), + ), + deletePackageVersion: connect.NewClient[v1.DeletePackageVersionRequest, v1.DeletePackageVersionResponse]( + httpClient, + baseURL+RegistryServiceDeletePackageVersionProcedure, + connect.WithSchema(registryServiceMethods.ByName("DeletePackageVersion")), + connect.WithClientOptions(opts...), + ), + bulkDeletePackageVersions: connect.NewClient[v1.BulkDeletePackageVersionsRequest, v1.BulkDeletePackageVersionsResponse]( + httpClient, + baseURL+RegistryServiceBulkDeletePackageVersionsProcedure, + connect.WithSchema(registryServiceMethods.ByName("BulkDeletePackageVersions")), + connect.WithClientOptions(opts...), + ), + getRegistryStats: connect.NewClient[v1.GetRegistryStatsRequest, v1.GetRegistryStatsResponse]( + httpClient, + baseURL+RegistryServiceGetRegistryStatsProcedure, + connect.WithSchema(registryServiceMethods.ByName("GetRegistryStats")), + connect.WithClientOptions(opts...), + ), + getContainerStats: connect.NewClient[v1.GetContainerStatsRequest, v1.GetContainerStatsResponse]( + httpClient, + baseURL+RegistryServiceGetContainerStatsProcedure, + connect.WithSchema(registryServiceMethods.ByName("GetContainerStats")), + connect.WithClientOptions(opts...), + ), + } +} + +// registryServiceClient implements RegistryServiceClient. +type registryServiceClient struct { + listPackages *connect.Client[v1.ListPackagesRequest, v1.ListPackagesResponse] + listPackageVersions *connect.Client[v1.ListPackageVersionsRequest, v1.ListPackageVersionsResponse] + deletePackageVersion *connect.Client[v1.DeletePackageVersionRequest, v1.DeletePackageVersionResponse] + bulkDeletePackageVersions *connect.Client[v1.BulkDeletePackageVersionsRequest, v1.BulkDeletePackageVersionsResponse] + getRegistryStats *connect.Client[v1.GetRegistryStatsRequest, v1.GetRegistryStatsResponse] + getContainerStats *connect.Client[v1.GetContainerStatsRequest, v1.GetContainerStatsResponse] +} + +// ListPackages calls orchestrator.v1.RegistryService.ListPackages. +func (c *registryServiceClient) ListPackages(ctx context.Context, req *connect.Request[v1.ListPackagesRequest]) (*connect.Response[v1.ListPackagesResponse], error) { + return c.listPackages.CallUnary(ctx, req) +} + +// ListPackageVersions calls orchestrator.v1.RegistryService.ListPackageVersions. +func (c *registryServiceClient) ListPackageVersions(ctx context.Context, req *connect.Request[v1.ListPackageVersionsRequest]) (*connect.Response[v1.ListPackageVersionsResponse], error) { + return c.listPackageVersions.CallUnary(ctx, req) +} + +// DeletePackageVersion calls orchestrator.v1.RegistryService.DeletePackageVersion. +func (c *registryServiceClient) DeletePackageVersion(ctx context.Context, req *connect.Request[v1.DeletePackageVersionRequest]) (*connect.Response[v1.DeletePackageVersionResponse], error) { + return c.deletePackageVersion.CallUnary(ctx, req) +} + +// BulkDeletePackageVersions calls orchestrator.v1.RegistryService.BulkDeletePackageVersions. +func (c *registryServiceClient) BulkDeletePackageVersions(ctx context.Context, req *connect.Request[v1.BulkDeletePackageVersionsRequest]) (*connect.Response[v1.BulkDeletePackageVersionsResponse], error) { + return c.bulkDeletePackageVersions.CallUnary(ctx, req) +} + +// GetRegistryStats calls orchestrator.v1.RegistryService.GetRegistryStats. +func (c *registryServiceClient) GetRegistryStats(ctx context.Context, req *connect.Request[v1.GetRegistryStatsRequest]) (*connect.Response[v1.GetRegistryStatsResponse], error) { + return c.getRegistryStats.CallUnary(ctx, req) +} + +// GetContainerStats calls orchestrator.v1.RegistryService.GetContainerStats. +func (c *registryServiceClient) GetContainerStats(ctx context.Context, req *connect.Request[v1.GetContainerStatsRequest]) (*connect.Response[v1.GetContainerStatsResponse], error) { + return c.getContainerStats.CallUnary(ctx, req) +} + +// RegistryServiceHandler is an implementation of the orchestrator.v1.RegistryService service. +type RegistryServiceHandler interface { + // List all packages in the registry + ListPackages(context.Context, *connect.Request[v1.ListPackagesRequest]) (*connect.Response[v1.ListPackagesResponse], error) + // List versions/tags for a specific package + ListPackageVersions(context.Context, *connect.Request[v1.ListPackageVersionsRequest]) (*connect.Response[v1.ListPackageVersionsResponse], error) + // Delete a specific package version + DeletePackageVersion(context.Context, *connect.Request[v1.DeletePackageVersionRequest]) (*connect.Response[v1.DeletePackageVersionResponse], error) + // Bulk delete package versions + BulkDeletePackageVersions(context.Context, *connect.Request[v1.BulkDeletePackageVersionsRequest]) (*connect.Response[v1.BulkDeletePackageVersionsResponse], error) + // Get registry stats + GetRegistryStats(context.Context, *connect.Request[v1.GetRegistryStatsRequest]) (*connect.Response[v1.GetRegistryStatsResponse], error) + // Get live container stats from all nodes via Podman + GetContainerStats(context.Context, *connect.Request[v1.GetContainerStatsRequest]) (*connect.Response[v1.GetContainerStatsResponse], error) +} + +// NewRegistryServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewRegistryServiceHandler(svc RegistryServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + registryServiceMethods := v1.File_orchestrator_v1_registry_proto.Services().ByName("RegistryService").Methods() + registryServiceListPackagesHandler := connect.NewUnaryHandler( + RegistryServiceListPackagesProcedure, + svc.ListPackages, + connect.WithSchema(registryServiceMethods.ByName("ListPackages")), + connect.WithHandlerOptions(opts...), + ) + registryServiceListPackageVersionsHandler := connect.NewUnaryHandler( + RegistryServiceListPackageVersionsProcedure, + svc.ListPackageVersions, + connect.WithSchema(registryServiceMethods.ByName("ListPackageVersions")), + connect.WithHandlerOptions(opts...), + ) + registryServiceDeletePackageVersionHandler := connect.NewUnaryHandler( + RegistryServiceDeletePackageVersionProcedure, + svc.DeletePackageVersion, + connect.WithSchema(registryServiceMethods.ByName("DeletePackageVersion")), + connect.WithHandlerOptions(opts...), + ) + registryServiceBulkDeletePackageVersionsHandler := connect.NewUnaryHandler( + RegistryServiceBulkDeletePackageVersionsProcedure, + svc.BulkDeletePackageVersions, + connect.WithSchema(registryServiceMethods.ByName("BulkDeletePackageVersions")), + connect.WithHandlerOptions(opts...), + ) + registryServiceGetRegistryStatsHandler := connect.NewUnaryHandler( + RegistryServiceGetRegistryStatsProcedure, + svc.GetRegistryStats, + connect.WithSchema(registryServiceMethods.ByName("GetRegistryStats")), + connect.WithHandlerOptions(opts...), + ) + registryServiceGetContainerStatsHandler := connect.NewUnaryHandler( + RegistryServiceGetContainerStatsProcedure, + svc.GetContainerStats, + connect.WithSchema(registryServiceMethods.ByName("GetContainerStats")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.RegistryService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case RegistryServiceListPackagesProcedure: + registryServiceListPackagesHandler.ServeHTTP(w, r) + case RegistryServiceListPackageVersionsProcedure: + registryServiceListPackageVersionsHandler.ServeHTTP(w, r) + case RegistryServiceDeletePackageVersionProcedure: + registryServiceDeletePackageVersionHandler.ServeHTTP(w, r) + case RegistryServiceBulkDeletePackageVersionsProcedure: + registryServiceBulkDeletePackageVersionsHandler.ServeHTTP(w, r) + case RegistryServiceGetRegistryStatsProcedure: + registryServiceGetRegistryStatsHandler.ServeHTTP(w, r) + case RegistryServiceGetContainerStatsProcedure: + registryServiceGetContainerStatsHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedRegistryServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedRegistryServiceHandler struct{} + +func (UnimplementedRegistryServiceHandler) ListPackages(context.Context, *connect.Request[v1.ListPackagesRequest]) (*connect.Response[v1.ListPackagesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.RegistryService.ListPackages is not implemented")) +} + +func (UnimplementedRegistryServiceHandler) ListPackageVersions(context.Context, *connect.Request[v1.ListPackageVersionsRequest]) (*connect.Response[v1.ListPackageVersionsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.RegistryService.ListPackageVersions is not implemented")) +} + +func (UnimplementedRegistryServiceHandler) DeletePackageVersion(context.Context, *connect.Request[v1.DeletePackageVersionRequest]) (*connect.Response[v1.DeletePackageVersionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.RegistryService.DeletePackageVersion is not implemented")) +} + +func (UnimplementedRegistryServiceHandler) BulkDeletePackageVersions(context.Context, *connect.Request[v1.BulkDeletePackageVersionsRequest]) (*connect.Response[v1.BulkDeletePackageVersionsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.RegistryService.BulkDeletePackageVersions is not implemented")) +} + +func (UnimplementedRegistryServiceHandler) GetRegistryStats(context.Context, *connect.Request[v1.GetRegistryStatsRequest]) (*connect.Response[v1.GetRegistryStatsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.RegistryService.GetRegistryStats is not implemented")) +} + +func (UnimplementedRegistryServiceHandler) GetContainerStats(context.Context, *connect.Request[v1.GetContainerStatsRequest]) (*connect.Response[v1.GetContainerStatsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.RegistryService.GetContainerStats is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/reporting.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/reporting.connect.go new file mode 100644 index 0000000..cd5748c --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/reporting.connect.go @@ -0,0 +1,392 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/reporting.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // InstanceReportingServiceName is the fully-qualified name of the InstanceReportingService service. + InstanceReportingServiceName = "orchestrator.v1.InstanceReportingService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // InstanceReportingServiceSubmitReportProcedure is the fully-qualified name of the + // InstanceReportingService's SubmitReport RPC. + InstanceReportingServiceSubmitReportProcedure = "/orchestrator.v1.InstanceReportingService/SubmitReport" + // InstanceReportingServiceHeartbeatProcedure is the fully-qualified name of the + // InstanceReportingService's Heartbeat RPC. + InstanceReportingServiceHeartbeatProcedure = "/orchestrator.v1.InstanceReportingService/Heartbeat" + // InstanceReportingServiceReportIncidentProcedure is the fully-qualified name of the + // InstanceReportingService's ReportIncident RPC. + InstanceReportingServiceReportIncidentProcedure = "/orchestrator.v1.InstanceReportingService/ReportIncident" + // InstanceReportingServiceListIncidentsProcedure is the fully-qualified name of the + // InstanceReportingService's ListIncidents RPC. + InstanceReportingServiceListIncidentsProcedure = "/orchestrator.v1.InstanceReportingService/ListIncidents" + // InstanceReportingServiceAcknowledgeIncidentProcedure is the fully-qualified name of the + // InstanceReportingService's AcknowledgeIncident RPC. + InstanceReportingServiceAcknowledgeIncidentProcedure = "/orchestrator.v1.InstanceReportingService/AcknowledgeIncident" + // InstanceReportingServiceResolveIncidentProcedure is the fully-qualified name of the + // InstanceReportingService's ResolveIncident RPC. + InstanceReportingServiceResolveIncidentProcedure = "/orchestrator.v1.InstanceReportingService/ResolveIncident" + // InstanceReportingServiceGetInstanceHealthProcedure is the fully-qualified name of the + // InstanceReportingService's GetInstanceHealth RPC. + InstanceReportingServiceGetInstanceHealthProcedure = "/orchestrator.v1.InstanceReportingService/GetInstanceHealth" + // InstanceReportingServiceGetHealthHistoryProcedure is the fully-qualified name of the + // InstanceReportingService's GetHealthHistory RPC. + InstanceReportingServiceGetHealthHistoryProcedure = "/orchestrator.v1.InstanceReportingService/GetHealthHistory" + // InstanceReportingServiceInstanceReadyProcedure is the fully-qualified name of the + // InstanceReportingService's InstanceReady RPC. + InstanceReportingServiceInstanceReadyProcedure = "/orchestrator.v1.InstanceReportingService/InstanceReady" + // InstanceReportingServiceSubmitBugReportProcedure is the fully-qualified name of the + // InstanceReportingService's SubmitBugReport RPC. + InstanceReportingServiceSubmitBugReportProcedure = "/orchestrator.v1.InstanceReportingService/SubmitBugReport" +) + +// InstanceReportingServiceClient is a client for the orchestrator.v1.InstanceReportingService +// service. +type InstanceReportingServiceClient interface { + // Submit a full health report (called every 5 minutes) + SubmitReport(context.Context, *connect.Request[v1.SubmitReportRequest]) (*connect.Response[v1.SubmitReportResponse], error) + // Send a quick heartbeat (called every 1 minute) + Heartbeat(context.Context, *connect.Request[v1.HeartbeatRequest]) (*connect.Response[v1.HeartbeatResponse], error) + // Report an incident/error (called immediately when issues occur) + ReportIncident(context.Context, *connect.Request[v1.ReportIncidentRequest]) (*connect.Response[v1.ReportIncidentResponse], error) + // List incidents for an instance (admin UI) + ListIncidents(context.Context, *connect.Request[v1.ListIncidentsRequest]) (*connect.Response[v1.ListIncidentsResponse], error) + // Acknowledge an incident (admin UI) + AcknowledgeIncident(context.Context, *connect.Request[v1.AcknowledgeIncidentRequest]) (*connect.Response[v1.AcknowledgeIncidentResponse], error) + // Resolve an incident (admin UI) + ResolveIncident(context.Context, *connect.Request[v1.ResolveIncidentRequest]) (*connect.Response[v1.ResolveIncidentResponse], error) + // Get current health status for an instance + GetInstanceHealth(context.Context, *connect.Request[v1.GetInstanceHealthRequest]) (*connect.Response[v1.GetInstanceHealthResponse], error) + // Get health history for trending + GetHealthHistory(context.Context, *connect.Request[v1.GetHealthHistoryRequest]) (*connect.Response[v1.GetHealthHistoryResponse], error) + // Called by CMS instance when it has started and is ready to serve + InstanceReady(context.Context, *connect.Request[v1.InstanceReadyRequest]) (*connect.Response[v1.InstanceReadyResponse], error) + // Forward a user-submitted bug report from a CMS instance + SubmitBugReport(context.Context, *connect.Request[v1.SubmitBugReportRequest]) (*connect.Response[v1.SubmitBugReportResponse], error) +} + +// NewInstanceReportingServiceClient constructs a client for the +// orchestrator.v1.InstanceReportingService service. By default, it uses the Connect protocol with +// the binary Protobuf Codec, asks for gzipped responses, and sends uncompressed requests. To use +// the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewInstanceReportingServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) InstanceReportingServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + instanceReportingServiceMethods := v1.File_orchestrator_v1_reporting_proto.Services().ByName("InstanceReportingService").Methods() + return &instanceReportingServiceClient{ + submitReport: connect.NewClient[v1.SubmitReportRequest, v1.SubmitReportResponse]( + httpClient, + baseURL+InstanceReportingServiceSubmitReportProcedure, + connect.WithSchema(instanceReportingServiceMethods.ByName("SubmitReport")), + connect.WithClientOptions(opts...), + ), + heartbeat: connect.NewClient[v1.HeartbeatRequest, v1.HeartbeatResponse]( + httpClient, + baseURL+InstanceReportingServiceHeartbeatProcedure, + connect.WithSchema(instanceReportingServiceMethods.ByName("Heartbeat")), + connect.WithClientOptions(opts...), + ), + reportIncident: connect.NewClient[v1.ReportIncidentRequest, v1.ReportIncidentResponse]( + httpClient, + baseURL+InstanceReportingServiceReportIncidentProcedure, + connect.WithSchema(instanceReportingServiceMethods.ByName("ReportIncident")), + connect.WithClientOptions(opts...), + ), + listIncidents: connect.NewClient[v1.ListIncidentsRequest, v1.ListIncidentsResponse]( + httpClient, + baseURL+InstanceReportingServiceListIncidentsProcedure, + connect.WithSchema(instanceReportingServiceMethods.ByName("ListIncidents")), + connect.WithClientOptions(opts...), + ), + acknowledgeIncident: connect.NewClient[v1.AcknowledgeIncidentRequest, v1.AcknowledgeIncidentResponse]( + httpClient, + baseURL+InstanceReportingServiceAcknowledgeIncidentProcedure, + connect.WithSchema(instanceReportingServiceMethods.ByName("AcknowledgeIncident")), + connect.WithClientOptions(opts...), + ), + resolveIncident: connect.NewClient[v1.ResolveIncidentRequest, v1.ResolveIncidentResponse]( + httpClient, + baseURL+InstanceReportingServiceResolveIncidentProcedure, + connect.WithSchema(instanceReportingServiceMethods.ByName("ResolveIncident")), + connect.WithClientOptions(opts...), + ), + getInstanceHealth: connect.NewClient[v1.GetInstanceHealthRequest, v1.GetInstanceHealthResponse]( + httpClient, + baseURL+InstanceReportingServiceGetInstanceHealthProcedure, + connect.WithSchema(instanceReportingServiceMethods.ByName("GetInstanceHealth")), + connect.WithClientOptions(opts...), + ), + getHealthHistory: connect.NewClient[v1.GetHealthHistoryRequest, v1.GetHealthHistoryResponse]( + httpClient, + baseURL+InstanceReportingServiceGetHealthHistoryProcedure, + connect.WithSchema(instanceReportingServiceMethods.ByName("GetHealthHistory")), + connect.WithClientOptions(opts...), + ), + instanceReady: connect.NewClient[v1.InstanceReadyRequest, v1.InstanceReadyResponse]( + httpClient, + baseURL+InstanceReportingServiceInstanceReadyProcedure, + connect.WithSchema(instanceReportingServiceMethods.ByName("InstanceReady")), + connect.WithClientOptions(opts...), + ), + submitBugReport: connect.NewClient[v1.SubmitBugReportRequest, v1.SubmitBugReportResponse]( + httpClient, + baseURL+InstanceReportingServiceSubmitBugReportProcedure, + connect.WithSchema(instanceReportingServiceMethods.ByName("SubmitBugReport")), + connect.WithClientOptions(opts...), + ), + } +} + +// instanceReportingServiceClient implements InstanceReportingServiceClient. +type instanceReportingServiceClient struct { + submitReport *connect.Client[v1.SubmitReportRequest, v1.SubmitReportResponse] + heartbeat *connect.Client[v1.HeartbeatRequest, v1.HeartbeatResponse] + reportIncident *connect.Client[v1.ReportIncidentRequest, v1.ReportIncidentResponse] + listIncidents *connect.Client[v1.ListIncidentsRequest, v1.ListIncidentsResponse] + acknowledgeIncident *connect.Client[v1.AcknowledgeIncidentRequest, v1.AcknowledgeIncidentResponse] + resolveIncident *connect.Client[v1.ResolveIncidentRequest, v1.ResolveIncidentResponse] + getInstanceHealth *connect.Client[v1.GetInstanceHealthRequest, v1.GetInstanceHealthResponse] + getHealthHistory *connect.Client[v1.GetHealthHistoryRequest, v1.GetHealthHistoryResponse] + instanceReady *connect.Client[v1.InstanceReadyRequest, v1.InstanceReadyResponse] + submitBugReport *connect.Client[v1.SubmitBugReportRequest, v1.SubmitBugReportResponse] +} + +// SubmitReport calls orchestrator.v1.InstanceReportingService.SubmitReport. +func (c *instanceReportingServiceClient) SubmitReport(ctx context.Context, req *connect.Request[v1.SubmitReportRequest]) (*connect.Response[v1.SubmitReportResponse], error) { + return c.submitReport.CallUnary(ctx, req) +} + +// Heartbeat calls orchestrator.v1.InstanceReportingService.Heartbeat. +func (c *instanceReportingServiceClient) Heartbeat(ctx context.Context, req *connect.Request[v1.HeartbeatRequest]) (*connect.Response[v1.HeartbeatResponse], error) { + return c.heartbeat.CallUnary(ctx, req) +} + +// ReportIncident calls orchestrator.v1.InstanceReportingService.ReportIncident. +func (c *instanceReportingServiceClient) ReportIncident(ctx context.Context, req *connect.Request[v1.ReportIncidentRequest]) (*connect.Response[v1.ReportIncidentResponse], error) { + return c.reportIncident.CallUnary(ctx, req) +} + +// ListIncidents calls orchestrator.v1.InstanceReportingService.ListIncidents. +func (c *instanceReportingServiceClient) ListIncidents(ctx context.Context, req *connect.Request[v1.ListIncidentsRequest]) (*connect.Response[v1.ListIncidentsResponse], error) { + return c.listIncidents.CallUnary(ctx, req) +} + +// AcknowledgeIncident calls orchestrator.v1.InstanceReportingService.AcknowledgeIncident. +func (c *instanceReportingServiceClient) AcknowledgeIncident(ctx context.Context, req *connect.Request[v1.AcknowledgeIncidentRequest]) (*connect.Response[v1.AcknowledgeIncidentResponse], error) { + return c.acknowledgeIncident.CallUnary(ctx, req) +} + +// ResolveIncident calls orchestrator.v1.InstanceReportingService.ResolveIncident. +func (c *instanceReportingServiceClient) ResolveIncident(ctx context.Context, req *connect.Request[v1.ResolveIncidentRequest]) (*connect.Response[v1.ResolveIncidentResponse], error) { + return c.resolveIncident.CallUnary(ctx, req) +} + +// GetInstanceHealth calls orchestrator.v1.InstanceReportingService.GetInstanceHealth. +func (c *instanceReportingServiceClient) GetInstanceHealth(ctx context.Context, req *connect.Request[v1.GetInstanceHealthRequest]) (*connect.Response[v1.GetInstanceHealthResponse], error) { + return c.getInstanceHealth.CallUnary(ctx, req) +} + +// GetHealthHistory calls orchestrator.v1.InstanceReportingService.GetHealthHistory. +func (c *instanceReportingServiceClient) GetHealthHistory(ctx context.Context, req *connect.Request[v1.GetHealthHistoryRequest]) (*connect.Response[v1.GetHealthHistoryResponse], error) { + return c.getHealthHistory.CallUnary(ctx, req) +} + +// InstanceReady calls orchestrator.v1.InstanceReportingService.InstanceReady. +func (c *instanceReportingServiceClient) InstanceReady(ctx context.Context, req *connect.Request[v1.InstanceReadyRequest]) (*connect.Response[v1.InstanceReadyResponse], error) { + return c.instanceReady.CallUnary(ctx, req) +} + +// SubmitBugReport calls orchestrator.v1.InstanceReportingService.SubmitBugReport. +func (c *instanceReportingServiceClient) SubmitBugReport(ctx context.Context, req *connect.Request[v1.SubmitBugReportRequest]) (*connect.Response[v1.SubmitBugReportResponse], error) { + return c.submitBugReport.CallUnary(ctx, req) +} + +// InstanceReportingServiceHandler is an implementation of the +// orchestrator.v1.InstanceReportingService service. +type InstanceReportingServiceHandler interface { + // Submit a full health report (called every 5 minutes) + SubmitReport(context.Context, *connect.Request[v1.SubmitReportRequest]) (*connect.Response[v1.SubmitReportResponse], error) + // Send a quick heartbeat (called every 1 minute) + Heartbeat(context.Context, *connect.Request[v1.HeartbeatRequest]) (*connect.Response[v1.HeartbeatResponse], error) + // Report an incident/error (called immediately when issues occur) + ReportIncident(context.Context, *connect.Request[v1.ReportIncidentRequest]) (*connect.Response[v1.ReportIncidentResponse], error) + // List incidents for an instance (admin UI) + ListIncidents(context.Context, *connect.Request[v1.ListIncidentsRequest]) (*connect.Response[v1.ListIncidentsResponse], error) + // Acknowledge an incident (admin UI) + AcknowledgeIncident(context.Context, *connect.Request[v1.AcknowledgeIncidentRequest]) (*connect.Response[v1.AcknowledgeIncidentResponse], error) + // Resolve an incident (admin UI) + ResolveIncident(context.Context, *connect.Request[v1.ResolveIncidentRequest]) (*connect.Response[v1.ResolveIncidentResponse], error) + // Get current health status for an instance + GetInstanceHealth(context.Context, *connect.Request[v1.GetInstanceHealthRequest]) (*connect.Response[v1.GetInstanceHealthResponse], error) + // Get health history for trending + GetHealthHistory(context.Context, *connect.Request[v1.GetHealthHistoryRequest]) (*connect.Response[v1.GetHealthHistoryResponse], error) + // Called by CMS instance when it has started and is ready to serve + InstanceReady(context.Context, *connect.Request[v1.InstanceReadyRequest]) (*connect.Response[v1.InstanceReadyResponse], error) + // Forward a user-submitted bug report from a CMS instance + SubmitBugReport(context.Context, *connect.Request[v1.SubmitBugReportRequest]) (*connect.Response[v1.SubmitBugReportResponse], error) +} + +// NewInstanceReportingServiceHandler builds an HTTP handler from the service implementation. It +// returns the path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewInstanceReportingServiceHandler(svc InstanceReportingServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + instanceReportingServiceMethods := v1.File_orchestrator_v1_reporting_proto.Services().ByName("InstanceReportingService").Methods() + instanceReportingServiceSubmitReportHandler := connect.NewUnaryHandler( + InstanceReportingServiceSubmitReportProcedure, + svc.SubmitReport, + connect.WithSchema(instanceReportingServiceMethods.ByName("SubmitReport")), + connect.WithHandlerOptions(opts...), + ) + instanceReportingServiceHeartbeatHandler := connect.NewUnaryHandler( + InstanceReportingServiceHeartbeatProcedure, + svc.Heartbeat, + connect.WithSchema(instanceReportingServiceMethods.ByName("Heartbeat")), + connect.WithHandlerOptions(opts...), + ) + instanceReportingServiceReportIncidentHandler := connect.NewUnaryHandler( + InstanceReportingServiceReportIncidentProcedure, + svc.ReportIncident, + connect.WithSchema(instanceReportingServiceMethods.ByName("ReportIncident")), + connect.WithHandlerOptions(opts...), + ) + instanceReportingServiceListIncidentsHandler := connect.NewUnaryHandler( + InstanceReportingServiceListIncidentsProcedure, + svc.ListIncidents, + connect.WithSchema(instanceReportingServiceMethods.ByName("ListIncidents")), + connect.WithHandlerOptions(opts...), + ) + instanceReportingServiceAcknowledgeIncidentHandler := connect.NewUnaryHandler( + InstanceReportingServiceAcknowledgeIncidentProcedure, + svc.AcknowledgeIncident, + connect.WithSchema(instanceReportingServiceMethods.ByName("AcknowledgeIncident")), + connect.WithHandlerOptions(opts...), + ) + instanceReportingServiceResolveIncidentHandler := connect.NewUnaryHandler( + InstanceReportingServiceResolveIncidentProcedure, + svc.ResolveIncident, + connect.WithSchema(instanceReportingServiceMethods.ByName("ResolveIncident")), + connect.WithHandlerOptions(opts...), + ) + instanceReportingServiceGetInstanceHealthHandler := connect.NewUnaryHandler( + InstanceReportingServiceGetInstanceHealthProcedure, + svc.GetInstanceHealth, + connect.WithSchema(instanceReportingServiceMethods.ByName("GetInstanceHealth")), + connect.WithHandlerOptions(opts...), + ) + instanceReportingServiceGetHealthHistoryHandler := connect.NewUnaryHandler( + InstanceReportingServiceGetHealthHistoryProcedure, + svc.GetHealthHistory, + connect.WithSchema(instanceReportingServiceMethods.ByName("GetHealthHistory")), + connect.WithHandlerOptions(opts...), + ) + instanceReportingServiceInstanceReadyHandler := connect.NewUnaryHandler( + InstanceReportingServiceInstanceReadyProcedure, + svc.InstanceReady, + connect.WithSchema(instanceReportingServiceMethods.ByName("InstanceReady")), + connect.WithHandlerOptions(opts...), + ) + instanceReportingServiceSubmitBugReportHandler := connect.NewUnaryHandler( + InstanceReportingServiceSubmitBugReportProcedure, + svc.SubmitBugReport, + connect.WithSchema(instanceReportingServiceMethods.ByName("SubmitBugReport")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.InstanceReportingService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case InstanceReportingServiceSubmitReportProcedure: + instanceReportingServiceSubmitReportHandler.ServeHTTP(w, r) + case InstanceReportingServiceHeartbeatProcedure: + instanceReportingServiceHeartbeatHandler.ServeHTTP(w, r) + case InstanceReportingServiceReportIncidentProcedure: + instanceReportingServiceReportIncidentHandler.ServeHTTP(w, r) + case InstanceReportingServiceListIncidentsProcedure: + instanceReportingServiceListIncidentsHandler.ServeHTTP(w, r) + case InstanceReportingServiceAcknowledgeIncidentProcedure: + instanceReportingServiceAcknowledgeIncidentHandler.ServeHTTP(w, r) + case InstanceReportingServiceResolveIncidentProcedure: + instanceReportingServiceResolveIncidentHandler.ServeHTTP(w, r) + case InstanceReportingServiceGetInstanceHealthProcedure: + instanceReportingServiceGetInstanceHealthHandler.ServeHTTP(w, r) + case InstanceReportingServiceGetHealthHistoryProcedure: + instanceReportingServiceGetHealthHistoryHandler.ServeHTTP(w, r) + case InstanceReportingServiceInstanceReadyProcedure: + instanceReportingServiceInstanceReadyHandler.ServeHTTP(w, r) + case InstanceReportingServiceSubmitBugReportProcedure: + instanceReportingServiceSubmitBugReportHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedInstanceReportingServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedInstanceReportingServiceHandler struct{} + +func (UnimplementedInstanceReportingServiceHandler) SubmitReport(context.Context, *connect.Request[v1.SubmitReportRequest]) (*connect.Response[v1.SubmitReportResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceReportingService.SubmitReport is not implemented")) +} + +func (UnimplementedInstanceReportingServiceHandler) Heartbeat(context.Context, *connect.Request[v1.HeartbeatRequest]) (*connect.Response[v1.HeartbeatResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceReportingService.Heartbeat is not implemented")) +} + +func (UnimplementedInstanceReportingServiceHandler) ReportIncident(context.Context, *connect.Request[v1.ReportIncidentRequest]) (*connect.Response[v1.ReportIncidentResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceReportingService.ReportIncident is not implemented")) +} + +func (UnimplementedInstanceReportingServiceHandler) ListIncidents(context.Context, *connect.Request[v1.ListIncidentsRequest]) (*connect.Response[v1.ListIncidentsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceReportingService.ListIncidents is not implemented")) +} + +func (UnimplementedInstanceReportingServiceHandler) AcknowledgeIncident(context.Context, *connect.Request[v1.AcknowledgeIncidentRequest]) (*connect.Response[v1.AcknowledgeIncidentResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceReportingService.AcknowledgeIncident is not implemented")) +} + +func (UnimplementedInstanceReportingServiceHandler) ResolveIncident(context.Context, *connect.Request[v1.ResolveIncidentRequest]) (*connect.Response[v1.ResolveIncidentResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceReportingService.ResolveIncident is not implemented")) +} + +func (UnimplementedInstanceReportingServiceHandler) GetInstanceHealth(context.Context, *connect.Request[v1.GetInstanceHealthRequest]) (*connect.Response[v1.GetInstanceHealthResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceReportingService.GetInstanceHealth is not implemented")) +} + +func (UnimplementedInstanceReportingServiceHandler) GetHealthHistory(context.Context, *connect.Request[v1.GetHealthHistoryRequest]) (*connect.Response[v1.GetHealthHistoryResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceReportingService.GetHealthHistory is not implemented")) +} + +func (UnimplementedInstanceReportingServiceHandler) InstanceReady(context.Context, *connect.Request[v1.InstanceReadyRequest]) (*connect.Response[v1.InstanceReadyResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceReportingService.InstanceReady is not implemented")) +} + +func (UnimplementedInstanceReportingServiceHandler) SubmitBugReport(context.Context, *connect.Request[v1.SubmitBugReportRequest]) (*connect.Response[v1.SubmitBugReportResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceReportingService.SubmitBugReport is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/settings.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/settings.connect.go new file mode 100644 index 0000000..34629cf --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/settings.connect.go @@ -0,0 +1,208 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/settings.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // SettingsServiceName is the fully-qualified name of the SettingsService service. + SettingsServiceName = "orchestrator.v1.SettingsService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // SettingsServiceGetPlatformSettingProcedure is the fully-qualified name of the SettingsService's + // GetPlatformSetting RPC. + SettingsServiceGetPlatformSettingProcedure = "/orchestrator.v1.SettingsService/GetPlatformSetting" + // SettingsServiceUpdatePlatformSettingProcedure is the fully-qualified name of the + // SettingsService's UpdatePlatformSetting RPC. + SettingsServiceUpdatePlatformSettingProcedure = "/orchestrator.v1.SettingsService/UpdatePlatformSetting" + // SettingsServiceListPlatformSettingsProcedure is the fully-qualified name of the SettingsService's + // ListPlatformSettings RPC. + SettingsServiceListPlatformSettingsProcedure = "/orchestrator.v1.SettingsService/ListPlatformSettings" + // SettingsServiceRefreshAIModelCatalogProcedure is the fully-qualified name of the + // SettingsService's RefreshAIModelCatalog RPC. + SettingsServiceRefreshAIModelCatalogProcedure = "/orchestrator.v1.SettingsService/RefreshAIModelCatalog" +) + +// SettingsServiceClient is a client for the orchestrator.v1.SettingsService service. +type SettingsServiceClient interface { + // Get a platform setting + GetPlatformSetting(context.Context, *connect.Request[v1.GetPlatformSettingRequest]) (*connect.Response[v1.GetPlatformSettingResponse], error) + // Update a platform setting + UpdatePlatformSetting(context.Context, *connect.Request[v1.UpdatePlatformSettingRequest]) (*connect.Response[v1.UpdatePlatformSettingResponse], error) + // List all platform settings + ListPlatformSettings(context.Context, *connect.Request[v1.ListPlatformSettingsRequest]) (*connect.Response[v1.ListPlatformSettingsResponse], error) + // Fetch the providers' public pricing pages, extract per-model list + // prices with a Haiku agent, and store the result as the + // ai_model_catalog platform setting (the admin AI-tier model picker). + RefreshAIModelCatalog(context.Context, *connect.Request[v1.RefreshAIModelCatalogRequest]) (*connect.Response[v1.RefreshAIModelCatalogResponse], error) +} + +// NewSettingsServiceClient constructs a client for the orchestrator.v1.SettingsService service. By +// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, +// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewSettingsServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) SettingsServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + settingsServiceMethods := v1.File_orchestrator_v1_settings_proto.Services().ByName("SettingsService").Methods() + return &settingsServiceClient{ + getPlatformSetting: connect.NewClient[v1.GetPlatformSettingRequest, v1.GetPlatformSettingResponse]( + httpClient, + baseURL+SettingsServiceGetPlatformSettingProcedure, + connect.WithSchema(settingsServiceMethods.ByName("GetPlatformSetting")), + connect.WithClientOptions(opts...), + ), + updatePlatformSetting: connect.NewClient[v1.UpdatePlatformSettingRequest, v1.UpdatePlatformSettingResponse]( + httpClient, + baseURL+SettingsServiceUpdatePlatformSettingProcedure, + connect.WithSchema(settingsServiceMethods.ByName("UpdatePlatformSetting")), + connect.WithClientOptions(opts...), + ), + listPlatformSettings: connect.NewClient[v1.ListPlatformSettingsRequest, v1.ListPlatformSettingsResponse]( + httpClient, + baseURL+SettingsServiceListPlatformSettingsProcedure, + connect.WithSchema(settingsServiceMethods.ByName("ListPlatformSettings")), + connect.WithClientOptions(opts...), + ), + refreshAIModelCatalog: connect.NewClient[v1.RefreshAIModelCatalogRequest, v1.RefreshAIModelCatalogResponse]( + httpClient, + baseURL+SettingsServiceRefreshAIModelCatalogProcedure, + connect.WithSchema(settingsServiceMethods.ByName("RefreshAIModelCatalog")), + connect.WithClientOptions(opts...), + ), + } +} + +// settingsServiceClient implements SettingsServiceClient. +type settingsServiceClient struct { + getPlatformSetting *connect.Client[v1.GetPlatformSettingRequest, v1.GetPlatformSettingResponse] + updatePlatformSetting *connect.Client[v1.UpdatePlatformSettingRequest, v1.UpdatePlatformSettingResponse] + listPlatformSettings *connect.Client[v1.ListPlatformSettingsRequest, v1.ListPlatformSettingsResponse] + refreshAIModelCatalog *connect.Client[v1.RefreshAIModelCatalogRequest, v1.RefreshAIModelCatalogResponse] +} + +// GetPlatformSetting calls orchestrator.v1.SettingsService.GetPlatformSetting. +func (c *settingsServiceClient) GetPlatformSetting(ctx context.Context, req *connect.Request[v1.GetPlatformSettingRequest]) (*connect.Response[v1.GetPlatformSettingResponse], error) { + return c.getPlatformSetting.CallUnary(ctx, req) +} + +// UpdatePlatformSetting calls orchestrator.v1.SettingsService.UpdatePlatformSetting. +func (c *settingsServiceClient) UpdatePlatformSetting(ctx context.Context, req *connect.Request[v1.UpdatePlatformSettingRequest]) (*connect.Response[v1.UpdatePlatformSettingResponse], error) { + return c.updatePlatformSetting.CallUnary(ctx, req) +} + +// ListPlatformSettings calls orchestrator.v1.SettingsService.ListPlatformSettings. +func (c *settingsServiceClient) ListPlatformSettings(ctx context.Context, req *connect.Request[v1.ListPlatformSettingsRequest]) (*connect.Response[v1.ListPlatformSettingsResponse], error) { + return c.listPlatformSettings.CallUnary(ctx, req) +} + +// RefreshAIModelCatalog calls orchestrator.v1.SettingsService.RefreshAIModelCatalog. +func (c *settingsServiceClient) RefreshAIModelCatalog(ctx context.Context, req *connect.Request[v1.RefreshAIModelCatalogRequest]) (*connect.Response[v1.RefreshAIModelCatalogResponse], error) { + return c.refreshAIModelCatalog.CallUnary(ctx, req) +} + +// SettingsServiceHandler is an implementation of the orchestrator.v1.SettingsService service. +type SettingsServiceHandler interface { + // Get a platform setting + GetPlatformSetting(context.Context, *connect.Request[v1.GetPlatformSettingRequest]) (*connect.Response[v1.GetPlatformSettingResponse], error) + // Update a platform setting + UpdatePlatformSetting(context.Context, *connect.Request[v1.UpdatePlatformSettingRequest]) (*connect.Response[v1.UpdatePlatformSettingResponse], error) + // List all platform settings + ListPlatformSettings(context.Context, *connect.Request[v1.ListPlatformSettingsRequest]) (*connect.Response[v1.ListPlatformSettingsResponse], error) + // Fetch the providers' public pricing pages, extract per-model list + // prices with a Haiku agent, and store the result as the + // ai_model_catalog platform setting (the admin AI-tier model picker). + RefreshAIModelCatalog(context.Context, *connect.Request[v1.RefreshAIModelCatalogRequest]) (*connect.Response[v1.RefreshAIModelCatalogResponse], error) +} + +// NewSettingsServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewSettingsServiceHandler(svc SettingsServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + settingsServiceMethods := v1.File_orchestrator_v1_settings_proto.Services().ByName("SettingsService").Methods() + settingsServiceGetPlatformSettingHandler := connect.NewUnaryHandler( + SettingsServiceGetPlatformSettingProcedure, + svc.GetPlatformSetting, + connect.WithSchema(settingsServiceMethods.ByName("GetPlatformSetting")), + connect.WithHandlerOptions(opts...), + ) + settingsServiceUpdatePlatformSettingHandler := connect.NewUnaryHandler( + SettingsServiceUpdatePlatformSettingProcedure, + svc.UpdatePlatformSetting, + connect.WithSchema(settingsServiceMethods.ByName("UpdatePlatformSetting")), + connect.WithHandlerOptions(opts...), + ) + settingsServiceListPlatformSettingsHandler := connect.NewUnaryHandler( + SettingsServiceListPlatformSettingsProcedure, + svc.ListPlatformSettings, + connect.WithSchema(settingsServiceMethods.ByName("ListPlatformSettings")), + connect.WithHandlerOptions(opts...), + ) + settingsServiceRefreshAIModelCatalogHandler := connect.NewUnaryHandler( + SettingsServiceRefreshAIModelCatalogProcedure, + svc.RefreshAIModelCatalog, + connect.WithSchema(settingsServiceMethods.ByName("RefreshAIModelCatalog")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.SettingsService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case SettingsServiceGetPlatformSettingProcedure: + settingsServiceGetPlatformSettingHandler.ServeHTTP(w, r) + case SettingsServiceUpdatePlatformSettingProcedure: + settingsServiceUpdatePlatformSettingHandler.ServeHTTP(w, r) + case SettingsServiceListPlatformSettingsProcedure: + settingsServiceListPlatformSettingsHandler.ServeHTTP(w, r) + case SettingsServiceRefreshAIModelCatalogProcedure: + settingsServiceRefreshAIModelCatalogHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedSettingsServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedSettingsServiceHandler struct{} + +func (UnimplementedSettingsServiceHandler) GetPlatformSetting(context.Context, *connect.Request[v1.GetPlatformSettingRequest]) (*connect.Response[v1.GetPlatformSettingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.SettingsService.GetPlatformSetting is not implemented")) +} + +func (UnimplementedSettingsServiceHandler) UpdatePlatformSetting(context.Context, *connect.Request[v1.UpdatePlatformSettingRequest]) (*connect.Response[v1.UpdatePlatformSettingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.SettingsService.UpdatePlatformSetting is not implemented")) +} + +func (UnimplementedSettingsServiceHandler) ListPlatformSettings(context.Context, *connect.Request[v1.ListPlatformSettingsRequest]) (*connect.Response[v1.ListPlatformSettingsResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.SettingsService.ListPlatformSettings is not implemented")) +} + +func (UnimplementedSettingsServiceHandler) RefreshAIModelCatalog(context.Context, *connect.Request[v1.RefreshAIModelCatalogRequest]) (*connect.Response[v1.RefreshAIModelCatalogResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.SettingsService.RefreshAIModelCatalog is not implemented")) +} diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/sso.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/sso.connect.go new file mode 100644 index 0000000..f532511 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/sso.connect.go @@ -0,0 +1,142 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: orchestrator/v1/sso.proto + +package orchestratorv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "git.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_13_0 + +const ( + // SSOServiceName is the fully-qualified name of the SSOService service. + SSOServiceName = "orchestrator.v1.SSOService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // SSOServiceGenerateSSOTokenProcedure is the fully-qualified name of the SSOService's + // GenerateSSOToken RPC. + SSOServiceGenerateSSOTokenProcedure = "/orchestrator.v1.SSOService/GenerateSSOToken" + // SSOServiceExchangeSSOTokenProcedure is the fully-qualified name of the SSOService's + // ExchangeSSOToken RPC. + SSOServiceExchangeSSOTokenProcedure = "/orchestrator.v1.SSOService/ExchangeSSOToken" +) + +// SSOServiceClient is a client for the orchestrator.v1.SSOService service. +type SSOServiceClient interface { + // Generate an SSO token for redirecting to an instance + GenerateSSOToken(context.Context, *connect.Request[v1.GenerateSSOTokenRequest]) (*connect.Response[v1.GenerateSSOTokenResponse], error) + // Exchange an SSO token for user claims (called by instance) + ExchangeSSOToken(context.Context, *connect.Request[v1.ExchangeSSOTokenRequest]) (*connect.Response[v1.ExchangeSSOTokenResponse], error) +} + +// NewSSOServiceClient constructs a client for the orchestrator.v1.SSOService service. By default, +// it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and +// sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() +// or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewSSOServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) SSOServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + sSOServiceMethods := v1.File_orchestrator_v1_sso_proto.Services().ByName("SSOService").Methods() + return &sSOServiceClient{ + generateSSOToken: connect.NewClient[v1.GenerateSSOTokenRequest, v1.GenerateSSOTokenResponse]( + httpClient, + baseURL+SSOServiceGenerateSSOTokenProcedure, + connect.WithSchema(sSOServiceMethods.ByName("GenerateSSOToken")), + connect.WithClientOptions(opts...), + ), + exchangeSSOToken: connect.NewClient[v1.ExchangeSSOTokenRequest, v1.ExchangeSSOTokenResponse]( + httpClient, + baseURL+SSOServiceExchangeSSOTokenProcedure, + connect.WithSchema(sSOServiceMethods.ByName("ExchangeSSOToken")), + connect.WithClientOptions(opts...), + ), + } +} + +// sSOServiceClient implements SSOServiceClient. +type sSOServiceClient struct { + generateSSOToken *connect.Client[v1.GenerateSSOTokenRequest, v1.GenerateSSOTokenResponse] + exchangeSSOToken *connect.Client[v1.ExchangeSSOTokenRequest, v1.ExchangeSSOTokenResponse] +} + +// GenerateSSOToken calls orchestrator.v1.SSOService.GenerateSSOToken. +func (c *sSOServiceClient) GenerateSSOToken(ctx context.Context, req *connect.Request[v1.GenerateSSOTokenRequest]) (*connect.Response[v1.GenerateSSOTokenResponse], error) { + return c.generateSSOToken.CallUnary(ctx, req) +} + +// ExchangeSSOToken calls orchestrator.v1.SSOService.ExchangeSSOToken. +func (c *sSOServiceClient) ExchangeSSOToken(ctx context.Context, req *connect.Request[v1.ExchangeSSOTokenRequest]) (*connect.Response[v1.ExchangeSSOTokenResponse], error) { + return c.exchangeSSOToken.CallUnary(ctx, req) +} + +// SSOServiceHandler is an implementation of the orchestrator.v1.SSOService service. +type SSOServiceHandler interface { + // Generate an SSO token for redirecting to an instance + GenerateSSOToken(context.Context, *connect.Request[v1.GenerateSSOTokenRequest]) (*connect.Response[v1.GenerateSSOTokenResponse], error) + // Exchange an SSO token for user claims (called by instance) + ExchangeSSOToken(context.Context, *connect.Request[v1.ExchangeSSOTokenRequest]) (*connect.Response[v1.ExchangeSSOTokenResponse], error) +} + +// NewSSOServiceHandler builds an HTTP handler from the service implementation. It returns the path +// on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewSSOServiceHandler(svc SSOServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + sSOServiceMethods := v1.File_orchestrator_v1_sso_proto.Services().ByName("SSOService").Methods() + sSOServiceGenerateSSOTokenHandler := connect.NewUnaryHandler( + SSOServiceGenerateSSOTokenProcedure, + svc.GenerateSSOToken, + connect.WithSchema(sSOServiceMethods.ByName("GenerateSSOToken")), + connect.WithHandlerOptions(opts...), + ) + sSOServiceExchangeSSOTokenHandler := connect.NewUnaryHandler( + SSOServiceExchangeSSOTokenProcedure, + svc.ExchangeSSOToken, + connect.WithSchema(sSOServiceMethods.ByName("ExchangeSSOToken")), + connect.WithHandlerOptions(opts...), + ) + return "/orchestrator.v1.SSOService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case SSOServiceGenerateSSOTokenProcedure: + sSOServiceGenerateSSOTokenHandler.ServeHTTP(w, r) + case SSOServiceExchangeSSOTokenProcedure: + sSOServiceExchangeSSOTokenHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedSSOServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedSSOServiceHandler struct{} + +func (UnimplementedSSOServiceHandler) GenerateSSOToken(context.Context, *connect.Request[v1.GenerateSSOTokenRequest]) (*connect.Response[v1.GenerateSSOTokenResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.SSOService.GenerateSSOToken is not implemented")) +} + +func (UnimplementedSSOServiceHandler) ExchangeSSOToken(context.Context, *connect.Request[v1.ExchangeSSOTokenRequest]) (*connect.Response[v1.ExchangeSSOTokenResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.SSOService.ExchangeSSOToken is not implemented")) +} diff --git a/internal/api/orchestrator/v1/platform_backups.pb.go b/internal/api/orchestrator/v1/platform_backups.pb.go new file mode 100644 index 0000000..d53571b --- /dev/null +++ b/internal/api/orchestrator/v1/platform_backups.pb.go @@ -0,0 +1,1742 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/platform_backups.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// SweepScope selects which targets a backup sweep covers. +type SweepScope int32 + +const ( + SweepScope_SWEEP_SCOPE_UNSPECIFIED SweepScope = 0 + // Every instance across every node (scope_ref ignored). + SweepScope_SWEEP_SCOPE_ENVIRONMENT SweepScope = 1 + // Every instance on one node (scope_ref = node id). + SweepScope_SWEEP_SCOPE_NODE SweepScope = 2 + // A single instance (scope_ref = instance id). + SweepScope_SWEEP_SCOPE_INSTANCE SweepScope = 3 +) + +// Enum value maps for SweepScope. +var ( + SweepScope_name = map[int32]string{ + 0: "SWEEP_SCOPE_UNSPECIFIED", + 1: "SWEEP_SCOPE_ENVIRONMENT", + 2: "SWEEP_SCOPE_NODE", + 3: "SWEEP_SCOPE_INSTANCE", + } + SweepScope_value = map[string]int32{ + "SWEEP_SCOPE_UNSPECIFIED": 0, + "SWEEP_SCOPE_ENVIRONMENT": 1, + "SWEEP_SCOPE_NODE": 2, + "SWEEP_SCOPE_INSTANCE": 3, + } +) + +func (x SweepScope) Enum() *SweepScope { + p := new(SweepScope) + *p = x + return p +} + +func (x SweepScope) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SweepScope) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_platform_backups_proto_enumTypes[0].Descriptor() +} + +func (SweepScope) Type() protoreflect.EnumType { + return &file_orchestrator_v1_platform_backups_proto_enumTypes[0] +} + +func (x SweepScope) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SweepScope.Descriptor instead. +func (SweepScope) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{0} +} + +// PlatformBackupInfo is one row of the platform_backups catalog. +type PlatformBackupInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + SweepId *string `protobuf:"bytes,2,opt,name=sweep_id,json=sweepId,proto3,oneof" json:"sweep_id,omitempty"` + Kind string `protobuf:"bytes,3,opt,name=kind,proto3" json:"kind,omitempty"` // instance | orchestrator_db | vault + InstanceId *string `protobuf:"bytes,4,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + InstanceSlug *string `protobuf:"bytes,5,opt,name=instance_slug,json=instanceSlug,proto3,oneof" json:"instance_slug,omitempty"` + NodeId *string `protobuf:"bytes,6,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` + Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"` // pending | running | completed | failed | skipped + S3Key *string `protobuf:"bytes,8,opt,name=s3_key,json=s3Key,proto3,oneof" json:"s3_key,omitempty"` + SizeBytes *int64 `protobuf:"varint,9,opt,name=size_bytes,json=sizeBytes,proto3,oneof" json:"size_bytes,omitempty"` + FormatVersion *int32 `protobuf:"varint,10,opt,name=format_version,json=formatVersion,proto3,oneof" json:"format_version,omitempty"` + KeyVersion *string `protobuf:"bytes,11,opt,name=key_version,json=keyVersion,proto3,oneof" json:"key_version,omitempty"` + Error *string `protobuf:"bytes,12,opt,name=error,proto3,oneof" json:"error,omitempty"` + SkipReason *string `protobuf:"bytes,13,opt,name=skip_reason,json=skipReason,proto3,oneof" json:"skip_reason,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=started_at,json=startedAt,proto3,oneof" json:"started_at,omitempty"` + CompletedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlatformBackupInfo) Reset() { + *x = PlatformBackupInfo{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlatformBackupInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlatformBackupInfo) ProtoMessage() {} + +func (x *PlatformBackupInfo) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlatformBackupInfo.ProtoReflect.Descriptor instead. +func (*PlatformBackupInfo) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{0} +} + +func (x *PlatformBackupInfo) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PlatformBackupInfo) GetSweepId() string { + if x != nil && x.SweepId != nil { + return *x.SweepId + } + return "" +} + +func (x *PlatformBackupInfo) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *PlatformBackupInfo) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +func (x *PlatformBackupInfo) GetInstanceSlug() string { + if x != nil && x.InstanceSlug != nil { + return *x.InstanceSlug + } + return "" +} + +func (x *PlatformBackupInfo) GetNodeId() string { + if x != nil && x.NodeId != nil { + return *x.NodeId + } + return "" +} + +func (x *PlatformBackupInfo) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PlatformBackupInfo) GetS3Key() string { + if x != nil && x.S3Key != nil { + return *x.S3Key + } + return "" +} + +func (x *PlatformBackupInfo) GetSizeBytes() int64 { + if x != nil && x.SizeBytes != nil { + return *x.SizeBytes + } + return 0 +} + +func (x *PlatformBackupInfo) GetFormatVersion() int32 { + if x != nil && x.FormatVersion != nil { + return *x.FormatVersion + } + return 0 +} + +func (x *PlatformBackupInfo) GetKeyVersion() string { + if x != nil && x.KeyVersion != nil { + return *x.KeyVersion + } + return "" +} + +func (x *PlatformBackupInfo) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +func (x *PlatformBackupInfo) GetSkipReason() string { + if x != nil && x.SkipReason != nil { + return *x.SkipReason + } + return "" +} + +func (x *PlatformBackupInfo) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *PlatformBackupInfo) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.StartedAt + } + return nil +} + +func (x *PlatformBackupInfo) GetCompletedAt() *timestamppb.Timestamp { + if x != nil { + return x.CompletedAt + } + return nil +} + +// BackupSweepInfo is one row of the backup_sweeps catalog. +type BackupSweepInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Scope string `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"` // environment | node | instance + ScopeRef *string `protobuf:"bytes,3,opt,name=scope_ref,json=scopeRef,proto3,oneof" json:"scope_ref,omitempty"` + TriggerKind string `protobuf:"bytes,4,opt,name=trigger_kind,json=triggerKind,proto3" json:"trigger_kind,omitempty"` // scheduled | manual + TriggeredBy *string `protobuf:"bytes,5,opt,name=triggered_by,json=triggeredBy,proto3,oneof" json:"triggered_by,omitempty"` + Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` // running | completed | failed + CompletedCount int32 `protobuf:"varint,7,opt,name=completed_count,json=completedCount,proto3" json:"completed_count,omitempty"` + FailedCount int32 `protobuf:"varint,8,opt,name=failed_count,json=failedCount,proto3" json:"failed_count,omitempty"` + SkippedCount int32 `protobuf:"varint,9,opt,name=skipped_count,json=skippedCount,proto3" json:"skipped_count,omitempty"` + StartedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` + CompletedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BackupSweepInfo) Reset() { + *x = BackupSweepInfo{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BackupSweepInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackupSweepInfo) ProtoMessage() {} + +func (x *BackupSweepInfo) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackupSweepInfo.ProtoReflect.Descriptor instead. +func (*BackupSweepInfo) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{1} +} + +func (x *BackupSweepInfo) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *BackupSweepInfo) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +func (x *BackupSweepInfo) GetScopeRef() string { + if x != nil && x.ScopeRef != nil { + return *x.ScopeRef + } + return "" +} + +func (x *BackupSweepInfo) GetTriggerKind() string { + if x != nil { + return x.TriggerKind + } + return "" +} + +func (x *BackupSweepInfo) GetTriggeredBy() string { + if x != nil && x.TriggeredBy != nil { + return *x.TriggeredBy + } + return "" +} + +func (x *BackupSweepInfo) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *BackupSweepInfo) GetCompletedCount() int32 { + if x != nil { + return x.CompletedCount + } + return 0 +} + +func (x *BackupSweepInfo) GetFailedCount() int32 { + if x != nil { + return x.FailedCount + } + return 0 +} + +func (x *BackupSweepInfo) GetSkippedCount() int32 { + if x != nil { + return x.SkippedCount + } + return 0 +} + +func (x *BackupSweepInfo) GetStartedAt() *timestamppb.Timestamp { + if x != nil { + return x.StartedAt + } + return nil +} + +func (x *BackupSweepInfo) GetCompletedAt() *timestamppb.Timestamp { + if x != nil { + return x.CompletedAt + } + return nil +} + +// RetentionPolicy is either the global default (instance_id unset) or a +// per-instance override. +type RetentionPolicy struct { + state protoimpl.MessageState `protogen:"open.v1"` + KeepDays int32 `protobuf:"varint,1,opt,name=keep_days,json=keepDays,proto3" json:"keep_days,omitempty"` + MinimumBackups int32 `protobuf:"varint,2,opt,name=minimum_backups,json=minimumBackups,proto3" json:"minimum_backups,omitempty"` + InstanceId *string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RetentionPolicy) Reset() { + *x = RetentionPolicy{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RetentionPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetentionPolicy) ProtoMessage() {} + +func (x *RetentionPolicy) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetentionPolicy.ProtoReflect.Descriptor instead. +func (*RetentionPolicy) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{2} +} + +func (x *RetentionPolicy) GetKeepDays() int32 { + if x != nil { + return x.KeepDays + } + return 0 +} + +func (x *RetentionPolicy) GetMinimumBackups() int32 { + if x != nil { + return x.MinimumBackups + } + return 0 +} + +func (x *RetentionPolicy) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +type ListPlatformBackupsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Kind *string `protobuf:"bytes,1,opt,name=kind,proto3,oneof" json:"kind,omitempty"` + InstanceId *string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + NodeId *string `protobuf:"bytes,3,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` + Status *string `protobuf:"bytes,4,opt,name=status,proto3,oneof" json:"status,omitempty"` + Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` // 0 -> server default + Offset int32 `protobuf:"varint,6,opt,name=offset,proto3" json:"offset,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPlatformBackupsRequest) Reset() { + *x = ListPlatformBackupsRequest{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPlatformBackupsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPlatformBackupsRequest) ProtoMessage() {} + +func (x *ListPlatformBackupsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPlatformBackupsRequest.ProtoReflect.Descriptor instead. +func (*ListPlatformBackupsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{3} +} + +func (x *ListPlatformBackupsRequest) GetKind() string { + if x != nil && x.Kind != nil { + return *x.Kind + } + return "" +} + +func (x *ListPlatformBackupsRequest) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +func (x *ListPlatformBackupsRequest) GetNodeId() string { + if x != nil && x.NodeId != nil { + return *x.NodeId + } + return "" +} + +func (x *ListPlatformBackupsRequest) GetStatus() string { + if x != nil && x.Status != nil { + return *x.Status + } + return "" +} + +func (x *ListPlatformBackupsRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListPlatformBackupsRequest) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +type ListPlatformBackupsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Backups []*PlatformBackupInfo `protobuf:"bytes,1,rep,name=backups,proto3" json:"backups,omitempty"` + TotalCount int32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPlatformBackupsResponse) Reset() { + *x = ListPlatformBackupsResponse{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPlatformBackupsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPlatformBackupsResponse) ProtoMessage() {} + +func (x *ListPlatformBackupsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPlatformBackupsResponse.ProtoReflect.Descriptor instead. +func (*ListPlatformBackupsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{4} +} + +func (x *ListPlatformBackupsResponse) GetBackups() []*PlatformBackupInfo { + if x != nil { + return x.Backups + } + return nil +} + +func (x *ListPlatformBackupsResponse) GetTotalCount() int32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +type GetPlatformBackupDownloadUrlRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + BackupId string `protobuf:"bytes,1,opt,name=backup_id,json=backupId,proto3" json:"backup_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlatformBackupDownloadUrlRequest) Reset() { + *x = GetPlatformBackupDownloadUrlRequest{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlatformBackupDownloadUrlRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlatformBackupDownloadUrlRequest) ProtoMessage() {} + +func (x *GetPlatformBackupDownloadUrlRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlatformBackupDownloadUrlRequest.ProtoReflect.Descriptor instead. +func (*GetPlatformBackupDownloadUrlRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{5} +} + +func (x *GetPlatformBackupDownloadUrlRequest) GetBackupId() string { + if x != nil { + return x.BackupId + } + return "" +} + +type GetPlatformBackupDownloadUrlResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlatformBackupDownloadUrlResponse) Reset() { + *x = GetPlatformBackupDownloadUrlResponse{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlatformBackupDownloadUrlResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlatformBackupDownloadUrlResponse) ProtoMessage() {} + +func (x *GetPlatformBackupDownloadUrlResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlatformBackupDownloadUrlResponse.ProtoReflect.Descriptor instead. +func (*GetPlatformBackupDownloadUrlResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{6} +} + +func (x *GetPlatformBackupDownloadUrlResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *GetPlatformBackupDownloadUrlResponse) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +type DeletePlatformBackupRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + BackupId string `protobuf:"bytes,1,opt,name=backup_id,json=backupId,proto3" json:"backup_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeletePlatformBackupRequest) Reset() { + *x = DeletePlatformBackupRequest{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeletePlatformBackupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePlatformBackupRequest) ProtoMessage() {} + +func (x *DeletePlatformBackupRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePlatformBackupRequest.ProtoReflect.Descriptor instead. +func (*DeletePlatformBackupRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{7} +} + +func (x *DeletePlatformBackupRequest) GetBackupId() string { + if x != nil { + return x.BackupId + } + return "" +} + +type DeletePlatformBackupResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeletePlatformBackupResponse) Reset() { + *x = DeletePlatformBackupResponse{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeletePlatformBackupResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePlatformBackupResponse) ProtoMessage() {} + +func (x *DeletePlatformBackupResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePlatformBackupResponse.ProtoReflect.Descriptor instead. +func (*DeletePlatformBackupResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{8} +} + +type StartBackupSweepRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Scope SweepScope `protobuf:"varint,1,opt,name=scope,proto3,enum=orchestrator.v1.SweepScope" json:"scope,omitempty"` + // Node id (NODE scope) or instance id (INSTANCE scope); empty for ENVIRONMENT. + ScopeRef string `protobuf:"bytes,2,opt,name=scope_ref,json=scopeRef,proto3" json:"scope_ref,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartBackupSweepRequest) Reset() { + *x = StartBackupSweepRequest{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartBackupSweepRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartBackupSweepRequest) ProtoMessage() {} + +func (x *StartBackupSweepRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartBackupSweepRequest.ProtoReflect.Descriptor instead. +func (*StartBackupSweepRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{9} +} + +func (x *StartBackupSweepRequest) GetScope() SweepScope { + if x != nil { + return x.Scope + } + return SweepScope_SWEEP_SCOPE_UNSPECIFIED +} + +func (x *StartBackupSweepRequest) GetScopeRef() string { + if x != nil { + return x.ScopeRef + } + return "" +} + +type StartBackupSweepResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + SweepId string `protobuf:"bytes,1,opt,name=sweep_id,json=sweepId,proto3" json:"sweep_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartBackupSweepResponse) Reset() { + *x = StartBackupSweepResponse{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartBackupSweepResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartBackupSweepResponse) ProtoMessage() {} + +func (x *StartBackupSweepResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartBackupSweepResponse.ProtoReflect.Descriptor instead. +func (*StartBackupSweepResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{10} +} + +func (x *StartBackupSweepResponse) GetSweepId() string { + if x != nil { + return x.SweepId + } + return "" +} + +type ListBackupSweepsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Scope *string `protobuf:"bytes,1,opt,name=scope,proto3,oneof" json:"scope,omitempty"` + TriggerKind *string `protobuf:"bytes,2,opt,name=trigger_kind,json=triggerKind,proto3,oneof" json:"trigger_kind,omitempty"` + Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` // 0 -> server default + Offset int32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListBackupSweepsRequest) Reset() { + *x = ListBackupSweepsRequest{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListBackupSweepsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBackupSweepsRequest) ProtoMessage() {} + +func (x *ListBackupSweepsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListBackupSweepsRequest.ProtoReflect.Descriptor instead. +func (*ListBackupSweepsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{11} +} + +func (x *ListBackupSweepsRequest) GetScope() string { + if x != nil && x.Scope != nil { + return *x.Scope + } + return "" +} + +func (x *ListBackupSweepsRequest) GetTriggerKind() string { + if x != nil && x.TriggerKind != nil { + return *x.TriggerKind + } + return "" +} + +func (x *ListBackupSweepsRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListBackupSweepsRequest) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +type ListBackupSweepsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Sweeps []*BackupSweepInfo `protobuf:"bytes,1,rep,name=sweeps,proto3" json:"sweeps,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListBackupSweepsResponse) Reset() { + *x = ListBackupSweepsResponse{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListBackupSweepsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBackupSweepsResponse) ProtoMessage() {} + +func (x *ListBackupSweepsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListBackupSweepsResponse.ProtoReflect.Descriptor instead. +func (*ListBackupSweepsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{12} +} + +func (x *ListBackupSweepsResponse) GetSweeps() []*BackupSweepInfo { + if x != nil { + return x.Sweeps + } + return nil +} + +type GetPlatformBackupRetentionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Empty -> global default policy; set -> effective policy for the instance. + InstanceId *string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlatformBackupRetentionRequest) Reset() { + *x = GetPlatformBackupRetentionRequest{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlatformBackupRetentionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlatformBackupRetentionRequest) ProtoMessage() {} + +func (x *GetPlatformBackupRetentionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlatformBackupRetentionRequest.ProtoReflect.Descriptor instead. +func (*GetPlatformBackupRetentionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{13} +} + +func (x *GetPlatformBackupRetentionRequest) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +type GetPlatformBackupRetentionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Policy *RetentionPolicy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlatformBackupRetentionResponse) Reset() { + *x = GetPlatformBackupRetentionResponse{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlatformBackupRetentionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlatformBackupRetentionResponse) ProtoMessage() {} + +func (x *GetPlatformBackupRetentionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlatformBackupRetentionResponse.ProtoReflect.Descriptor instead. +func (*GetPlatformBackupRetentionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{14} +} + +func (x *GetPlatformBackupRetentionResponse) GetPolicy() *RetentionPolicy { + if x != nil { + return x.Policy + } + return nil +} + +type SetPlatformBackupRetentionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Empty -> update the global default; set -> upsert a per-instance override. + InstanceId *string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + KeepDays int32 `protobuf:"varint,2,opt,name=keep_days,json=keepDays,proto3" json:"keep_days,omitempty"` + MinimumBackups int32 `protobuf:"varint,3,opt,name=minimum_backups,json=minimumBackups,proto3" json:"minimum_backups,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetPlatformBackupRetentionRequest) Reset() { + *x = SetPlatformBackupRetentionRequest{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetPlatformBackupRetentionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetPlatformBackupRetentionRequest) ProtoMessage() {} + +func (x *SetPlatformBackupRetentionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetPlatformBackupRetentionRequest.ProtoReflect.Descriptor instead. +func (*SetPlatformBackupRetentionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{15} +} + +func (x *SetPlatformBackupRetentionRequest) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +func (x *SetPlatformBackupRetentionRequest) GetKeepDays() int32 { + if x != nil { + return x.KeepDays + } + return 0 +} + +func (x *SetPlatformBackupRetentionRequest) GetMinimumBackups() int32 { + if x != nil { + return x.MinimumBackups + } + return 0 +} + +type SetPlatformBackupRetentionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Policy *RetentionPolicy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetPlatformBackupRetentionResponse) Reset() { + *x = SetPlatformBackupRetentionResponse{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetPlatformBackupRetentionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetPlatformBackupRetentionResponse) ProtoMessage() {} + +func (x *SetPlatformBackupRetentionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetPlatformBackupRetentionResponse.ProtoReflect.Descriptor instead. +func (*SetPlatformBackupRetentionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{16} +} + +func (x *SetPlatformBackupRetentionResponse) GetPolicy() *RetentionPolicy { + if x != nil { + return x.Policy + } + return nil +} + +type RestorePlatformBackupRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + BackupId string `protobuf:"bytes,1,opt,name=backup_id,json=backupId,proto3" json:"backup_id,omitempty"` + TargetInstanceId string `protobuf:"bytes,2,opt,name=target_instance_id,json=targetInstanceId,proto3" json:"target_instance_id,omitempty"` + ConfirmationPhrase string `protobuf:"bytes,3,opt,name=confirmation_phrase,json=confirmationPhrase,proto3" json:"confirmation_phrase,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RestorePlatformBackupRequest) Reset() { + *x = RestorePlatformBackupRequest{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RestorePlatformBackupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestorePlatformBackupRequest) ProtoMessage() {} + +func (x *RestorePlatformBackupRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RestorePlatformBackupRequest.ProtoReflect.Descriptor instead. +func (*RestorePlatformBackupRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{17} +} + +func (x *RestorePlatformBackupRequest) GetBackupId() string { + if x != nil { + return x.BackupId + } + return "" +} + +func (x *RestorePlatformBackupRequest) GetTargetInstanceId() string { + if x != nil { + return x.TargetInstanceId + } + return "" +} + +func (x *RestorePlatformBackupRequest) GetConfirmationPhrase() string { + if x != nil { + return x.ConfirmationPhrase + } + return "" +} + +type RestorePlatformBackupResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RestorePlatformBackupResponse) Reset() { + *x = RestorePlatformBackupResponse{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RestorePlatformBackupResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestorePlatformBackupResponse) ProtoMessage() {} + +func (x *RestorePlatformBackupResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RestorePlatformBackupResponse.ProtoReflect.Descriptor instead. +func (*RestorePlatformBackupResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{18} +} + +func (x *RestorePlatformBackupResponse) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +type GetPlatformBackupDestinationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlatformBackupDestinationRequest) Reset() { + *x = GetPlatformBackupDestinationRequest{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlatformBackupDestinationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlatformBackupDestinationRequest) ProtoMessage() {} + +func (x *GetPlatformBackupDestinationRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlatformBackupDestinationRequest.ProtoReflect.Descriptor instead. +func (*GetPlatformBackupDestinationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{19} +} + +// PlatformBackupDestination is the non-secret view of the backup destination +// returned by Get/Set. The two secret inputs (S3 secret access key + backup +// password) are NEVER echoed back — only *_set booleans report whether Vault +// currently holds a value. +type PlatformBackupDestination struct { + state protoimpl.MessageState `protogen:"open.v1"` + S3Bucket string `protobuf:"bytes,1,opt,name=s3_bucket,json=s3Bucket,proto3" json:"s3_bucket,omitempty"` + S3Region string `protobuf:"bytes,2,opt,name=s3_region,json=s3Region,proto3" json:"s3_region,omitempty"` + S3Endpoint string `protobuf:"bytes,3,opt,name=s3_endpoint,json=s3Endpoint,proto3" json:"s3_endpoint,omitempty"` + S3AccessKeyId string `protobuf:"bytes,4,opt,name=s3_access_key_id,json=s3AccessKeyId,proto3" json:"s3_access_key_id,omitempty"` + SecretAccessKeySet bool `protobuf:"varint,5,opt,name=secret_access_key_set,json=secretAccessKeySet,proto3" json:"secret_access_key_set,omitempty"` + PasswordSet bool `protobuf:"varint,6,opt,name=password_set,json=passwordSet,proto3" json:"password_set,omitempty"` + Enabled bool `protobuf:"varint,7,opt,name=enabled,proto3" json:"enabled,omitempty"` // bucket + password both present + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlatformBackupDestination) Reset() { + *x = PlatformBackupDestination{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlatformBackupDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlatformBackupDestination) ProtoMessage() {} + +func (x *PlatformBackupDestination) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlatformBackupDestination.ProtoReflect.Descriptor instead. +func (*PlatformBackupDestination) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{20} +} + +func (x *PlatformBackupDestination) GetS3Bucket() string { + if x != nil { + return x.S3Bucket + } + return "" +} + +func (x *PlatformBackupDestination) GetS3Region() string { + if x != nil { + return x.S3Region + } + return "" +} + +func (x *PlatformBackupDestination) GetS3Endpoint() string { + if x != nil { + return x.S3Endpoint + } + return "" +} + +func (x *PlatformBackupDestination) GetS3AccessKeyId() string { + if x != nil { + return x.S3AccessKeyId + } + return "" +} + +func (x *PlatformBackupDestination) GetSecretAccessKeySet() bool { + if x != nil { + return x.SecretAccessKeySet + } + return false +} + +func (x *PlatformBackupDestination) GetPasswordSet() bool { + if x != nil { + return x.PasswordSet + } + return false +} + +func (x *PlatformBackupDestination) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +type SetPlatformBackupDestinationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + S3Bucket string `protobuf:"bytes,1,opt,name=s3_bucket,json=s3Bucket,proto3" json:"s3_bucket,omitempty"` + S3Region string `protobuf:"bytes,2,opt,name=s3_region,json=s3Region,proto3" json:"s3_region,omitempty"` + S3Endpoint string `protobuf:"bytes,3,opt,name=s3_endpoint,json=s3Endpoint,proto3" json:"s3_endpoint,omitempty"` + S3AccessKeyId string `protobuf:"bytes,4,opt,name=s3_access_key_id,json=s3AccessKeyId,proto3" json:"s3_access_key_id,omitempty"` + // Optional secret inputs; empty string = keep the existing Vault value. + S3SecretAccessKey string `protobuf:"bytes,5,opt,name=s3_secret_access_key,json=s3SecretAccessKey,proto3" json:"s3_secret_access_key,omitempty"` + Password string `protobuf:"bytes,6,opt,name=password,proto3" json:"password,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetPlatformBackupDestinationRequest) Reset() { + *x = SetPlatformBackupDestinationRequest{} + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetPlatformBackupDestinationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetPlatformBackupDestinationRequest) ProtoMessage() {} + +func (x *SetPlatformBackupDestinationRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_platform_backups_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetPlatformBackupDestinationRequest.ProtoReflect.Descriptor instead. +func (*SetPlatformBackupDestinationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_platform_backups_proto_rawDescGZIP(), []int{21} +} + +func (x *SetPlatformBackupDestinationRequest) GetS3Bucket() string { + if x != nil { + return x.S3Bucket + } + return "" +} + +func (x *SetPlatformBackupDestinationRequest) GetS3Region() string { + if x != nil { + return x.S3Region + } + return "" +} + +func (x *SetPlatformBackupDestinationRequest) GetS3Endpoint() string { + if x != nil { + return x.S3Endpoint + } + return "" +} + +func (x *SetPlatformBackupDestinationRequest) GetS3AccessKeyId() string { + if x != nil { + return x.S3AccessKeyId + } + return "" +} + +func (x *SetPlatformBackupDestinationRequest) GetS3SecretAccessKey() string { + if x != nil { + return x.S3SecretAccessKey + } + return "" +} + +func (x *SetPlatformBackupDestinationRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +var File_orchestrator_v1_platform_backups_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_platform_backups_proto_rawDesc = "" + + "\n" + + "&orchestrator/v1/platform_backups.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa2\x06\n" + + "\x12PlatformBackupInfo\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1e\n" + + "\bsweep_id\x18\x02 \x01(\tH\x00R\asweepId\x88\x01\x01\x12\x12\n" + + "\x04kind\x18\x03 \x01(\tR\x04kind\x12$\n" + + "\vinstance_id\x18\x04 \x01(\tH\x01R\n" + + "instanceId\x88\x01\x01\x12(\n" + + "\rinstance_slug\x18\x05 \x01(\tH\x02R\finstanceSlug\x88\x01\x01\x12\x1c\n" + + "\anode_id\x18\x06 \x01(\tH\x03R\x06nodeId\x88\x01\x01\x12\x16\n" + + "\x06status\x18\a \x01(\tR\x06status\x12\x1a\n" + + "\x06s3_key\x18\b \x01(\tH\x04R\x05s3Key\x88\x01\x01\x12\"\n" + + "\n" + + "size_bytes\x18\t \x01(\x03H\x05R\tsizeBytes\x88\x01\x01\x12*\n" + + "\x0eformat_version\x18\n" + + " \x01(\x05H\x06R\rformatVersion\x88\x01\x01\x12$\n" + + "\vkey_version\x18\v \x01(\tH\aR\n" + + "keyVersion\x88\x01\x01\x12\x19\n" + + "\x05error\x18\f \x01(\tH\bR\x05error\x88\x01\x01\x12$\n" + + "\vskip_reason\x18\r \x01(\tH\tR\n" + + "skipReason\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12>\n" + + "\n" + + "started_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampH\n" + + "R\tstartedAt\x88\x01\x01\x12B\n" + + "\fcompleted_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampH\vR\vcompletedAt\x88\x01\x01B\v\n" + + "\t_sweep_idB\x0e\n" + + "\f_instance_idB\x10\n" + + "\x0e_instance_slugB\n" + + "\n" + + "\b_node_idB\t\n" + + "\a_s3_keyB\r\n" + + "\v_size_bytesB\x11\n" + + "\x0f_format_versionB\x0e\n" + + "\f_key_versionB\b\n" + + "\x06_errorB\x0e\n" + + "\f_skip_reasonB\r\n" + + "\v_started_atB\x0f\n" + + "\r_completed_at\"\xdc\x03\n" + + "\x0fBackupSweepInfo\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" + + "\x05scope\x18\x02 \x01(\tR\x05scope\x12 \n" + + "\tscope_ref\x18\x03 \x01(\tH\x00R\bscopeRef\x88\x01\x01\x12!\n" + + "\ftrigger_kind\x18\x04 \x01(\tR\vtriggerKind\x12&\n" + + "\ftriggered_by\x18\x05 \x01(\tH\x01R\vtriggeredBy\x88\x01\x01\x12\x16\n" + + "\x06status\x18\x06 \x01(\tR\x06status\x12'\n" + + "\x0fcompleted_count\x18\a \x01(\x05R\x0ecompletedCount\x12!\n" + + "\ffailed_count\x18\b \x01(\x05R\vfailedCount\x12#\n" + + "\rskipped_count\x18\t \x01(\x05R\fskippedCount\x129\n" + + "\n" + + "started_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tstartedAt\x12B\n" + + "\fcompleted_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampH\x02R\vcompletedAt\x88\x01\x01B\f\n" + + "\n" + + "_scope_refB\x0f\n" + + "\r_triggered_byB\x0f\n" + + "\r_completed_at\"\x8d\x01\n" + + "\x0fRetentionPolicy\x12\x1b\n" + + "\tkeep_days\x18\x01 \x01(\x05R\bkeepDays\x12'\n" + + "\x0fminimum_backups\x18\x02 \x01(\x05R\x0eminimumBackups\x12$\n" + + "\vinstance_id\x18\x03 \x01(\tH\x00R\n" + + "instanceId\x88\x01\x01B\x0e\n" + + "\f_instance_id\"\xf4\x01\n" + + "\x1aListPlatformBackupsRequest\x12\x17\n" + + "\x04kind\x18\x01 \x01(\tH\x00R\x04kind\x88\x01\x01\x12$\n" + + "\vinstance_id\x18\x02 \x01(\tH\x01R\n" + + "instanceId\x88\x01\x01\x12\x1c\n" + + "\anode_id\x18\x03 \x01(\tH\x02R\x06nodeId\x88\x01\x01\x12\x1b\n" + + "\x06status\x18\x04 \x01(\tH\x03R\x06status\x88\x01\x01\x12\x14\n" + + "\x05limit\x18\x05 \x01(\x05R\x05limit\x12\x16\n" + + "\x06offset\x18\x06 \x01(\x05R\x06offsetB\a\n" + + "\x05_kindB\x0e\n" + + "\f_instance_idB\n" + + "\n" + + "\b_node_idB\t\n" + + "\a_status\"}\n" + + "\x1bListPlatformBackupsResponse\x12=\n" + + "\abackups\x18\x01 \x03(\v2#.orchestrator.v1.PlatformBackupInfoR\abackups\x12\x1f\n" + + "\vtotal_count\x18\x02 \x01(\x05R\n" + + "totalCount\"B\n" + + "#GetPlatformBackupDownloadUrlRequest\x12\x1b\n" + + "\tbackup_id\x18\x01 \x01(\tR\bbackupId\"s\n" + + "$GetPlatformBackupDownloadUrlResponse\x12\x10\n" + + "\x03url\x18\x01 \x01(\tR\x03url\x129\n" + + "\n" + + "expires_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\":\n" + + "\x1bDeletePlatformBackupRequest\x12\x1b\n" + + "\tbackup_id\x18\x01 \x01(\tR\bbackupId\"\x1e\n" + + "\x1cDeletePlatformBackupResponse\"i\n" + + "\x17StartBackupSweepRequest\x121\n" + + "\x05scope\x18\x01 \x01(\x0e2\x1b.orchestrator.v1.SweepScopeR\x05scope\x12\x1b\n" + + "\tscope_ref\x18\x02 \x01(\tR\bscopeRef\"5\n" + + "\x18StartBackupSweepResponse\x12\x19\n" + + "\bsweep_id\x18\x01 \x01(\tR\asweepId\"\xa5\x01\n" + + "\x17ListBackupSweepsRequest\x12\x19\n" + + "\x05scope\x18\x01 \x01(\tH\x00R\x05scope\x88\x01\x01\x12&\n" + + "\ftrigger_kind\x18\x02 \x01(\tH\x01R\vtriggerKind\x88\x01\x01\x12\x14\n" + + "\x05limit\x18\x03 \x01(\x05R\x05limit\x12\x16\n" + + "\x06offset\x18\x04 \x01(\x05R\x06offsetB\b\n" + + "\x06_scopeB\x0f\n" + + "\r_trigger_kind\"T\n" + + "\x18ListBackupSweepsResponse\x128\n" + + "\x06sweeps\x18\x01 \x03(\v2 .orchestrator.v1.BackupSweepInfoR\x06sweeps\"Y\n" + + "!GetPlatformBackupRetentionRequest\x12$\n" + + "\vinstance_id\x18\x01 \x01(\tH\x00R\n" + + "instanceId\x88\x01\x01B\x0e\n" + + "\f_instance_id\"^\n" + + "\"GetPlatformBackupRetentionResponse\x128\n" + + "\x06policy\x18\x01 \x01(\v2 .orchestrator.v1.RetentionPolicyR\x06policy\"\x9f\x01\n" + + "!SetPlatformBackupRetentionRequest\x12$\n" + + "\vinstance_id\x18\x01 \x01(\tH\x00R\n" + + "instanceId\x88\x01\x01\x12\x1b\n" + + "\tkeep_days\x18\x02 \x01(\x05R\bkeepDays\x12'\n" + + "\x0fminimum_backups\x18\x03 \x01(\x05R\x0eminimumBackupsB\x0e\n" + + "\f_instance_id\"^\n" + + "\"SetPlatformBackupRetentionResponse\x128\n" + + "\x06policy\x18\x01 \x01(\v2 .orchestrator.v1.RetentionPolicyR\x06policy\"\x9a\x01\n" + + "\x1cRestorePlatformBackupRequest\x12\x1b\n" + + "\tbackup_id\x18\x01 \x01(\tR\bbackupId\x12,\n" + + "\x12target_instance_id\x18\x02 \x01(\tR\x10targetInstanceId\x12/\n" + + "\x13confirmation_phrase\x18\x03 \x01(\tR\x12confirmationPhrase\"B\n" + + "\x1dRestorePlatformBackupResponse\x12!\n" + + "\foperation_id\x18\x01 \x01(\tR\voperationId\"%\n" + + "#GetPlatformBackupDestinationRequest\"\x8f\x02\n" + + "\x19PlatformBackupDestination\x12\x1b\n" + + "\ts3_bucket\x18\x01 \x01(\tR\bs3Bucket\x12\x1b\n" + + "\ts3_region\x18\x02 \x01(\tR\bs3Region\x12\x1f\n" + + "\vs3_endpoint\x18\x03 \x01(\tR\n" + + "s3Endpoint\x12'\n" + + "\x10s3_access_key_id\x18\x04 \x01(\tR\rs3AccessKeyId\x121\n" + + "\x15secret_access_key_set\x18\x05 \x01(\bR\x12secretAccessKeySet\x12!\n" + + "\fpassword_set\x18\x06 \x01(\bR\vpasswordSet\x12\x18\n" + + "\aenabled\x18\a \x01(\bR\aenabled\"\xf6\x01\n" + + "#SetPlatformBackupDestinationRequest\x12\x1b\n" + + "\ts3_bucket\x18\x01 \x01(\tR\bs3Bucket\x12\x1b\n" + + "\ts3_region\x18\x02 \x01(\tR\bs3Region\x12\x1f\n" + + "\vs3_endpoint\x18\x03 \x01(\tR\n" + + "s3Endpoint\x12'\n" + + "\x10s3_access_key_id\x18\x04 \x01(\tR\rs3AccessKeyId\x12/\n" + + "\x14s3_secret_access_key\x18\x05 \x01(\tR\x11s3SecretAccessKey\x12\x1a\n" + + "\bpassword\x18\x06 \x01(\tR\bpassword*v\n" + + "\n" + + "SweepScope\x12\x1b\n" + + "\x17SWEEP_SCOPE_UNSPECIFIED\x10\x00\x12\x1b\n" + + "\x17SWEEP_SCOPE_ENVIRONMENT\x10\x01\x12\x14\n" + + "\x10SWEEP_SCOPE_NODE\x10\x02\x12\x18\n" + + "\x14SWEEP_SCOPE_INSTANCE\x10\x032\xec\t\n" + + "\x15PlatformBackupService\x12p\n" + + "\x13ListPlatformBackups\x12+.orchestrator.v1.ListPlatformBackupsRequest\x1a,.orchestrator.v1.ListPlatformBackupsResponse\x12\x8b\x01\n" + + "\x1cGetPlatformBackupDownloadUrl\x124.orchestrator.v1.GetPlatformBackupDownloadUrlRequest\x1a5.orchestrator.v1.GetPlatformBackupDownloadUrlResponse\x12s\n" + + "\x14DeletePlatformBackup\x12,.orchestrator.v1.DeletePlatformBackupRequest\x1a-.orchestrator.v1.DeletePlatformBackupResponse\x12g\n" + + "\x10StartBackupSweep\x12(.orchestrator.v1.StartBackupSweepRequest\x1a).orchestrator.v1.StartBackupSweepResponse\x12g\n" + + "\x10ListBackupSweeps\x12(.orchestrator.v1.ListBackupSweepsRequest\x1a).orchestrator.v1.ListBackupSweepsResponse\x12\x85\x01\n" + + "\x1aGetPlatformBackupRetention\x122.orchestrator.v1.GetPlatformBackupRetentionRequest\x1a3.orchestrator.v1.GetPlatformBackupRetentionResponse\x12\x85\x01\n" + + "\x1aSetPlatformBackupRetention\x122.orchestrator.v1.SetPlatformBackupRetentionRequest\x1a3.orchestrator.v1.SetPlatformBackupRetentionResponse\x12v\n" + + "\x15RestorePlatformBackup\x12-.orchestrator.v1.RestorePlatformBackupRequest\x1a..orchestrator.v1.RestorePlatformBackupResponse\x12\x80\x01\n" + + "\x1cGetPlatformBackupDestination\x124.orchestrator.v1.GetPlatformBackupDestinationRequest\x1a*.orchestrator.v1.PlatformBackupDestination\x12\x80\x01\n" + + "\x1cSetPlatformBackupDestination\x124.orchestrator.v1.SetPlatformBackupDestinationRequest\x1a*.orchestrator.v1.PlatformBackupDestinationB\xd7\x01\n" + + "\x13com.orchestrator.v1B\x14PlatformBackupsProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_platform_backups_proto_rawDescOnce sync.Once + file_orchestrator_v1_platform_backups_proto_rawDescData []byte +) + +func file_orchestrator_v1_platform_backups_proto_rawDescGZIP() []byte { + file_orchestrator_v1_platform_backups_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_platform_backups_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_platform_backups_proto_rawDesc), len(file_orchestrator_v1_platform_backups_proto_rawDesc))) + }) + return file_orchestrator_v1_platform_backups_proto_rawDescData +} + +var file_orchestrator_v1_platform_backups_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_orchestrator_v1_platform_backups_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_orchestrator_v1_platform_backups_proto_goTypes = []any{ + (SweepScope)(0), // 0: orchestrator.v1.SweepScope + (*PlatformBackupInfo)(nil), // 1: orchestrator.v1.PlatformBackupInfo + (*BackupSweepInfo)(nil), // 2: orchestrator.v1.BackupSweepInfo + (*RetentionPolicy)(nil), // 3: orchestrator.v1.RetentionPolicy + (*ListPlatformBackupsRequest)(nil), // 4: orchestrator.v1.ListPlatformBackupsRequest + (*ListPlatformBackupsResponse)(nil), // 5: orchestrator.v1.ListPlatformBackupsResponse + (*GetPlatformBackupDownloadUrlRequest)(nil), // 6: orchestrator.v1.GetPlatformBackupDownloadUrlRequest + (*GetPlatformBackupDownloadUrlResponse)(nil), // 7: orchestrator.v1.GetPlatformBackupDownloadUrlResponse + (*DeletePlatformBackupRequest)(nil), // 8: orchestrator.v1.DeletePlatformBackupRequest + (*DeletePlatformBackupResponse)(nil), // 9: orchestrator.v1.DeletePlatformBackupResponse + (*StartBackupSweepRequest)(nil), // 10: orchestrator.v1.StartBackupSweepRequest + (*StartBackupSweepResponse)(nil), // 11: orchestrator.v1.StartBackupSweepResponse + (*ListBackupSweepsRequest)(nil), // 12: orchestrator.v1.ListBackupSweepsRequest + (*ListBackupSweepsResponse)(nil), // 13: orchestrator.v1.ListBackupSweepsResponse + (*GetPlatformBackupRetentionRequest)(nil), // 14: orchestrator.v1.GetPlatformBackupRetentionRequest + (*GetPlatformBackupRetentionResponse)(nil), // 15: orchestrator.v1.GetPlatformBackupRetentionResponse + (*SetPlatformBackupRetentionRequest)(nil), // 16: orchestrator.v1.SetPlatformBackupRetentionRequest + (*SetPlatformBackupRetentionResponse)(nil), // 17: orchestrator.v1.SetPlatformBackupRetentionResponse + (*RestorePlatformBackupRequest)(nil), // 18: orchestrator.v1.RestorePlatformBackupRequest + (*RestorePlatformBackupResponse)(nil), // 19: orchestrator.v1.RestorePlatformBackupResponse + (*GetPlatformBackupDestinationRequest)(nil), // 20: orchestrator.v1.GetPlatformBackupDestinationRequest + (*PlatformBackupDestination)(nil), // 21: orchestrator.v1.PlatformBackupDestination + (*SetPlatformBackupDestinationRequest)(nil), // 22: orchestrator.v1.SetPlatformBackupDestinationRequest + (*timestamppb.Timestamp)(nil), // 23: google.protobuf.Timestamp +} +var file_orchestrator_v1_platform_backups_proto_depIdxs = []int32{ + 23, // 0: orchestrator.v1.PlatformBackupInfo.created_at:type_name -> google.protobuf.Timestamp + 23, // 1: orchestrator.v1.PlatformBackupInfo.started_at:type_name -> google.protobuf.Timestamp + 23, // 2: orchestrator.v1.PlatformBackupInfo.completed_at:type_name -> google.protobuf.Timestamp + 23, // 3: orchestrator.v1.BackupSweepInfo.started_at:type_name -> google.protobuf.Timestamp + 23, // 4: orchestrator.v1.BackupSweepInfo.completed_at:type_name -> google.protobuf.Timestamp + 1, // 5: orchestrator.v1.ListPlatformBackupsResponse.backups:type_name -> orchestrator.v1.PlatformBackupInfo + 23, // 6: orchestrator.v1.GetPlatformBackupDownloadUrlResponse.expires_at:type_name -> google.protobuf.Timestamp + 0, // 7: orchestrator.v1.StartBackupSweepRequest.scope:type_name -> orchestrator.v1.SweepScope + 2, // 8: orchestrator.v1.ListBackupSweepsResponse.sweeps:type_name -> orchestrator.v1.BackupSweepInfo + 3, // 9: orchestrator.v1.GetPlatformBackupRetentionResponse.policy:type_name -> orchestrator.v1.RetentionPolicy + 3, // 10: orchestrator.v1.SetPlatformBackupRetentionResponse.policy:type_name -> orchestrator.v1.RetentionPolicy + 4, // 11: orchestrator.v1.PlatformBackupService.ListPlatformBackups:input_type -> orchestrator.v1.ListPlatformBackupsRequest + 6, // 12: orchestrator.v1.PlatformBackupService.GetPlatformBackupDownloadUrl:input_type -> orchestrator.v1.GetPlatformBackupDownloadUrlRequest + 8, // 13: orchestrator.v1.PlatformBackupService.DeletePlatformBackup:input_type -> orchestrator.v1.DeletePlatformBackupRequest + 10, // 14: orchestrator.v1.PlatformBackupService.StartBackupSweep:input_type -> orchestrator.v1.StartBackupSweepRequest + 12, // 15: orchestrator.v1.PlatformBackupService.ListBackupSweeps:input_type -> orchestrator.v1.ListBackupSweepsRequest + 14, // 16: orchestrator.v1.PlatformBackupService.GetPlatformBackupRetention:input_type -> orchestrator.v1.GetPlatformBackupRetentionRequest + 16, // 17: orchestrator.v1.PlatformBackupService.SetPlatformBackupRetention:input_type -> orchestrator.v1.SetPlatformBackupRetentionRequest + 18, // 18: orchestrator.v1.PlatformBackupService.RestorePlatformBackup:input_type -> orchestrator.v1.RestorePlatformBackupRequest + 20, // 19: orchestrator.v1.PlatformBackupService.GetPlatformBackupDestination:input_type -> orchestrator.v1.GetPlatformBackupDestinationRequest + 22, // 20: orchestrator.v1.PlatformBackupService.SetPlatformBackupDestination:input_type -> orchestrator.v1.SetPlatformBackupDestinationRequest + 5, // 21: orchestrator.v1.PlatformBackupService.ListPlatformBackups:output_type -> orchestrator.v1.ListPlatformBackupsResponse + 7, // 22: orchestrator.v1.PlatformBackupService.GetPlatformBackupDownloadUrl:output_type -> orchestrator.v1.GetPlatformBackupDownloadUrlResponse + 9, // 23: orchestrator.v1.PlatformBackupService.DeletePlatformBackup:output_type -> orchestrator.v1.DeletePlatformBackupResponse + 11, // 24: orchestrator.v1.PlatformBackupService.StartBackupSweep:output_type -> orchestrator.v1.StartBackupSweepResponse + 13, // 25: orchestrator.v1.PlatformBackupService.ListBackupSweeps:output_type -> orchestrator.v1.ListBackupSweepsResponse + 15, // 26: orchestrator.v1.PlatformBackupService.GetPlatformBackupRetention:output_type -> orchestrator.v1.GetPlatformBackupRetentionResponse + 17, // 27: orchestrator.v1.PlatformBackupService.SetPlatformBackupRetention:output_type -> orchestrator.v1.SetPlatformBackupRetentionResponse + 19, // 28: orchestrator.v1.PlatformBackupService.RestorePlatformBackup:output_type -> orchestrator.v1.RestorePlatformBackupResponse + 21, // 29: orchestrator.v1.PlatformBackupService.GetPlatformBackupDestination:output_type -> orchestrator.v1.PlatformBackupDestination + 21, // 30: orchestrator.v1.PlatformBackupService.SetPlatformBackupDestination:output_type -> orchestrator.v1.PlatformBackupDestination + 21, // [21:31] is the sub-list for method output_type + 11, // [11:21] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_platform_backups_proto_init() } +func file_orchestrator_v1_platform_backups_proto_init() { + if File_orchestrator_v1_platform_backups_proto != nil { + return + } + file_orchestrator_v1_platform_backups_proto_msgTypes[0].OneofWrappers = []any{} + file_orchestrator_v1_platform_backups_proto_msgTypes[1].OneofWrappers = []any{} + file_orchestrator_v1_platform_backups_proto_msgTypes[2].OneofWrappers = []any{} + file_orchestrator_v1_platform_backups_proto_msgTypes[3].OneofWrappers = []any{} + file_orchestrator_v1_platform_backups_proto_msgTypes[11].OneofWrappers = []any{} + file_orchestrator_v1_platform_backups_proto_msgTypes[13].OneofWrappers = []any{} + file_orchestrator_v1_platform_backups_proto_msgTypes[15].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_platform_backups_proto_rawDesc), len(file_orchestrator_v1_platform_backups_proto_rawDesc)), + NumEnums: 1, + NumMessages: 22, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_platform_backups_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_platform_backups_proto_depIdxs, + EnumInfos: file_orchestrator_v1_platform_backups_proto_enumTypes, + MessageInfos: file_orchestrator_v1_platform_backups_proto_msgTypes, + }.Build() + File_orchestrator_v1_platform_backups_proto = out.File + file_orchestrator_v1_platform_backups_proto_goTypes = nil + file_orchestrator_v1_platform_backups_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/plugin_builds.pb.go b/internal/api/orchestrator/v1/plugin_builds.pb.go new file mode 100644 index 0000000..7a56590 --- /dev/null +++ b/internal/api/orchestrator/v1/plugin_builds.pb.go @@ -0,0 +1,235 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/plugin_builds.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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 BuildPluginImageRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + Plugins []*PluginBuildSpec `protobuf:"bytes,2,rep,name=plugins,proto3" json:"plugins,omitempty"` + // Base CMS version (e.g., "v1.2.3") — determines which builder/runtime images to use + BaseVersion string `protobuf:"bytes,3,opt,name=base_version,json=baseVersion,proto3" json:"base_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BuildPluginImageRequest) Reset() { + *x = BuildPluginImageRequest{} + mi := &file_orchestrator_v1_plugin_builds_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BuildPluginImageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildPluginImageRequest) ProtoMessage() {} + +func (x *BuildPluginImageRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_builds_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildPluginImageRequest.ProtoReflect.Descriptor instead. +func (*BuildPluginImageRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_builds_proto_rawDescGZIP(), []int{0} +} + +func (x *BuildPluginImageRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *BuildPluginImageRequest) GetPlugins() []*PluginBuildSpec { + if x != nil { + return x.Plugins + } + return nil +} + +func (x *BuildPluginImageRequest) GetBaseVersion() string { + if x != nil { + return x.BaseVersion + } + return "" +} + +type PluginBuildSpec struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + GitUrl string `protobuf:"bytes,2,opt,name=git_url,json=gitUrl,proto3" json:"git_url,omitempty"` + Branch string `protobuf:"bytes,3,opt,name=branch,proto3" json:"branch,omitempty"` + // Decrypted SSH private key for cloning (PEM format). + // Sent server-to-server over TLS, never exposed to browser. + SshPrivateKey string `protobuf:"bytes,4,opt,name=ssh_private_key,json=sshPrivateKey,proto3" json:"ssh_private_key,omitempty"` + SshPort int32 `protobuf:"varint,5,opt,name=ssh_port,json=sshPort,proto3" json:"ssh_port,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PluginBuildSpec) Reset() { + *x = PluginBuildSpec{} + mi := &file_orchestrator_v1_plugin_builds_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PluginBuildSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PluginBuildSpec) ProtoMessage() {} + +func (x *PluginBuildSpec) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_builds_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PluginBuildSpec.ProtoReflect.Descriptor instead. +func (*PluginBuildSpec) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_builds_proto_rawDescGZIP(), []int{1} +} + +func (x *PluginBuildSpec) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PluginBuildSpec) GetGitUrl() string { + if x != nil { + return x.GitUrl + } + return "" +} + +func (x *PluginBuildSpec) GetBranch() string { + if x != nil { + return x.Branch + } + return "" +} + +func (x *PluginBuildSpec) GetSshPrivateKey() string { + if x != nil { + return x.SshPrivateKey + } + return "" +} + +func (x *PluginBuildSpec) GetSshPort() int32 { + if x != nil { + return x.SshPort + } + return 0 +} + +var File_orchestrator_v1_plugin_builds_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_plugin_builds_proto_rawDesc = "" + + "\n" + + "#orchestrator/v1/plugin_builds.proto\x12\x0forchestrator.v1\x1a\x1forchestrator/v1/instances.proto\"\x99\x01\n" + + "\x17BuildPluginImageRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12:\n" + + "\aplugins\x18\x02 \x03(\v2 .orchestrator.v1.PluginBuildSpecR\aplugins\x12!\n" + + "\fbase_version\x18\x03 \x01(\tR\vbaseVersion\"\x99\x01\n" + + "\x0fPluginBuildSpec\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x17\n" + + "\agit_url\x18\x02 \x01(\tR\x06gitUrl\x12\x16\n" + + "\x06branch\x18\x03 \x01(\tR\x06branch\x12&\n" + + "\x0fssh_private_key\x18\x04 \x01(\tR\rsshPrivateKey\x12\x19\n" + + "\bssh_port\x18\x05 \x01(\x05R\asshPort2x\n" + + "\x12PluginBuildService\x12b\n" + + "\x10BuildPluginImage\x12(.orchestrator.v1.BuildPluginImageRequest\x1a\".orchestrator.v1.OperationProgress0\x01B\xd4\x01\n" + + "\x13com.orchestrator.v1B\x11PluginBuildsProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_plugin_builds_proto_rawDescOnce sync.Once + file_orchestrator_v1_plugin_builds_proto_rawDescData []byte +) + +func file_orchestrator_v1_plugin_builds_proto_rawDescGZIP() []byte { + file_orchestrator_v1_plugin_builds_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_plugin_builds_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_plugin_builds_proto_rawDesc), len(file_orchestrator_v1_plugin_builds_proto_rawDesc))) + }) + return file_orchestrator_v1_plugin_builds_proto_rawDescData +} + +var file_orchestrator_v1_plugin_builds_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_orchestrator_v1_plugin_builds_proto_goTypes = []any{ + (*BuildPluginImageRequest)(nil), // 0: orchestrator.v1.BuildPluginImageRequest + (*PluginBuildSpec)(nil), // 1: orchestrator.v1.PluginBuildSpec + (*OperationProgress)(nil), // 2: orchestrator.v1.OperationProgress +} +var file_orchestrator_v1_plugin_builds_proto_depIdxs = []int32{ + 1, // 0: orchestrator.v1.BuildPluginImageRequest.plugins:type_name -> orchestrator.v1.PluginBuildSpec + 0, // 1: orchestrator.v1.PluginBuildService.BuildPluginImage:input_type -> orchestrator.v1.BuildPluginImageRequest + 2, // 2: orchestrator.v1.PluginBuildService.BuildPluginImage:output_type -> orchestrator.v1.OperationProgress + 2, // [2:3] is the sub-list for method output_type + 1, // [1:2] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_plugin_builds_proto_init() } +func file_orchestrator_v1_plugin_builds_proto_init() { + if File_orchestrator_v1_plugin_builds_proto != nil { + return + } + file_orchestrator_v1_instances_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_plugin_builds_proto_rawDesc), len(file_orchestrator_v1_plugin_builds_proto_rawDesc)), + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_plugin_builds_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_plugin_builds_proto_depIdxs, + MessageInfos: file_orchestrator_v1_plugin_builds_proto_msgTypes, + }.Build() + File_orchestrator_v1_plugin_builds_proto = out.File + file_orchestrator_v1_plugin_builds_proto_goTypes = nil + file_orchestrator_v1_plugin_builds_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/plugin_registry.pb.go b/internal/api/orchestrator/v1/plugin_registry.pb.go new file mode 100644 index 0000000..7a3fb20 --- /dev/null +++ b/internal/api/orchestrator/v1/plugin_registry.pb.go @@ -0,0 +1,7810 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/plugin_registry.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// PluginVisibility is the lifecycle/access state of a plugin in the registry. +// PRIVATE plugins are scoped to a single account; PUBLIC plugins are visible +// to all. UNDER_REVIEW / REJECTED / TAKEN_DOWN are public-registry moderation +// states and do not apply to private plugins. +type PluginVisibility int32 + +const ( + PluginVisibility_PLUGIN_VISIBILITY_UNSPECIFIED PluginVisibility = 0 + PluginVisibility_PLUGIN_VISIBILITY_PRIVATE PluginVisibility = 1 + PluginVisibility_PLUGIN_VISIBILITY_UNDER_REVIEW PluginVisibility = 2 + PluginVisibility_PLUGIN_VISIBILITY_PUBLIC PluginVisibility = 3 + PluginVisibility_PLUGIN_VISIBILITY_REJECTED PluginVisibility = 4 + PluginVisibility_PLUGIN_VISIBILITY_TAKEN_DOWN PluginVisibility = 5 +) + +// Enum value maps for PluginVisibility. +var ( + PluginVisibility_name = map[int32]string{ + 0: "PLUGIN_VISIBILITY_UNSPECIFIED", + 1: "PLUGIN_VISIBILITY_PRIVATE", + 2: "PLUGIN_VISIBILITY_UNDER_REVIEW", + 3: "PLUGIN_VISIBILITY_PUBLIC", + 4: "PLUGIN_VISIBILITY_REJECTED", + 5: "PLUGIN_VISIBILITY_TAKEN_DOWN", + } + PluginVisibility_value = map[string]int32{ + "PLUGIN_VISIBILITY_UNSPECIFIED": 0, + "PLUGIN_VISIBILITY_PRIVATE": 1, + "PLUGIN_VISIBILITY_UNDER_REVIEW": 2, + "PLUGIN_VISIBILITY_PUBLIC": 3, + "PLUGIN_VISIBILITY_REJECTED": 4, + "PLUGIN_VISIBILITY_TAKEN_DOWN": 5, + } +) + +func (x PluginVisibility) Enum() *PluginVisibility { + p := new(PluginVisibility) + *p = x + return p +} + +func (x PluginVisibility) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PluginVisibility) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_plugin_registry_proto_enumTypes[0].Descriptor() +} + +func (PluginVisibility) Type() protoreflect.EnumType { + return &file_orchestrator_v1_plugin_registry_proto_enumTypes[0] +} + +func (x PluginVisibility) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PluginVisibility.Descriptor instead. +func (PluginVisibility) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{0} +} + +type Scope struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Scope) Reset() { + *x = Scope{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Scope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Scope) ProtoMessage() {} + +func (x *Scope) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Scope.ProtoReflect.Descriptor instead. +func (*Scope) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{0} +} + +func (x *Scope) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Scope) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *Scope) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Scope) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type Plugin struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ScopeSlug string `protobuf:"bytes,2,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Visibility PluginVisibility `protobuf:"varint,4,opt,name=visibility,proto3,enum=orchestrator.v1.PluginVisibility" json:"visibility,omitempty"` + Premium bool `protobuf:"varint,5,opt,name=premium,proto3" json:"premium,omitempty"` + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + HomepageUrl string `protobuf:"bytes,7,opt,name=homepage_url,json=homepageUrl,proto3" json:"homepage_url,omitempty"` + Categories []string `protobuf:"bytes,8,rep,name=categories,proto3" json:"categories,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Kind string `protobuf:"bytes,10,opt,name=kind,proto3" json:"kind,omitempty"` + DisplayName string `protobuf:"bytes,11,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // owner_account_id is set for private plugins and identifies the account + // that owns the plugin. Empty for public plugins. + OwnerAccountId string `protobuf:"bytes,12,opt,name=owner_account_id,json=ownerAccountId,proto3" json:"owner_account_id,omitempty"` + // latest_version is the most recent non-yanked version string published + // for this plugin (e.g. "0.2.3"). Empty when the plugin has no versions + // yet. Computed server-side as a LATERAL lookup on registry_versions so + // listing endpoints don't N+1. + LatestVersion string `protobuf:"bytes,13,opt,name=latest_version,json=latestVersion,proto3" json:"latest_version,omitempty"` + Tags []string `protobuf:"bytes,14,rep,name=tags,proto3" json:"tags,omitempty"` + // preview_image_url is the PUBLIC, unsigned, long-lived image URL for this + // plugin's card image, usable directly as an : the gallery's + // Featured screenshot when one exists, else the latest non-yanked version's + // preview.png. Empty when neither exists — the wizard card then degrades to + // display_name + tags (spec §5.2). + PreviewImageUrl string `protobuf:"bytes,15,opt,name=preview_image_url,json=previewImageUrl,proto3" json:"preview_image_url,omitempty"` + // rating_avg/rating_count are the denormalised star-review aggregate over + // non-deleted reviews (0/0 when unreviewed). + RatingAvg float32 `protobuf:"fixed32,16,opt,name=rating_avg,json=ratingAvg,proto3" json:"rating_avg,omitempty"` + RatingCount int32 `protobuf:"varint,17,opt,name=rating_count,json=ratingCount,proto3" json:"rating_count,omitempty"` + // install_count is the number of distinct CMS instances currently recorded + // as installers of this plugin (registry_install_events grain). + InstallCount int32 `protobuf:"varint,18,opt,name=install_count,json=installCount,proto3" json:"install_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Plugin) Reset() { + *x = Plugin{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Plugin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Plugin) ProtoMessage() {} + +func (x *Plugin) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Plugin.ProtoReflect.Descriptor instead. +func (*Plugin) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{1} +} + +func (x *Plugin) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Plugin) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *Plugin) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Plugin) GetVisibility() PluginVisibility { + if x != nil { + return x.Visibility + } + return PluginVisibility_PLUGIN_VISIBILITY_UNSPECIFIED +} + +func (x *Plugin) GetPremium() bool { + if x != nil { + return x.Premium + } + return false +} + +func (x *Plugin) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Plugin) GetHomepageUrl() string { + if x != nil { + return x.HomepageUrl + } + return "" +} + +func (x *Plugin) GetCategories() []string { + if x != nil { + return x.Categories + } + return nil +} + +func (x *Plugin) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *Plugin) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *Plugin) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Plugin) GetOwnerAccountId() string { + if x != nil { + return x.OwnerAccountId + } + return "" +} + +func (x *Plugin) GetLatestVersion() string { + if x != nil { + return x.LatestVersion + } + return "" +} + +func (x *Plugin) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *Plugin) GetPreviewImageUrl() string { + if x != nil { + return x.PreviewImageUrl + } + return "" +} + +func (x *Plugin) GetRatingAvg() float32 { + if x != nil { + return x.RatingAvg + } + return 0 +} + +func (x *Plugin) GetRatingCount() int32 { + if x != nil { + return x.RatingCount + } + return 0 +} + +func (x *Plugin) GetInstallCount() int32 { + if x != nil { + return x.InstallCount + } + return 0 +} + +// PluginScreenshot is one image in a plugin's managed gallery. The gallery is +// per-plugin (not per-version); images arrive either from a published +// artifact's screenshots/ dir or from author uploads, and the author orders +// them and marks one Featured (the card image). +type PluginScreenshot struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // url is the public unsigned image URL (only public plugins serve gallery + // images in v1). + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` + Featured bool `protobuf:"varint,3,opt,name=featured,proto3" json:"featured,omitempty"` + Position int32 `protobuf:"varint,4,opt,name=position,proto3" json:"position,omitempty"` + ContentType string `protobuf:"bytes,5,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PluginScreenshot) Reset() { + *x = PluginScreenshot{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PluginScreenshot) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PluginScreenshot) ProtoMessage() {} + +func (x *PluginScreenshot) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PluginScreenshot.ProtoReflect.Descriptor instead. +func (*PluginScreenshot) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{2} +} + +func (x *PluginScreenshot) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PluginScreenshot) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PluginScreenshot) GetFeatured() bool { + if x != nil { + return x.Featured + } + return false +} + +func (x *PluginScreenshot) GetPosition() int32 { + if x != nil { + return x.Position + } + return 0 +} + +func (x *PluginScreenshot) GetContentType() string { + if x != nil { + return x.ContentType + } + return "" +} + +type Category struct { + state protoimpl.MessageState `protogen:"open.v1"` + Slug string `protobuf:"bytes,1,opt,name=slug,proto3" json:"slug,omitempty"` + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + SortOrder int32 `protobuf:"varint,4,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"` + PluginCount int32 `protobuf:"varint,5,opt,name=plugin_count,json=pluginCount,proto3" json:"plugin_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Category) Reset() { + *x = Category{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Category) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Category) ProtoMessage() {} + +func (x *Category) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Category.ProtoReflect.Descriptor instead. +func (*Category) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{3} +} + +func (x *Category) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *Category) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Category) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Category) GetSortOrder() int32 { + if x != nil { + return x.SortOrder + } + return 0 +} + +func (x *Category) GetPluginCount() int32 { + if x != nil { + return x.PluginCount + } + return 0 +} + +type Version struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + PluginId string `protobuf:"bytes,2,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + PublishedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=published_at,json=publishedAt,proto3" json:"published_at,omitempty"` + Yanked bool `protobuf:"varint,7,opt,name=yanked,proto3" json:"yanked,omitempty"` + SdkConstraint string `protobuf:"bytes,8,opt,name=sdk_constraint,json=sdkConstraint,proto3" json:"sdk_constraint,omitempty"` + SourceArchiveSha256 string `protobuf:"bytes,9,opt,name=source_archive_sha256,json=sourceArchiveSha256,proto3" json:"source_archive_sha256,omitempty"` + SourceArchiveSize int64 `protobuf:"varint,10,opt,name=source_archive_size,json=sourceArchiveSize,proto3" json:"source_archive_size,omitempty"` + // preview_image_url is the public unsigned URL of this specific version's + // preview PNG, or empty when this version shipped no preview.png. + PreviewImageUrl string `protobuf:"bytes,11,opt,name=preview_image_url,json=previewImageUrl,proto3" json:"preview_image_url,omitempty"` + // abi_version is the wasm ABI major version this artifact was built against + // (WO-WZ-011). 0 means a legacy source archive (compiled in-container), not a + // .bnp. Instances filter incompatible artifacts on this before downloading. + AbiVersion uint32 `protobuf:"varint,12,opt,name=abi_version,json=abiVersion,proto3" json:"abi_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Version) Reset() { + *x = Version{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Version) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Version) ProtoMessage() {} + +func (x *Version) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Version.ProtoReflect.Descriptor instead. +func (*Version) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{4} +} + +func (x *Version) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Version) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *Version) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *Version) GetPublishedAt() *timestamppb.Timestamp { + if x != nil { + return x.PublishedAt + } + return nil +} + +func (x *Version) GetYanked() bool { + if x != nil { + return x.Yanked + } + return false +} + +func (x *Version) GetSdkConstraint() string { + if x != nil { + return x.SdkConstraint + } + return "" +} + +func (x *Version) GetSourceArchiveSha256() string { + if x != nil { + return x.SourceArchiveSha256 + } + return "" +} + +func (x *Version) GetSourceArchiveSize() int64 { + if x != nil { + return x.SourceArchiveSize + } + return 0 +} + +func (x *Version) GetPreviewImageUrl() string { + if x != nil { + return x.PreviewImageUrl + } + return "" +} + +func (x *Version) GetAbiVersion() uint32 { + if x != nil { + return x.AbiVersion + } + return 0 +} + +type Requirement struct { + state protoimpl.MessageState `protogen:"open.v1"` + ScopeSlug string `protobuf:"bytes,1,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + ConstraintExpr string `protobuf:"bytes,3,opt,name=constraint_expr,json=constraintExpr,proto3" json:"constraint_expr,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Requirement) Reset() { + *x = Requirement{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Requirement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Requirement) ProtoMessage() {} + +func (x *Requirement) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Requirement.ProtoReflect.Descriptor instead. +func (*Requirement) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{5} +} + +func (x *Requirement) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *Requirement) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Requirement) GetConstraintExpr() string { + if x != nil { + return x.ConstraintExpr + } + return "" +} + +type CreateScopeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Slug string `protobuf:"bytes,1,opt,name=slug,proto3" json:"slug,omitempty"` + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateScopeRequest) Reset() { + *x = CreateScopeRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateScopeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateScopeRequest) ProtoMessage() {} + +func (x *CreateScopeRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateScopeRequest.ProtoReflect.Descriptor instead. +func (*CreateScopeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{6} +} + +func (x *CreateScopeRequest) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *CreateScopeRequest) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +type CreateScopeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Scope *Scope `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateScopeResponse) Reset() { + *x = CreateScopeResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateScopeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateScopeResponse) ProtoMessage() {} + +func (x *CreateScopeResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateScopeResponse.ProtoReflect.Descriptor instead. +func (*CreateScopeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{7} +} + +func (x *CreateScopeResponse) GetScope() *Scope { + if x != nil { + return x.Scope + } + return nil +} + +type ListMyScopesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyScopesRequest) Reset() { + *x = ListMyScopesRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyScopesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyScopesRequest) ProtoMessage() {} + +func (x *ListMyScopesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyScopesRequest.ProtoReflect.Descriptor instead. +func (*ListMyScopesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{8} +} + +type ListMyScopesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Scopes []*Scope `protobuf:"bytes,1,rep,name=scopes,proto3" json:"scopes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyScopesResponse) Reset() { + *x = ListMyScopesResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyScopesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyScopesResponse) ProtoMessage() {} + +func (x *ListMyScopesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyScopesResponse.ProtoReflect.Descriptor instead. +func (*ListMyScopesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{9} +} + +func (x *ListMyScopesResponse) GetScopes() []*Scope { + if x != nil { + return x.Scopes + } + return nil +} + +type GetScopeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Slug string `protobuf:"bytes,1,opt,name=slug,proto3" json:"slug,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetScopeRequest) Reset() { + *x = GetScopeRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetScopeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetScopeRequest) ProtoMessage() {} + +func (x *GetScopeRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetScopeRequest.ProtoReflect.Descriptor instead. +func (*GetScopeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{10} +} + +func (x *GetScopeRequest) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +type GetScopeResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Scope *Scope `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` + Plugins []*Plugin `protobuf:"bytes,2,rep,name=plugins,proto3" json:"plugins,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetScopeResponse) Reset() { + *x = GetScopeResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetScopeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetScopeResponse) ProtoMessage() {} + +func (x *GetScopeResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetScopeResponse.ProtoReflect.Descriptor instead. +func (*GetScopeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{11} +} + +func (x *GetScopeResponse) GetScope() *Scope { + if x != nil { + return x.Scope + } + return nil +} + +func (x *GetScopeResponse) GetPlugins() []*Plugin { + if x != nil { + return x.Plugins + } + return nil +} + +type ListMyPluginsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyPluginsRequest) Reset() { + *x = ListMyPluginsRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyPluginsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyPluginsRequest) ProtoMessage() {} + +func (x *ListMyPluginsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyPluginsRequest.ProtoReflect.Descriptor instead. +func (*ListMyPluginsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{12} +} + +type ListMyPluginsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plugins []*Plugin `protobuf:"bytes,1,rep,name=plugins,proto3" json:"plugins,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyPluginsResponse) Reset() { + *x = ListMyPluginsResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyPluginsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyPluginsResponse) ProtoMessage() {} + +func (x *ListMyPluginsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyPluginsResponse.ProtoReflect.Descriptor instead. +func (*ListMyPluginsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{13} +} + +func (x *ListMyPluginsResponse) GetPlugins() []*Plugin { + if x != nil { + return x.Plugins + } + return nil +} + +type CreatePluginRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ScopeSlug string `protobuf:"bytes,1,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Kind string `protobuf:"bytes,4,opt,name=kind,proto3" json:"kind,omitempty"` + Categories []string `protobuf:"bytes,5,rep,name=categories,proto3" json:"categories,omitempty"` + DisplayName string `protobuf:"bytes,6,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // visibility is the requested visibility of the plugin. UNSPECIFIED defers + // to the registry's default (public for explicit scopes, private for the + // "@private" sentinel). + Visibility PluginVisibility `protobuf:"varint,7,opt,name=visibility,proto3,enum=orchestrator.v1.PluginVisibility" json:"visibility,omitempty"` + // active_account_id is required when visibility = PRIVATE; the server + // verifies the caller is a member of this account before creating the + // private plugin under it. + ActiveAccountId string `protobuf:"bytes,8,opt,name=active_account_id,json=activeAccountId,proto3" json:"active_account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreatePluginRequest) Reset() { + *x = CreatePluginRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreatePluginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePluginRequest) ProtoMessage() {} + +func (x *CreatePluginRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatePluginRequest.ProtoReflect.Descriptor instead. +func (*CreatePluginRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{14} +} + +func (x *CreatePluginRequest) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *CreatePluginRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreatePluginRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreatePluginRequest) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *CreatePluginRequest) GetCategories() []string { + if x != nil { + return x.Categories + } + return nil +} + +func (x *CreatePluginRequest) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *CreatePluginRequest) GetVisibility() PluginVisibility { + if x != nil { + return x.Visibility + } + return PluginVisibility_PLUGIN_VISIBILITY_UNSPECIFIED +} + +func (x *CreatePluginRequest) GetActiveAccountId() string { + if x != nil { + return x.ActiveAccountId + } + return "" +} + +type CreatePluginResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plugin *Plugin `protobuf:"bytes,1,opt,name=plugin,proto3" json:"plugin,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreatePluginResponse) Reset() { + *x = CreatePluginResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreatePluginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePluginResponse) ProtoMessage() {} + +func (x *CreatePluginResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatePluginResponse.ProtoReflect.Descriptor instead. +func (*CreatePluginResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{15} +} + +func (x *CreatePluginResponse) GetPlugin() *Plugin { + if x != nil { + return x.Plugin + } + return nil +} + +type GetPluginRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ScopeSlug string `protobuf:"bytes,1,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // active_account_id is required when scope_slug = "private" so the server + // can resolve (account_id, name) instead of (scope_id, name). Ignored + // otherwise. + ActiveAccountId string `protobuf:"bytes,3,opt,name=active_account_id,json=activeAccountId,proto3" json:"active_account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPluginRequest) Reset() { + *x = GetPluginRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPluginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPluginRequest) ProtoMessage() {} + +func (x *GetPluginRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPluginRequest.ProtoReflect.Descriptor instead. +func (*GetPluginRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{16} +} + +func (x *GetPluginRequest) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *GetPluginRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *GetPluginRequest) GetActiveAccountId() string { + if x != nil { + return x.ActiveAccountId + } + return "" +} + +type GetPluginResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plugin *Plugin `protobuf:"bytes,1,opt,name=plugin,proto3" json:"plugin,omitempty"` + Versions []*Version `protobuf:"bytes,2,rep,name=versions,proto3" json:"versions,omitempty"` + Channels map[string]string `protobuf:"bytes,3,rep,name=channels,proto3" json:"channels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // screenshots is the plugin's gallery in display order (Featured included). + Screenshots []*PluginScreenshot `protobuf:"bytes,4,rep,name=screenshots,proto3" json:"screenshots,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPluginResponse) Reset() { + *x = GetPluginResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPluginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPluginResponse) ProtoMessage() {} + +func (x *GetPluginResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPluginResponse.ProtoReflect.Descriptor instead. +func (*GetPluginResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{17} +} + +func (x *GetPluginResponse) GetPlugin() *Plugin { + if x != nil { + return x.Plugin + } + return nil +} + +func (x *GetPluginResponse) GetVersions() []*Version { + if x != nil { + return x.Versions + } + return nil +} + +func (x *GetPluginResponse) GetChannels() map[string]string { + if x != nil { + return x.Channels + } + return nil +} + +func (x *GetPluginResponse) GetScreenshots() []*PluginScreenshot { + if x != nil { + return x.Screenshots + } + return nil +} + +type ListPluginsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` + Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` + Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` + Kind string `protobuf:"bytes,4,opt,name=kind,proto3" json:"kind,omitempty"` + Categories []string `protobuf:"bytes,5,rep,name=categories,proto3" json:"categories,omitempty"` + Tags []string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPluginsRequest) Reset() { + *x = ListPluginsRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPluginsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPluginsRequest) ProtoMessage() {} + +func (x *ListPluginsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPluginsRequest.ProtoReflect.Descriptor instead. +func (*ListPluginsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{18} +} + +func (x *ListPluginsRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListPluginsRequest) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *ListPluginsRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *ListPluginsRequest) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *ListPluginsRequest) GetCategories() []string { + if x != nil { + return x.Categories + } + return nil +} + +func (x *ListPluginsRequest) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +type ListPluginsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plugins []*Plugin `protobuf:"bytes,1,rep,name=plugins,proto3" json:"plugins,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPluginsResponse) Reset() { + *x = ListPluginsResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPluginsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPluginsResponse) ProtoMessage() {} + +func (x *ListPluginsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPluginsResponse.ProtoReflect.Descriptor instead. +func (*ListPluginsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{19} +} + +func (x *ListPluginsResponse) GetPlugins() []*Plugin { + if x != nil { + return x.Plugins + } + return nil +} + +type ListCategoriesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListCategoriesRequest) Reset() { + *x = ListCategoriesRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListCategoriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCategoriesRequest) ProtoMessage() {} + +func (x *ListCategoriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCategoriesRequest.ProtoReflect.Descriptor instead. +func (*ListCategoriesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{20} +} + +type ListCategoriesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Categories []*Category `protobuf:"bytes,1,rep,name=categories,proto3" json:"categories,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListCategoriesResponse) Reset() { + *x = ListCategoriesResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListCategoriesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCategoriesResponse) ProtoMessage() {} + +func (x *ListCategoriesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCategoriesResponse.ProtoReflect.Descriptor instead. +func (*ListCategoriesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{21} +} + +func (x *ListCategoriesResponse) GetCategories() []*Category { + if x != nil { + return x.Categories + } + return nil +} + +type ListTagsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Optional kind filter: "plugin", "theme", or "" for both. Lets the browse + // UI show theme-specific tags when the user filters by kind=theme. + Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` + // Cap the response. 0 → server default (100). + Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListTagsRequest) Reset() { + *x = ListTagsRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListTagsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTagsRequest) ProtoMessage() {} + +func (x *ListTagsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTagsRequest.ProtoReflect.Descriptor instead. +func (*ListTagsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{22} +} + +func (x *ListTagsRequest) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *ListTagsRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +type ListTagsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Tags []*TagCount `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListTagsResponse) Reset() { + *x = ListTagsResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListTagsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTagsResponse) ProtoMessage() {} + +func (x *ListTagsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTagsResponse.ProtoReflect.Descriptor instead. +func (*ListTagsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{23} +} + +func (x *ListTagsResponse) GetTags() []*TagCount { + if x != nil { + return x.Tags + } + return nil +} + +type TagCount struct { + state protoimpl.MessageState `protogen:"open.v1"` + Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` + Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TagCount) Reset() { + *x = TagCount{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TagCount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TagCount) ProtoMessage() {} + +func (x *TagCount) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TagCount.ProtoReflect.Descriptor instead. +func (*TagCount) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{24} +} + +func (x *TagCount) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *TagCount) GetCount() int32 { + if x != nil { + return x.Count + } + return 0 +} + +type ListPrivatePluginsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // account_id selects which account's private plugins to list. The caller + // must be a member of this account. + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPrivatePluginsRequest) Reset() { + *x = ListPrivatePluginsRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPrivatePluginsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPrivatePluginsRequest) ProtoMessage() {} + +func (x *ListPrivatePluginsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPrivatePluginsRequest.ProtoReflect.Descriptor instead. +func (*ListPrivatePluginsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{25} +} + +func (x *ListPrivatePluginsRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type ListPrivatePluginsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plugins []*PrivatePluginSummary `protobuf:"bytes,1,rep,name=plugins,proto3" json:"plugins,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPrivatePluginsResponse) Reset() { + *x = ListPrivatePluginsResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPrivatePluginsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPrivatePluginsResponse) ProtoMessage() {} + +func (x *ListPrivatePluginsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPrivatePluginsResponse.ProtoReflect.Descriptor instead. +func (*ListPrivatePluginsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{26} +} + +func (x *ListPrivatePluginsResponse) GetPlugins() []*PrivatePluginSummary { + if x != nil { + return x.Plugins + } + return nil +} + +// PrivatePluginSummary is the row shape used by the publisher dashboard and +// by the CMS "Private" installer tab. It bundles a Plugin with the latest +// version per channel and an installation count. +type PrivatePluginSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + Plugin *Plugin `protobuf:"bytes,1,opt,name=plugin,proto3" json:"plugin,omitempty"` + // channel_versions maps channel name -> latest version string published on + // that channel (e.g. "latest" -> "0.3.0", "beta" -> "0.4.0-beta.1"). + ChannelVersions map[string]string `protobuf:"bytes,2,rep,name=channel_versions,json=channelVersions,proto3" json:"channel_versions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // installed_site_count is the number of CMS sites in the owning account + // that currently have any version of this plugin installed. Used to gate + // delete-plugin in the dashboard. + InstalledSiteCount int32 `protobuf:"varint,3,opt,name=installed_site_count,json=installedSiteCount,proto3" json:"installed_site_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PrivatePluginSummary) Reset() { + *x = PrivatePluginSummary{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PrivatePluginSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrivatePluginSummary) ProtoMessage() {} + +func (x *PrivatePluginSummary) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrivatePluginSummary.ProtoReflect.Descriptor instead. +func (*PrivatePluginSummary) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{27} +} + +func (x *PrivatePluginSummary) GetPlugin() *Plugin { + if x != nil { + return x.Plugin + } + return nil +} + +func (x *PrivatePluginSummary) GetChannelVersions() map[string]string { + if x != nil { + return x.ChannelVersions + } + return nil +} + +func (x *PrivatePluginSummary) GetInstalledSiteCount() int32 { + if x != nil { + return x.InstalledSiteCount + } + return 0 +} + +type DeletePrivatePluginRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeletePrivatePluginRequest) Reset() { + *x = DeletePrivatePluginRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeletePrivatePluginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePrivatePluginRequest) ProtoMessage() {} + +func (x *DeletePrivatePluginRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePrivatePluginRequest.ProtoReflect.Descriptor instead. +func (*DeletePrivatePluginRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{28} +} + +func (x *DeletePrivatePluginRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *DeletePrivatePluginRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +type DeletePrivatePluginResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeletePrivatePluginResponse) Reset() { + *x = DeletePrivatePluginResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeletePrivatePluginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePrivatePluginResponse) ProtoMessage() {} + +func (x *DeletePrivatePluginResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePrivatePluginResponse.ProtoReflect.Descriptor instead. +func (*DeletePrivatePluginResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{29} +} + +type DeletePrivatePluginVersionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeletePrivatePluginVersionRequest) Reset() { + *x = DeletePrivatePluginVersionRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeletePrivatePluginVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePrivatePluginVersionRequest) ProtoMessage() {} + +func (x *DeletePrivatePluginVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePrivatePluginVersionRequest.ProtoReflect.Descriptor instead. +func (*DeletePrivatePluginVersionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{30} +} + +func (x *DeletePrivatePluginVersionRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *DeletePrivatePluginVersionRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *DeletePrivatePluginVersionRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type DeletePrivatePluginVersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeletePrivatePluginVersionResponse) Reset() { + *x = DeletePrivatePluginVersionResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeletePrivatePluginVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePrivatePluginVersionResponse) ProtoMessage() {} + +func (x *DeletePrivatePluginVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePrivatePluginVersionResponse.ProtoReflect.Descriptor instead. +func (*DeletePrivatePluginVersionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{31} +} + +type ListPrivatePluginInstallSitesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPrivatePluginInstallSitesRequest) Reset() { + *x = ListPrivatePluginInstallSitesRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPrivatePluginInstallSitesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPrivatePluginInstallSitesRequest) ProtoMessage() {} + +func (x *ListPrivatePluginInstallSitesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPrivatePluginInstallSitesRequest.ProtoReflect.Descriptor instead. +func (*ListPrivatePluginInstallSitesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{32} +} + +func (x *ListPrivatePluginInstallSitesRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *ListPrivatePluginInstallSitesRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +type ListPrivatePluginInstallSitesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Sites []*PrivatePluginInstallSite `protobuf:"bytes,1,rep,name=sites,proto3" json:"sites,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPrivatePluginInstallSitesResponse) Reset() { + *x = ListPrivatePluginInstallSitesResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPrivatePluginInstallSitesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPrivatePluginInstallSitesResponse) ProtoMessage() {} + +func (x *ListPrivatePluginInstallSitesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPrivatePluginInstallSitesResponse.ProtoReflect.Descriptor instead. +func (*ListPrivatePluginInstallSitesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{33} +} + +func (x *ListPrivatePluginInstallSitesResponse) GetSites() []*PrivatePluginInstallSite { + if x != nil { + return x.Sites + } + return nil +} + +type PrivatePluginInstallSite struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + SiteDisplayName string `protobuf:"bytes,2,opt,name=site_display_name,json=siteDisplayName,proto3" json:"site_display_name,omitempty"` + InstalledVersion string `protobuf:"bytes,3,opt,name=installed_version,json=installedVersion,proto3" json:"installed_version,omitempty"` + PinnedChannel string `protobuf:"bytes,4,opt,name=pinned_channel,json=pinnedChannel,proto3" json:"pinned_channel,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PrivatePluginInstallSite) Reset() { + *x = PrivatePluginInstallSite{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PrivatePluginInstallSite) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrivatePluginInstallSite) ProtoMessage() {} + +func (x *PrivatePluginInstallSite) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrivatePluginInstallSite.ProtoReflect.Descriptor instead. +func (*PrivatePluginInstallSite) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{34} +} + +func (x *PrivatePluginInstallSite) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *PrivatePluginInstallSite) GetSiteDisplayName() string { + if x != nil { + return x.SiteDisplayName + } + return "" +} + +func (x *PrivatePluginInstallSite) GetInstalledVersion() string { + if x != nil { + return x.InstalledVersion + } + return "" +} + +func (x *PrivatePluginInstallSite) GetPinnedChannel() string { + if x != nil { + return x.PinnedChannel + } + return "" +} + +type GetVersionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ScopeSlug string `protobuf:"bytes,1,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetVersionRequest) Reset() { + *x = GetVersionRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetVersionRequest) ProtoMessage() {} + +func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetVersionRequest.ProtoReflect.Descriptor instead. +func (*GetVersionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{35} +} + +func (x *GetVersionRequest) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *GetVersionRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *GetVersionRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type GetVersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Version *Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + Requires []*Requirement `protobuf:"bytes,2,rep,name=requires,proto3" json:"requires,omitempty"` + ReadmeMd string `protobuf:"bytes,3,opt,name=readme_md,json=readmeMd,proto3" json:"readme_md,omitempty"` + ChangelogMd string `protobuf:"bytes,4,opt,name=changelog_md,json=changelogMd,proto3" json:"changelog_md,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetVersionResponse) Reset() { + *x = GetVersionResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetVersionResponse) ProtoMessage() {} + +func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetVersionResponse.ProtoReflect.Descriptor instead. +func (*GetVersionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{36} +} + +func (x *GetVersionResponse) GetVersion() *Version { + if x != nil { + return x.Version + } + return nil +} + +func (x *GetVersionResponse) GetRequires() []*Requirement { + if x != nil { + return x.Requires + } + return nil +} + +func (x *GetVersionResponse) GetReadmeMd() string { + if x != nil { + return x.ReadmeMd + } + return "" +} + +func (x *GetVersionResponse) GetChangelogMd() string { + if x != nil { + return x.ChangelogMd + } + return "" +} + +type ResolveInstallRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ScopeSlug string `protobuf:"bytes,1,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + VersionOrChannel string `protobuf:"bytes,3,opt,name=version_or_channel,json=versionOrChannel,proto3" json:"version_or_channel,omitempty"` + // active_account_id is required when scope_slug = "private" so the server + // resolves (account_id, name) and verifies the caller's account + // membership. Ignored for public scopes. + ActiveAccountId string `protobuf:"bytes,4,opt,name=active_account_id,json=activeAccountId,proto3" json:"active_account_id,omitempty"` + // When latest_compatible is true the registry chooses the newest + // non-yanked version that exactly matches host_abi_version and whose + // plugin_sdk constraint accepts host_sdk_version and, for an admin bundle, + // whose admin_api constraint accepts host_api_version. Host contract fields + // and current_version are required unless allow_initial_version is set; the + // registry fails closed when it cannot prove compatibility. + HostSdkVersion string `protobuf:"bytes,5,opt,name=host_sdk_version,json=hostSdkVersion,proto3" json:"host_sdk_version,omitempty"` + HostAbiVersion uint32 `protobuf:"varint,6,opt,name=host_abi_version,json=hostAbiVersion,proto3" json:"host_abi_version,omitempty"` + LatestCompatible bool `protobuf:"varint,7,opt,name=latest_compatible,json=latestCompatible,proto3" json:"latest_compatible,omitempty"` + CurrentVersion string `protobuf:"bytes,8,opt,name=current_version,json=currentVersion,proto3" json:"current_version,omitempty"` + HostApiVersion string `protobuf:"bytes,9,opt,name=host_api_version,json=hostApiVersion,proto3" json:"host_api_version,omitempty"` + // allow_initial_version is reserved for authenticated delivery migrations + // whose legacy row has no semantic version. It selects the highest stable, + // compatible release without inventing a 0.x major. + AllowInitialVersion bool `protobuf:"varint,10,opt,name=allow_initial_version,json=allowInitialVersion,proto3" json:"allow_initial_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResolveInstallRequest) Reset() { + *x = ResolveInstallRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResolveInstallRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResolveInstallRequest) ProtoMessage() {} + +func (x *ResolveInstallRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResolveInstallRequest.ProtoReflect.Descriptor instead. +func (*ResolveInstallRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{37} +} + +func (x *ResolveInstallRequest) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *ResolveInstallRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *ResolveInstallRequest) GetVersionOrChannel() string { + if x != nil { + return x.VersionOrChannel + } + return "" +} + +func (x *ResolveInstallRequest) GetActiveAccountId() string { + if x != nil { + return x.ActiveAccountId + } + return "" +} + +func (x *ResolveInstallRequest) GetHostSdkVersion() string { + if x != nil { + return x.HostSdkVersion + } + return "" +} + +func (x *ResolveInstallRequest) GetHostAbiVersion() uint32 { + if x != nil { + return x.HostAbiVersion + } + return 0 +} + +func (x *ResolveInstallRequest) GetLatestCompatible() bool { + if x != nil { + return x.LatestCompatible + } + return false +} + +func (x *ResolveInstallRequest) GetCurrentVersion() string { + if x != nil { + return x.CurrentVersion + } + return "" +} + +func (x *ResolveInstallRequest) GetHostApiVersion() string { + if x != nil { + return x.HostApiVersion + } + return "" +} + +func (x *ResolveInstallRequest) GetAllowInitialVersion() bool { + if x != nil { + return x.AllowInitialVersion + } + return false +} + +type ResolveInstallResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + VersionId string `protobuf:"bytes,1,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"` + ScopeSlug string `protobuf:"bytes,2,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + PluginName string `protobuf:"bytes,3,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` + ChannelPinned string `protobuf:"bytes,5,opt,name=channel_pinned,json=channelPinned,proto3" json:"channel_pinned,omitempty"` + ArchiveUrl string `protobuf:"bytes,6,opt,name=archive_url,json=archiveUrl,proto3" json:"archive_url,omitempty"` + ArchiveSha256 string `protobuf:"bytes,7,opt,name=archive_sha256,json=archiveSha256,proto3" json:"archive_sha256,omitempty"` + SdkConstraint string `protobuf:"bytes,8,opt,name=sdk_constraint,json=sdkConstraint,proto3" json:"sdk_constraint,omitempty"` + Requires []*Requirement `protobuf:"bytes,9,rep,name=requires,proto3" json:"requires,omitempty"` + Yanked bool `protobuf:"varint,10,opt,name=yanked,proto3" json:"yanked,omitempty"` + Warnings []string `protobuf:"bytes,11,rep,name=warnings,proto3" json:"warnings,omitempty"` + // abi_version is the wasm ABI major of the resolved artifact (WO-WZ-011); 0 + // for a legacy source archive. The installing instance rejects an artifact + // whose abi_version its loader cannot run. + AbiVersion uint32 `protobuf:"varint,12,opt,name=abi_version,json=abiVersion,proto3" json:"abi_version,omitempty"` + AdminApiConstraint string `protobuf:"bytes,13,opt,name=admin_api_constraint,json=adminApiConstraint,proto3" json:"admin_api_constraint,omitempty"` + HasAdminUi bool `protobuf:"varint,14,opt,name=has_admin_ui,json=hasAdminUi,proto3" json:"has_admin_ui,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResolveInstallResponse) Reset() { + *x = ResolveInstallResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResolveInstallResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResolveInstallResponse) ProtoMessage() {} + +func (x *ResolveInstallResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResolveInstallResponse.ProtoReflect.Descriptor instead. +func (*ResolveInstallResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{38} +} + +func (x *ResolveInstallResponse) GetVersionId() string { + if x != nil { + return x.VersionId + } + return "" +} + +func (x *ResolveInstallResponse) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *ResolveInstallResponse) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *ResolveInstallResponse) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *ResolveInstallResponse) GetChannelPinned() string { + if x != nil { + return x.ChannelPinned + } + return "" +} + +func (x *ResolveInstallResponse) GetArchiveUrl() string { + if x != nil { + return x.ArchiveUrl + } + return "" +} + +func (x *ResolveInstallResponse) GetArchiveSha256() string { + if x != nil { + return x.ArchiveSha256 + } + return "" +} + +func (x *ResolveInstallResponse) GetSdkConstraint() string { + if x != nil { + return x.SdkConstraint + } + return "" +} + +func (x *ResolveInstallResponse) GetRequires() []*Requirement { + if x != nil { + return x.Requires + } + return nil +} + +func (x *ResolveInstallResponse) GetYanked() bool { + if x != nil { + return x.Yanked + } + return false +} + +func (x *ResolveInstallResponse) GetWarnings() []string { + if x != nil { + return x.Warnings + } + return nil +} + +func (x *ResolveInstallResponse) GetAbiVersion() uint32 { + if x != nil { + return x.AbiVersion + } + return 0 +} + +func (x *ResolveInstallResponse) GetAdminApiConstraint() string { + if x != nil { + return x.AdminApiConstraint + } + return "" +} + +func (x *ResolveInstallResponse) GetHasAdminUi() bool { + if x != nil { + return x.HasAdminUi + } + return false +} + +type ListPrivatePluginsForInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPrivatePluginsForInstanceRequest) Reset() { + *x = ListPrivatePluginsForInstanceRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPrivatePluginsForInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPrivatePluginsForInstanceRequest) ProtoMessage() {} + +func (x *ListPrivatePluginsForInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPrivatePluginsForInstanceRequest.ProtoReflect.Descriptor instead. +func (*ListPrivatePluginsForInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{39} +} + +func (x *ListPrivatePluginsForInstanceRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +type ResolveInstallForInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + VersionOrChannel string `protobuf:"bytes,3,opt,name=version_or_channel,json=versionOrChannel,proto3" json:"version_or_channel,omitempty"` + // scope_slug selects the plugin's scope. Empty or "private" resolves the + // calling account's private plugin (the original behavior); any other value + // resolves a PUBLIC plugin in that scope (ADR 0021). + ScopeSlug string `protobuf:"bytes,4,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + HostSdkVersion string `protobuf:"bytes,5,opt,name=host_sdk_version,json=hostSdkVersion,proto3" json:"host_sdk_version,omitempty"` + HostAbiVersion uint32 `protobuf:"varint,6,opt,name=host_abi_version,json=hostAbiVersion,proto3" json:"host_abi_version,omitempty"` + LatestCompatible bool `protobuf:"varint,7,opt,name=latest_compatible,json=latestCompatible,proto3" json:"latest_compatible,omitempty"` + CurrentVersion string `protobuf:"bytes,8,opt,name=current_version,json=currentVersion,proto3" json:"current_version,omitempty"` + HostApiVersion string `protobuf:"bytes,9,opt,name=host_api_version,json=hostApiVersion,proto3" json:"host_api_version,omitempty"` + AllowInitialVersion bool `protobuf:"varint,10,opt,name=allow_initial_version,json=allowInitialVersion,proto3" json:"allow_initial_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResolveInstallForInstanceRequest) Reset() { + *x = ResolveInstallForInstanceRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResolveInstallForInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResolveInstallForInstanceRequest) ProtoMessage() {} + +func (x *ResolveInstallForInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResolveInstallForInstanceRequest.ProtoReflect.Descriptor instead. +func (*ResolveInstallForInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{40} +} + +func (x *ResolveInstallForInstanceRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *ResolveInstallForInstanceRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *ResolveInstallForInstanceRequest) GetVersionOrChannel() string { + if x != nil { + return x.VersionOrChannel + } + return "" +} + +func (x *ResolveInstallForInstanceRequest) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *ResolveInstallForInstanceRequest) GetHostSdkVersion() string { + if x != nil { + return x.HostSdkVersion + } + return "" +} + +func (x *ResolveInstallForInstanceRequest) GetHostAbiVersion() uint32 { + if x != nil { + return x.HostAbiVersion + } + return 0 +} + +func (x *ResolveInstallForInstanceRequest) GetLatestCompatible() bool { + if x != nil { + return x.LatestCompatible + } + return false +} + +func (x *ResolveInstallForInstanceRequest) GetCurrentVersion() string { + if x != nil { + return x.CurrentVersion + } + return "" +} + +func (x *ResolveInstallForInstanceRequest) GetHostApiVersion() string { + if x != nil { + return x.HostApiVersion + } + return "" +} + +func (x *ResolveInstallForInstanceRequest) GetAllowInitialVersion() bool { + if x != nil { + return x.AllowInitialVersion + } + return false +} + +type ConfirmPluginInstallForInstanceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + ScopeSlug string `protobuf:"bytes,2,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + PluginName string `protobuf:"bytes,3,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + VersionId string `protobuf:"bytes,4,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"` + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` + ArchiveSha256 string `protobuf:"bytes,6,opt,name=archive_sha256,json=archiveSha256,proto3" json:"archive_sha256,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfirmPluginInstallForInstanceRequest) Reset() { + *x = ConfirmPluginInstallForInstanceRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfirmPluginInstallForInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfirmPluginInstallForInstanceRequest) ProtoMessage() {} + +func (x *ConfirmPluginInstallForInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfirmPluginInstallForInstanceRequest.ProtoReflect.Descriptor instead. +func (*ConfirmPluginInstallForInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{41} +} + +func (x *ConfirmPluginInstallForInstanceRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *ConfirmPluginInstallForInstanceRequest) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *ConfirmPluginInstallForInstanceRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *ConfirmPluginInstallForInstanceRequest) GetVersionId() string { + if x != nil { + return x.VersionId + } + return "" +} + +func (x *ConfirmPluginInstallForInstanceRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *ConfirmPluginInstallForInstanceRequest) GetArchiveSha256() string { + if x != nil { + return x.ArchiveSha256 + } + return "" +} + +type ConfirmPluginInstallForInstanceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfirmPluginInstallForInstanceResponse) Reset() { + *x = ConfirmPluginInstallForInstanceResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfirmPluginInstallForInstanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfirmPluginInstallForInstanceResponse) ProtoMessage() {} + +func (x *ConfirmPluginInstallForInstanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfirmPluginInstallForInstanceResponse.ProtoReflect.Descriptor instead. +func (*ConfirmPluginInstallForInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{42} +} + +type PendingReview struct { + state protoimpl.MessageState `protogen:"open.v1"` + ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + PluginId string `protobuf:"bytes,2,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + ScopeSlug string `protobuf:"bytes,3,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + PluginName string `protobuf:"bytes,4,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + PluginDisplayName string `protobuf:"bytes,5,opt,name=plugin_display_name,json=pluginDisplayName,proto3" json:"plugin_display_name,omitempty"` + SubmittedByUserId string `protobuf:"bytes,6,opt,name=submitted_by_user_id,json=submittedByUserId,proto3" json:"submitted_by_user_id,omitempty"` + SubmittedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=submitted_at,json=submittedAt,proto3" json:"submitted_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PendingReview) Reset() { + *x = PendingReview{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PendingReview) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PendingReview) ProtoMessage() {} + +func (x *PendingReview) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PendingReview.ProtoReflect.Descriptor instead. +func (*PendingReview) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{43} +} + +func (x *PendingReview) GetReviewId() string { + if x != nil { + return x.ReviewId + } + return "" +} + +func (x *PendingReview) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *PendingReview) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *PendingReview) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *PendingReview) GetPluginDisplayName() string { + if x != nil { + return x.PluginDisplayName + } + return "" +} + +func (x *PendingReview) GetSubmittedByUserId() string { + if x != nil { + return x.SubmittedByUserId + } + return "" +} + +func (x *PendingReview) GetSubmittedAt() *timestamppb.Timestamp { + if x != nil { + return x.SubmittedAt + } + return nil +} + +type SubmitForReviewRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SubmitForReviewRequest) Reset() { + *x = SubmitForReviewRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SubmitForReviewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubmitForReviewRequest) ProtoMessage() {} + +func (x *SubmitForReviewRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubmitForReviewRequest.ProtoReflect.Descriptor instead. +func (*SubmitForReviewRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{44} +} + +func (x *SubmitForReviewRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +type SubmitForReviewResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // visibility is "under_review" for non-admin authors, "public" when a superadmin + // submits (they bypass the queue entirely). String form is preserved here for + // backwards compatibility with existing handlers; the canonical enum is + // PluginVisibility on the Plugin message. + Visibility string `protobuf:"bytes,1,opt,name=visibility,proto3" json:"visibility,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SubmitForReviewResponse) Reset() { + *x = SubmitForReviewResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SubmitForReviewResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubmitForReviewResponse) ProtoMessage() {} + +func (x *SubmitForReviewResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubmitForReviewResponse.ProtoReflect.Descriptor instead. +func (*SubmitForReviewResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{45} +} + +func (x *SubmitForReviewResponse) GetVisibility() string { + if x != nil { + return x.Visibility + } + return "" +} + +type ListPendingReviewsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` + Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPendingReviewsRequest) Reset() { + *x = ListPendingReviewsRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPendingReviewsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPendingReviewsRequest) ProtoMessage() {} + +func (x *ListPendingReviewsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPendingReviewsRequest.ProtoReflect.Descriptor instead. +func (*ListPendingReviewsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{46} +} + +func (x *ListPendingReviewsRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListPendingReviewsRequest) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +type ListPendingReviewsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Reviews []*PendingReview `protobuf:"bytes,1,rep,name=reviews,proto3" json:"reviews,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPendingReviewsResponse) Reset() { + *x = ListPendingReviewsResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPendingReviewsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPendingReviewsResponse) ProtoMessage() {} + +func (x *ListPendingReviewsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPendingReviewsResponse.ProtoReflect.Descriptor instead. +func (*ListPendingReviewsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{47} +} + +func (x *ListPendingReviewsResponse) GetReviews() []*PendingReview { + if x != nil { + return x.Reviews + } + return nil +} + +type ApproveSubmissionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` // optional note for audit log + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApproveSubmissionRequest) Reset() { + *x = ApproveSubmissionRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApproveSubmissionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApproveSubmissionRequest) ProtoMessage() {} + +func (x *ApproveSubmissionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApproveSubmissionRequest.ProtoReflect.Descriptor instead. +func (*ApproveSubmissionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{48} +} + +func (x *ApproveSubmissionRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *ApproveSubmissionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type ApproveSubmissionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApproveSubmissionResponse) Reset() { + *x = ApproveSubmissionResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApproveSubmissionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApproveSubmissionResponse) ProtoMessage() {} + +func (x *ApproveSubmissionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApproveSubmissionResponse.ProtoReflect.Descriptor instead. +func (*ApproveSubmissionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{49} +} + +type RejectSubmissionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` // required + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RejectSubmissionRequest) Reset() { + *x = RejectSubmissionRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RejectSubmissionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejectSubmissionRequest) ProtoMessage() {} + +func (x *RejectSubmissionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejectSubmissionRequest.ProtoReflect.Descriptor instead. +func (*RejectSubmissionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{50} +} + +func (x *RejectSubmissionRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *RejectSubmissionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type RejectSubmissionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RejectSubmissionResponse) Reset() { + *x = RejectSubmissionResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RejectSubmissionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejectSubmissionResponse) ProtoMessage() {} + +func (x *RejectSubmissionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejectSubmissionResponse.ProtoReflect.Descriptor instead. +func (*RejectSubmissionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{51} +} + +type RequestChangesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` // required — author sees this verbatim + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestChangesRequest) Reset() { + *x = RequestChangesRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestChangesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestChangesRequest) ProtoMessage() {} + +func (x *RequestChangesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestChangesRequest.ProtoReflect.Descriptor instead. +func (*RequestChangesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{52} +} + +func (x *RequestChangesRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *RequestChangesRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type RequestChangesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestChangesResponse) Reset() { + *x = RequestChangesResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestChangesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestChangesResponse) ProtoMessage() {} + +func (x *RequestChangesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestChangesResponse.ProtoReflect.Descriptor instead. +func (*RequestChangesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{53} +} + +type UnpublishPluginRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` // required — audit trail + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnpublishPluginRequest) Reset() { + *x = UnpublishPluginRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnpublishPluginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnpublishPluginRequest) ProtoMessage() {} + +func (x *UnpublishPluginRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[54] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnpublishPluginRequest.ProtoReflect.Descriptor instead. +func (*UnpublishPluginRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{54} +} + +func (x *UnpublishPluginRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *UnpublishPluginRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type UnpublishPluginResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnpublishPluginResponse) Reset() { + *x = UnpublishPluginResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnpublishPluginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnpublishPluginResponse) ProtoMessage() {} + +func (x *UnpublishPluginResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[55] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnpublishPluginResponse.ProtoReflect.Descriptor instead. +func (*UnpublishPluginResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{55} +} + +type TakedownPluginRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` // required — audit trail + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TakedownPluginRequest) Reset() { + *x = TakedownPluginRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TakedownPluginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TakedownPluginRequest) ProtoMessage() {} + +func (x *TakedownPluginRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[56] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TakedownPluginRequest.ProtoReflect.Descriptor instead. +func (*TakedownPluginRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{56} +} + +func (x *TakedownPluginRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *TakedownPluginRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type TakedownPluginResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TakedownPluginResponse) Reset() { + *x = TakedownPluginResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TakedownPluginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TakedownPluginResponse) ProtoMessage() {} + +func (x *TakedownPluginResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[57] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TakedownPluginResponse.ProtoReflect.Descriptor instead. +func (*TakedownPluginResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{57} +} + +type RestorePluginRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RestorePluginRequest) Reset() { + *x = RestorePluginRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RestorePluginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestorePluginRequest) ProtoMessage() {} + +func (x *RestorePluginRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[58] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RestorePluginRequest.ProtoReflect.Descriptor instead. +func (*RestorePluginRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{58} +} + +func (x *RestorePluginRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +type RestorePluginResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RestorePluginResponse) Reset() { + *x = RestorePluginResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RestorePluginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestorePluginResponse) ProtoMessage() {} + +func (x *RestorePluginResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[59] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RestorePluginResponse.ProtoReflect.Descriptor instead. +func (*RestorePluginResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{59} +} + +type YankVersionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // required — the version string to yank (e.g. "0.2.3") + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` // required — audit trail + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *YankVersionRequest) Reset() { + *x = YankVersionRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *YankVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*YankVersionRequest) ProtoMessage() {} + +func (x *YankVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[60] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use YankVersionRequest.ProtoReflect.Descriptor instead. +func (*YankVersionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{60} +} + +func (x *YankVersionRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *YankVersionRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *YankVersionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type YankVersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *YankVersionResponse) Reset() { + *x = YankVersionResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *YankVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*YankVersionResponse) ProtoMessage() {} + +func (x *YankVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[61] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use YankVersionResponse.ProtoReflect.Descriptor instead. +func (*YankVersionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{61} +} + +type DeletePublicPluginRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeletePublicPluginRequest) Reset() { + *x = DeletePublicPluginRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeletePublicPluginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePublicPluginRequest) ProtoMessage() {} + +func (x *DeletePublicPluginRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[62] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePublicPluginRequest.ProtoReflect.Descriptor instead. +func (*DeletePublicPluginRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{62} +} + +func (x *DeletePublicPluginRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +type DeletePublicPluginResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeletePublicPluginResponse) Reset() { + *x = DeletePublicPluginResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeletePublicPluginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePublicPluginResponse) ProtoMessage() {} + +func (x *DeletePublicPluginResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[63] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePublicPluginResponse.ProtoReflect.Descriptor instead. +func (*DeletePublicPluginResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{63} +} + +type ListScreenshotsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ScopeSlug string `protobuf:"bytes,1,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListScreenshotsRequest) Reset() { + *x = ListScreenshotsRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListScreenshotsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListScreenshotsRequest) ProtoMessage() {} + +func (x *ListScreenshotsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[64] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListScreenshotsRequest.ProtoReflect.Descriptor instead. +func (*ListScreenshotsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{64} +} + +func (x *ListScreenshotsRequest) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *ListScreenshotsRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +type ListScreenshotsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Screenshots []*PluginScreenshot `protobuf:"bytes,1,rep,name=screenshots,proto3" json:"screenshots,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListScreenshotsResponse) Reset() { + *x = ListScreenshotsResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListScreenshotsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListScreenshotsResponse) ProtoMessage() {} + +func (x *ListScreenshotsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[65] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListScreenshotsResponse.ProtoReflect.Descriptor instead. +func (*ListScreenshotsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{65} +} + +func (x *ListScreenshotsResponse) GetScreenshots() []*PluginScreenshot { + if x != nil { + return x.Screenshots + } + return nil +} + +type UploadScreenshotRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + // image is the raw file bytes (≤ 8 MiB; png/jpg/jpeg/webp). + Image []byte `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` + Filename string `protobuf:"bytes,3,opt,name=filename,proto3" json:"filename,omitempty"` + ContentType string `protobuf:"bytes,4,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UploadScreenshotRequest) Reset() { + *x = UploadScreenshotRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UploadScreenshotRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadScreenshotRequest) ProtoMessage() {} + +func (x *UploadScreenshotRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[66] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadScreenshotRequest.ProtoReflect.Descriptor instead. +func (*UploadScreenshotRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{66} +} + +func (x *UploadScreenshotRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *UploadScreenshotRequest) GetImage() []byte { + if x != nil { + return x.Image + } + return nil +} + +func (x *UploadScreenshotRequest) GetFilename() string { + if x != nil { + return x.Filename + } + return "" +} + +func (x *UploadScreenshotRequest) GetContentType() string { + if x != nil { + return x.ContentType + } + return "" +} + +type UploadScreenshotResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Screenshot *PluginScreenshot `protobuf:"bytes,1,opt,name=screenshot,proto3" json:"screenshot,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UploadScreenshotResponse) Reset() { + *x = UploadScreenshotResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UploadScreenshotResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadScreenshotResponse) ProtoMessage() {} + +func (x *UploadScreenshotResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[67] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadScreenshotResponse.ProtoReflect.Descriptor instead. +func (*UploadScreenshotResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{67} +} + +func (x *UploadScreenshotResponse) GetScreenshot() *PluginScreenshot { + if x != nil { + return x.Screenshot + } + return nil +} + +type DeleteScreenshotRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + ScreenshotId string `protobuf:"bytes,2,opt,name=screenshot_id,json=screenshotId,proto3" json:"screenshot_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteScreenshotRequest) Reset() { + *x = DeleteScreenshotRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteScreenshotRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteScreenshotRequest) ProtoMessage() {} + +func (x *DeleteScreenshotRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[68] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteScreenshotRequest.ProtoReflect.Descriptor instead. +func (*DeleteScreenshotRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{68} +} + +func (x *DeleteScreenshotRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *DeleteScreenshotRequest) GetScreenshotId() string { + if x != nil { + return x.ScreenshotId + } + return "" +} + +type DeleteScreenshotResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteScreenshotResponse) Reset() { + *x = DeleteScreenshotResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteScreenshotResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteScreenshotResponse) ProtoMessage() {} + +func (x *DeleteScreenshotResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[69] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteScreenshotResponse.ProtoReflect.Descriptor instead. +func (*DeleteScreenshotResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{69} +} + +type ReorderScreenshotsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + // screenshot_ids_in_order must name every current gallery image exactly once. + ScreenshotIdsInOrder []string `protobuf:"bytes,2,rep,name=screenshot_ids_in_order,json=screenshotIdsInOrder,proto3" json:"screenshot_ids_in_order,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReorderScreenshotsRequest) Reset() { + *x = ReorderScreenshotsRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReorderScreenshotsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReorderScreenshotsRequest) ProtoMessage() {} + +func (x *ReorderScreenshotsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[70] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReorderScreenshotsRequest.ProtoReflect.Descriptor instead. +func (*ReorderScreenshotsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{70} +} + +func (x *ReorderScreenshotsRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *ReorderScreenshotsRequest) GetScreenshotIdsInOrder() []string { + if x != nil { + return x.ScreenshotIdsInOrder + } + return nil +} + +type ReorderScreenshotsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Screenshots []*PluginScreenshot `protobuf:"bytes,1,rep,name=screenshots,proto3" json:"screenshots,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReorderScreenshotsResponse) Reset() { + *x = ReorderScreenshotsResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReorderScreenshotsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReorderScreenshotsResponse) ProtoMessage() {} + +func (x *ReorderScreenshotsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[71] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReorderScreenshotsResponse.ProtoReflect.Descriptor instead. +func (*ReorderScreenshotsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{71} +} + +func (x *ReorderScreenshotsResponse) GetScreenshots() []*PluginScreenshot { + if x != nil { + return x.Screenshots + } + return nil +} + +type SetFeaturedScreenshotRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + ScreenshotId string `protobuf:"bytes,2,opt,name=screenshot_id,json=screenshotId,proto3" json:"screenshot_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetFeaturedScreenshotRequest) Reset() { + *x = SetFeaturedScreenshotRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetFeaturedScreenshotRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetFeaturedScreenshotRequest) ProtoMessage() {} + +func (x *SetFeaturedScreenshotRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[72] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetFeaturedScreenshotRequest.ProtoReflect.Descriptor instead. +func (*SetFeaturedScreenshotRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{72} +} + +func (x *SetFeaturedScreenshotRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *SetFeaturedScreenshotRequest) GetScreenshotId() string { + if x != nil { + return x.ScreenshotId + } + return "" +} + +type SetFeaturedScreenshotResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetFeaturedScreenshotResponse) Reset() { + *x = SetFeaturedScreenshotResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetFeaturedScreenshotResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetFeaturedScreenshotResponse) ProtoMessage() {} + +func (x *SetFeaturedScreenshotResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[73] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetFeaturedScreenshotResponse.ProtoReflect.Descriptor instead. +func (*SetFeaturedScreenshotResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{73} +} + +type PluginReview struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + PluginId string `protobuf:"bytes,2,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + AuthorDisplayName string `protobuf:"bytes,4,opt,name=author_display_name,json=authorDisplayName,proto3" json:"author_display_name,omitempty"` + Rating int32 `protobuf:"varint,5,opt,name=rating,proto3" json:"rating,omitempty"` // 1..5 + Title string `protobuf:"bytes,6,opt,name=title,proto3" json:"title,omitempty"` + Body string `protobuf:"bytes,7,opt,name=body,proto3" json:"body,omitempty"` + // version_at_review is the plugin version the reviewer's account had + // installed when the review was written (best effort; may be empty). + VersionAtReview string `protobuf:"bytes,8,opt,name=version_at_review,json=versionAtReview,proto3" json:"version_at_review,omitempty"` + Edited bool `protobuf:"varint,9,opt,name=edited,proto3" json:"edited,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Reply *PluginReviewReply `protobuf:"bytes,12,opt,name=reply,proto3" json:"reply,omitempty"` // unset when no (non-deleted) reply exists + // deleted/deleted_reason are populated only in moderation views; public + // listings exclude soft-deleted reviews entirely. + Deleted bool `protobuf:"varint,13,opt,name=deleted,proto3" json:"deleted,omitempty"` + DeletedReason string `protobuf:"bytes,14,opt,name=deleted_reason,json=deletedReason,proto3" json:"deleted_reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PluginReview) Reset() { + *x = PluginReview{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PluginReview) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PluginReview) ProtoMessage() {} + +func (x *PluginReview) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[74] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PluginReview.ProtoReflect.Descriptor instead. +func (*PluginReview) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{74} +} + +func (x *PluginReview) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PluginReview) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *PluginReview) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *PluginReview) GetAuthorDisplayName() string { + if x != nil { + return x.AuthorDisplayName + } + return "" +} + +func (x *PluginReview) GetRating() int32 { + if x != nil { + return x.Rating + } + return 0 +} + +func (x *PluginReview) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *PluginReview) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *PluginReview) GetVersionAtReview() string { + if x != nil { + return x.VersionAtReview + } + return "" +} + +func (x *PluginReview) GetEdited() bool { + if x != nil { + return x.Edited + } + return false +} + +func (x *PluginReview) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *PluginReview) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *PluginReview) GetReply() *PluginReviewReply { + if x != nil { + return x.Reply + } + return nil +} + +func (x *PluginReview) GetDeleted() bool { + if x != nil { + return x.Deleted + } + return false +} + +func (x *PluginReview) GetDeletedReason() string { + if x != nil { + return x.DeletedReason + } + return "" +} + +type PluginReviewReply struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + AuthorDisplayName string `protobuf:"bytes,2,opt,name=author_display_name,json=authorDisplayName,proto3" json:"author_display_name,omitempty"` + Body string `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` + Edited bool `protobuf:"varint,4,opt,name=edited,proto3" json:"edited,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PluginReviewReply) Reset() { + *x = PluginReviewReply{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PluginReviewReply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PluginReviewReply) ProtoMessage() {} + +func (x *PluginReviewReply) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[75] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PluginReviewReply.ProtoReflect.Descriptor instead. +func (*PluginReviewReply) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{75} +} + +func (x *PluginReviewReply) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PluginReviewReply) GetAuthorDisplayName() string { + if x != nil { + return x.AuthorDisplayName + } + return "" +} + +func (x *PluginReviewReply) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +func (x *PluginReviewReply) GetEdited() bool { + if x != nil { + return x.Edited + } + return false +} + +func (x *PluginReviewReply) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +type ReviewAggregate struct { + state protoimpl.MessageState `protogen:"open.v1"` + RatingAvg float32 `protobuf:"fixed32,1,opt,name=rating_avg,json=ratingAvg,proto3" json:"rating_avg,omitempty"` + RatingCount int32 `protobuf:"varint,2,opt,name=rating_count,json=ratingCount,proto3" json:"rating_count,omitempty"` + // count1..count5 are the per-star histogram buckets. + Count1 int32 `protobuf:"varint,3,opt,name=count1,proto3" json:"count1,omitempty"` + Count2 int32 `protobuf:"varint,4,opt,name=count2,proto3" json:"count2,omitempty"` + Count3 int32 `protobuf:"varint,5,opt,name=count3,proto3" json:"count3,omitempty"` + Count4 int32 `protobuf:"varint,6,opt,name=count4,proto3" json:"count4,omitempty"` + Count5 int32 `protobuf:"varint,7,opt,name=count5,proto3" json:"count5,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReviewAggregate) Reset() { + *x = ReviewAggregate{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReviewAggregate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReviewAggregate) ProtoMessage() {} + +func (x *ReviewAggregate) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[76] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReviewAggregate.ProtoReflect.Descriptor instead. +func (*ReviewAggregate) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{76} +} + +func (x *ReviewAggregate) GetRatingAvg() float32 { + if x != nil { + return x.RatingAvg + } + return 0 +} + +func (x *ReviewAggregate) GetRatingCount() int32 { + if x != nil { + return x.RatingCount + } + return 0 +} + +func (x *ReviewAggregate) GetCount1() int32 { + if x != nil { + return x.Count1 + } + return 0 +} + +func (x *ReviewAggregate) GetCount2() int32 { + if x != nil { + return x.Count2 + } + return 0 +} + +func (x *ReviewAggregate) GetCount3() int32 { + if x != nil { + return x.Count3 + } + return 0 +} + +func (x *ReviewAggregate) GetCount4() int32 { + if x != nil { + return x.Count4 + } + return 0 +} + +func (x *ReviewAggregate) GetCount5() int32 { + if x != nil { + return x.Count5 + } + return 0 +} + +type ListReviewsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ScopeSlug string `protobuf:"bytes,1,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + PluginName string `protobuf:"bytes,2,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` // 0 → server default + Offset int32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListReviewsRequest) Reset() { + *x = ListReviewsRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListReviewsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListReviewsRequest) ProtoMessage() {} + +func (x *ListReviewsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[77] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListReviewsRequest.ProtoReflect.Descriptor instead. +func (*ListReviewsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{77} +} + +func (x *ListReviewsRequest) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *ListReviewsRequest) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *ListReviewsRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListReviewsRequest) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +type ListReviewsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Reviews []*PluginReview `protobuf:"bytes,1,rep,name=reviews,proto3" json:"reviews,omitempty"` + Aggregate *ReviewAggregate `protobuf:"bytes,2,opt,name=aggregate,proto3" json:"aggregate,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListReviewsResponse) Reset() { + *x = ListReviewsResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListReviewsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListReviewsResponse) ProtoMessage() {} + +func (x *ListReviewsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[78] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListReviewsResponse.ProtoReflect.Descriptor instead. +func (*ListReviewsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{78} +} + +func (x *ListReviewsResponse) GetReviews() []*PluginReview { + if x != nil { + return x.Reviews + } + return nil +} + +func (x *ListReviewsResponse) GetAggregate() *ReviewAggregate { + if x != nil { + return x.Aggregate + } + return nil +} + +type GetMyReviewRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetMyReviewRequest) Reset() { + *x = GetMyReviewRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetMyReviewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMyReviewRequest) ProtoMessage() {} + +func (x *GetMyReviewRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[79] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMyReviewRequest.ProtoReflect.Descriptor instead. +func (*GetMyReviewRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{79} +} + +func (x *GetMyReviewRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +type GetMyReviewResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Review *PluginReview `protobuf:"bytes,1,opt,name=review,proto3" json:"review,omitempty"` // unset when the caller has no review + // eligible reports whether the caller may write a review (verified install + // on their account, not a scope member). The form UI keys off this. + Eligible bool `protobuf:"varint,2,opt,name=eligible,proto3" json:"eligible,omitempty"` + // ineligible_reason is a human-readable explanation when eligible = false + // ("no install on your account", "authors cannot review their own plugin"). + IneligibleReason string `protobuf:"bytes,3,opt,name=ineligible_reason,json=ineligibleReason,proto3" json:"ineligible_reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetMyReviewResponse) Reset() { + *x = GetMyReviewResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetMyReviewResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMyReviewResponse) ProtoMessage() {} + +func (x *GetMyReviewResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[80] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMyReviewResponse.ProtoReflect.Descriptor instead. +func (*GetMyReviewResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{80} +} + +func (x *GetMyReviewResponse) GetReview() *PluginReview { + if x != nil { + return x.Review + } + return nil +} + +func (x *GetMyReviewResponse) GetEligible() bool { + if x != nil { + return x.Eligible + } + return false +} + +func (x *GetMyReviewResponse) GetIneligibleReason() string { + if x != nil { + return x.IneligibleReason + } + return "" +} + +type UpsertReviewRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + Rating int32 `protobuf:"varint,2,opt,name=rating,proto3" json:"rating,omitempty"` // 1..5, required + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` + Body string `protobuf:"bytes,4,opt,name=body,proto3" json:"body,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpsertReviewRequest) Reset() { + *x = UpsertReviewRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpsertReviewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertReviewRequest) ProtoMessage() {} + +func (x *UpsertReviewRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[81] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpsertReviewRequest.ProtoReflect.Descriptor instead. +func (*UpsertReviewRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{81} +} + +func (x *UpsertReviewRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *UpsertReviewRequest) GetRating() int32 { + if x != nil { + return x.Rating + } + return 0 +} + +func (x *UpsertReviewRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *UpsertReviewRequest) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +type UpsertReviewResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Review *PluginReview `protobuf:"bytes,1,opt,name=review,proto3" json:"review,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpsertReviewResponse) Reset() { + *x = UpsertReviewResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpsertReviewResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertReviewResponse) ProtoMessage() {} + +func (x *UpsertReviewResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[82] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpsertReviewResponse.ProtoReflect.Descriptor instead. +func (*UpsertReviewResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{82} +} + +func (x *UpsertReviewResponse) GetReview() *PluginReview { + if x != nil { + return x.Review + } + return nil +} + +type DeleteReviewRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteReviewRequest) Reset() { + *x = DeleteReviewRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteReviewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteReviewRequest) ProtoMessage() {} + +func (x *DeleteReviewRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[83] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteReviewRequest.ProtoReflect.Descriptor instead. +func (*DeleteReviewRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{83} +} + +func (x *DeleteReviewRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +type DeleteReviewResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteReviewResponse) Reset() { + *x = DeleteReviewResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteReviewResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteReviewResponse) ProtoMessage() {} + +func (x *DeleteReviewResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[84] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteReviewResponse.ProtoReflect.Descriptor instead. +func (*DeleteReviewResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{84} +} + +type ReplyToReviewRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReplyToReviewRequest) Reset() { + *x = ReplyToReviewRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReplyToReviewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplyToReviewRequest) ProtoMessage() {} + +func (x *ReplyToReviewRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[85] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplyToReviewRequest.ProtoReflect.Descriptor instead. +func (*ReplyToReviewRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{85} +} + +func (x *ReplyToReviewRequest) GetReviewId() string { + if x != nil { + return x.ReviewId + } + return "" +} + +func (x *ReplyToReviewRequest) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +type ReplyToReviewResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Reply *PluginReviewReply `protobuf:"bytes,1,opt,name=reply,proto3" json:"reply,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReplyToReviewResponse) Reset() { + *x = ReplyToReviewResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReplyToReviewResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReplyToReviewResponse) ProtoMessage() {} + +func (x *ReplyToReviewResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[86] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReplyToReviewResponse.ProtoReflect.Descriptor instead. +func (*ReplyToReviewResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{86} +} + +func (x *ReplyToReviewResponse) GetReply() *PluginReviewReply { + if x != nil { + return x.Reply + } + return nil +} + +type DeleteReplyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteReplyRequest) Reset() { + *x = DeleteReplyRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteReplyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteReplyRequest) ProtoMessage() {} + +func (x *DeleteReplyRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[87] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteReplyRequest.ProtoReflect.Descriptor instead. +func (*DeleteReplyRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{87} +} + +func (x *DeleteReplyRequest) GetReviewId() string { + if x != nil { + return x.ReviewId + } + return "" +} + +type DeleteReplyResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteReplyResponse) Reset() { + *x = DeleteReplyResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteReplyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteReplyResponse) ProtoMessage() {} + +func (x *DeleteReplyResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[88] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteReplyResponse.ProtoReflect.Descriptor instead. +func (*DeleteReplyResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{88} +} + +type FlagReviewRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` // required + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FlagReviewRequest) Reset() { + *x = FlagReviewRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FlagReviewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FlagReviewRequest) ProtoMessage() {} + +func (x *FlagReviewRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[89] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FlagReviewRequest.ProtoReflect.Descriptor instead. +func (*FlagReviewRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{89} +} + +func (x *FlagReviewRequest) GetReviewId() string { + if x != nil { + return x.ReviewId + } + return "" +} + +func (x *FlagReviewRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type FlagReviewResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FlagReviewResponse) Reset() { + *x = FlagReviewResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FlagReviewResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FlagReviewResponse) ProtoMessage() {} + +func (x *FlagReviewResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[90] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FlagReviewResponse.ProtoReflect.Descriptor instead. +func (*FlagReviewResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{90} +} + +type FlaggedReview struct { + state protoimpl.MessageState `protogen:"open.v1"` + Review *PluginReview `protobuf:"bytes,1,opt,name=review,proto3" json:"review,omitempty"` + ScopeSlug string `protobuf:"bytes,2,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` + PluginName string `protobuf:"bytes,3,opt,name=plugin_name,json=pluginName,proto3" json:"plugin_name,omitempty"` + FlagCount int32 `protobuf:"varint,4,opt,name=flag_count,json=flagCount,proto3" json:"flag_count,omitempty"` + // flag_reasons carries the open flags' reasons, newest first. + FlagReasons []string `protobuf:"bytes,5,rep,name=flag_reasons,json=flagReasons,proto3" json:"flag_reasons,omitempty"` + FirstFlaggedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=first_flagged_at,json=firstFlaggedAt,proto3" json:"first_flagged_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FlaggedReview) Reset() { + *x = FlaggedReview{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FlaggedReview) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FlaggedReview) ProtoMessage() {} + +func (x *FlaggedReview) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[91] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FlaggedReview.ProtoReflect.Descriptor instead. +func (*FlaggedReview) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{91} +} + +func (x *FlaggedReview) GetReview() *PluginReview { + if x != nil { + return x.Review + } + return nil +} + +func (x *FlaggedReview) GetScopeSlug() string { + if x != nil { + return x.ScopeSlug + } + return "" +} + +func (x *FlaggedReview) GetPluginName() string { + if x != nil { + return x.PluginName + } + return "" +} + +func (x *FlaggedReview) GetFlagCount() int32 { + if x != nil { + return x.FlagCount + } + return 0 +} + +func (x *FlaggedReview) GetFlagReasons() []string { + if x != nil { + return x.FlagReasons + } + return nil +} + +func (x *FlaggedReview) GetFirstFlaggedAt() *timestamppb.Timestamp { + if x != nil { + return x.FirstFlaggedAt + } + return nil +} + +type ListFlaggedReviewsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` + Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListFlaggedReviewsRequest) Reset() { + *x = ListFlaggedReviewsRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListFlaggedReviewsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFlaggedReviewsRequest) ProtoMessage() {} + +func (x *ListFlaggedReviewsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[92] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListFlaggedReviewsRequest.ProtoReflect.Descriptor instead. +func (*ListFlaggedReviewsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{92} +} + +func (x *ListFlaggedReviewsRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListFlaggedReviewsRequest) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +type ListFlaggedReviewsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Reviews []*FlaggedReview `protobuf:"bytes,1,rep,name=reviews,proto3" json:"reviews,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListFlaggedReviewsResponse) Reset() { + *x = ListFlaggedReviewsResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListFlaggedReviewsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListFlaggedReviewsResponse) ProtoMessage() {} + +func (x *ListFlaggedReviewsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[93] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListFlaggedReviewsResponse.ProtoReflect.Descriptor instead. +func (*ListFlaggedReviewsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{93} +} + +func (x *ListFlaggedReviewsResponse) GetReviews() []*FlaggedReview { + if x != nil { + return x.Reviews + } + return nil +} + +type SoftDeleteReviewRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` // required — audit trail + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SoftDeleteReviewRequest) Reset() { + *x = SoftDeleteReviewRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SoftDeleteReviewRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SoftDeleteReviewRequest) ProtoMessage() {} + +func (x *SoftDeleteReviewRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[94] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SoftDeleteReviewRequest.ProtoReflect.Descriptor instead. +func (*SoftDeleteReviewRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{94} +} + +func (x *SoftDeleteReviewRequest) GetReviewId() string { + if x != nil { + return x.ReviewId + } + return "" +} + +func (x *SoftDeleteReviewRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type SoftDeleteReviewResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SoftDeleteReviewResponse) Reset() { + *x = SoftDeleteReviewResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SoftDeleteReviewResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SoftDeleteReviewResponse) ProtoMessage() {} + +func (x *SoftDeleteReviewResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[95] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SoftDeleteReviewResponse.ProtoReflect.Descriptor instead. +func (*SoftDeleteReviewResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{95} +} + +type SoftDeleteReplyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ReviewId string `protobuf:"bytes,1,opt,name=review_id,json=reviewId,proto3" json:"review_id,omitempty"` + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` // required — audit trail + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SoftDeleteReplyRequest) Reset() { + *x = SoftDeleteReplyRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SoftDeleteReplyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SoftDeleteReplyRequest) ProtoMessage() {} + +func (x *SoftDeleteReplyRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[96] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SoftDeleteReplyRequest.ProtoReflect.Descriptor instead. +func (*SoftDeleteReplyRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{96} +} + +func (x *SoftDeleteReplyRequest) GetReviewId() string { + if x != nil { + return x.ReviewId + } + return "" +} + +func (x *SoftDeleteReplyRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type SoftDeleteReplyResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SoftDeleteReplyResponse) Reset() { + *x = SoftDeleteReplyResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SoftDeleteReplyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SoftDeleteReplyResponse) ProtoMessage() {} + +func (x *SoftDeleteReplyResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[97] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SoftDeleteReplyResponse.ProtoReflect.Descriptor instead. +func (*SoftDeleteReplyResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{97} +} + +type PublishVersionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PluginId string `protobuf:"bytes,1,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + Channel string `protobuf:"bytes,3,opt,name=channel,proto3" json:"channel,omitempty"` + Archive []byte `protobuf:"bytes,4,opt,name=archive,proto3" json:"archive,omitempty"` + ReadmeMd string `protobuf:"bytes,5,opt,name=readme_md,json=readmeMd,proto3" json:"readme_md,omitempty"` + ChangelogMd string `protobuf:"bytes,6,opt,name=changelog_md,json=changelogMd,proto3" json:"changelog_md,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PublishVersionRequest) Reset() { + *x = PublishVersionRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PublishVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublishVersionRequest) ProtoMessage() {} + +func (x *PublishVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[98] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PublishVersionRequest.ProtoReflect.Descriptor instead. +func (*PublishVersionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{98} +} + +func (x *PublishVersionRequest) GetPluginId() string { + if x != nil { + return x.PluginId + } + return "" +} + +func (x *PublishVersionRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *PublishVersionRequest) GetChannel() string { + if x != nil { + return x.Channel + } + return "" +} + +func (x *PublishVersionRequest) GetArchive() []byte { + if x != nil { + return x.Archive + } + return nil +} + +func (x *PublishVersionRequest) GetReadmeMd() string { + if x != nil { + return x.ReadmeMd + } + return "" +} + +func (x *PublishVersionRequest) GetChangelogMd() string { + if x != nil { + return x.ChangelogMd + } + return "" +} + +type PublishVersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Version *Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + ArchiveUrl string `protobuf:"bytes,2,opt,name=archive_url,json=archiveUrl,proto3" json:"archive_url,omitempty"` + Warnings []string `protobuf:"bytes,3,rep,name=warnings,proto3" json:"warnings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PublishVersionResponse) Reset() { + *x = PublishVersionResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PublishVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublishVersionResponse) ProtoMessage() {} + +func (x *PublishVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[99] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PublishVersionResponse.ProtoReflect.Descriptor instead. +func (*PublishVersionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{99} +} + +func (x *PublishVersionResponse) GetVersion() *Version { + if x != nil { + return x.Version + } + return nil +} + +func (x *PublishVersionResponse) GetArchiveUrl() string { + if x != nil { + return x.ArchiveUrl + } + return "" +} + +func (x *PublishVersionResponse) GetWarnings() []string { + if x != nil { + return x.Warnings + } + return nil +} + +type StartDeviceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Scopes []string `protobuf:"bytes,1,rep,name=scopes,proto3" json:"scopes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartDeviceRequest) Reset() { + *x = StartDeviceRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartDeviceRequest) ProtoMessage() {} + +func (x *StartDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[100] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartDeviceRequest.ProtoReflect.Descriptor instead. +func (*StartDeviceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{100} +} + +func (x *StartDeviceRequest) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +type StartDeviceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + DeviceCode string `protobuf:"bytes,1,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` + UserCode string `protobuf:"bytes,2,opt,name=user_code,json=userCode,proto3" json:"user_code,omitempty"` + VerificationUri string `protobuf:"bytes,3,opt,name=verification_uri,json=verificationUri,proto3" json:"verification_uri,omitempty"` + IntervalSeconds int32 `protobuf:"varint,4,opt,name=interval_seconds,json=intervalSeconds,proto3" json:"interval_seconds,omitempty"` + ExpiresInSeconds int32 `protobuf:"varint,5,opt,name=expires_in_seconds,json=expiresInSeconds,proto3" json:"expires_in_seconds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartDeviceResponse) Reset() { + *x = StartDeviceResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartDeviceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartDeviceResponse) ProtoMessage() {} + +func (x *StartDeviceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[101] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartDeviceResponse.ProtoReflect.Descriptor instead. +func (*StartDeviceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{101} +} + +func (x *StartDeviceResponse) GetDeviceCode() string { + if x != nil { + return x.DeviceCode + } + return "" +} + +func (x *StartDeviceResponse) GetUserCode() string { + if x != nil { + return x.UserCode + } + return "" +} + +func (x *StartDeviceResponse) GetVerificationUri() string { + if x != nil { + return x.VerificationUri + } + return "" +} + +func (x *StartDeviceResponse) GetIntervalSeconds() int32 { + if x != nil { + return x.IntervalSeconds + } + return 0 +} + +func (x *StartDeviceResponse) GetExpiresInSeconds() int32 { + if x != nil { + return x.ExpiresInSeconds + } + return 0 +} + +type PollDeviceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + DeviceCode string `protobuf:"bytes,1,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollDeviceRequest) Reset() { + *x = PollDeviceRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollDeviceRequest) ProtoMessage() {} + +func (x *PollDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[102] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollDeviceRequest.ProtoReflect.Descriptor instead. +func (*PollDeviceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{102} +} + +func (x *PollDeviceRequest) GetDeviceCode() string { + if x != nil { + return x.DeviceCode + } + return "" +} + +type PollDeviceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccessToken string `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + // Account chosen on the device-approval page (empty when none was chosen). + // The CLI uses it as the active account and skips its stdin picker. + AccountId string `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + AccountSlug string `protobuf:"bytes,4,opt,name=account_slug,json=accountSlug,proto3" json:"account_slug,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollDeviceResponse) Reset() { + *x = PollDeviceResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollDeviceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollDeviceResponse) ProtoMessage() {} + +func (x *PollDeviceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[103] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollDeviceResponse.ProtoReflect.Descriptor instead. +func (*PollDeviceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{103} +} + +func (x *PollDeviceResponse) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +func (x *PollDeviceResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PollDeviceResponse) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *PollDeviceResponse) GetAccountSlug() string { + if x != nil { + return x.AccountSlug + } + return "" +} + +type ApproveDeviceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + UserCode string `protobuf:"bytes,1,opt,name=user_code,json=userCode,proto3" json:"user_code,omitempty"` + // Optional org account the approving user selects for the CLI to act as. + // Must be an account the user is a member of. + AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApproveDeviceRequest) Reset() { + *x = ApproveDeviceRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApproveDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApproveDeviceRequest) ProtoMessage() {} + +func (x *ApproveDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[104] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApproveDeviceRequest.ProtoReflect.Descriptor instead. +func (*ApproveDeviceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{104} +} + +func (x *ApproveDeviceRequest) GetUserCode() string { + if x != nil { + return x.UserCode + } + return "" +} + +func (x *ApproveDeviceRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +type ApproveDeviceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApproveDeviceResponse) Reset() { + *x = ApproveDeviceResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApproveDeviceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApproveDeviceResponse) ProtoMessage() {} + +func (x *ApproveDeviceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[105] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApproveDeviceResponse.ProtoReflect.Descriptor instead. +func (*ApproveDeviceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{105} +} + +type DenyDeviceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + UserCode string `protobuf:"bytes,1,opt,name=user_code,json=userCode,proto3" json:"user_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DenyDeviceRequest) Reset() { + *x = DenyDeviceRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DenyDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DenyDeviceRequest) ProtoMessage() {} + +func (x *DenyDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[106] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DenyDeviceRequest.ProtoReflect.Descriptor instead. +func (*DenyDeviceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{106} +} + +func (x *DenyDeviceRequest) GetUserCode() string { + if x != nil { + return x.UserCode + } + return "" +} + +type DenyDeviceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DenyDeviceResponse) Reset() { + *x = DenyDeviceResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DenyDeviceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DenyDeviceResponse) ProtoMessage() {} + +func (x *DenyDeviceResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[107] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DenyDeviceResponse.ProtoReflect.Descriptor instead. +func (*DenyDeviceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{107} +} + +type GetDeviceStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + UserCode string `protobuf:"bytes,1,opt,name=user_code,json=userCode,proto3" json:"user_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDeviceStatusRequest) Reset() { + *x = GetDeviceStatusRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDeviceStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDeviceStatusRequest) ProtoMessage() {} + +func (x *GetDeviceStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[108] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDeviceStatusRequest.ProtoReflect.Descriptor instead. +func (*GetDeviceStatusRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{108} +} + +func (x *GetDeviceStatusRequest) GetUserCode() string { + if x != nil { + return x.UserCode + } + return "" +} + +type GetDeviceStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"` + Authorized bool `protobuf:"varint,2,opt,name=authorized,proto3" json:"authorized,omitempty"` + Denied bool `protobuf:"varint,3,opt,name=denied,proto3" json:"denied,omitempty"` + ClientId string `protobuf:"bytes,4,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDeviceStatusResponse) Reset() { + *x = GetDeviceStatusResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDeviceStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDeviceStatusResponse) ProtoMessage() {} + +func (x *GetDeviceStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[109] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDeviceStatusResponse.ProtoReflect.Descriptor instead. +func (*GetDeviceStatusResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{109} +} + +func (x *GetDeviceStatusResponse) GetValid() bool { + if x != nil { + return x.Valid + } + return false +} + +func (x *GetDeviceStatusResponse) GetAuthorized() bool { + if x != nil { + return x.Authorized + } + return false +} + +func (x *GetDeviceStatusResponse) GetDenied() bool { + if x != nil { + return x.Denied + } + return false +} + +func (x *GetDeviceStatusResponse) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +type WhoamiRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WhoamiRequest) Reset() { + *x = WhoamiRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WhoamiRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WhoamiRequest) ProtoMessage() {} + +func (x *WhoamiRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[110] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WhoamiRequest.ProtoReflect.Descriptor instead. +func (*WhoamiRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{110} +} + +type WhoamiResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WhoamiResponse) Reset() { + *x = WhoamiResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WhoamiResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WhoamiResponse) ProtoMessage() {} + +func (x *WhoamiResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[111] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WhoamiResponse.ProtoReflect.Descriptor instead. +func (*WhoamiResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{111} +} + +func (x *WhoamiResponse) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *WhoamiResponse) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *WhoamiResponse) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +// MyAccount is the slim account row returned to the CLI by +// PluginAuthService.ListMyAccounts. The orchestrator's full Account message +// lives in accounts.proto and carries billing, plan, status, etc.; CLI +// account-switching needs none of that, so this shape stays minimal and +// avoids forcing core to generate bindings for accounts.proto. +type MyAccount struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MyAccount) Reset() { + *x = MyAccount{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MyAccount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MyAccount) ProtoMessage() {} + +func (x *MyAccount) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[112] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MyAccount.ProtoReflect.Descriptor instead. +func (*MyAccount) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{112} +} + +func (x *MyAccount) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *MyAccount) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *MyAccount) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type ListMyAccountsForCLIRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyAccountsForCLIRequest) Reset() { + *x = ListMyAccountsForCLIRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyAccountsForCLIRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyAccountsForCLIRequest) ProtoMessage() {} + +func (x *ListMyAccountsForCLIRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[113] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyAccountsForCLIRequest.ProtoReflect.Descriptor instead. +func (*ListMyAccountsForCLIRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{113} +} + +type ListMyAccountsForCLIResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Accounts []*MyAccount `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListMyAccountsForCLIResponse) Reset() { + *x = ListMyAccountsForCLIResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListMyAccountsForCLIResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMyAccountsForCLIResponse) ProtoMessage() {} + +func (x *ListMyAccountsForCLIResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[114] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMyAccountsForCLIResponse.ProtoReflect.Descriptor instead. +func (*ListMyAccountsForCLIResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{114} +} + +func (x *ListMyAccountsForCLIResponse) GetAccounts() []*MyAccount { + if x != nil { + return x.Accounts + } + return nil +} + +type CreateCategoryRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Slug string `protobuf:"bytes,1,opt,name=slug,proto3" json:"slug,omitempty"` + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + SortOrder int32 `protobuf:"varint,4,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateCategoryRequest) Reset() { + *x = CreateCategoryRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateCategoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateCategoryRequest) ProtoMessage() {} + +func (x *CreateCategoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[115] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateCategoryRequest.ProtoReflect.Descriptor instead. +func (*CreateCategoryRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{115} +} + +func (x *CreateCategoryRequest) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *CreateCategoryRequest) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *CreateCategoryRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *CreateCategoryRequest) GetSortOrder() int32 { + if x != nil { + return x.SortOrder + } + return 0 +} + +type CreateCategoryResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Category *Category `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateCategoryResponse) Reset() { + *x = CreateCategoryResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateCategoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateCategoryResponse) ProtoMessage() {} + +func (x *CreateCategoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[116] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateCategoryResponse.ProtoReflect.Descriptor instead. +func (*CreateCategoryResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{116} +} + +func (x *CreateCategoryResponse) GetCategory() *Category { + if x != nil { + return x.Category + } + return nil +} + +type UpdateCategoryRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Slug string `protobuf:"bytes,1,opt,name=slug,proto3" json:"slug,omitempty"` + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + SortOrder int32 `protobuf:"varint,4,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateCategoryRequest) Reset() { + *x = UpdateCategoryRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateCategoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateCategoryRequest) ProtoMessage() {} + +func (x *UpdateCategoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[117] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateCategoryRequest.ProtoReflect.Descriptor instead. +func (*UpdateCategoryRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{117} +} + +func (x *UpdateCategoryRequest) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *UpdateCategoryRequest) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *UpdateCategoryRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateCategoryRequest) GetSortOrder() int32 { + if x != nil { + return x.SortOrder + } + return 0 +} + +type UpdateCategoryResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Category *Category `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateCategoryResponse) Reset() { + *x = UpdateCategoryResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateCategoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateCategoryResponse) ProtoMessage() {} + +func (x *UpdateCategoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[118] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateCategoryResponse.ProtoReflect.Descriptor instead. +func (*UpdateCategoryResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{118} +} + +func (x *UpdateCategoryResponse) GetCategory() *Category { + if x != nil { + return x.Category + } + return nil +} + +type DeleteCategoryRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Slug string `protobuf:"bytes,1,opt,name=slug,proto3" json:"slug,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteCategoryRequest) Reset() { + *x = DeleteCategoryRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteCategoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteCategoryRequest) ProtoMessage() {} + +func (x *DeleteCategoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[119] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteCategoryRequest.ProtoReflect.Descriptor instead. +func (*DeleteCategoryRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{119} +} + +func (x *DeleteCategoryRequest) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +type DeleteCategoryResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteCategoryResponse) Reset() { + *x = DeleteCategoryResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteCategoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteCategoryResponse) ProtoMessage() {} + +func (x *DeleteCategoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[120] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteCategoryResponse.ProtoReflect.Descriptor instead. +func (*DeleteCategoryResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{120} +} + +var File_orchestrator_v1_plugin_registry_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_plugin_registry_proto_rawDesc = "" + + "\n" + + "%orchestrator/v1/plugin_registry.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x89\x01\n" + + "\x05Scope\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04slug\x18\x02 \x01(\tR\x04slug\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x129\n" + + "\n" + + "created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\"\xf7\x04\n" + + "\x06Plugin\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n" + + "\n" + + "scope_slug\x18\x02 \x01(\tR\tscopeSlug\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12A\n" + + "\n" + + "visibility\x18\x04 \x01(\x0e2!.orchestrator.v1.PluginVisibilityR\n" + + "visibility\x12\x18\n" + + "\apremium\x18\x05 \x01(\bR\apremium\x12 \n" + + "\vdescription\x18\x06 \x01(\tR\vdescription\x12!\n" + + "\fhomepage_url\x18\a \x01(\tR\vhomepageUrl\x12\x1e\n" + + "\n" + + "categories\x18\b \x03(\tR\n" + + "categories\x129\n" + + "\n" + + "updated_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x12\n" + + "\x04kind\x18\n" + + " \x01(\tR\x04kind\x12!\n" + + "\fdisplay_name\x18\v \x01(\tR\vdisplayName\x12(\n" + + "\x10owner_account_id\x18\f \x01(\tR\x0eownerAccountId\x12%\n" + + "\x0elatest_version\x18\r \x01(\tR\rlatestVersion\x12\x12\n" + + "\x04tags\x18\x0e \x03(\tR\x04tags\x12*\n" + + "\x11preview_image_url\x18\x0f \x01(\tR\x0fpreviewImageUrl\x12\x1d\n" + + "\n" + + "rating_avg\x18\x10 \x01(\x02R\tratingAvg\x12!\n" + + "\frating_count\x18\x11 \x01(\x05R\vratingCount\x12#\n" + + "\rinstall_count\x18\x12 \x01(\x05R\finstallCount\"\x8f\x01\n" + + "\x10PluginScreenshot\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n" + + "\x03url\x18\x02 \x01(\tR\x03url\x12\x1a\n" + + "\bfeatured\x18\x03 \x01(\bR\bfeatured\x12\x1a\n" + + "\bposition\x18\x04 \x01(\x05R\bposition\x12!\n" + + "\fcontent_type\x18\x05 \x01(\tR\vcontentType\"\xa5\x01\n" + + "\bCategory\x12\x12\n" + + "\x04slug\x18\x01 \x01(\tR\x04slug\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x12\x1d\n" + + "\n" + + "sort_order\x18\x04 \x01(\x05R\tsortOrder\x12!\n" + + "\fplugin_count\x18\x05 \x01(\x05R\vpluginCount\"\xff\x02\n" + + "\aVersion\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" + + "\tplugin_id\x18\x02 \x01(\tR\bpluginId\x12\x18\n" + + "\aversion\x18\x03 \x01(\tR\aversion\x12=\n" + + "\fpublished_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\vpublishedAt\x12\x16\n" + + "\x06yanked\x18\a \x01(\bR\x06yanked\x12%\n" + + "\x0esdk_constraint\x18\b \x01(\tR\rsdkConstraint\x122\n" + + "\x15source_archive_sha256\x18\t \x01(\tR\x13sourceArchiveSha256\x12.\n" + + "\x13source_archive_size\x18\n" + + " \x01(\x03R\x11sourceArchiveSize\x12*\n" + + "\x11preview_image_url\x18\v \x01(\tR\x0fpreviewImageUrl\x12\x1f\n" + + "\vabi_version\x18\f \x01(\rR\n" + + "abiVersion\"i\n" + + "\vRequirement\x12\x1d\n" + + "\n" + + "scope_slug\x18\x01 \x01(\tR\tscopeSlug\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12'\n" + + "\x0fconstraint_expr\x18\x03 \x01(\tR\x0econstraintExpr\"K\n" + + "\x12CreateScopeRequest\x12\x12\n" + + "\x04slug\x18\x01 \x01(\tR\x04slug\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\"C\n" + + "\x13CreateScopeResponse\x12,\n" + + "\x05scope\x18\x01 \x01(\v2\x16.orchestrator.v1.ScopeR\x05scope\"\x15\n" + + "\x13ListMyScopesRequest\"F\n" + + "\x14ListMyScopesResponse\x12.\n" + + "\x06scopes\x18\x01 \x03(\v2\x16.orchestrator.v1.ScopeR\x06scopes\"%\n" + + "\x0fGetScopeRequest\x12\x12\n" + + "\x04slug\x18\x01 \x01(\tR\x04slug\"s\n" + + "\x10GetScopeResponse\x12,\n" + + "\x05scope\x18\x01 \x01(\v2\x16.orchestrator.v1.ScopeR\x05scope\x121\n" + + "\aplugins\x18\x02 \x03(\v2\x17.orchestrator.v1.PluginR\aplugins\"\x16\n" + + "\x14ListMyPluginsRequest\"J\n" + + "\x15ListMyPluginsResponse\x121\n" + + "\aplugins\x18\x01 \x03(\v2\x17.orchestrator.v1.PluginR\aplugins\"\xb0\x02\n" + + "\x13CreatePluginRequest\x12\x1d\n" + + "\n" + + "scope_slug\x18\x01 \x01(\tR\tscopeSlug\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x12\x12\n" + + "\x04kind\x18\x04 \x01(\tR\x04kind\x12\x1e\n" + + "\n" + + "categories\x18\x05 \x03(\tR\n" + + "categories\x12!\n" + + "\fdisplay_name\x18\x06 \x01(\tR\vdisplayName\x12A\n" + + "\n" + + "visibility\x18\a \x01(\x0e2!.orchestrator.v1.PluginVisibilityR\n" + + "visibility\x12*\n" + + "\x11active_account_id\x18\b \x01(\tR\x0factiveAccountId\"G\n" + + "\x14CreatePluginResponse\x12/\n" + + "\x06plugin\x18\x01 \x01(\v2\x17.orchestrator.v1.PluginR\x06plugin\"q\n" + + "\x10GetPluginRequest\x12\x1d\n" + + "\n" + + "scope_slug\x18\x01 \x01(\tR\tscopeSlug\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12*\n" + + "\x11active_account_id\x18\x03 \x01(\tR\x0factiveAccountId\"\xca\x02\n" + + "\x11GetPluginResponse\x12/\n" + + "\x06plugin\x18\x01 \x01(\v2\x17.orchestrator.v1.PluginR\x06plugin\x124\n" + + "\bversions\x18\x02 \x03(\v2\x18.orchestrator.v1.VersionR\bversions\x12L\n" + + "\bchannels\x18\x03 \x03(\v20.orchestrator.v1.GetPluginResponse.ChannelsEntryR\bchannels\x12C\n" + + "\vscreenshots\x18\x04 \x03(\v2!.orchestrator.v1.PluginScreenshotR\vscreenshots\x1a;\n" + + "\rChannelsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xa0\x01\n" + + "\x12ListPluginsRequest\x12\x14\n" + + "\x05limit\x18\x01 \x01(\x05R\x05limit\x12\x16\n" + + "\x06offset\x18\x02 \x01(\x05R\x06offset\x12\x14\n" + + "\x05query\x18\x03 \x01(\tR\x05query\x12\x12\n" + + "\x04kind\x18\x04 \x01(\tR\x04kind\x12\x1e\n" + + "\n" + + "categories\x18\x05 \x03(\tR\n" + + "categories\x12\x12\n" + + "\x04tags\x18\x06 \x03(\tR\x04tags\"H\n" + + "\x13ListPluginsResponse\x121\n" + + "\aplugins\x18\x01 \x03(\v2\x17.orchestrator.v1.PluginR\aplugins\"\x17\n" + + "\x15ListCategoriesRequest\"S\n" + + "\x16ListCategoriesResponse\x129\n" + + "\n" + + "categories\x18\x01 \x03(\v2\x19.orchestrator.v1.CategoryR\n" + + "categories\";\n" + + "\x0fListTagsRequest\x12\x12\n" + + "\x04kind\x18\x01 \x01(\tR\x04kind\x12\x14\n" + + "\x05limit\x18\x02 \x01(\x05R\x05limit\"A\n" + + "\x10ListTagsResponse\x12-\n" + + "\x04tags\x18\x01 \x03(\v2\x19.orchestrator.v1.TagCountR\x04tags\"2\n" + + "\bTagCount\x12\x10\n" + + "\x03tag\x18\x01 \x01(\tR\x03tag\x12\x14\n" + + "\x05count\x18\x02 \x01(\x05R\x05count\":\n" + + "\x19ListPrivatePluginsRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\"]\n" + + "\x1aListPrivatePluginsResponse\x12?\n" + + "\aplugins\x18\x01 \x03(\v2%.orchestrator.v1.PrivatePluginSummaryR\aplugins\"\xa4\x02\n" + + "\x14PrivatePluginSummary\x12/\n" + + "\x06plugin\x18\x01 \x01(\v2\x17.orchestrator.v1.PluginR\x06plugin\x12e\n" + + "\x10channel_versions\x18\x02 \x03(\v2:.orchestrator.v1.PrivatePluginSummary.ChannelVersionsEntryR\x0fchannelVersions\x120\n" + + "\x14installed_site_count\x18\x03 \x01(\x05R\x12installedSiteCount\x1aB\n" + + "\x14ChannelVersionsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\\\n" + + "\x1aDeletePrivatePluginRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12\x1f\n" + + "\vplugin_name\x18\x02 \x01(\tR\n" + + "pluginName\"\x1d\n" + + "\x1bDeletePrivatePluginResponse\"}\n" + + "!DeletePrivatePluginVersionRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12\x1f\n" + + "\vplugin_name\x18\x02 \x01(\tR\n" + + "pluginName\x12\x18\n" + + "\aversion\x18\x03 \x01(\tR\aversion\"$\n" + + "\"DeletePrivatePluginVersionResponse\"f\n" + + "$ListPrivatePluginInstallSitesRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12\x1f\n" + + "\vplugin_name\x18\x02 \x01(\tR\n" + + "pluginName\"h\n" + + "%ListPrivatePluginInstallSitesResponse\x12?\n" + + "\x05sites\x18\x01 \x03(\v2).orchestrator.v1.PrivatePluginInstallSiteR\x05sites\"\xbb\x01\n" + + "\x18PrivatePluginInstallSite\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12*\n" + + "\x11site_display_name\x18\x02 \x01(\tR\x0fsiteDisplayName\x12+\n" + + "\x11installed_version\x18\x03 \x01(\tR\x10installedVersion\x12%\n" + + "\x0epinned_channel\x18\x04 \x01(\tR\rpinnedChannel\"m\n" + + "\x11GetVersionRequest\x12\x1d\n" + + "\n" + + "scope_slug\x18\x01 \x01(\tR\tscopeSlug\x12\x1f\n" + + "\vplugin_name\x18\x02 \x01(\tR\n" + + "pluginName\x12\x18\n" + + "\aversion\x18\x03 \x01(\tR\aversion\"\xc2\x01\n" + + "\x12GetVersionResponse\x122\n" + + "\aversion\x18\x01 \x01(\v2\x18.orchestrator.v1.VersionR\aversion\x128\n" + + "\brequires\x18\x02 \x03(\v2\x1c.orchestrator.v1.RequirementR\brequires\x12\x1b\n" + + "\treadme_md\x18\x03 \x01(\tR\breadmeMd\x12!\n" + + "\fchangelog_md\x18\x04 \x01(\tR\vchangelogMd\"\xb9\x03\n" + + "\x15ResolveInstallRequest\x12\x1d\n" + + "\n" + + "scope_slug\x18\x01 \x01(\tR\tscopeSlug\x12\x1f\n" + + "\vplugin_name\x18\x02 \x01(\tR\n" + + "pluginName\x12,\n" + + "\x12version_or_channel\x18\x03 \x01(\tR\x10versionOrChannel\x12*\n" + + "\x11active_account_id\x18\x04 \x01(\tR\x0factiveAccountId\x12(\n" + + "\x10host_sdk_version\x18\x05 \x01(\tR\x0ehostSdkVersion\x12(\n" + + "\x10host_abi_version\x18\x06 \x01(\rR\x0ehostAbiVersion\x12+\n" + + "\x11latest_compatible\x18\a \x01(\bR\x10latestCompatible\x12'\n" + + "\x0fcurrent_version\x18\b \x01(\tR\x0ecurrentVersion\x12(\n" + + "\x10host_api_version\x18\t \x01(\tR\x0ehostApiVersion\x122\n" + + "\x15allow_initial_version\x18\n" + + " \x01(\bR\x13allowInitialVersion\"\x8a\x04\n" + + "\x16ResolveInstallResponse\x12\x1d\n" + + "\n" + + "version_id\x18\x01 \x01(\tR\tversionId\x12\x1d\n" + + "\n" + + "scope_slug\x18\x02 \x01(\tR\tscopeSlug\x12\x1f\n" + + "\vplugin_name\x18\x03 \x01(\tR\n" + + "pluginName\x12\x18\n" + + "\aversion\x18\x04 \x01(\tR\aversion\x12%\n" + + "\x0echannel_pinned\x18\x05 \x01(\tR\rchannelPinned\x12\x1f\n" + + "\varchive_url\x18\x06 \x01(\tR\n" + + "archiveUrl\x12%\n" + + "\x0earchive_sha256\x18\a \x01(\tR\rarchiveSha256\x12%\n" + + "\x0esdk_constraint\x18\b \x01(\tR\rsdkConstraint\x128\n" + + "\brequires\x18\t \x03(\v2\x1c.orchestrator.v1.RequirementR\brequires\x12\x16\n" + + "\x06yanked\x18\n" + + " \x01(\bR\x06yanked\x12\x1a\n" + + "\bwarnings\x18\v \x03(\tR\bwarnings\x12\x1f\n" + + "\vabi_version\x18\f \x01(\rR\n" + + "abiVersion\x120\n" + + "\x14admin_api_constraint\x18\r \x01(\tR\x12adminApiConstraint\x12 \n" + + "\fhas_admin_ui\x18\x0e \x01(\bR\n" + + "hasAdminUi\"G\n" + + "$ListPrivatePluginsForInstanceRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"\xb9\x03\n" + + " ResolveInstallForInstanceRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1f\n" + + "\vplugin_name\x18\x02 \x01(\tR\n" + + "pluginName\x12,\n" + + "\x12version_or_channel\x18\x03 \x01(\tR\x10versionOrChannel\x12\x1d\n" + + "\n" + + "scope_slug\x18\x04 \x01(\tR\tscopeSlug\x12(\n" + + "\x10host_sdk_version\x18\x05 \x01(\tR\x0ehostSdkVersion\x12(\n" + + "\x10host_abi_version\x18\x06 \x01(\rR\x0ehostAbiVersion\x12+\n" + + "\x11latest_compatible\x18\a \x01(\bR\x10latestCompatible\x12'\n" + + "\x0fcurrent_version\x18\b \x01(\tR\x0ecurrentVersion\x12(\n" + + "\x10host_api_version\x18\t \x01(\tR\x0ehostApiVersion\x122\n" + + "\x15allow_initial_version\x18\n" + + " \x01(\bR\x13allowInitialVersion\"\xe9\x01\n" + + "&ConfirmPluginInstallForInstanceRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1d\n" + + "\n" + + "scope_slug\x18\x02 \x01(\tR\tscopeSlug\x12\x1f\n" + + "\vplugin_name\x18\x03 \x01(\tR\n" + + "pluginName\x12\x1d\n" + + "\n" + + "version_id\x18\x04 \x01(\tR\tversionId\x12\x18\n" + + "\aversion\x18\x05 \x01(\tR\aversion\x12%\n" + + "\x0earchive_sha256\x18\x06 \x01(\tR\rarchiveSha256\")\n" + + "'ConfirmPluginInstallForInstanceResponse\"\xa9\x02\n" + + "\rPendingReview\x12\x1b\n" + + "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x1b\n" + + "\tplugin_id\x18\x02 \x01(\tR\bpluginId\x12\x1d\n" + + "\n" + + "scope_slug\x18\x03 \x01(\tR\tscopeSlug\x12\x1f\n" + + "\vplugin_name\x18\x04 \x01(\tR\n" + + "pluginName\x12.\n" + + "\x13plugin_display_name\x18\x05 \x01(\tR\x11pluginDisplayName\x12/\n" + + "\x14submitted_by_user_id\x18\x06 \x01(\tR\x11submittedByUserId\x12=\n" + + "\fsubmitted_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\vsubmittedAt\"5\n" + + "\x16SubmitForReviewRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\"9\n" + + "\x17SubmitForReviewResponse\x12\x1e\n" + + "\n" + + "visibility\x18\x01 \x01(\tR\n" + + "visibility\"I\n" + + "\x19ListPendingReviewsRequest\x12\x14\n" + + "\x05limit\x18\x01 \x01(\x05R\x05limit\x12\x16\n" + + "\x06offset\x18\x02 \x01(\x05R\x06offset\"V\n" + + "\x1aListPendingReviewsResponse\x128\n" + + "\areviews\x18\x01 \x03(\v2\x1e.orchestrator.v1.PendingReviewR\areviews\"O\n" + + "\x18ApproveSubmissionRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\"\x1b\n" + + "\x19ApproveSubmissionResponse\"N\n" + + "\x17RejectSubmissionRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\"\x1a\n" + + "\x18RejectSubmissionResponse\"L\n" + + "\x15RequestChangesRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\"\x18\n" + + "\x16RequestChangesResponse\"M\n" + + "\x16UnpublishPluginRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\"\x19\n" + + "\x17UnpublishPluginResponse\"L\n" + + "\x15TakedownPluginRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\"\x18\n" + + "\x16TakedownPluginResponse\"3\n" + + "\x14RestorePluginRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\"\x17\n" + + "\x15RestorePluginResponse\"c\n" + + "\x12YankVersionRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\x12\x18\n" + + "\aversion\x18\x02 \x01(\tR\aversion\x12\x16\n" + + "\x06reason\x18\x03 \x01(\tR\x06reason\"\x15\n" + + "\x13YankVersionResponse\"8\n" + + "\x19DeletePublicPluginRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\"\x1c\n" + + "\x1aDeletePublicPluginResponse\"X\n" + + "\x16ListScreenshotsRequest\x12\x1d\n" + + "\n" + + "scope_slug\x18\x01 \x01(\tR\tscopeSlug\x12\x1f\n" + + "\vplugin_name\x18\x02 \x01(\tR\n" + + "pluginName\"^\n" + + "\x17ListScreenshotsResponse\x12C\n" + + "\vscreenshots\x18\x01 \x03(\v2!.orchestrator.v1.PluginScreenshotR\vscreenshots\"\x8b\x01\n" + + "\x17UploadScreenshotRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\x12\x14\n" + + "\x05image\x18\x02 \x01(\fR\x05image\x12\x1a\n" + + "\bfilename\x18\x03 \x01(\tR\bfilename\x12!\n" + + "\fcontent_type\x18\x04 \x01(\tR\vcontentType\"]\n" + + "\x18UploadScreenshotResponse\x12A\n" + + "\n" + + "screenshot\x18\x01 \x01(\v2!.orchestrator.v1.PluginScreenshotR\n" + + "screenshot\"[\n" + + "\x17DeleteScreenshotRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\x12#\n" + + "\rscreenshot_id\x18\x02 \x01(\tR\fscreenshotId\"\x1a\n" + + "\x18DeleteScreenshotResponse\"o\n" + + "\x19ReorderScreenshotsRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\x125\n" + + "\x17screenshot_ids_in_order\x18\x02 \x03(\tR\x14screenshotIdsInOrder\"a\n" + + "\x1aReorderScreenshotsResponse\x12C\n" + + "\vscreenshots\x18\x01 \x03(\v2!.orchestrator.v1.PluginScreenshotR\vscreenshots\"`\n" + + "\x1cSetFeaturedScreenshotRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\x12#\n" + + "\rscreenshot_id\x18\x02 \x01(\tR\fscreenshotId\"\x1f\n" + + "\x1dSetFeaturedScreenshotResponse\"\xfb\x03\n" + + "\fPluginReview\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" + + "\tplugin_id\x18\x02 \x01(\tR\bpluginId\x12\x17\n" + + "\auser_id\x18\x03 \x01(\tR\x06userId\x12.\n" + + "\x13author_display_name\x18\x04 \x01(\tR\x11authorDisplayName\x12\x16\n" + + "\x06rating\x18\x05 \x01(\x05R\x06rating\x12\x14\n" + + "\x05title\x18\x06 \x01(\tR\x05title\x12\x12\n" + + "\x04body\x18\a \x01(\tR\x04body\x12*\n" + + "\x11version_at_review\x18\b \x01(\tR\x0fversionAtReview\x12\x16\n" + + "\x06edited\x18\t \x01(\bR\x06edited\x129\n" + + "\n" + + "created_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x128\n" + + "\x05reply\x18\f \x01(\v2\".orchestrator.v1.PluginReviewReplyR\x05reply\x12\x18\n" + + "\adeleted\x18\r \x01(\bR\adeleted\x12%\n" + + "\x0edeleted_reason\x18\x0e \x01(\tR\rdeletedReason\"\xba\x01\n" + + "\x11PluginReviewReply\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12.\n" + + "\x13author_display_name\x18\x02 \x01(\tR\x11authorDisplayName\x12\x12\n" + + "\x04body\x18\x03 \x01(\tR\x04body\x12\x16\n" + + "\x06edited\x18\x04 \x01(\bR\x06edited\x129\n" + + "\n" + + "created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\"\xcb\x01\n" + + "\x0fReviewAggregate\x12\x1d\n" + + "\n" + + "rating_avg\x18\x01 \x01(\x02R\tratingAvg\x12!\n" + + "\frating_count\x18\x02 \x01(\x05R\vratingCount\x12\x16\n" + + "\x06count1\x18\x03 \x01(\x05R\x06count1\x12\x16\n" + + "\x06count2\x18\x04 \x01(\x05R\x06count2\x12\x16\n" + + "\x06count3\x18\x05 \x01(\x05R\x06count3\x12\x16\n" + + "\x06count4\x18\x06 \x01(\x05R\x06count4\x12\x16\n" + + "\x06count5\x18\a \x01(\x05R\x06count5\"\x82\x01\n" + + "\x12ListReviewsRequest\x12\x1d\n" + + "\n" + + "scope_slug\x18\x01 \x01(\tR\tscopeSlug\x12\x1f\n" + + "\vplugin_name\x18\x02 \x01(\tR\n" + + "pluginName\x12\x14\n" + + "\x05limit\x18\x03 \x01(\x05R\x05limit\x12\x16\n" + + "\x06offset\x18\x04 \x01(\x05R\x06offset\"\x8e\x01\n" + + "\x13ListReviewsResponse\x127\n" + + "\areviews\x18\x01 \x03(\v2\x1d.orchestrator.v1.PluginReviewR\areviews\x12>\n" + + "\taggregate\x18\x02 \x01(\v2 .orchestrator.v1.ReviewAggregateR\taggregate\"1\n" + + "\x12GetMyReviewRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\"\x95\x01\n" + + "\x13GetMyReviewResponse\x125\n" + + "\x06review\x18\x01 \x01(\v2\x1d.orchestrator.v1.PluginReviewR\x06review\x12\x1a\n" + + "\beligible\x18\x02 \x01(\bR\beligible\x12+\n" + + "\x11ineligible_reason\x18\x03 \x01(\tR\x10ineligibleReason\"t\n" + + "\x13UpsertReviewRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\x12\x16\n" + + "\x06rating\x18\x02 \x01(\x05R\x06rating\x12\x14\n" + + "\x05title\x18\x03 \x01(\tR\x05title\x12\x12\n" + + "\x04body\x18\x04 \x01(\tR\x04body\"M\n" + + "\x14UpsertReviewResponse\x125\n" + + "\x06review\x18\x01 \x01(\v2\x1d.orchestrator.v1.PluginReviewR\x06review\"2\n" + + "\x13DeleteReviewRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\"\x16\n" + + "\x14DeleteReviewResponse\"G\n" + + "\x14ReplyToReviewRequest\x12\x1b\n" + + "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x12\n" + + "\x04body\x18\x02 \x01(\tR\x04body\"Q\n" + + "\x15ReplyToReviewResponse\x128\n" + + "\x05reply\x18\x01 \x01(\v2\".orchestrator.v1.PluginReviewReplyR\x05reply\"1\n" + + "\x12DeleteReplyRequest\x12\x1b\n" + + "\treview_id\x18\x01 \x01(\tR\breviewId\"\x15\n" + + "\x13DeleteReplyResponse\"H\n" + + "\x11FlagReviewRequest\x12\x1b\n" + + "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\"\x14\n" + + "\x12FlagReviewResponse\"\x8e\x02\n" + + "\rFlaggedReview\x125\n" + + "\x06review\x18\x01 \x01(\v2\x1d.orchestrator.v1.PluginReviewR\x06review\x12\x1d\n" + + "\n" + + "scope_slug\x18\x02 \x01(\tR\tscopeSlug\x12\x1f\n" + + "\vplugin_name\x18\x03 \x01(\tR\n" + + "pluginName\x12\x1d\n" + + "\n" + + "flag_count\x18\x04 \x01(\x05R\tflagCount\x12!\n" + + "\fflag_reasons\x18\x05 \x03(\tR\vflagReasons\x12D\n" + + "\x10first_flagged_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x0efirstFlaggedAt\"I\n" + + "\x19ListFlaggedReviewsRequest\x12\x14\n" + + "\x05limit\x18\x01 \x01(\x05R\x05limit\x12\x16\n" + + "\x06offset\x18\x02 \x01(\x05R\x06offset\"V\n" + + "\x1aListFlaggedReviewsResponse\x128\n" + + "\areviews\x18\x01 \x03(\v2\x1e.orchestrator.v1.FlaggedReviewR\areviews\"N\n" + + "\x17SoftDeleteReviewRequest\x12\x1b\n" + + "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\"\x1a\n" + + "\x18SoftDeleteReviewResponse\"M\n" + + "\x16SoftDeleteReplyRequest\x12\x1b\n" + + "\treview_id\x18\x01 \x01(\tR\breviewId\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\"\x19\n" + + "\x17SoftDeleteReplyResponse\"\xc2\x01\n" + + "\x15PublishVersionRequest\x12\x1b\n" + + "\tplugin_id\x18\x01 \x01(\tR\bpluginId\x12\x18\n" + + "\aversion\x18\x02 \x01(\tR\aversion\x12\x18\n" + + "\achannel\x18\x03 \x01(\tR\achannel\x12\x18\n" + + "\aarchive\x18\x04 \x01(\fR\aarchive\x12\x1b\n" + + "\treadme_md\x18\x05 \x01(\tR\breadmeMd\x12!\n" + + "\fchangelog_md\x18\x06 \x01(\tR\vchangelogMd\"\x89\x01\n" + + "\x16PublishVersionResponse\x122\n" + + "\aversion\x18\x01 \x01(\v2\x18.orchestrator.v1.VersionR\aversion\x12\x1f\n" + + "\varchive_url\x18\x02 \x01(\tR\n" + + "archiveUrl\x12\x1a\n" + + "\bwarnings\x18\x03 \x03(\tR\bwarnings\",\n" + + "\x12StartDeviceRequest\x12\x16\n" + + "\x06scopes\x18\x01 \x03(\tR\x06scopes\"\xd7\x01\n" + + "\x13StartDeviceResponse\x12\x1f\n" + + "\vdevice_code\x18\x01 \x01(\tR\n" + + "deviceCode\x12\x1b\n" + + "\tuser_code\x18\x02 \x01(\tR\buserCode\x12)\n" + + "\x10verification_uri\x18\x03 \x01(\tR\x0fverificationUri\x12)\n" + + "\x10interval_seconds\x18\x04 \x01(\x05R\x0fintervalSeconds\x12,\n" + + "\x12expires_in_seconds\x18\x05 \x01(\x05R\x10expiresInSeconds\"4\n" + + "\x11PollDeviceRequest\x12\x1f\n" + + "\vdevice_code\x18\x01 \x01(\tR\n" + + "deviceCode\"\x91\x01\n" + + "\x12PollDeviceResponse\x12!\n" + + "\faccess_token\x18\x01 \x01(\tR\vaccessToken\x12\x16\n" + + "\x06status\x18\x02 \x01(\tR\x06status\x12\x1d\n" + + "\n" + + "account_id\x18\x03 \x01(\tR\taccountId\x12!\n" + + "\faccount_slug\x18\x04 \x01(\tR\vaccountSlug\"R\n" + + "\x14ApproveDeviceRequest\x12\x1b\n" + + "\tuser_code\x18\x01 \x01(\tR\buserCode\x12\x1d\n" + + "\n" + + "account_id\x18\x02 \x01(\tR\taccountId\"\x17\n" + + "\x15ApproveDeviceResponse\"0\n" + + "\x11DenyDeviceRequest\x12\x1b\n" + + "\tuser_code\x18\x01 \x01(\tR\buserCode\"\x14\n" + + "\x12DenyDeviceResponse\"5\n" + + "\x16GetDeviceStatusRequest\x12\x1b\n" + + "\tuser_code\x18\x01 \x01(\tR\buserCode\"\x84\x01\n" + + "\x17GetDeviceStatusResponse\x12\x14\n" + + "\x05valid\x18\x01 \x01(\bR\x05valid\x12\x1e\n" + + "\n" + + "authorized\x18\x02 \x01(\bR\n" + + "authorized\x12\x16\n" + + "\x06denied\x18\x03 \x01(\bR\x06denied\x12\x1b\n" + + "\tclient_id\x18\x04 \x01(\tR\bclientId\"\x0f\n" + + "\rWhoamiRequest\"b\n" + + "\x0eWhoamiResponse\x12\x17\n" + + "\auser_id\x18\x01 \x01(\tR\x06userId\x12\x14\n" + + "\x05email\x18\x02 \x01(\tR\x05email\x12!\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\"C\n" + + "\tMyAccount\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04slug\x18\x02 \x01(\tR\x04slug\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\"\x1d\n" + + "\x1bListMyAccountsForCLIRequest\"V\n" + + "\x1cListMyAccountsForCLIResponse\x126\n" + + "\baccounts\x18\x01 \x03(\v2\x1a.orchestrator.v1.MyAccountR\baccounts\"\x8f\x01\n" + + "\x15CreateCategoryRequest\x12\x12\n" + + "\x04slug\x18\x01 \x01(\tR\x04slug\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x12\x1d\n" + + "\n" + + "sort_order\x18\x04 \x01(\x05R\tsortOrder\"O\n" + + "\x16CreateCategoryResponse\x125\n" + + "\bcategory\x18\x01 \x01(\v2\x19.orchestrator.v1.CategoryR\bcategory\"\x8f\x01\n" + + "\x15UpdateCategoryRequest\x12\x12\n" + + "\x04slug\x18\x01 \x01(\tR\x04slug\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x12\x1d\n" + + "\n" + + "sort_order\x18\x04 \x01(\x05R\tsortOrder\"O\n" + + "\x16UpdateCategoryResponse\x125\n" + + "\bcategory\x18\x01 \x01(\v2\x19.orchestrator.v1.CategoryR\bcategory\"+\n" + + "\x15DeleteCategoryRequest\x12\x12\n" + + "\x04slug\x18\x01 \x01(\tR\x04slug\"\x18\n" + + "\x16DeleteCategoryResponse*\xd8\x01\n" + + "\x10PluginVisibility\x12!\n" + + "\x1dPLUGIN_VISIBILITY_UNSPECIFIED\x10\x00\x12\x1d\n" + + "\x19PLUGIN_VISIBILITY_PRIVATE\x10\x01\x12\"\n" + + "\x1ePLUGIN_VISIBILITY_UNDER_REVIEW\x10\x02\x12\x1c\n" + + "\x18PLUGIN_VISIBILITY_PUBLIC\x10\x03\x12\x1e\n" + + "\x1aPLUGIN_VISIBILITY_REJECTED\x10\x04\x12 \n" + + "\x1cPLUGIN_VISIBILITY_TAKEN_DOWN\x10\x052\xfc\x02\n" + + "\x12PluginScopeService\x12X\n" + + "\vCreateScope\x12#.orchestrator.v1.CreateScopeRequest\x1a$.orchestrator.v1.CreateScopeResponse\x12[\n" + + "\fListMyScopes\x12$.orchestrator.v1.ListMyScopesRequest\x1a%.orchestrator.v1.ListMyScopesResponse\x12O\n" + + "\bGetScope\x12 .orchestrator.v1.GetScopeRequest\x1a!.orchestrator.v1.GetScopeResponse\x12^\n" + + "\rListMyPlugins\x12%.orchestrator.v1.ListMyPluginsRequest\x1a&.orchestrator.v1.ListMyPluginsResponse2\x86\r\n" + + "\x15PluginRegistryService\x12[\n" + + "\fCreatePlugin\x12$.orchestrator.v1.CreatePluginRequest\x1a%.orchestrator.v1.CreatePluginResponse\x12R\n" + + "\tGetPlugin\x12!.orchestrator.v1.GetPluginRequest\x1a\".orchestrator.v1.GetPluginResponse\x12X\n" + + "\vListPlugins\x12#.orchestrator.v1.ListPluginsRequest\x1a$.orchestrator.v1.ListPluginsResponse\x12U\n" + + "\n" + + "GetVersion\x12\".orchestrator.v1.GetVersionRequest\x1a#.orchestrator.v1.GetVersionResponse\x12a\n" + + "\x0eResolveInstall\x12&.orchestrator.v1.ResolveInstallRequest\x1a'.orchestrator.v1.ResolveInstallResponse\x12a\n" + + "\x0eListCategories\x12&.orchestrator.v1.ListCategoriesRequest\x1a'.orchestrator.v1.ListCategoriesResponse\x12O\n" + + "\bListTags\x12 .orchestrator.v1.ListTagsRequest\x1a!.orchestrator.v1.ListTagsResponse\x12d\n" + + "\x0fSubmitForReview\x12'.orchestrator.v1.SubmitForReviewRequest\x1a(.orchestrator.v1.SubmitForReviewResponse\x12m\n" + + "\x12ListPrivatePlugins\x12*.orchestrator.v1.ListPrivatePluginsRequest\x1a+.orchestrator.v1.ListPrivatePluginsResponse\x12p\n" + + "\x13DeletePrivatePlugin\x12+.orchestrator.v1.DeletePrivatePluginRequest\x1a,.orchestrator.v1.DeletePrivatePluginResponse\x12\x85\x01\n" + + "\x1aDeletePrivatePluginVersion\x122.orchestrator.v1.DeletePrivatePluginVersionRequest\x1a3.orchestrator.v1.DeletePrivatePluginVersionResponse\x12\x8e\x01\n" + + "\x1dListPrivatePluginInstallSites\x125.orchestrator.v1.ListPrivatePluginInstallSitesRequest\x1a6.orchestrator.v1.ListPrivatePluginInstallSitesResponse\x12\x83\x01\n" + + "\x1dListPrivatePluginsForInstance\x125.orchestrator.v1.ListPrivatePluginsForInstanceRequest\x1a+.orchestrator.v1.ListPrivatePluginsResponse\x12w\n" + + "\x19ResolveInstallForInstance\x121.orchestrator.v1.ResolveInstallForInstanceRequest\x1a'.orchestrator.v1.ResolveInstallResponse\x12\x94\x01\n" + + "\x1fConfirmPluginInstallForInstance\x127.orchestrator.v1.ConfirmPluginInstallForInstanceRequest\x1a8.orchestrator.v1.ConfirmPluginInstallForInstanceResponse2\x99\f\n" + + "\x17PluginModerationService\x12m\n" + + "\x12ListPendingReviews\x12*.orchestrator.v1.ListPendingReviewsRequest\x1a+.orchestrator.v1.ListPendingReviewsResponse\x12j\n" + + "\x11ApproveSubmission\x12).orchestrator.v1.ApproveSubmissionRequest\x1a*.orchestrator.v1.ApproveSubmissionResponse\x12g\n" + + "\x10RejectSubmission\x12(.orchestrator.v1.RejectSubmissionRequest\x1a).orchestrator.v1.RejectSubmissionResponse\x12a\n" + + "\x0eRequestChanges\x12&.orchestrator.v1.RequestChangesRequest\x1a'.orchestrator.v1.RequestChangesResponse\x12d\n" + + "\x0fUnpublishPlugin\x12'.orchestrator.v1.UnpublishPluginRequest\x1a(.orchestrator.v1.UnpublishPluginResponse\x12a\n" + + "\x0eTakedownPlugin\x12&.orchestrator.v1.TakedownPluginRequest\x1a'.orchestrator.v1.TakedownPluginResponse\x12^\n" + + "\rRestorePlugin\x12%.orchestrator.v1.RestorePluginRequest\x1a&.orchestrator.v1.RestorePluginResponse\x12X\n" + + "\vYankVersion\x12#.orchestrator.v1.YankVersionRequest\x1a$.orchestrator.v1.YankVersionResponse\x12m\n" + + "\x12DeletePublicPlugin\x12*.orchestrator.v1.DeletePublicPluginRequest\x1a+.orchestrator.v1.DeletePublicPluginResponse\x12m\n" + + "\x12ListFlaggedReviews\x12*.orchestrator.v1.ListFlaggedReviewsRequest\x1a+.orchestrator.v1.ListFlaggedReviewsResponse\x12g\n" + + "\x10SoftDeleteReview\x12(.orchestrator.v1.SoftDeleteReviewRequest\x1a).orchestrator.v1.SoftDeleteReviewResponse\x12d\n" + + "\x0fSoftDeleteReply\x12'.orchestrator.v1.SoftDeleteReplyRequest\x1a(.orchestrator.v1.SoftDeleteReplyResponse\x12a\n" + + "\x0eCreateCategory\x12&.orchestrator.v1.CreateCategoryRequest\x1a'.orchestrator.v1.CreateCategoryResponse\x12a\n" + + "\x0eUpdateCategory\x12&.orchestrator.v1.UpdateCategoryRequest\x1a'.orchestrator.v1.UpdateCategoryResponse\x12a\n" + + "\x0eDeleteCategory\x12&.orchestrator.v1.DeleteCategoryRequest\x1a'.orchestrator.v1.DeleteCategoryResponse2\xb5\x04\n" + + "\x14PluginGalleryService\x12d\n" + + "\x0fListScreenshots\x12'.orchestrator.v1.ListScreenshotsRequest\x1a(.orchestrator.v1.ListScreenshotsResponse\x12g\n" + + "\x10UploadScreenshot\x12(.orchestrator.v1.UploadScreenshotRequest\x1a).orchestrator.v1.UploadScreenshotResponse\x12g\n" + + "\x10DeleteScreenshot\x12(.orchestrator.v1.DeleteScreenshotRequest\x1a).orchestrator.v1.DeleteScreenshotResponse\x12m\n" + + "\x12ReorderScreenshots\x12*.orchestrator.v1.ReorderScreenshotsRequest\x1a+.orchestrator.v1.ReorderScreenshotsResponse\x12v\n" + + "\x15SetFeaturedScreenshot\x12-.orchestrator.v1.SetFeaturedScreenshotRequest\x1a..orchestrator.v1.SetFeaturedScreenshotResponse2\x94\x05\n" + + "\x13PluginReviewService\x12X\n" + + "\vListReviews\x12#.orchestrator.v1.ListReviewsRequest\x1a$.orchestrator.v1.ListReviewsResponse\x12X\n" + + "\vGetMyReview\x12#.orchestrator.v1.GetMyReviewRequest\x1a$.orchestrator.v1.GetMyReviewResponse\x12[\n" + + "\fUpsertReview\x12$.orchestrator.v1.UpsertReviewRequest\x1a%.orchestrator.v1.UpsertReviewResponse\x12[\n" + + "\fDeleteReview\x12$.orchestrator.v1.DeleteReviewRequest\x1a%.orchestrator.v1.DeleteReviewResponse\x12^\n" + + "\rReplyToReview\x12%.orchestrator.v1.ReplyToReviewRequest\x1a&.orchestrator.v1.ReplyToReviewResponse\x12X\n" + + "\vDeleteReply\x12#.orchestrator.v1.DeleteReplyRequest\x1a$.orchestrator.v1.DeleteReplyResponse\x12U\n" + + "\n" + + "FlagReview\x12\".orchestrator.v1.FlagReviewRequest\x1a#.orchestrator.v1.FlagReviewResponse2y\n" + + "\x14PluginPublishService\x12a\n" + + "\x0ePublishVersion\x12&.orchestrator.v1.PublishVersionRequest\x1a'.orchestrator.v1.PublishVersionResponse2\xa1\x05\n" + + "\x11PluginAuthService\x12X\n" + + "\vStartDevice\x12#.orchestrator.v1.StartDeviceRequest\x1a$.orchestrator.v1.StartDeviceResponse\x12U\n" + + "\n" + + "PollDevice\x12\".orchestrator.v1.PollDeviceRequest\x1a#.orchestrator.v1.PollDeviceResponse\x12^\n" + + "\rApproveDevice\x12%.orchestrator.v1.ApproveDeviceRequest\x1a&.orchestrator.v1.ApproveDeviceResponse\x12U\n" + + "\n" + + "DenyDevice\x12\".orchestrator.v1.DenyDeviceRequest\x1a#.orchestrator.v1.DenyDeviceResponse\x12d\n" + + "\x0fGetDeviceStatus\x12'.orchestrator.v1.GetDeviceStatusRequest\x1a(.orchestrator.v1.GetDeviceStatusResponse\x12I\n" + + "\x06Whoami\x12\x1e.orchestrator.v1.WhoamiRequest\x1a\x1f.orchestrator.v1.WhoamiResponse\x12s\n" + + "\x14ListMyAccountsForCLI\x12,.orchestrator.v1.ListMyAccountsForCLIRequest\x1a-.orchestrator.v1.ListMyAccountsForCLIResponseB\xd6\x01\n" + + "\x13com.orchestrator.v1B\x13PluginRegistryProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_plugin_registry_proto_rawDescOnce sync.Once + file_orchestrator_v1_plugin_registry_proto_rawDescData []byte +) + +func file_orchestrator_v1_plugin_registry_proto_rawDescGZIP() []byte { + file_orchestrator_v1_plugin_registry_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_plugin_registry_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_plugin_registry_proto_rawDesc), len(file_orchestrator_v1_plugin_registry_proto_rawDesc))) + }) + return file_orchestrator_v1_plugin_registry_proto_rawDescData +} + +var file_orchestrator_v1_plugin_registry_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_orchestrator_v1_plugin_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 123) +var file_orchestrator_v1_plugin_registry_proto_goTypes = []any{ + (PluginVisibility)(0), // 0: orchestrator.v1.PluginVisibility + (*Scope)(nil), // 1: orchestrator.v1.Scope + (*Plugin)(nil), // 2: orchestrator.v1.Plugin + (*PluginScreenshot)(nil), // 3: orchestrator.v1.PluginScreenshot + (*Category)(nil), // 4: orchestrator.v1.Category + (*Version)(nil), // 5: orchestrator.v1.Version + (*Requirement)(nil), // 6: orchestrator.v1.Requirement + (*CreateScopeRequest)(nil), // 7: orchestrator.v1.CreateScopeRequest + (*CreateScopeResponse)(nil), // 8: orchestrator.v1.CreateScopeResponse + (*ListMyScopesRequest)(nil), // 9: orchestrator.v1.ListMyScopesRequest + (*ListMyScopesResponse)(nil), // 10: orchestrator.v1.ListMyScopesResponse + (*GetScopeRequest)(nil), // 11: orchestrator.v1.GetScopeRequest + (*GetScopeResponse)(nil), // 12: orchestrator.v1.GetScopeResponse + (*ListMyPluginsRequest)(nil), // 13: orchestrator.v1.ListMyPluginsRequest + (*ListMyPluginsResponse)(nil), // 14: orchestrator.v1.ListMyPluginsResponse + (*CreatePluginRequest)(nil), // 15: orchestrator.v1.CreatePluginRequest + (*CreatePluginResponse)(nil), // 16: orchestrator.v1.CreatePluginResponse + (*GetPluginRequest)(nil), // 17: orchestrator.v1.GetPluginRequest + (*GetPluginResponse)(nil), // 18: orchestrator.v1.GetPluginResponse + (*ListPluginsRequest)(nil), // 19: orchestrator.v1.ListPluginsRequest + (*ListPluginsResponse)(nil), // 20: orchestrator.v1.ListPluginsResponse + (*ListCategoriesRequest)(nil), // 21: orchestrator.v1.ListCategoriesRequest + (*ListCategoriesResponse)(nil), // 22: orchestrator.v1.ListCategoriesResponse + (*ListTagsRequest)(nil), // 23: orchestrator.v1.ListTagsRequest + (*ListTagsResponse)(nil), // 24: orchestrator.v1.ListTagsResponse + (*TagCount)(nil), // 25: orchestrator.v1.TagCount + (*ListPrivatePluginsRequest)(nil), // 26: orchestrator.v1.ListPrivatePluginsRequest + (*ListPrivatePluginsResponse)(nil), // 27: orchestrator.v1.ListPrivatePluginsResponse + (*PrivatePluginSummary)(nil), // 28: orchestrator.v1.PrivatePluginSummary + (*DeletePrivatePluginRequest)(nil), // 29: orchestrator.v1.DeletePrivatePluginRequest + (*DeletePrivatePluginResponse)(nil), // 30: orchestrator.v1.DeletePrivatePluginResponse + (*DeletePrivatePluginVersionRequest)(nil), // 31: orchestrator.v1.DeletePrivatePluginVersionRequest + (*DeletePrivatePluginVersionResponse)(nil), // 32: orchestrator.v1.DeletePrivatePluginVersionResponse + (*ListPrivatePluginInstallSitesRequest)(nil), // 33: orchestrator.v1.ListPrivatePluginInstallSitesRequest + (*ListPrivatePluginInstallSitesResponse)(nil), // 34: orchestrator.v1.ListPrivatePluginInstallSitesResponse + (*PrivatePluginInstallSite)(nil), // 35: orchestrator.v1.PrivatePluginInstallSite + (*GetVersionRequest)(nil), // 36: orchestrator.v1.GetVersionRequest + (*GetVersionResponse)(nil), // 37: orchestrator.v1.GetVersionResponse + (*ResolveInstallRequest)(nil), // 38: orchestrator.v1.ResolveInstallRequest + (*ResolveInstallResponse)(nil), // 39: orchestrator.v1.ResolveInstallResponse + (*ListPrivatePluginsForInstanceRequest)(nil), // 40: orchestrator.v1.ListPrivatePluginsForInstanceRequest + (*ResolveInstallForInstanceRequest)(nil), // 41: orchestrator.v1.ResolveInstallForInstanceRequest + (*ConfirmPluginInstallForInstanceRequest)(nil), // 42: orchestrator.v1.ConfirmPluginInstallForInstanceRequest + (*ConfirmPluginInstallForInstanceResponse)(nil), // 43: orchestrator.v1.ConfirmPluginInstallForInstanceResponse + (*PendingReview)(nil), // 44: orchestrator.v1.PendingReview + (*SubmitForReviewRequest)(nil), // 45: orchestrator.v1.SubmitForReviewRequest + (*SubmitForReviewResponse)(nil), // 46: orchestrator.v1.SubmitForReviewResponse + (*ListPendingReviewsRequest)(nil), // 47: orchestrator.v1.ListPendingReviewsRequest + (*ListPendingReviewsResponse)(nil), // 48: orchestrator.v1.ListPendingReviewsResponse + (*ApproveSubmissionRequest)(nil), // 49: orchestrator.v1.ApproveSubmissionRequest + (*ApproveSubmissionResponse)(nil), // 50: orchestrator.v1.ApproveSubmissionResponse + (*RejectSubmissionRequest)(nil), // 51: orchestrator.v1.RejectSubmissionRequest + (*RejectSubmissionResponse)(nil), // 52: orchestrator.v1.RejectSubmissionResponse + (*RequestChangesRequest)(nil), // 53: orchestrator.v1.RequestChangesRequest + (*RequestChangesResponse)(nil), // 54: orchestrator.v1.RequestChangesResponse + (*UnpublishPluginRequest)(nil), // 55: orchestrator.v1.UnpublishPluginRequest + (*UnpublishPluginResponse)(nil), // 56: orchestrator.v1.UnpublishPluginResponse + (*TakedownPluginRequest)(nil), // 57: orchestrator.v1.TakedownPluginRequest + (*TakedownPluginResponse)(nil), // 58: orchestrator.v1.TakedownPluginResponse + (*RestorePluginRequest)(nil), // 59: orchestrator.v1.RestorePluginRequest + (*RestorePluginResponse)(nil), // 60: orchestrator.v1.RestorePluginResponse + (*YankVersionRequest)(nil), // 61: orchestrator.v1.YankVersionRequest + (*YankVersionResponse)(nil), // 62: orchestrator.v1.YankVersionResponse + (*DeletePublicPluginRequest)(nil), // 63: orchestrator.v1.DeletePublicPluginRequest + (*DeletePublicPluginResponse)(nil), // 64: orchestrator.v1.DeletePublicPluginResponse + (*ListScreenshotsRequest)(nil), // 65: orchestrator.v1.ListScreenshotsRequest + (*ListScreenshotsResponse)(nil), // 66: orchestrator.v1.ListScreenshotsResponse + (*UploadScreenshotRequest)(nil), // 67: orchestrator.v1.UploadScreenshotRequest + (*UploadScreenshotResponse)(nil), // 68: orchestrator.v1.UploadScreenshotResponse + (*DeleteScreenshotRequest)(nil), // 69: orchestrator.v1.DeleteScreenshotRequest + (*DeleteScreenshotResponse)(nil), // 70: orchestrator.v1.DeleteScreenshotResponse + (*ReorderScreenshotsRequest)(nil), // 71: orchestrator.v1.ReorderScreenshotsRequest + (*ReorderScreenshotsResponse)(nil), // 72: orchestrator.v1.ReorderScreenshotsResponse + (*SetFeaturedScreenshotRequest)(nil), // 73: orchestrator.v1.SetFeaturedScreenshotRequest + (*SetFeaturedScreenshotResponse)(nil), // 74: orchestrator.v1.SetFeaturedScreenshotResponse + (*PluginReview)(nil), // 75: orchestrator.v1.PluginReview + (*PluginReviewReply)(nil), // 76: orchestrator.v1.PluginReviewReply + (*ReviewAggregate)(nil), // 77: orchestrator.v1.ReviewAggregate + (*ListReviewsRequest)(nil), // 78: orchestrator.v1.ListReviewsRequest + (*ListReviewsResponse)(nil), // 79: orchestrator.v1.ListReviewsResponse + (*GetMyReviewRequest)(nil), // 80: orchestrator.v1.GetMyReviewRequest + (*GetMyReviewResponse)(nil), // 81: orchestrator.v1.GetMyReviewResponse + (*UpsertReviewRequest)(nil), // 82: orchestrator.v1.UpsertReviewRequest + (*UpsertReviewResponse)(nil), // 83: orchestrator.v1.UpsertReviewResponse + (*DeleteReviewRequest)(nil), // 84: orchestrator.v1.DeleteReviewRequest + (*DeleteReviewResponse)(nil), // 85: orchestrator.v1.DeleteReviewResponse + (*ReplyToReviewRequest)(nil), // 86: orchestrator.v1.ReplyToReviewRequest + (*ReplyToReviewResponse)(nil), // 87: orchestrator.v1.ReplyToReviewResponse + (*DeleteReplyRequest)(nil), // 88: orchestrator.v1.DeleteReplyRequest + (*DeleteReplyResponse)(nil), // 89: orchestrator.v1.DeleteReplyResponse + (*FlagReviewRequest)(nil), // 90: orchestrator.v1.FlagReviewRequest + (*FlagReviewResponse)(nil), // 91: orchestrator.v1.FlagReviewResponse + (*FlaggedReview)(nil), // 92: orchestrator.v1.FlaggedReview + (*ListFlaggedReviewsRequest)(nil), // 93: orchestrator.v1.ListFlaggedReviewsRequest + (*ListFlaggedReviewsResponse)(nil), // 94: orchestrator.v1.ListFlaggedReviewsResponse + (*SoftDeleteReviewRequest)(nil), // 95: orchestrator.v1.SoftDeleteReviewRequest + (*SoftDeleteReviewResponse)(nil), // 96: orchestrator.v1.SoftDeleteReviewResponse + (*SoftDeleteReplyRequest)(nil), // 97: orchestrator.v1.SoftDeleteReplyRequest + (*SoftDeleteReplyResponse)(nil), // 98: orchestrator.v1.SoftDeleteReplyResponse + (*PublishVersionRequest)(nil), // 99: orchestrator.v1.PublishVersionRequest + (*PublishVersionResponse)(nil), // 100: orchestrator.v1.PublishVersionResponse + (*StartDeviceRequest)(nil), // 101: orchestrator.v1.StartDeviceRequest + (*StartDeviceResponse)(nil), // 102: orchestrator.v1.StartDeviceResponse + (*PollDeviceRequest)(nil), // 103: orchestrator.v1.PollDeviceRequest + (*PollDeviceResponse)(nil), // 104: orchestrator.v1.PollDeviceResponse + (*ApproveDeviceRequest)(nil), // 105: orchestrator.v1.ApproveDeviceRequest + (*ApproveDeviceResponse)(nil), // 106: orchestrator.v1.ApproveDeviceResponse + (*DenyDeviceRequest)(nil), // 107: orchestrator.v1.DenyDeviceRequest + (*DenyDeviceResponse)(nil), // 108: orchestrator.v1.DenyDeviceResponse + (*GetDeviceStatusRequest)(nil), // 109: orchestrator.v1.GetDeviceStatusRequest + (*GetDeviceStatusResponse)(nil), // 110: orchestrator.v1.GetDeviceStatusResponse + (*WhoamiRequest)(nil), // 111: orchestrator.v1.WhoamiRequest + (*WhoamiResponse)(nil), // 112: orchestrator.v1.WhoamiResponse + (*MyAccount)(nil), // 113: orchestrator.v1.MyAccount + (*ListMyAccountsForCLIRequest)(nil), // 114: orchestrator.v1.ListMyAccountsForCLIRequest + (*ListMyAccountsForCLIResponse)(nil), // 115: orchestrator.v1.ListMyAccountsForCLIResponse + (*CreateCategoryRequest)(nil), // 116: orchestrator.v1.CreateCategoryRequest + (*CreateCategoryResponse)(nil), // 117: orchestrator.v1.CreateCategoryResponse + (*UpdateCategoryRequest)(nil), // 118: orchestrator.v1.UpdateCategoryRequest + (*UpdateCategoryResponse)(nil), // 119: orchestrator.v1.UpdateCategoryResponse + (*DeleteCategoryRequest)(nil), // 120: orchestrator.v1.DeleteCategoryRequest + (*DeleteCategoryResponse)(nil), // 121: orchestrator.v1.DeleteCategoryResponse + nil, // 122: orchestrator.v1.GetPluginResponse.ChannelsEntry + nil, // 123: orchestrator.v1.PrivatePluginSummary.ChannelVersionsEntry + (*timestamppb.Timestamp)(nil), // 124: google.protobuf.Timestamp +} +var file_orchestrator_v1_plugin_registry_proto_depIdxs = []int32{ + 124, // 0: orchestrator.v1.Scope.created_at:type_name -> google.protobuf.Timestamp + 0, // 1: orchestrator.v1.Plugin.visibility:type_name -> orchestrator.v1.PluginVisibility + 124, // 2: orchestrator.v1.Plugin.updated_at:type_name -> google.protobuf.Timestamp + 124, // 3: orchestrator.v1.Version.published_at:type_name -> google.protobuf.Timestamp + 1, // 4: orchestrator.v1.CreateScopeResponse.scope:type_name -> orchestrator.v1.Scope + 1, // 5: orchestrator.v1.ListMyScopesResponse.scopes:type_name -> orchestrator.v1.Scope + 1, // 6: orchestrator.v1.GetScopeResponse.scope:type_name -> orchestrator.v1.Scope + 2, // 7: orchestrator.v1.GetScopeResponse.plugins:type_name -> orchestrator.v1.Plugin + 2, // 8: orchestrator.v1.ListMyPluginsResponse.plugins:type_name -> orchestrator.v1.Plugin + 0, // 9: orchestrator.v1.CreatePluginRequest.visibility:type_name -> orchestrator.v1.PluginVisibility + 2, // 10: orchestrator.v1.CreatePluginResponse.plugin:type_name -> orchestrator.v1.Plugin + 2, // 11: orchestrator.v1.GetPluginResponse.plugin:type_name -> orchestrator.v1.Plugin + 5, // 12: orchestrator.v1.GetPluginResponse.versions:type_name -> orchestrator.v1.Version + 122, // 13: orchestrator.v1.GetPluginResponse.channels:type_name -> orchestrator.v1.GetPluginResponse.ChannelsEntry + 3, // 14: orchestrator.v1.GetPluginResponse.screenshots:type_name -> orchestrator.v1.PluginScreenshot + 2, // 15: orchestrator.v1.ListPluginsResponse.plugins:type_name -> orchestrator.v1.Plugin + 4, // 16: orchestrator.v1.ListCategoriesResponse.categories:type_name -> orchestrator.v1.Category + 25, // 17: orchestrator.v1.ListTagsResponse.tags:type_name -> orchestrator.v1.TagCount + 28, // 18: orchestrator.v1.ListPrivatePluginsResponse.plugins:type_name -> orchestrator.v1.PrivatePluginSummary + 2, // 19: orchestrator.v1.PrivatePluginSummary.plugin:type_name -> orchestrator.v1.Plugin + 123, // 20: orchestrator.v1.PrivatePluginSummary.channel_versions:type_name -> orchestrator.v1.PrivatePluginSummary.ChannelVersionsEntry + 35, // 21: orchestrator.v1.ListPrivatePluginInstallSitesResponse.sites:type_name -> orchestrator.v1.PrivatePluginInstallSite + 5, // 22: orchestrator.v1.GetVersionResponse.version:type_name -> orchestrator.v1.Version + 6, // 23: orchestrator.v1.GetVersionResponse.requires:type_name -> orchestrator.v1.Requirement + 6, // 24: orchestrator.v1.ResolveInstallResponse.requires:type_name -> orchestrator.v1.Requirement + 124, // 25: orchestrator.v1.PendingReview.submitted_at:type_name -> google.protobuf.Timestamp + 44, // 26: orchestrator.v1.ListPendingReviewsResponse.reviews:type_name -> orchestrator.v1.PendingReview + 3, // 27: orchestrator.v1.ListScreenshotsResponse.screenshots:type_name -> orchestrator.v1.PluginScreenshot + 3, // 28: orchestrator.v1.UploadScreenshotResponse.screenshot:type_name -> orchestrator.v1.PluginScreenshot + 3, // 29: orchestrator.v1.ReorderScreenshotsResponse.screenshots:type_name -> orchestrator.v1.PluginScreenshot + 124, // 30: orchestrator.v1.PluginReview.created_at:type_name -> google.protobuf.Timestamp + 124, // 31: orchestrator.v1.PluginReview.updated_at:type_name -> google.protobuf.Timestamp + 76, // 32: orchestrator.v1.PluginReview.reply:type_name -> orchestrator.v1.PluginReviewReply + 124, // 33: orchestrator.v1.PluginReviewReply.created_at:type_name -> google.protobuf.Timestamp + 75, // 34: orchestrator.v1.ListReviewsResponse.reviews:type_name -> orchestrator.v1.PluginReview + 77, // 35: orchestrator.v1.ListReviewsResponse.aggregate:type_name -> orchestrator.v1.ReviewAggregate + 75, // 36: orchestrator.v1.GetMyReviewResponse.review:type_name -> orchestrator.v1.PluginReview + 75, // 37: orchestrator.v1.UpsertReviewResponse.review:type_name -> orchestrator.v1.PluginReview + 76, // 38: orchestrator.v1.ReplyToReviewResponse.reply:type_name -> orchestrator.v1.PluginReviewReply + 75, // 39: orchestrator.v1.FlaggedReview.review:type_name -> orchestrator.v1.PluginReview + 124, // 40: orchestrator.v1.FlaggedReview.first_flagged_at:type_name -> google.protobuf.Timestamp + 92, // 41: orchestrator.v1.ListFlaggedReviewsResponse.reviews:type_name -> orchestrator.v1.FlaggedReview + 5, // 42: orchestrator.v1.PublishVersionResponse.version:type_name -> orchestrator.v1.Version + 113, // 43: orchestrator.v1.ListMyAccountsForCLIResponse.accounts:type_name -> orchestrator.v1.MyAccount + 4, // 44: orchestrator.v1.CreateCategoryResponse.category:type_name -> orchestrator.v1.Category + 4, // 45: orchestrator.v1.UpdateCategoryResponse.category:type_name -> orchestrator.v1.Category + 7, // 46: orchestrator.v1.PluginScopeService.CreateScope:input_type -> orchestrator.v1.CreateScopeRequest + 9, // 47: orchestrator.v1.PluginScopeService.ListMyScopes:input_type -> orchestrator.v1.ListMyScopesRequest + 11, // 48: orchestrator.v1.PluginScopeService.GetScope:input_type -> orchestrator.v1.GetScopeRequest + 13, // 49: orchestrator.v1.PluginScopeService.ListMyPlugins:input_type -> orchestrator.v1.ListMyPluginsRequest + 15, // 50: orchestrator.v1.PluginRegistryService.CreatePlugin:input_type -> orchestrator.v1.CreatePluginRequest + 17, // 51: orchestrator.v1.PluginRegistryService.GetPlugin:input_type -> orchestrator.v1.GetPluginRequest + 19, // 52: orchestrator.v1.PluginRegistryService.ListPlugins:input_type -> orchestrator.v1.ListPluginsRequest + 36, // 53: orchestrator.v1.PluginRegistryService.GetVersion:input_type -> orchestrator.v1.GetVersionRequest + 38, // 54: orchestrator.v1.PluginRegistryService.ResolveInstall:input_type -> orchestrator.v1.ResolveInstallRequest + 21, // 55: orchestrator.v1.PluginRegistryService.ListCategories:input_type -> orchestrator.v1.ListCategoriesRequest + 23, // 56: orchestrator.v1.PluginRegistryService.ListTags:input_type -> orchestrator.v1.ListTagsRequest + 45, // 57: orchestrator.v1.PluginRegistryService.SubmitForReview:input_type -> orchestrator.v1.SubmitForReviewRequest + 26, // 58: orchestrator.v1.PluginRegistryService.ListPrivatePlugins:input_type -> orchestrator.v1.ListPrivatePluginsRequest + 29, // 59: orchestrator.v1.PluginRegistryService.DeletePrivatePlugin:input_type -> orchestrator.v1.DeletePrivatePluginRequest + 31, // 60: orchestrator.v1.PluginRegistryService.DeletePrivatePluginVersion:input_type -> orchestrator.v1.DeletePrivatePluginVersionRequest + 33, // 61: orchestrator.v1.PluginRegistryService.ListPrivatePluginInstallSites:input_type -> orchestrator.v1.ListPrivatePluginInstallSitesRequest + 40, // 62: orchestrator.v1.PluginRegistryService.ListPrivatePluginsForInstance:input_type -> orchestrator.v1.ListPrivatePluginsForInstanceRequest + 41, // 63: orchestrator.v1.PluginRegistryService.ResolveInstallForInstance:input_type -> orchestrator.v1.ResolveInstallForInstanceRequest + 42, // 64: orchestrator.v1.PluginRegistryService.ConfirmPluginInstallForInstance:input_type -> orchestrator.v1.ConfirmPluginInstallForInstanceRequest + 47, // 65: orchestrator.v1.PluginModerationService.ListPendingReviews:input_type -> orchestrator.v1.ListPendingReviewsRequest + 49, // 66: orchestrator.v1.PluginModerationService.ApproveSubmission:input_type -> orchestrator.v1.ApproveSubmissionRequest + 51, // 67: orchestrator.v1.PluginModerationService.RejectSubmission:input_type -> orchestrator.v1.RejectSubmissionRequest + 53, // 68: orchestrator.v1.PluginModerationService.RequestChanges:input_type -> orchestrator.v1.RequestChangesRequest + 55, // 69: orchestrator.v1.PluginModerationService.UnpublishPlugin:input_type -> orchestrator.v1.UnpublishPluginRequest + 57, // 70: orchestrator.v1.PluginModerationService.TakedownPlugin:input_type -> orchestrator.v1.TakedownPluginRequest + 59, // 71: orchestrator.v1.PluginModerationService.RestorePlugin:input_type -> orchestrator.v1.RestorePluginRequest + 61, // 72: orchestrator.v1.PluginModerationService.YankVersion:input_type -> orchestrator.v1.YankVersionRequest + 63, // 73: orchestrator.v1.PluginModerationService.DeletePublicPlugin:input_type -> orchestrator.v1.DeletePublicPluginRequest + 93, // 74: orchestrator.v1.PluginModerationService.ListFlaggedReviews:input_type -> orchestrator.v1.ListFlaggedReviewsRequest + 95, // 75: orchestrator.v1.PluginModerationService.SoftDeleteReview:input_type -> orchestrator.v1.SoftDeleteReviewRequest + 97, // 76: orchestrator.v1.PluginModerationService.SoftDeleteReply:input_type -> orchestrator.v1.SoftDeleteReplyRequest + 116, // 77: orchestrator.v1.PluginModerationService.CreateCategory:input_type -> orchestrator.v1.CreateCategoryRequest + 118, // 78: orchestrator.v1.PluginModerationService.UpdateCategory:input_type -> orchestrator.v1.UpdateCategoryRequest + 120, // 79: orchestrator.v1.PluginModerationService.DeleteCategory:input_type -> orchestrator.v1.DeleteCategoryRequest + 65, // 80: orchestrator.v1.PluginGalleryService.ListScreenshots:input_type -> orchestrator.v1.ListScreenshotsRequest + 67, // 81: orchestrator.v1.PluginGalleryService.UploadScreenshot:input_type -> orchestrator.v1.UploadScreenshotRequest + 69, // 82: orchestrator.v1.PluginGalleryService.DeleteScreenshot:input_type -> orchestrator.v1.DeleteScreenshotRequest + 71, // 83: orchestrator.v1.PluginGalleryService.ReorderScreenshots:input_type -> orchestrator.v1.ReorderScreenshotsRequest + 73, // 84: orchestrator.v1.PluginGalleryService.SetFeaturedScreenshot:input_type -> orchestrator.v1.SetFeaturedScreenshotRequest + 78, // 85: orchestrator.v1.PluginReviewService.ListReviews:input_type -> orchestrator.v1.ListReviewsRequest + 80, // 86: orchestrator.v1.PluginReviewService.GetMyReview:input_type -> orchestrator.v1.GetMyReviewRequest + 82, // 87: orchestrator.v1.PluginReviewService.UpsertReview:input_type -> orchestrator.v1.UpsertReviewRequest + 84, // 88: orchestrator.v1.PluginReviewService.DeleteReview:input_type -> orchestrator.v1.DeleteReviewRequest + 86, // 89: orchestrator.v1.PluginReviewService.ReplyToReview:input_type -> orchestrator.v1.ReplyToReviewRequest + 88, // 90: orchestrator.v1.PluginReviewService.DeleteReply:input_type -> orchestrator.v1.DeleteReplyRequest + 90, // 91: orchestrator.v1.PluginReviewService.FlagReview:input_type -> orchestrator.v1.FlagReviewRequest + 99, // 92: orchestrator.v1.PluginPublishService.PublishVersion:input_type -> orchestrator.v1.PublishVersionRequest + 101, // 93: orchestrator.v1.PluginAuthService.StartDevice:input_type -> orchestrator.v1.StartDeviceRequest + 103, // 94: orchestrator.v1.PluginAuthService.PollDevice:input_type -> orchestrator.v1.PollDeviceRequest + 105, // 95: orchestrator.v1.PluginAuthService.ApproveDevice:input_type -> orchestrator.v1.ApproveDeviceRequest + 107, // 96: orchestrator.v1.PluginAuthService.DenyDevice:input_type -> orchestrator.v1.DenyDeviceRequest + 109, // 97: orchestrator.v1.PluginAuthService.GetDeviceStatus:input_type -> orchestrator.v1.GetDeviceStatusRequest + 111, // 98: orchestrator.v1.PluginAuthService.Whoami:input_type -> orchestrator.v1.WhoamiRequest + 114, // 99: orchestrator.v1.PluginAuthService.ListMyAccountsForCLI:input_type -> orchestrator.v1.ListMyAccountsForCLIRequest + 8, // 100: orchestrator.v1.PluginScopeService.CreateScope:output_type -> orchestrator.v1.CreateScopeResponse + 10, // 101: orchestrator.v1.PluginScopeService.ListMyScopes:output_type -> orchestrator.v1.ListMyScopesResponse + 12, // 102: orchestrator.v1.PluginScopeService.GetScope:output_type -> orchestrator.v1.GetScopeResponse + 14, // 103: orchestrator.v1.PluginScopeService.ListMyPlugins:output_type -> orchestrator.v1.ListMyPluginsResponse + 16, // 104: orchestrator.v1.PluginRegistryService.CreatePlugin:output_type -> orchestrator.v1.CreatePluginResponse + 18, // 105: orchestrator.v1.PluginRegistryService.GetPlugin:output_type -> orchestrator.v1.GetPluginResponse + 20, // 106: orchestrator.v1.PluginRegistryService.ListPlugins:output_type -> orchestrator.v1.ListPluginsResponse + 37, // 107: orchestrator.v1.PluginRegistryService.GetVersion:output_type -> orchestrator.v1.GetVersionResponse + 39, // 108: orchestrator.v1.PluginRegistryService.ResolveInstall:output_type -> orchestrator.v1.ResolveInstallResponse + 22, // 109: orchestrator.v1.PluginRegistryService.ListCategories:output_type -> orchestrator.v1.ListCategoriesResponse + 24, // 110: orchestrator.v1.PluginRegistryService.ListTags:output_type -> orchestrator.v1.ListTagsResponse + 46, // 111: orchestrator.v1.PluginRegistryService.SubmitForReview:output_type -> orchestrator.v1.SubmitForReviewResponse + 27, // 112: orchestrator.v1.PluginRegistryService.ListPrivatePlugins:output_type -> orchestrator.v1.ListPrivatePluginsResponse + 30, // 113: orchestrator.v1.PluginRegistryService.DeletePrivatePlugin:output_type -> orchestrator.v1.DeletePrivatePluginResponse + 32, // 114: orchestrator.v1.PluginRegistryService.DeletePrivatePluginVersion:output_type -> orchestrator.v1.DeletePrivatePluginVersionResponse + 34, // 115: orchestrator.v1.PluginRegistryService.ListPrivatePluginInstallSites:output_type -> orchestrator.v1.ListPrivatePluginInstallSitesResponse + 27, // 116: orchestrator.v1.PluginRegistryService.ListPrivatePluginsForInstance:output_type -> orchestrator.v1.ListPrivatePluginsResponse + 39, // 117: orchestrator.v1.PluginRegistryService.ResolveInstallForInstance:output_type -> orchestrator.v1.ResolveInstallResponse + 43, // 118: orchestrator.v1.PluginRegistryService.ConfirmPluginInstallForInstance:output_type -> orchestrator.v1.ConfirmPluginInstallForInstanceResponse + 48, // 119: orchestrator.v1.PluginModerationService.ListPendingReviews:output_type -> orchestrator.v1.ListPendingReviewsResponse + 50, // 120: orchestrator.v1.PluginModerationService.ApproveSubmission:output_type -> orchestrator.v1.ApproveSubmissionResponse + 52, // 121: orchestrator.v1.PluginModerationService.RejectSubmission:output_type -> orchestrator.v1.RejectSubmissionResponse + 54, // 122: orchestrator.v1.PluginModerationService.RequestChanges:output_type -> orchestrator.v1.RequestChangesResponse + 56, // 123: orchestrator.v1.PluginModerationService.UnpublishPlugin:output_type -> orchestrator.v1.UnpublishPluginResponse + 58, // 124: orchestrator.v1.PluginModerationService.TakedownPlugin:output_type -> orchestrator.v1.TakedownPluginResponse + 60, // 125: orchestrator.v1.PluginModerationService.RestorePlugin:output_type -> orchestrator.v1.RestorePluginResponse + 62, // 126: orchestrator.v1.PluginModerationService.YankVersion:output_type -> orchestrator.v1.YankVersionResponse + 64, // 127: orchestrator.v1.PluginModerationService.DeletePublicPlugin:output_type -> orchestrator.v1.DeletePublicPluginResponse + 94, // 128: orchestrator.v1.PluginModerationService.ListFlaggedReviews:output_type -> orchestrator.v1.ListFlaggedReviewsResponse + 96, // 129: orchestrator.v1.PluginModerationService.SoftDeleteReview:output_type -> orchestrator.v1.SoftDeleteReviewResponse + 98, // 130: orchestrator.v1.PluginModerationService.SoftDeleteReply:output_type -> orchestrator.v1.SoftDeleteReplyResponse + 117, // 131: orchestrator.v1.PluginModerationService.CreateCategory:output_type -> orchestrator.v1.CreateCategoryResponse + 119, // 132: orchestrator.v1.PluginModerationService.UpdateCategory:output_type -> orchestrator.v1.UpdateCategoryResponse + 121, // 133: orchestrator.v1.PluginModerationService.DeleteCategory:output_type -> orchestrator.v1.DeleteCategoryResponse + 66, // 134: orchestrator.v1.PluginGalleryService.ListScreenshots:output_type -> orchestrator.v1.ListScreenshotsResponse + 68, // 135: orchestrator.v1.PluginGalleryService.UploadScreenshot:output_type -> orchestrator.v1.UploadScreenshotResponse + 70, // 136: orchestrator.v1.PluginGalleryService.DeleteScreenshot:output_type -> orchestrator.v1.DeleteScreenshotResponse + 72, // 137: orchestrator.v1.PluginGalleryService.ReorderScreenshots:output_type -> orchestrator.v1.ReorderScreenshotsResponse + 74, // 138: orchestrator.v1.PluginGalleryService.SetFeaturedScreenshot:output_type -> orchestrator.v1.SetFeaturedScreenshotResponse + 79, // 139: orchestrator.v1.PluginReviewService.ListReviews:output_type -> orchestrator.v1.ListReviewsResponse + 81, // 140: orchestrator.v1.PluginReviewService.GetMyReview:output_type -> orchestrator.v1.GetMyReviewResponse + 83, // 141: orchestrator.v1.PluginReviewService.UpsertReview:output_type -> orchestrator.v1.UpsertReviewResponse + 85, // 142: orchestrator.v1.PluginReviewService.DeleteReview:output_type -> orchestrator.v1.DeleteReviewResponse + 87, // 143: orchestrator.v1.PluginReviewService.ReplyToReview:output_type -> orchestrator.v1.ReplyToReviewResponse + 89, // 144: orchestrator.v1.PluginReviewService.DeleteReply:output_type -> orchestrator.v1.DeleteReplyResponse + 91, // 145: orchestrator.v1.PluginReviewService.FlagReview:output_type -> orchestrator.v1.FlagReviewResponse + 100, // 146: orchestrator.v1.PluginPublishService.PublishVersion:output_type -> orchestrator.v1.PublishVersionResponse + 102, // 147: orchestrator.v1.PluginAuthService.StartDevice:output_type -> orchestrator.v1.StartDeviceResponse + 104, // 148: orchestrator.v1.PluginAuthService.PollDevice:output_type -> orchestrator.v1.PollDeviceResponse + 106, // 149: orchestrator.v1.PluginAuthService.ApproveDevice:output_type -> orchestrator.v1.ApproveDeviceResponse + 108, // 150: orchestrator.v1.PluginAuthService.DenyDevice:output_type -> orchestrator.v1.DenyDeviceResponse + 110, // 151: orchestrator.v1.PluginAuthService.GetDeviceStatus:output_type -> orchestrator.v1.GetDeviceStatusResponse + 112, // 152: orchestrator.v1.PluginAuthService.Whoami:output_type -> orchestrator.v1.WhoamiResponse + 115, // 153: orchestrator.v1.PluginAuthService.ListMyAccountsForCLI:output_type -> orchestrator.v1.ListMyAccountsForCLIResponse + 100, // [100:154] is the sub-list for method output_type + 46, // [46:100] is the sub-list for method input_type + 46, // [46:46] is the sub-list for extension type_name + 46, // [46:46] is the sub-list for extension extendee + 0, // [0:46] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_plugin_registry_proto_init() } +func file_orchestrator_v1_plugin_registry_proto_init() { + if File_orchestrator_v1_plugin_registry_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_plugin_registry_proto_rawDesc), len(file_orchestrator_v1_plugin_registry_proto_rawDesc)), + NumEnums: 1, + NumMessages: 123, + NumExtensions: 0, + NumServices: 7, + }, + GoTypes: file_orchestrator_v1_plugin_registry_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_plugin_registry_proto_depIdxs, + EnumInfos: file_orchestrator_v1_plugin_registry_proto_enumTypes, + MessageInfos: file_orchestrator_v1_plugin_registry_proto_msgTypes, + }.Build() + File_orchestrator_v1_plugin_registry_proto = out.File + file_orchestrator_v1_plugin_registry_proto_goTypes = nil + file_orchestrator_v1_plugin_registry_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/push.pb.go b/internal/api/orchestrator/v1/push.pb.go new file mode 100644 index 0000000..5e92320 --- /dev/null +++ b/internal/api/orchestrator/v1/push.pb.go @@ -0,0 +1,876 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/push.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Authorization status +type PollDeviceAuthResponse_Status int32 + +const ( + PollDeviceAuthResponse_STATUS_UNSPECIFIED PollDeviceAuthResponse_Status = 0 + // Still waiting for user to authorize + PollDeviceAuthResponse_STATUS_PENDING PollDeviceAuthResponse_Status = 1 + // User authorized, tokens are available + PollDeviceAuthResponse_STATUS_AUTHORIZED PollDeviceAuthResponse_Status = 2 + // Device code expired + PollDeviceAuthResponse_STATUS_EXPIRED PollDeviceAuthResponse_Status = 3 + // User denied authorization + PollDeviceAuthResponse_STATUS_DENIED PollDeviceAuthResponse_Status = 4 +) + +// Enum value maps for PollDeviceAuthResponse_Status. +var ( + PollDeviceAuthResponse_Status_name = map[int32]string{ + 0: "STATUS_UNSPECIFIED", + 1: "STATUS_PENDING", + 2: "STATUS_AUTHORIZED", + 3: "STATUS_EXPIRED", + 4: "STATUS_DENIED", + } + PollDeviceAuthResponse_Status_value = map[string]int32{ + "STATUS_UNSPECIFIED": 0, + "STATUS_PENDING": 1, + "STATUS_AUTHORIZED": 2, + "STATUS_EXPIRED": 3, + "STATUS_DENIED": 4, + } +) + +func (x PollDeviceAuthResponse_Status) Enum() *PollDeviceAuthResponse_Status { + p := new(PollDeviceAuthResponse_Status) + *p = x + return p +} + +func (x PollDeviceAuthResponse_Status) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PollDeviceAuthResponse_Status) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_push_proto_enumTypes[0].Descriptor() +} + +func (PollDeviceAuthResponse_Status) Type() protoreflect.EnumType { + return &file_orchestrator_v1_push_proto_enumTypes[0] +} + +func (x PollDeviceAuthResponse_Status) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PollDeviceAuthResponse_Status.Descriptor instead. +func (PollDeviceAuthResponse_Status) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_push_proto_rawDescGZIP(), []int{3, 0} +} + +// Provisioning status +type GetProvisioningStatusResponse_Status int32 + +const ( + GetProvisioningStatusResponse_STATUS_UNSPECIFIED GetProvisioningStatusResponse_Status = 0 + // Validating backup file + GetProvisioningStatusResponse_STATUS_VALIDATING GetProvisioningStatusResponse_Status = 1 + // Creating container and database + GetProvisioningStatusResponse_STATUS_PROVISIONING GetProvisioningStatusResponse_Status = 2 + // Restoring backup data + GetProvisioningStatusResponse_STATUS_RESTORING GetProvisioningStatusResponse_Status = 3 + // Configuring routing (Traefik) + GetProvisioningStatusResponse_STATUS_CONFIGURING GetProvisioningStatusResponse_Status = 4 + // Successfully completed + GetProvisioningStatusResponse_STATUS_COMPLETED GetProvisioningStatusResponse_Status = 5 + // Failed with error + GetProvisioningStatusResponse_STATUS_FAILED GetProvisioningStatusResponse_Status = 6 +) + +// Enum value maps for GetProvisioningStatusResponse_Status. +var ( + GetProvisioningStatusResponse_Status_name = map[int32]string{ + 0: "STATUS_UNSPECIFIED", + 1: "STATUS_VALIDATING", + 2: "STATUS_PROVISIONING", + 3: "STATUS_RESTORING", + 4: "STATUS_CONFIGURING", + 5: "STATUS_COMPLETED", + 6: "STATUS_FAILED", + } + GetProvisioningStatusResponse_Status_value = map[string]int32{ + "STATUS_UNSPECIFIED": 0, + "STATUS_VALIDATING": 1, + "STATUS_PROVISIONING": 2, + "STATUS_RESTORING": 3, + "STATUS_CONFIGURING": 4, + "STATUS_COMPLETED": 5, + "STATUS_FAILED": 6, + } +) + +func (x GetProvisioningStatusResponse_Status) Enum() *GetProvisioningStatusResponse_Status { + p := new(GetProvisioningStatusResponse_Status) + *p = x + return p +} + +func (x GetProvisioningStatusResponse_Status) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GetProvisioningStatusResponse_Status) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_push_proto_enumTypes[1].Descriptor() +} + +func (GetProvisioningStatusResponse_Status) Type() protoreflect.EnumType { + return &file_orchestrator_v1_push_proto_enumTypes[1] +} + +func (x GetProvisioningStatusResponse_Status) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GetProvisioningStatusResponse_Status.Descriptor instead. +func (GetProvisioningStatusResponse_Status) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_push_proto_rawDescGZIP(), []int{7, 0} +} + +// StartDeviceAuthRequest initiates device authorization. +type StartDeviceAuthRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Client identifier (e.g., "blockninja-cli") + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartDeviceAuthRequest) Reset() { + *x = StartDeviceAuthRequest{} + mi := &file_orchestrator_v1_push_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartDeviceAuthRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartDeviceAuthRequest) ProtoMessage() {} + +func (x *StartDeviceAuthRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_push_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartDeviceAuthRequest.ProtoReflect.Descriptor instead. +func (*StartDeviceAuthRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_push_proto_rawDescGZIP(), []int{0} +} + +func (x *StartDeviceAuthRequest) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +// StartDeviceAuthResponse contains codes for device authorization. +type StartDeviceAuthResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Unique device code for polling (kept secret, used by CLI) + DeviceCode string `protobuf:"bytes,1,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` + // Short user code displayed in browser (e.g., "ABCD-1234") + UserCode string `protobuf:"bytes,2,opt,name=user_code,json=userCode,proto3" json:"user_code,omitempty"` + // URL where user should authorize (e.g., "https://my.blockninjacms.com/oauth/device") + VerificationUrl string `protobuf:"bytes,3,opt,name=verification_url,json=verificationUrl,proto3" json:"verification_url,omitempty"` + // Seconds until device_code expires (typically 900 = 15 minutes) + ExpiresIn int32 `protobuf:"varint,4,opt,name=expires_in,json=expiresIn,proto3" json:"expires_in,omitempty"` + // Recommended polling interval in seconds (typically 5) + Interval int32 `protobuf:"varint,5,opt,name=interval,proto3" json:"interval,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartDeviceAuthResponse) Reset() { + *x = StartDeviceAuthResponse{} + mi := &file_orchestrator_v1_push_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartDeviceAuthResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartDeviceAuthResponse) ProtoMessage() {} + +func (x *StartDeviceAuthResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_push_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartDeviceAuthResponse.ProtoReflect.Descriptor instead. +func (*StartDeviceAuthResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_push_proto_rawDescGZIP(), []int{1} +} + +func (x *StartDeviceAuthResponse) GetDeviceCode() string { + if x != nil { + return x.DeviceCode + } + return "" +} + +func (x *StartDeviceAuthResponse) GetUserCode() string { + if x != nil { + return x.UserCode + } + return "" +} + +func (x *StartDeviceAuthResponse) GetVerificationUrl() string { + if x != nil { + return x.VerificationUrl + } + return "" +} + +func (x *StartDeviceAuthResponse) GetExpiresIn() int32 { + if x != nil { + return x.ExpiresIn + } + return 0 +} + +func (x *StartDeviceAuthResponse) GetInterval() int32 { + if x != nil { + return x.Interval + } + return 0 +} + +// PollDeviceAuthRequest checks authorization status. +type PollDeviceAuthRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Device code from StartDeviceAuthResponse + DeviceCode string `protobuf:"bytes,1,opt,name=device_code,json=deviceCode,proto3" json:"device_code,omitempty"` + // Client identifier (must match StartDeviceAuthRequest) + ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollDeviceAuthRequest) Reset() { + *x = PollDeviceAuthRequest{} + mi := &file_orchestrator_v1_push_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollDeviceAuthRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollDeviceAuthRequest) ProtoMessage() {} + +func (x *PollDeviceAuthRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_push_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollDeviceAuthRequest.ProtoReflect.Descriptor instead. +func (*PollDeviceAuthRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_push_proto_rawDescGZIP(), []int{2} +} + +func (x *PollDeviceAuthRequest) GetDeviceCode() string { + if x != nil { + return x.DeviceCode + } + return "" +} + +func (x *PollDeviceAuthRequest) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +// PollDeviceAuthResponse returns authorization status and tokens. +type PollDeviceAuthResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status PollDeviceAuthResponse_Status `protobuf:"varint,1,opt,name=status,proto3,enum=orchestrator.v1.PollDeviceAuthResponse_Status" json:"status,omitempty"` + // JWT access token (only set when status = AUTHORIZED) + AccessToken *string `protobuf:"bytes,2,opt,name=access_token,json=accessToken,proto3,oneof" json:"access_token,omitempty"` + // JWT refresh token (only set when status = AUTHORIZED) + RefreshToken *string `protobuf:"bytes,3,opt,name=refresh_token,json=refreshToken,proto3,oneof" json:"refresh_token,omitempty"` + // Token expiration time (only set when status = AUTHORIZED) + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=expires_at,json=expiresAt,proto3,oneof" json:"expires_at,omitempty"` + // Error message if status is EXPIRED or DENIED + Error *string `protobuf:"bytes,5,opt,name=error,proto3,oneof" json:"error,omitempty"` + // User email (only set when status = AUTHORIZED) + UserEmail *string `protobuf:"bytes,6,opt,name=user_email,json=userEmail,proto3,oneof" json:"user_email,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollDeviceAuthResponse) Reset() { + *x = PollDeviceAuthResponse{} + mi := &file_orchestrator_v1_push_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollDeviceAuthResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollDeviceAuthResponse) ProtoMessage() {} + +func (x *PollDeviceAuthResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_push_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollDeviceAuthResponse.ProtoReflect.Descriptor instead. +func (*PollDeviceAuthResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_push_proto_rawDescGZIP(), []int{3} +} + +func (x *PollDeviceAuthResponse) GetStatus() PollDeviceAuthResponse_Status { + if x != nil { + return x.Status + } + return PollDeviceAuthResponse_STATUS_UNSPECIFIED +} + +func (x *PollDeviceAuthResponse) GetAccessToken() string { + if x != nil && x.AccessToken != nil { + return *x.AccessToken + } + return "" +} + +func (x *PollDeviceAuthResponse) GetRefreshToken() string { + if x != nil && x.RefreshToken != nil { + return *x.RefreshToken + } + return "" +} + +func (x *PollDeviceAuthResponse) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +func (x *PollDeviceAuthResponse) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +func (x *PollDeviceAuthResponse) GetUserEmail() string { + if x != nil && x.UserEmail != nil { + return *x.UserEmail + } + return "" +} + +// ProvisionFromBackupRequest creates an instance from an uploaded backup. +type ProvisionFromBackupRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Target account ID (must have access) + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + // Upload key from HTTP upload response + UploadKey string `protobuf:"bytes,2,opt,name=upload_key,json=uploadKey,proto3" json:"upload_key,omitempty"` + // Password to decrypt the backup + BackupPassword string `protobuf:"bytes,3,opt,name=backup_password,json=backupPassword,proto3" json:"backup_password,omitempty"` + // Instance display name + InstanceName string `protobuf:"bytes,4,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"` + // Instance slug (URL-safe identifier) + InstanceSlug string `protobuf:"bytes,5,opt,name=instance_slug,json=instanceSlug,proto3" json:"instance_slug,omitempty"` + // Optional plan ID (defaults to free plan) + PlanId *string `protobuf:"bytes,6,opt,name=plan_id,json=planId,proto3,oneof" json:"plan_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProvisionFromBackupRequest) Reset() { + *x = ProvisionFromBackupRequest{} + mi := &file_orchestrator_v1_push_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProvisionFromBackupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProvisionFromBackupRequest) ProtoMessage() {} + +func (x *ProvisionFromBackupRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_push_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProvisionFromBackupRequest.ProtoReflect.Descriptor instead. +func (*ProvisionFromBackupRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_push_proto_rawDescGZIP(), []int{4} +} + +func (x *ProvisionFromBackupRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *ProvisionFromBackupRequest) GetUploadKey() string { + if x != nil { + return x.UploadKey + } + return "" +} + +func (x *ProvisionFromBackupRequest) GetBackupPassword() string { + if x != nil { + return x.BackupPassword + } + return "" +} + +func (x *ProvisionFromBackupRequest) GetInstanceName() string { + if x != nil { + return x.InstanceName + } + return "" +} + +func (x *ProvisionFromBackupRequest) GetInstanceSlug() string { + if x != nil { + return x.InstanceSlug + } + return "" +} + +func (x *ProvisionFromBackupRequest) GetPlanId() string { + if x != nil && x.PlanId != nil { + return *x.PlanId + } + return "" +} + +// ProvisionFromBackupResponse returns tracking information. +type ProvisionFromBackupResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // New instance ID + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + // Tracking ID for status polling + TrackingId string `protobuf:"bytes,2,opt,name=tracking_id,json=trackingId,proto3" json:"tracking_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProvisionFromBackupResponse) Reset() { + *x = ProvisionFromBackupResponse{} + mi := &file_orchestrator_v1_push_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProvisionFromBackupResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProvisionFromBackupResponse) ProtoMessage() {} + +func (x *ProvisionFromBackupResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_push_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProvisionFromBackupResponse.ProtoReflect.Descriptor instead. +func (*ProvisionFromBackupResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_push_proto_rawDescGZIP(), []int{5} +} + +func (x *ProvisionFromBackupResponse) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *ProvisionFromBackupResponse) GetTrackingId() string { + if x != nil { + return x.TrackingId + } + return "" +} + +// GetProvisioningStatusRequest queries provisioning progress. +type GetProvisioningStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Tracking ID from ProvisionFromBackupResponse + TrackingId string `protobuf:"bytes,1,opt,name=tracking_id,json=trackingId,proto3" json:"tracking_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetProvisioningStatusRequest) Reset() { + *x = GetProvisioningStatusRequest{} + mi := &file_orchestrator_v1_push_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetProvisioningStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProvisioningStatusRequest) ProtoMessage() {} + +func (x *GetProvisioningStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_push_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProvisioningStatusRequest.ProtoReflect.Descriptor instead. +func (*GetProvisioningStatusRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_push_proto_rawDescGZIP(), []int{6} +} + +func (x *GetProvisioningStatusRequest) GetTrackingId() string { + if x != nil { + return x.TrackingId + } + return "" +} + +// GetProvisioningStatusResponse returns current provisioning status. +type GetProvisioningStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status GetProvisioningStatusResponse_Status `protobuf:"varint,1,opt,name=status,proto3,enum=orchestrator.v1.GetProvisioningStatusResponse_Status" json:"status,omitempty"` + // Progress percentage (0-100) + ProgressPercent int32 `protobuf:"varint,2,opt,name=progress_percent,json=progressPercent,proto3" json:"progress_percent,omitempty"` + // Current step description (e.g., "Creating database...") + CurrentStep string `protobuf:"bytes,3,opt,name=current_step,json=currentStep,proto3" json:"current_step,omitempty"` + // Error message if status = FAILED + Error *string `protobuf:"bytes,4,opt,name=error,proto3,oneof" json:"error,omitempty"` + // Instance ID (set when status = COMPLETED) + InstanceId *string `protobuf:"bytes,5,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"` + // Site URL (set when status = COMPLETED) + SiteUrl *string `protobuf:"bytes,6,opt,name=site_url,json=siteUrl,proto3,oneof" json:"site_url,omitempty"` + // Admin URL (set when status = COMPLETED) + AdminUrl *string `protobuf:"bytes,7,opt,name=admin_url,json=adminUrl,proto3,oneof" json:"admin_url,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetProvisioningStatusResponse) Reset() { + *x = GetProvisioningStatusResponse{} + mi := &file_orchestrator_v1_push_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetProvisioningStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProvisioningStatusResponse) ProtoMessage() {} + +func (x *GetProvisioningStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_push_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProvisioningStatusResponse.ProtoReflect.Descriptor instead. +func (*GetProvisioningStatusResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_push_proto_rawDescGZIP(), []int{7} +} + +func (x *GetProvisioningStatusResponse) GetStatus() GetProvisioningStatusResponse_Status { + if x != nil { + return x.Status + } + return GetProvisioningStatusResponse_STATUS_UNSPECIFIED +} + +func (x *GetProvisioningStatusResponse) GetProgressPercent() int32 { + if x != nil { + return x.ProgressPercent + } + return 0 +} + +func (x *GetProvisioningStatusResponse) GetCurrentStep() string { + if x != nil { + return x.CurrentStep + } + return "" +} + +func (x *GetProvisioningStatusResponse) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +func (x *GetProvisioningStatusResponse) GetInstanceId() string { + if x != nil && x.InstanceId != nil { + return *x.InstanceId + } + return "" +} + +func (x *GetProvisioningStatusResponse) GetSiteUrl() string { + if x != nil && x.SiteUrl != nil { + return *x.SiteUrl + } + return "" +} + +func (x *GetProvisioningStatusResponse) GetAdminUrl() string { + if x != nil && x.AdminUrl != nil { + return *x.AdminUrl + } + return "" +} + +var File_orchestrator_v1_push_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_push_proto_rawDesc = "" + + "\n" + + "\x1aorchestrator/v1/push.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"5\n" + + "\x16StartDeviceAuthRequest\x12\x1b\n" + + "\tclient_id\x18\x01 \x01(\tR\bclientId\"\xbd\x01\n" + + "\x17StartDeviceAuthResponse\x12\x1f\n" + + "\vdevice_code\x18\x01 \x01(\tR\n" + + "deviceCode\x12\x1b\n" + + "\tuser_code\x18\x02 \x01(\tR\buserCode\x12)\n" + + "\x10verification_url\x18\x03 \x01(\tR\x0fverificationUrl\x12\x1d\n" + + "\n" + + "expires_in\x18\x04 \x01(\x05R\texpiresIn\x12\x1a\n" + + "\binterval\x18\x05 \x01(\x05R\binterval\"U\n" + + "\x15PollDeviceAuthRequest\x12\x1f\n" + + "\vdevice_code\x18\x01 \x01(\tR\n" + + "deviceCode\x12\x1b\n" + + "\tclient_id\x18\x02 \x01(\tR\bclientId\"\xf0\x03\n" + + "\x16PollDeviceAuthResponse\x12F\n" + + "\x06status\x18\x01 \x01(\x0e2..orchestrator.v1.PollDeviceAuthResponse.StatusR\x06status\x12&\n" + + "\faccess_token\x18\x02 \x01(\tH\x00R\vaccessToken\x88\x01\x01\x12(\n" + + "\rrefresh_token\x18\x03 \x01(\tH\x01R\frefreshToken\x88\x01\x01\x12>\n" + + "\n" + + "expires_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampH\x02R\texpiresAt\x88\x01\x01\x12\x19\n" + + "\x05error\x18\x05 \x01(\tH\x03R\x05error\x88\x01\x01\x12\"\n" + + "\n" + + "user_email\x18\x06 \x01(\tH\x04R\tuserEmail\x88\x01\x01\"r\n" + + "\x06Status\x12\x16\n" + + "\x12STATUS_UNSPECIFIED\x10\x00\x12\x12\n" + + "\x0eSTATUS_PENDING\x10\x01\x12\x15\n" + + "\x11STATUS_AUTHORIZED\x10\x02\x12\x12\n" + + "\x0eSTATUS_EXPIRED\x10\x03\x12\x11\n" + + "\rSTATUS_DENIED\x10\x04B\x0f\n" + + "\r_access_tokenB\x10\n" + + "\x0e_refresh_tokenB\r\n" + + "\v_expires_atB\b\n" + + "\x06_errorB\r\n" + + "\v_user_email\"\xf7\x01\n" + + "\x1aProvisionFromBackupRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12\x1d\n" + + "\n" + + "upload_key\x18\x02 \x01(\tR\tuploadKey\x12'\n" + + "\x0fbackup_password\x18\x03 \x01(\tR\x0ebackupPassword\x12#\n" + + "\rinstance_name\x18\x04 \x01(\tR\finstanceName\x12#\n" + + "\rinstance_slug\x18\x05 \x01(\tR\finstanceSlug\x12\x1c\n" + + "\aplan_id\x18\x06 \x01(\tH\x00R\x06planId\x88\x01\x01B\n" + + "\n" + + "\b_plan_id\"_\n" + + "\x1bProvisionFromBackupResponse\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x1f\n" + + "\vtracking_id\x18\x02 \x01(\tR\n" + + "trackingId\"?\n" + + "\x1cGetProvisioningStatusRequest\x12\x1f\n" + + "\vtracking_id\x18\x01 \x01(\tR\n" + + "trackingId\"\x9e\x04\n" + + "\x1dGetProvisioningStatusResponse\x12M\n" + + "\x06status\x18\x01 \x01(\x0e25.orchestrator.v1.GetProvisioningStatusResponse.StatusR\x06status\x12)\n" + + "\x10progress_percent\x18\x02 \x01(\x05R\x0fprogressPercent\x12!\n" + + "\fcurrent_step\x18\x03 \x01(\tR\vcurrentStep\x12\x19\n" + + "\x05error\x18\x04 \x01(\tH\x00R\x05error\x88\x01\x01\x12$\n" + + "\vinstance_id\x18\x05 \x01(\tH\x01R\n" + + "instanceId\x88\x01\x01\x12\x1e\n" + + "\bsite_url\x18\x06 \x01(\tH\x02R\asiteUrl\x88\x01\x01\x12 \n" + + "\tadmin_url\x18\a \x01(\tH\x03R\badminUrl\x88\x01\x01\"\xa7\x01\n" + + "\x06Status\x12\x16\n" + + "\x12STATUS_UNSPECIFIED\x10\x00\x12\x15\n" + + "\x11STATUS_VALIDATING\x10\x01\x12\x17\n" + + "\x13STATUS_PROVISIONING\x10\x02\x12\x14\n" + + "\x10STATUS_RESTORING\x10\x03\x12\x16\n" + + "\x12STATUS_CONFIGURING\x10\x04\x12\x14\n" + + "\x10STATUS_COMPLETED\x10\x05\x12\x11\n" + + "\rSTATUS_FAILED\x10\x06B\b\n" + + "\x06_errorB\x0e\n" + + "\f_instance_idB\v\n" + + "\t_site_urlB\f\n" + + "\n" + + "_admin_url2\xc0\x03\n" + + "\vPushService\x12d\n" + + "\x0fStartDeviceAuth\x12'.orchestrator.v1.StartDeviceAuthRequest\x1a(.orchestrator.v1.StartDeviceAuthResponse\x12a\n" + + "\x0ePollDeviceAuth\x12&.orchestrator.v1.PollDeviceAuthRequest\x1a'.orchestrator.v1.PollDeviceAuthResponse\x12p\n" + + "\x13ProvisionFromBackup\x12+.orchestrator.v1.ProvisionFromBackupRequest\x1a,.orchestrator.v1.ProvisionFromBackupResponse\x12v\n" + + "\x15GetProvisioningStatus\x12-.orchestrator.v1.GetProvisioningStatusRequest\x1a..orchestrator.v1.GetProvisioningStatusResponseB\xcc\x01\n" + + "\x13com.orchestrator.v1B\tPushProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_push_proto_rawDescOnce sync.Once + file_orchestrator_v1_push_proto_rawDescData []byte +) + +func file_orchestrator_v1_push_proto_rawDescGZIP() []byte { + file_orchestrator_v1_push_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_push_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_push_proto_rawDesc), len(file_orchestrator_v1_push_proto_rawDesc))) + }) + return file_orchestrator_v1_push_proto_rawDescData +} + +var file_orchestrator_v1_push_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_orchestrator_v1_push_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_orchestrator_v1_push_proto_goTypes = []any{ + (PollDeviceAuthResponse_Status)(0), // 0: orchestrator.v1.PollDeviceAuthResponse.Status + (GetProvisioningStatusResponse_Status)(0), // 1: orchestrator.v1.GetProvisioningStatusResponse.Status + (*StartDeviceAuthRequest)(nil), // 2: orchestrator.v1.StartDeviceAuthRequest + (*StartDeviceAuthResponse)(nil), // 3: orchestrator.v1.StartDeviceAuthResponse + (*PollDeviceAuthRequest)(nil), // 4: orchestrator.v1.PollDeviceAuthRequest + (*PollDeviceAuthResponse)(nil), // 5: orchestrator.v1.PollDeviceAuthResponse + (*ProvisionFromBackupRequest)(nil), // 6: orchestrator.v1.ProvisionFromBackupRequest + (*ProvisionFromBackupResponse)(nil), // 7: orchestrator.v1.ProvisionFromBackupResponse + (*GetProvisioningStatusRequest)(nil), // 8: orchestrator.v1.GetProvisioningStatusRequest + (*GetProvisioningStatusResponse)(nil), // 9: orchestrator.v1.GetProvisioningStatusResponse + (*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp +} +var file_orchestrator_v1_push_proto_depIdxs = []int32{ + 0, // 0: orchestrator.v1.PollDeviceAuthResponse.status:type_name -> orchestrator.v1.PollDeviceAuthResponse.Status + 10, // 1: orchestrator.v1.PollDeviceAuthResponse.expires_at:type_name -> google.protobuf.Timestamp + 1, // 2: orchestrator.v1.GetProvisioningStatusResponse.status:type_name -> orchestrator.v1.GetProvisioningStatusResponse.Status + 2, // 3: orchestrator.v1.PushService.StartDeviceAuth:input_type -> orchestrator.v1.StartDeviceAuthRequest + 4, // 4: orchestrator.v1.PushService.PollDeviceAuth:input_type -> orchestrator.v1.PollDeviceAuthRequest + 6, // 5: orchestrator.v1.PushService.ProvisionFromBackup:input_type -> orchestrator.v1.ProvisionFromBackupRequest + 8, // 6: orchestrator.v1.PushService.GetProvisioningStatus:input_type -> orchestrator.v1.GetProvisioningStatusRequest + 3, // 7: orchestrator.v1.PushService.StartDeviceAuth:output_type -> orchestrator.v1.StartDeviceAuthResponse + 5, // 8: orchestrator.v1.PushService.PollDeviceAuth:output_type -> orchestrator.v1.PollDeviceAuthResponse + 7, // 9: orchestrator.v1.PushService.ProvisionFromBackup:output_type -> orchestrator.v1.ProvisionFromBackupResponse + 9, // 10: orchestrator.v1.PushService.GetProvisioningStatus:output_type -> orchestrator.v1.GetProvisioningStatusResponse + 7, // [7:11] is the sub-list for method output_type + 3, // [3:7] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_push_proto_init() } +func file_orchestrator_v1_push_proto_init() { + if File_orchestrator_v1_push_proto != nil { + return + } + file_orchestrator_v1_push_proto_msgTypes[3].OneofWrappers = []any{} + file_orchestrator_v1_push_proto_msgTypes[4].OneofWrappers = []any{} + file_orchestrator_v1_push_proto_msgTypes[7].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_push_proto_rawDesc), len(file_orchestrator_v1_push_proto_rawDesc)), + NumEnums: 2, + NumMessages: 8, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_push_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_push_proto_depIdxs, + EnumInfos: file_orchestrator_v1_push_proto_enumTypes, + MessageInfos: file_orchestrator_v1_push_proto_msgTypes, + }.Build() + File_orchestrator_v1_push_proto = out.File + file_orchestrator_v1_push_proto_goTypes = nil + file_orchestrator_v1_push_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/registry.pb.go b/internal/api/orchestrator/v1/registry.pb.go new file mode 100644 index 0000000..8f978ed --- /dev/null +++ b/internal/api/orchestrator/v1/registry.pb.go @@ -0,0 +1,1306 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/registry.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Package represents a container image package in the registry +type Package struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Owner string `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` + VersionCount int64 `protobuf:"varint,5,opt,name=version_count,json=versionCount,proto3" json:"version_count,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Package) Reset() { + *x = Package{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Package) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Package) ProtoMessage() {} + +func (x *Package) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Package.ProtoReflect.Descriptor instead. +func (*Package) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{0} +} + +func (x *Package) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Package) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +func (x *Package) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Package) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Package) GetVersionCount() int64 { + if x != nil { + return x.VersionCount + } + return 0 +} + +func (x *Package) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +// PackageVersion represents a specific version/tag of a package +type PackageVersion struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Size int64 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` + Digest string `protobuf:"bytes,5,opt,name=digest,proto3" json:"digest,omitempty"` + // For container images, this is the tag + Tag string `protobuf:"bytes,6,opt,name=tag,proto3" json:"tag,omitempty"` + // Human-readable labels read from OCI image labels at the registry. + ReleaseName string `protobuf:"bytes,7,opt,name=release_name,json=releaseName,proto3" json:"release_name,omitempty"` // from org.blockninja.release-name + PatchTag string `protobuf:"bytes,8,opt,name=patch_tag,json=patchTag,proto3" json:"patch_tag,omitempty"` // from org.blockninja.patch-tag + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PackageVersion) Reset() { + *x = PackageVersion{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PackageVersion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PackageVersion) ProtoMessage() {} + +func (x *PackageVersion) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PackageVersion.ProtoReflect.Descriptor instead. +func (*PackageVersion) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{1} +} + +func (x *PackageVersion) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *PackageVersion) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *PackageVersion) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *PackageVersion) GetSize() int64 { + if x != nil { + return x.Size + } + return 0 +} + +func (x *PackageVersion) GetDigest() string { + if x != nil { + return x.Digest + } + return "" +} + +func (x *PackageVersion) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *PackageVersion) GetReleaseName() string { + if x != nil { + return x.ReleaseName + } + return "" +} + +func (x *PackageVersion) GetPatchTag() string { + if x != nil { + return x.PatchTag + } + return "" +} + +type ListPackagesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Filter by package type (e.g., "container") + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Search query + Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"` + PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPackagesRequest) Reset() { + *x = ListPackagesRequest{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPackagesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPackagesRequest) ProtoMessage() {} + +func (x *ListPackagesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPackagesRequest.ProtoReflect.Descriptor instead. +func (*ListPackagesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{2} +} + +func (x *ListPackagesRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ListPackagesRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *ListPackagesRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListPackagesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +type ListPackagesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Packages []*Package `protobuf:"bytes,1,rep,name=packages,proto3" json:"packages,omitempty"` + Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPackagesResponse) Reset() { + *x = ListPackagesResponse{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPackagesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPackagesResponse) ProtoMessage() {} + +func (x *ListPackagesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPackagesResponse.ProtoReflect.Descriptor instead. +func (*ListPackagesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{3} +} + +func (x *ListPackagesResponse) GetPackages() []*Package { + if x != nil { + return x.Packages + } + return nil +} + +func (x *ListPackagesResponse) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +type ListPackageVersionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Page int32 `protobuf:"varint,4,opt,name=page,proto3" json:"page,omitempty"` + PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPackageVersionsRequest) Reset() { + *x = ListPackageVersionsRequest{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPackageVersionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPackageVersionsRequest) ProtoMessage() {} + +func (x *ListPackageVersionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPackageVersionsRequest.ProtoReflect.Descriptor instead. +func (*ListPackageVersionsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{4} +} + +func (x *ListPackageVersionsRequest) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +func (x *ListPackageVersionsRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ListPackageVersionsRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListPackageVersionsRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListPackageVersionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +type ListPackageVersionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Versions []*PackageVersion `protobuf:"bytes,1,rep,name=versions,proto3" json:"versions,omitempty"` + Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPackageVersionsResponse) Reset() { + *x = ListPackageVersionsResponse{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPackageVersionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPackageVersionsResponse) ProtoMessage() {} + +func (x *ListPackageVersionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPackageVersionsResponse.ProtoReflect.Descriptor instead. +func (*ListPackageVersionsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{5} +} + +func (x *ListPackageVersionsResponse) GetVersions() []*PackageVersion { + if x != nil { + return x.Versions + } + return nil +} + +func (x *ListPackageVersionsResponse) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +type DeletePackageVersionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeletePackageVersionRequest) Reset() { + *x = DeletePackageVersionRequest{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeletePackageVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePackageVersionRequest) ProtoMessage() {} + +func (x *DeletePackageVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePackageVersionRequest.ProtoReflect.Descriptor instead. +func (*DeletePackageVersionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{6} +} + +func (x *DeletePackageVersionRequest) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +func (x *DeletePackageVersionRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *DeletePackageVersionRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeletePackageVersionRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type DeletePackageVersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeletePackageVersionResponse) Reset() { + *x = DeletePackageVersionResponse{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeletePackageVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeletePackageVersionResponse) ProtoMessage() {} + +func (x *DeletePackageVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeletePackageVersionResponse.ProtoReflect.Descriptor instead. +func (*DeletePackageVersionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{7} +} + +func (x *DeletePackageVersionResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +type BulkDeletePackageVersionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // Versions to delete + Versions []string `protobuf:"bytes,4,rep,name=versions,proto3" json:"versions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BulkDeletePackageVersionsRequest) Reset() { + *x = BulkDeletePackageVersionsRequest{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BulkDeletePackageVersionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BulkDeletePackageVersionsRequest) ProtoMessage() {} + +func (x *BulkDeletePackageVersionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BulkDeletePackageVersionsRequest.ProtoReflect.Descriptor instead. +func (*BulkDeletePackageVersionsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{8} +} + +func (x *BulkDeletePackageVersionsRequest) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +func (x *BulkDeletePackageVersionsRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *BulkDeletePackageVersionsRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *BulkDeletePackageVersionsRequest) GetVersions() []string { + if x != nil { + return x.Versions + } + return nil +} + +type BulkDeletePackageVersionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + DeletedCount int32 `protobuf:"varint,1,opt,name=deleted_count,json=deletedCount,proto3" json:"deleted_count,omitempty"` + FailedVersions []string `protobuf:"bytes,2,rep,name=failed_versions,json=failedVersions,proto3" json:"failed_versions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BulkDeletePackageVersionsResponse) Reset() { + *x = BulkDeletePackageVersionsResponse{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BulkDeletePackageVersionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BulkDeletePackageVersionsResponse) ProtoMessage() {} + +func (x *BulkDeletePackageVersionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BulkDeletePackageVersionsResponse.ProtoReflect.Descriptor instead. +func (*BulkDeletePackageVersionsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{9} +} + +func (x *BulkDeletePackageVersionsResponse) GetDeletedCount() int32 { + if x != nil { + return x.DeletedCount + } + return 0 +} + +func (x *BulkDeletePackageVersionsResponse) GetFailedVersions() []string { + if x != nil { + return x.FailedVersions + } + return nil +} + +type GetRegistryStatsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetRegistryStatsRequest) Reset() { + *x = GetRegistryStatsRequest{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetRegistryStatsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRegistryStatsRequest) ProtoMessage() {} + +func (x *GetRegistryStatsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRegistryStatsRequest.ProtoReflect.Descriptor instead. +func (*GetRegistryStatsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{10} +} + +type GetRegistryStatsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + TotalPackages int64 `protobuf:"varint,1,opt,name=total_packages,json=totalPackages,proto3" json:"total_packages,omitempty"` + TotalVersions int64 `protobuf:"varint,2,opt,name=total_versions,json=totalVersions,proto3" json:"total_versions,omitempty"` + TotalSizeBytes int64 `protobuf:"varint,3,opt,name=total_size_bytes,json=totalSizeBytes,proto3" json:"total_size_bytes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetRegistryStatsResponse) Reset() { + *x = GetRegistryStatsResponse{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetRegistryStatsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRegistryStatsResponse) ProtoMessage() {} + +func (x *GetRegistryStatsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRegistryStatsResponse.ProtoReflect.Descriptor instead. +func (*GetRegistryStatsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{11} +} + +func (x *GetRegistryStatsResponse) GetTotalPackages() int64 { + if x != nil { + return x.TotalPackages + } + return 0 +} + +func (x *GetRegistryStatsResponse) GetTotalVersions() int64 { + if x != nil { + return x.TotalVersions + } + return 0 +} + +func (x *GetRegistryStatsResponse) GetTotalSizeBytes() int64 { + if x != nil { + return x.TotalSizeBytes + } + return 0 +} + +type GetContainerStatsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetContainerStatsRequest) Reset() { + *x = GetContainerStatsRequest{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetContainerStatsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetContainerStatsRequest) ProtoMessage() {} + +func (x *GetContainerStatsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetContainerStatsRequest.ProtoReflect.Descriptor instead. +func (*GetContainerStatsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{12} +} + +type GetContainerStatsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Per-node breakdown + Nodes []*NodeContainerStats `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` + // Totals across all nodes + TotalRunning int32 `protobuf:"varint,2,opt,name=total_running,json=totalRunning,proto3" json:"total_running,omitempty"` + TotalStopped int32 `protobuf:"varint,3,opt,name=total_stopped,json=totalStopped,proto3" json:"total_stopped,omitempty"` + TotalContainers int32 `protobuf:"varint,4,opt,name=total_containers,json=totalContainers,proto3" json:"total_containers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetContainerStatsResponse) Reset() { + *x = GetContainerStatsResponse{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetContainerStatsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetContainerStatsResponse) ProtoMessage() {} + +func (x *GetContainerStatsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetContainerStatsResponse.ProtoReflect.Descriptor instead. +func (*GetContainerStatsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{13} +} + +func (x *GetContainerStatsResponse) GetNodes() []*NodeContainerStats { + if x != nil { + return x.Nodes + } + return nil +} + +func (x *GetContainerStatsResponse) GetTotalRunning() int32 { + if x != nil { + return x.TotalRunning + } + return 0 +} + +func (x *GetContainerStatsResponse) GetTotalStopped() int32 { + if x != nil { + return x.TotalStopped + } + return 0 +} + +func (x *GetContainerStatsResponse) GetTotalContainers() int32 { + if x != nil { + return x.TotalContainers + } + return 0 +} + +type NodeContainerStats struct { + state protoimpl.MessageState `protogen:"open.v1"` + NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + NodeName string `protobuf:"bytes,2,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"` + NodeSlug string `protobuf:"bytes,3,opt,name=node_slug,json=nodeSlug,proto3" json:"node_slug,omitempty"` + NodeStatus string `protobuf:"bytes,4,opt,name=node_status,json=nodeStatus,proto3" json:"node_status,omitempty"` // active, draining, offline, error + NodeRegion string `protobuf:"bytes,5,opt,name=node_region,json=nodeRegion,proto3" json:"node_region,omitempty"` + Running int32 `protobuf:"varint,6,opt,name=running,proto3" json:"running,omitempty"` + Stopped int32 `protobuf:"varint,7,opt,name=stopped,proto3" json:"stopped,omitempty"` + Other int32 `protobuf:"varint,8,opt,name=other,proto3" json:"other,omitempty"` // created, paused, exited, dead, etc. + Total int32 `protobuf:"varint,9,opt,name=total,proto3" json:"total,omitempty"` + Reachable bool `protobuf:"varint,10,opt,name=reachable,proto3" json:"reachable,omitempty"` // whether we could connect to the node + Error string `protobuf:"bytes,11,opt,name=error,proto3" json:"error,omitempty"` // error message if unreachable + Containers []*ContainerSummary `protobuf:"bytes,12,rep,name=containers,proto3" json:"containers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeContainerStats) Reset() { + *x = NodeContainerStats{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeContainerStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeContainerStats) ProtoMessage() {} + +func (x *NodeContainerStats) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeContainerStats.ProtoReflect.Descriptor instead. +func (*NodeContainerStats) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{14} +} + +func (x *NodeContainerStats) GetNodeId() string { + if x != nil { + return x.NodeId + } + return "" +} + +func (x *NodeContainerStats) GetNodeName() string { + if x != nil { + return x.NodeName + } + return "" +} + +func (x *NodeContainerStats) GetNodeSlug() string { + if x != nil { + return x.NodeSlug + } + return "" +} + +func (x *NodeContainerStats) GetNodeStatus() string { + if x != nil { + return x.NodeStatus + } + return "" +} + +func (x *NodeContainerStats) GetNodeRegion() string { + if x != nil { + return x.NodeRegion + } + return "" +} + +func (x *NodeContainerStats) GetRunning() int32 { + if x != nil { + return x.Running + } + return 0 +} + +func (x *NodeContainerStats) GetStopped() int32 { + if x != nil { + return x.Stopped + } + return 0 +} + +func (x *NodeContainerStats) GetOther() int32 { + if x != nil { + return x.Other + } + return 0 +} + +func (x *NodeContainerStats) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *NodeContainerStats) GetReachable() bool { + if x != nil { + return x.Reachable + } + return false +} + +func (x *NodeContainerStats) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *NodeContainerStats) GetContainers() []*ContainerSummary { + if x != nil { + return x.Containers + } + return nil +} + +type ContainerSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` + State string `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"` // running, stopped, exited, etc. + Health string `protobuf:"bytes,5,opt,name=health,proto3" json:"health,omitempty"` // healthy, unhealthy, starting, "" + InstanceId string `protobuf:"bytes,6,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` // from label, if managed by orchestrator + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ContainerSummary) Reset() { + *x = ContainerSummary{} + mi := &file_orchestrator_v1_registry_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContainerSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContainerSummary) ProtoMessage() {} + +func (x *ContainerSummary) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_registry_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContainerSummary.ProtoReflect.Descriptor instead. +func (*ContainerSummary) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_registry_proto_rawDescGZIP(), []int{15} +} + +func (x *ContainerSummary) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ContainerSummary) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ContainerSummary) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + +func (x *ContainerSummary) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *ContainerSummary) GetHealth() string { + if x != nil { + return x.Health + } + return "" +} + +func (x *ContainerSummary) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *ContainerSummary) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +var File_orchestrator_v1_registry_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_registry_proto_rawDesc = "" + + "\n" + + "\x1eorchestrator/v1/registry.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb7\x01\n" + + "\aPackage\x12\x0e\n" + + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x14\n" + + "\x05owner\x18\x02 \x01(\tR\x05owner\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12\x12\n" + + "\x04type\x18\x04 \x01(\tR\x04type\x12#\n" + + "\rversion_count\x18\x05 \x01(\x03R\fversionCount\x129\n" + + "\n" + + "created_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\"\xf3\x01\n" + + "\x0ePackageVersion\x12\x0e\n" + + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x18\n" + + "\aversion\x18\x02 \x01(\tR\aversion\x129\n" + + "\n" + + "created_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x12\n" + + "\x04size\x18\x04 \x01(\x03R\x04size\x12\x16\n" + + "\x06digest\x18\x05 \x01(\tR\x06digest\x12\x10\n" + + "\x03tag\x18\x06 \x01(\tR\x03tag\x12!\n" + + "\frelease_name\x18\a \x01(\tR\vreleaseName\x12\x1b\n" + + "\tpatch_tag\x18\b \x01(\tR\bpatchTag\"p\n" + + "\x13ListPackagesRequest\x12\x12\n" + + "\x04type\x18\x01 \x01(\tR\x04type\x12\x14\n" + + "\x05query\x18\x02 \x01(\tR\x05query\x12\x12\n" + + "\x04page\x18\x03 \x01(\x05R\x04page\x12\x1b\n" + + "\tpage_size\x18\x04 \x01(\x05R\bpageSize\"b\n" + + "\x14ListPackagesResponse\x124\n" + + "\bpackages\x18\x01 \x03(\v2\x18.orchestrator.v1.PackageR\bpackages\x12\x14\n" + + "\x05total\x18\x02 \x01(\x03R\x05total\"\x8b\x01\n" + + "\x1aListPackageVersionsRequest\x12\x14\n" + + "\x05owner\x18\x01 \x01(\tR\x05owner\x12\x12\n" + + "\x04type\x18\x02 \x01(\tR\x04type\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12\x12\n" + + "\x04page\x18\x04 \x01(\x05R\x04page\x12\x1b\n" + + "\tpage_size\x18\x05 \x01(\x05R\bpageSize\"p\n" + + "\x1bListPackageVersionsResponse\x12;\n" + + "\bversions\x18\x01 \x03(\v2\x1f.orchestrator.v1.PackageVersionR\bversions\x12\x14\n" + + "\x05total\x18\x02 \x01(\x03R\x05total\"u\n" + + "\x1bDeletePackageVersionRequest\x12\x14\n" + + "\x05owner\x18\x01 \x01(\tR\x05owner\x12\x12\n" + + "\x04type\x18\x02 \x01(\tR\x04type\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12\x18\n" + + "\aversion\x18\x04 \x01(\tR\aversion\"8\n" + + "\x1cDeletePackageVersionResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\"|\n" + + " BulkDeletePackageVersionsRequest\x12\x14\n" + + "\x05owner\x18\x01 \x01(\tR\x05owner\x12\x12\n" + + "\x04type\x18\x02 \x01(\tR\x04type\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12\x1a\n" + + "\bversions\x18\x04 \x03(\tR\bversions\"q\n" + + "!BulkDeletePackageVersionsResponse\x12#\n" + + "\rdeleted_count\x18\x01 \x01(\x05R\fdeletedCount\x12'\n" + + "\x0ffailed_versions\x18\x02 \x03(\tR\x0efailedVersions\"\x19\n" + + "\x17GetRegistryStatsRequest\"\x92\x01\n" + + "\x18GetRegistryStatsResponse\x12%\n" + + "\x0etotal_packages\x18\x01 \x01(\x03R\rtotalPackages\x12%\n" + + "\x0etotal_versions\x18\x02 \x01(\x03R\rtotalVersions\x12(\n" + + "\x10total_size_bytes\x18\x03 \x01(\x03R\x0etotalSizeBytes\"\x1a\n" + + "\x18GetContainerStatsRequest\"\xcb\x01\n" + + "\x19GetContainerStatsResponse\x129\n" + + "\x05nodes\x18\x01 \x03(\v2#.orchestrator.v1.NodeContainerStatsR\x05nodes\x12#\n" + + "\rtotal_running\x18\x02 \x01(\x05R\ftotalRunning\x12#\n" + + "\rtotal_stopped\x18\x03 \x01(\x05R\ftotalStopped\x12)\n" + + "\x10total_containers\x18\x04 \x01(\x05R\x0ftotalContainers\"\x80\x03\n" + + "\x12NodeContainerStats\x12\x17\n" + + "\anode_id\x18\x01 \x01(\tR\x06nodeId\x12\x1b\n" + + "\tnode_name\x18\x02 \x01(\tR\bnodeName\x12\x1b\n" + + "\tnode_slug\x18\x03 \x01(\tR\bnodeSlug\x12\x1f\n" + + "\vnode_status\x18\x04 \x01(\tR\n" + + "nodeStatus\x12\x1f\n" + + "\vnode_region\x18\x05 \x01(\tR\n" + + "nodeRegion\x12\x18\n" + + "\arunning\x18\x06 \x01(\x05R\arunning\x12\x18\n" + + "\astopped\x18\a \x01(\x05R\astopped\x12\x14\n" + + "\x05other\x18\b \x01(\x05R\x05other\x12\x14\n" + + "\x05total\x18\t \x01(\x05R\x05total\x12\x1c\n" + + "\treachable\x18\n" + + " \x01(\bR\treachable\x12\x14\n" + + "\x05error\x18\v \x01(\tR\x05error\x12A\n" + + "\n" + + "containers\x18\f \x03(\v2!.orchestrator.v1.ContainerSummaryR\n" + + "containers\"\xd6\x01\n" + + "\x10ContainerSummary\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12\x14\n" + + "\x05image\x18\x03 \x01(\tR\x05image\x12\x14\n" + + "\x05state\x18\x04 \x01(\tR\x05state\x12\x16\n" + + "\x06health\x18\x05 \x01(\tR\x06health\x12\x1f\n" + + "\vinstance_id\x18\x06 \x01(\tR\n" + + "instanceId\x129\n" + + "\n" + + "created_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt2\xaf\x05\n" + + "\x0fRegistryService\x12[\n" + + "\fListPackages\x12$.orchestrator.v1.ListPackagesRequest\x1a%.orchestrator.v1.ListPackagesResponse\x12p\n" + + "\x13ListPackageVersions\x12+.orchestrator.v1.ListPackageVersionsRequest\x1a,.orchestrator.v1.ListPackageVersionsResponse\x12s\n" + + "\x14DeletePackageVersion\x12,.orchestrator.v1.DeletePackageVersionRequest\x1a-.orchestrator.v1.DeletePackageVersionResponse\x12\x82\x01\n" + + "\x19BulkDeletePackageVersions\x121.orchestrator.v1.BulkDeletePackageVersionsRequest\x1a2.orchestrator.v1.BulkDeletePackageVersionsResponse\x12g\n" + + "\x10GetRegistryStats\x12(.orchestrator.v1.GetRegistryStatsRequest\x1a).orchestrator.v1.GetRegistryStatsResponse\x12j\n" + + "\x11GetContainerStats\x12).orchestrator.v1.GetContainerStatsRequest\x1a*.orchestrator.v1.GetContainerStatsResponseB\xd0\x01\n" + + "\x13com.orchestrator.v1B\rRegistryProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_registry_proto_rawDescOnce sync.Once + file_orchestrator_v1_registry_proto_rawDescData []byte +) + +func file_orchestrator_v1_registry_proto_rawDescGZIP() []byte { + file_orchestrator_v1_registry_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_registry_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_registry_proto_rawDesc), len(file_orchestrator_v1_registry_proto_rawDesc))) + }) + return file_orchestrator_v1_registry_proto_rawDescData +} + +var file_orchestrator_v1_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_orchestrator_v1_registry_proto_goTypes = []any{ + (*Package)(nil), // 0: orchestrator.v1.Package + (*PackageVersion)(nil), // 1: orchestrator.v1.PackageVersion + (*ListPackagesRequest)(nil), // 2: orchestrator.v1.ListPackagesRequest + (*ListPackagesResponse)(nil), // 3: orchestrator.v1.ListPackagesResponse + (*ListPackageVersionsRequest)(nil), // 4: orchestrator.v1.ListPackageVersionsRequest + (*ListPackageVersionsResponse)(nil), // 5: orchestrator.v1.ListPackageVersionsResponse + (*DeletePackageVersionRequest)(nil), // 6: orchestrator.v1.DeletePackageVersionRequest + (*DeletePackageVersionResponse)(nil), // 7: orchestrator.v1.DeletePackageVersionResponse + (*BulkDeletePackageVersionsRequest)(nil), // 8: orchestrator.v1.BulkDeletePackageVersionsRequest + (*BulkDeletePackageVersionsResponse)(nil), // 9: orchestrator.v1.BulkDeletePackageVersionsResponse + (*GetRegistryStatsRequest)(nil), // 10: orchestrator.v1.GetRegistryStatsRequest + (*GetRegistryStatsResponse)(nil), // 11: orchestrator.v1.GetRegistryStatsResponse + (*GetContainerStatsRequest)(nil), // 12: orchestrator.v1.GetContainerStatsRequest + (*GetContainerStatsResponse)(nil), // 13: orchestrator.v1.GetContainerStatsResponse + (*NodeContainerStats)(nil), // 14: orchestrator.v1.NodeContainerStats + (*ContainerSummary)(nil), // 15: orchestrator.v1.ContainerSummary + (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp +} +var file_orchestrator_v1_registry_proto_depIdxs = []int32{ + 16, // 0: orchestrator.v1.Package.created_at:type_name -> google.protobuf.Timestamp + 16, // 1: orchestrator.v1.PackageVersion.created_at:type_name -> google.protobuf.Timestamp + 0, // 2: orchestrator.v1.ListPackagesResponse.packages:type_name -> orchestrator.v1.Package + 1, // 3: orchestrator.v1.ListPackageVersionsResponse.versions:type_name -> orchestrator.v1.PackageVersion + 14, // 4: orchestrator.v1.GetContainerStatsResponse.nodes:type_name -> orchestrator.v1.NodeContainerStats + 15, // 5: orchestrator.v1.NodeContainerStats.containers:type_name -> orchestrator.v1.ContainerSummary + 16, // 6: orchestrator.v1.ContainerSummary.created_at:type_name -> google.protobuf.Timestamp + 2, // 7: orchestrator.v1.RegistryService.ListPackages:input_type -> orchestrator.v1.ListPackagesRequest + 4, // 8: orchestrator.v1.RegistryService.ListPackageVersions:input_type -> orchestrator.v1.ListPackageVersionsRequest + 6, // 9: orchestrator.v1.RegistryService.DeletePackageVersion:input_type -> orchestrator.v1.DeletePackageVersionRequest + 8, // 10: orchestrator.v1.RegistryService.BulkDeletePackageVersions:input_type -> orchestrator.v1.BulkDeletePackageVersionsRequest + 10, // 11: orchestrator.v1.RegistryService.GetRegistryStats:input_type -> orchestrator.v1.GetRegistryStatsRequest + 12, // 12: orchestrator.v1.RegistryService.GetContainerStats:input_type -> orchestrator.v1.GetContainerStatsRequest + 3, // 13: orchestrator.v1.RegistryService.ListPackages:output_type -> orchestrator.v1.ListPackagesResponse + 5, // 14: orchestrator.v1.RegistryService.ListPackageVersions:output_type -> orchestrator.v1.ListPackageVersionsResponse + 7, // 15: orchestrator.v1.RegistryService.DeletePackageVersion:output_type -> orchestrator.v1.DeletePackageVersionResponse + 9, // 16: orchestrator.v1.RegistryService.BulkDeletePackageVersions:output_type -> orchestrator.v1.BulkDeletePackageVersionsResponse + 11, // 17: orchestrator.v1.RegistryService.GetRegistryStats:output_type -> orchestrator.v1.GetRegistryStatsResponse + 13, // 18: orchestrator.v1.RegistryService.GetContainerStats:output_type -> orchestrator.v1.GetContainerStatsResponse + 13, // [13:19] is the sub-list for method output_type + 7, // [7:13] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_registry_proto_init() } +func file_orchestrator_v1_registry_proto_init() { + if File_orchestrator_v1_registry_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_registry_proto_rawDesc), len(file_orchestrator_v1_registry_proto_rawDesc)), + NumEnums: 0, + NumMessages: 16, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_registry_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_registry_proto_depIdxs, + MessageInfos: file_orchestrator_v1_registry_proto_msgTypes, + }.Build() + File_orchestrator_v1_registry_proto = out.File + file_orchestrator_v1_registry_proto_goTypes = nil + file_orchestrator_v1_registry_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/reporting.pb.go b/internal/api/orchestrator/v1/reporting.pb.go new file mode 100644 index 0000000..6409df1 --- /dev/null +++ b/internal/api/orchestrator/v1/reporting.pb.go @@ -0,0 +1,2206 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/reporting.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Health status for an instance +type HealthStatus int32 + +const ( + HealthStatus_HEALTH_STATUS_UNSPECIFIED HealthStatus = 0 + HealthStatus_HEALTH_STATUS_HEALTHY HealthStatus = 1 + HealthStatus_HEALTH_STATUS_DEGRADED HealthStatus = 2 + HealthStatus_HEALTH_STATUS_UNHEALTHY HealthStatus = 3 +) + +// Enum value maps for HealthStatus. +var ( + HealthStatus_name = map[int32]string{ + 0: "HEALTH_STATUS_UNSPECIFIED", + 1: "HEALTH_STATUS_HEALTHY", + 2: "HEALTH_STATUS_DEGRADED", + 3: "HEALTH_STATUS_UNHEALTHY", + } + HealthStatus_value = map[string]int32{ + "HEALTH_STATUS_UNSPECIFIED": 0, + "HEALTH_STATUS_HEALTHY": 1, + "HEALTH_STATUS_DEGRADED": 2, + "HEALTH_STATUS_UNHEALTHY": 3, + } +) + +func (x HealthStatus) Enum() *HealthStatus { + p := new(HealthStatus) + *p = x + return p +} + +func (x HealthStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (HealthStatus) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_reporting_proto_enumTypes[0].Descriptor() +} + +func (HealthStatus) Type() protoreflect.EnumType { + return &file_orchestrator_v1_reporting_proto_enumTypes[0] +} + +func (x HealthStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use HealthStatus.Descriptor instead. +func (HealthStatus) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{0} +} + +// Incident severity levels +type IncidentSeverity int32 + +const ( + IncidentSeverity_INCIDENT_SEVERITY_UNSPECIFIED IncidentSeverity = 0 + IncidentSeverity_INCIDENT_SEVERITY_INFO IncidentSeverity = 1 + IncidentSeverity_INCIDENT_SEVERITY_WARNING IncidentSeverity = 2 + IncidentSeverity_INCIDENT_SEVERITY_ERROR IncidentSeverity = 3 + IncidentSeverity_INCIDENT_SEVERITY_CRITICAL IncidentSeverity = 4 +) + +// Enum value maps for IncidentSeverity. +var ( + IncidentSeverity_name = map[int32]string{ + 0: "INCIDENT_SEVERITY_UNSPECIFIED", + 1: "INCIDENT_SEVERITY_INFO", + 2: "INCIDENT_SEVERITY_WARNING", + 3: "INCIDENT_SEVERITY_ERROR", + 4: "INCIDENT_SEVERITY_CRITICAL", + } + IncidentSeverity_value = map[string]int32{ + "INCIDENT_SEVERITY_UNSPECIFIED": 0, + "INCIDENT_SEVERITY_INFO": 1, + "INCIDENT_SEVERITY_WARNING": 2, + "INCIDENT_SEVERITY_ERROR": 3, + "INCIDENT_SEVERITY_CRITICAL": 4, + } +) + +func (x IncidentSeverity) Enum() *IncidentSeverity { + p := new(IncidentSeverity) + *p = x + return p +} + +func (x IncidentSeverity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IncidentSeverity) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_reporting_proto_enumTypes[1].Descriptor() +} + +func (IncidentSeverity) Type() protoreflect.EnumType { + return &file_orchestrator_v1_reporting_proto_enumTypes[1] +} + +func (x IncidentSeverity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IncidentSeverity.Descriptor instead. +func (IncidentSeverity) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{1} +} + +// Incident status +type IncidentStatus int32 + +const ( + IncidentStatus_INCIDENT_STATUS_UNSPECIFIED IncidentStatus = 0 + IncidentStatus_INCIDENT_STATUS_OPEN IncidentStatus = 1 + IncidentStatus_INCIDENT_STATUS_ACKNOWLEDGED IncidentStatus = 2 + IncidentStatus_INCIDENT_STATUS_RESOLVED IncidentStatus = 3 +) + +// Enum value maps for IncidentStatus. +var ( + IncidentStatus_name = map[int32]string{ + 0: "INCIDENT_STATUS_UNSPECIFIED", + 1: "INCIDENT_STATUS_OPEN", + 2: "INCIDENT_STATUS_ACKNOWLEDGED", + 3: "INCIDENT_STATUS_RESOLVED", + } + IncidentStatus_value = map[string]int32{ + "INCIDENT_STATUS_UNSPECIFIED": 0, + "INCIDENT_STATUS_OPEN": 1, + "INCIDENT_STATUS_ACKNOWLEDGED": 2, + "INCIDENT_STATUS_RESOLVED": 3, + } +) + +func (x IncidentStatus) Enum() *IncidentStatus { + p := new(IncidentStatus) + *p = x + return p +} + +func (x IncidentStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IncidentStatus) Descriptor() protoreflect.EnumDescriptor { + return file_orchestrator_v1_reporting_proto_enumTypes[2].Descriptor() +} + +func (IncidentStatus) Type() protoreflect.EnumType { + return &file_orchestrator_v1_reporting_proto_enumTypes[2] +} + +func (x IncidentStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IncidentStatus.Descriptor instead. +func (IncidentStatus) EnumDescriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{2} +} + +// Health check result for a specific component +type HealthCheck struct { + state protoimpl.MessageState `protogen:"open.v1"` + Component string `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"` // e.g., "database", "storage", "realtime" + Healthy bool `protobuf:"varint,2,opt,name=healthy,proto3" json:"healthy,omitempty"` + Message *string `protobuf:"bytes,3,opt,name=message,proto3,oneof" json:"message,omitempty"` + LatencyMs int64 `protobuf:"varint,4,opt,name=latency_ms,json=latencyMs,proto3" json:"latency_ms,omitempty"` // Response time in milliseconds + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HealthCheck) Reset() { + *x = HealthCheck{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HealthCheck) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HealthCheck) ProtoMessage() {} + +func (x *HealthCheck) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HealthCheck.ProtoReflect.Descriptor instead. +func (*HealthCheck) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{0} +} + +func (x *HealthCheck) GetComponent() string { + if x != nil { + return x.Component + } + return "" +} + +func (x *HealthCheck) GetHealthy() bool { + if x != nil { + return x.Healthy + } + return false +} + +func (x *HealthCheck) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +func (x *HealthCheck) GetLatencyMs() int64 { + if x != nil { + return x.LatencyMs + } + return 0 +} + +// Usage metrics from a CMS instance +type InstanceMetrics struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Storage + MediaStorageBytes int64 `protobuf:"varint,1,opt,name=media_storage_bytes,json=mediaStorageBytes,proto3" json:"media_storage_bytes,omitempty"` + DatabaseSizeBytes int64 `protobuf:"varint,2,opt,name=database_size_bytes,json=databaseSizeBytes,proto3" json:"database_size_bytes,omitempty"` + // Content counts + PageCount int32 `protobuf:"varint,3,opt,name=page_count,json=pageCount,proto3" json:"page_count,omitempty"` + BlockCount int32 `protobuf:"varint,4,opt,name=block_count,json=blockCount,proto3" json:"block_count,omitempty"` + PostCount int32 `protobuf:"varint,5,opt,name=post_count,json=postCount,proto3" json:"post_count,omitempty"` + MediaCount int32 `protobuf:"varint,6,opt,name=media_count,json=mediaCount,proto3" json:"media_count,omitempty"` + AdminUserCount int32 `protobuf:"varint,7,opt,name=admin_user_count,json=adminUserCount,proto3" json:"admin_user_count,omitempty"` + // Traffic (since last report) + Pageviews int64 `protobuf:"varint,8,opt,name=pageviews,proto3" json:"pageviews,omitempty"` + UniqueVisitors int64 `protobuf:"varint,9,opt,name=unique_visitors,json=uniqueVisitors,proto3" json:"unique_visitors,omitempty"` + // Active connections + WebsocketConnections int32 `protobuf:"varint,10,opt,name=websocket_connections,json=websocketConnections,proto3" json:"websocket_connections,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstanceMetrics) Reset() { + *x = InstanceMetrics{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstanceMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceMetrics) ProtoMessage() {} + +func (x *InstanceMetrics) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceMetrics.ProtoReflect.Descriptor instead. +func (*InstanceMetrics) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{1} +} + +func (x *InstanceMetrics) GetMediaStorageBytes() int64 { + if x != nil { + return x.MediaStorageBytes + } + return 0 +} + +func (x *InstanceMetrics) GetDatabaseSizeBytes() int64 { + if x != nil { + return x.DatabaseSizeBytes + } + return 0 +} + +func (x *InstanceMetrics) GetPageCount() int32 { + if x != nil { + return x.PageCount + } + return 0 +} + +func (x *InstanceMetrics) GetBlockCount() int32 { + if x != nil { + return x.BlockCount + } + return 0 +} + +func (x *InstanceMetrics) GetPostCount() int32 { + if x != nil { + return x.PostCount + } + return 0 +} + +func (x *InstanceMetrics) GetMediaCount() int32 { + if x != nil { + return x.MediaCount + } + return 0 +} + +func (x *InstanceMetrics) GetAdminUserCount() int32 { + if x != nil { + return x.AdminUserCount + } + return 0 +} + +func (x *InstanceMetrics) GetPageviews() int64 { + if x != nil { + return x.Pageviews + } + return 0 +} + +func (x *InstanceMetrics) GetUniqueVisitors() int64 { + if x != nil { + return x.UniqueVisitors + } + return 0 +} + +func (x *InstanceMetrics) GetWebsocketConnections() int32 { + if x != nil { + return x.WebsocketConnections + } + return 0 +} + +// Daily Core Web Vitals p75 summary for one (UTC day, device class) cell. +// Sent by CMS instances for their last few complete days so the orchestrator +// can self-heal gaps; rows are upserted by (instance, date, device_class). +type DailyWebVitals struct { + state protoimpl.MessageState `protogen:"open.v1"` + Date string `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"` // complete UTC day, YYYY-MM-DD + DeviceClass string `protobuf:"bytes,2,opt,name=device_class,json=deviceClass,proto3" json:"device_class,omitempty"` // "all" | "mobile" | "desktop" | "tablet" + LcpMsP75 float64 `protobuf:"fixed64,3,opt,name=lcp_ms_p75,json=lcpMsP75,proto3" json:"lcp_ms_p75,omitempty"` + FcpMsP75 float64 `protobuf:"fixed64,4,opt,name=fcp_ms_p75,json=fcpMsP75,proto3" json:"fcp_ms_p75,omitempty"` + ClsP75 float64 `protobuf:"fixed64,5,opt,name=cls_p75,json=clsP75,proto3" json:"cls_p75,omitempty"` + InpMsP75 float64 `protobuf:"fixed64,6,opt,name=inp_ms_p75,json=inpMsP75,proto3" json:"inp_ms_p75,omitempty"` + TtfbMsP75 float64 `protobuf:"fixed64,7,opt,name=ttfb_ms_p75,json=ttfbMsP75,proto3" json:"ttfb_ms_p75,omitempty"` + SampleCount int64 `protobuf:"varint,8,opt,name=sample_count,json=sampleCount,proto3" json:"sample_count,omitempty"` // pageviews carrying an LCP sample + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DailyWebVitals) Reset() { + *x = DailyWebVitals{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DailyWebVitals) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DailyWebVitals) ProtoMessage() {} + +func (x *DailyWebVitals) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DailyWebVitals.ProtoReflect.Descriptor instead. +func (*DailyWebVitals) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{2} +} + +func (x *DailyWebVitals) GetDate() string { + if x != nil { + return x.Date + } + return "" +} + +func (x *DailyWebVitals) GetDeviceClass() string { + if x != nil { + return x.DeviceClass + } + return "" +} + +func (x *DailyWebVitals) GetLcpMsP75() float64 { + if x != nil { + return x.LcpMsP75 + } + return 0 +} + +func (x *DailyWebVitals) GetFcpMsP75() float64 { + if x != nil { + return x.FcpMsP75 + } + return 0 +} + +func (x *DailyWebVitals) GetClsP75() float64 { + if x != nil { + return x.ClsP75 + } + return 0 +} + +func (x *DailyWebVitals) GetInpMsP75() float64 { + if x != nil { + return x.InpMsP75 + } + return 0 +} + +func (x *DailyWebVitals) GetTtfbMsP75() float64 { + if x != nil { + return x.TtfbMsP75 + } + return 0 +} + +func (x *DailyWebVitals) GetSampleCount() int64 { + if x != nil { + return x.SampleCount + } + return 0 +} + +// Full health report from a CMS instance +type HealthReport struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + Status HealthStatus `protobuf:"varint,2,opt,name=status,proto3,enum=orchestrator.v1.HealthStatus" json:"status,omitempty"` + Checks []*HealthCheck `protobuf:"bytes,3,rep,name=checks,proto3" json:"checks,omitempty"` + Metrics *InstanceMetrics `protobuf:"bytes,4,opt,name=metrics,proto3" json:"metrics,omitempty"` + ReportedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=reported_at,json=reportedAt,proto3" json:"reported_at,omitempty"` + Version string `protobuf:"bytes,6,opt,name=version,proto3" json:"version,omitempty"` // CMS version string + ReleaseName string `protobuf:"bytes,7,opt,name=release_name,json=releaseName,proto3" json:"release_name,omitempty"` // codename for the minor series this version belongs to + PatchTag string `protobuf:"bytes,8,opt,name=patch_tag,json=patchTag,proto3" json:"patch_tag,omitempty"` // short description of this patch (empty on minor/major) + WebVitalsDaily []*DailyWebVitals `protobuf:"bytes,9,rep,name=web_vitals_daily,json=webVitalsDaily,proto3" json:"web_vitals_daily,omitempty"` // recent complete-day CWV p75s (absent on older CMS versions) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HealthReport) Reset() { + *x = HealthReport{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HealthReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HealthReport) ProtoMessage() {} + +func (x *HealthReport) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HealthReport.ProtoReflect.Descriptor instead. +func (*HealthReport) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{3} +} + +func (x *HealthReport) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *HealthReport) GetStatus() HealthStatus { + if x != nil { + return x.Status + } + return HealthStatus_HEALTH_STATUS_UNSPECIFIED +} + +func (x *HealthReport) GetChecks() []*HealthCheck { + if x != nil { + return x.Checks + } + return nil +} + +func (x *HealthReport) GetMetrics() *InstanceMetrics { + if x != nil { + return x.Metrics + } + return nil +} + +func (x *HealthReport) GetReportedAt() *timestamppb.Timestamp { + if x != nil { + return x.ReportedAt + } + return nil +} + +func (x *HealthReport) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *HealthReport) GetReleaseName() string { + if x != nil { + return x.ReleaseName + } + return "" +} + +func (x *HealthReport) GetPatchTag() string { + if x != nil { + return x.PatchTag + } + return "" +} + +func (x *HealthReport) GetWebVitalsDaily() []*DailyWebVitals { + if x != nil { + return x.WebVitalsDaily + } + return nil +} + +// Incident report from a CMS instance +type Incident struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + Severity IncidentSeverity `protobuf:"varint,3,opt,name=severity,proto3,enum=orchestrator.v1.IncidentSeverity" json:"severity,omitempty"` + Status IncidentStatus `protobuf:"varint,4,opt,name=status,proto3,enum=orchestrator.v1.IncidentStatus" json:"status,omitempty"` + Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + Component string `protobuf:"bytes,7,opt,name=component,proto3" json:"component,omitempty"` // Which component failed + StackTrace *string `protobuf:"bytes,8,opt,name=stack_trace,json=stackTrace,proto3,oneof" json:"stack_trace,omitempty"` + OccurredAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=occurred_at,json=occurredAt,proto3" json:"occurred_at,omitempty"` + AcknowledgedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=acknowledged_at,json=acknowledgedAt,proto3,oneof" json:"acknowledged_at,omitempty"` + ResolvedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=resolved_at,json=resolvedAt,proto3,oneof" json:"resolved_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Incident) Reset() { + *x = Incident{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Incident) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Incident) ProtoMessage() {} + +func (x *Incident) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Incident.ProtoReflect.Descriptor instead. +func (*Incident) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{4} +} + +func (x *Incident) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Incident) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *Incident) GetSeverity() IncidentSeverity { + if x != nil { + return x.Severity + } + return IncidentSeverity_INCIDENT_SEVERITY_UNSPECIFIED +} + +func (x *Incident) GetStatus() IncidentStatus { + if x != nil { + return x.Status + } + return IncidentStatus_INCIDENT_STATUS_UNSPECIFIED +} + +func (x *Incident) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *Incident) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Incident) GetComponent() string { + if x != nil { + return x.Component + } + return "" +} + +func (x *Incident) GetStackTrace() string { + if x != nil && x.StackTrace != nil { + return *x.StackTrace + } + return "" +} + +func (x *Incident) GetOccurredAt() *timestamppb.Timestamp { + if x != nil { + return x.OccurredAt + } + return nil +} + +func (x *Incident) GetAcknowledgedAt() *timestamppb.Timestamp { + if x != nil { + return x.AcknowledgedAt + } + return nil +} + +func (x *Incident) GetResolvedAt() *timestamppb.Timestamp { + if x != nil { + return x.ResolvedAt + } + return nil +} + +// SubmitReport messages +type SubmitReportRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Report *HealthReport `protobuf:"bytes,1,opt,name=report,proto3" json:"report,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SubmitReportRequest) Reset() { + *x = SubmitReportRequest{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SubmitReportRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubmitReportRequest) ProtoMessage() {} + +func (x *SubmitReportRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubmitReportRequest.ProtoReflect.Descriptor instead. +func (*SubmitReportRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{5} +} + +func (x *SubmitReportRequest) GetReport() *HealthReport { + if x != nil { + return x.Report + } + return nil +} + +type SubmitReportResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Accepted bool `protobuf:"varint,1,opt,name=accepted,proto3" json:"accepted,omitempty"` + Message *string `protobuf:"bytes,2,opt,name=message,proto3,oneof" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SubmitReportResponse) Reset() { + *x = SubmitReportResponse{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SubmitReportResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubmitReportResponse) ProtoMessage() {} + +func (x *SubmitReportResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubmitReportResponse.ProtoReflect.Descriptor instead. +func (*SubmitReportResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{6} +} + +func (x *SubmitReportResponse) GetAccepted() bool { + if x != nil { + return x.Accepted + } + return false +} + +func (x *SubmitReportResponse) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +// Heartbeat messages +type HeartbeatRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + Status HealthStatus `protobuf:"varint,2,opt,name=status,proto3,enum=orchestrator.v1.HealthStatus" json:"status,omitempty"` + Timestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HeartbeatRequest) Reset() { + *x = HeartbeatRequest{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HeartbeatRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HeartbeatRequest) ProtoMessage() {} + +func (x *HeartbeatRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HeartbeatRequest.ProtoReflect.Descriptor instead. +func (*HeartbeatRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{7} +} + +func (x *HeartbeatRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *HeartbeatRequest) GetStatus() HealthStatus { + if x != nil { + return x.Status + } + return HealthStatus_HEALTH_STATUS_UNSPECIFIED +} + +func (x *HeartbeatRequest) GetTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.Timestamp + } + return nil +} + +func (x *HeartbeatRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type HeartbeatResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Accepted bool `protobuf:"varint,1,opt,name=accepted,proto3" json:"accepted,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HeartbeatResponse) Reset() { + *x = HeartbeatResponse{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HeartbeatResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HeartbeatResponse) ProtoMessage() {} + +func (x *HeartbeatResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HeartbeatResponse.ProtoReflect.Descriptor instead. +func (*HeartbeatResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{8} +} + +func (x *HeartbeatResponse) GetAccepted() bool { + if x != nil { + return x.Accepted + } + return false +} + +// ReportIncident messages +type ReportIncidentRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + Severity IncidentSeverity `protobuf:"varint,2,opt,name=severity,proto3,enum=orchestrator.v1.IncidentSeverity" json:"severity,omitempty"` + Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + Component string `protobuf:"bytes,5,opt,name=component,proto3" json:"component,omitempty"` + StackTrace *string `protobuf:"bytes,6,opt,name=stack_trace,json=stackTrace,proto3,oneof" json:"stack_trace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReportIncidentRequest) Reset() { + *x = ReportIncidentRequest{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReportIncidentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReportIncidentRequest) ProtoMessage() {} + +func (x *ReportIncidentRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReportIncidentRequest.ProtoReflect.Descriptor instead. +func (*ReportIncidentRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{9} +} + +func (x *ReportIncidentRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *ReportIncidentRequest) GetSeverity() IncidentSeverity { + if x != nil { + return x.Severity + } + return IncidentSeverity_INCIDENT_SEVERITY_UNSPECIFIED +} + +func (x *ReportIncidentRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *ReportIncidentRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ReportIncidentRequest) GetComponent() string { + if x != nil { + return x.Component + } + return "" +} + +func (x *ReportIncidentRequest) GetStackTrace() string { + if x != nil && x.StackTrace != nil { + return *x.StackTrace + } + return "" +} + +type ReportIncidentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + IncidentId string `protobuf:"bytes,1,opt,name=incident_id,json=incidentId,proto3" json:"incident_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReportIncidentResponse) Reset() { + *x = ReportIncidentResponse{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReportIncidentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReportIncidentResponse) ProtoMessage() {} + +func (x *ReportIncidentResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReportIncidentResponse.ProtoReflect.Descriptor instead. +func (*ReportIncidentResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{10} +} + +func (x *ReportIncidentResponse) GetIncidentId() string { + if x != nil { + return x.IncidentId + } + return "" +} + +// ListIncidents messages +type ListIncidentsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + Status *IncidentStatus `protobuf:"varint,2,opt,name=status,proto3,enum=orchestrator.v1.IncidentStatus,oneof" json:"status,omitempty"` // Filter by status + Severity *IncidentSeverity `protobuf:"varint,3,opt,name=severity,proto3,enum=orchestrator.v1.IncidentSeverity,oneof" json:"severity,omitempty"` // Filter by severity + Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` + Offset int32 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListIncidentsRequest) Reset() { + *x = ListIncidentsRequest{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListIncidentsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListIncidentsRequest) ProtoMessage() {} + +func (x *ListIncidentsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListIncidentsRequest.ProtoReflect.Descriptor instead. +func (*ListIncidentsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{11} +} + +func (x *ListIncidentsRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *ListIncidentsRequest) GetStatus() IncidentStatus { + if x != nil && x.Status != nil { + return *x.Status + } + return IncidentStatus_INCIDENT_STATUS_UNSPECIFIED +} + +func (x *ListIncidentsRequest) GetSeverity() IncidentSeverity { + if x != nil && x.Severity != nil { + return *x.Severity + } + return IncidentSeverity_INCIDENT_SEVERITY_UNSPECIFIED +} + +func (x *ListIncidentsRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *ListIncidentsRequest) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +type ListIncidentsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Incidents []*Incident `protobuf:"bytes,1,rep,name=incidents,proto3" json:"incidents,omitempty"` + Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListIncidentsResponse) Reset() { + *x = ListIncidentsResponse{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListIncidentsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListIncidentsResponse) ProtoMessage() {} + +func (x *ListIncidentsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListIncidentsResponse.ProtoReflect.Descriptor instead. +func (*ListIncidentsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{12} +} + +func (x *ListIncidentsResponse) GetIncidents() []*Incident { + if x != nil { + return x.Incidents + } + return nil +} + +func (x *ListIncidentsResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +// AcknowledgeIncident messages +type AcknowledgeIncidentRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + IncidentId string `protobuf:"bytes,1,opt,name=incident_id,json=incidentId,proto3" json:"incident_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AcknowledgeIncidentRequest) Reset() { + *x = AcknowledgeIncidentRequest{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcknowledgeIncidentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcknowledgeIncidentRequest) ProtoMessage() {} + +func (x *AcknowledgeIncidentRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AcknowledgeIncidentRequest.ProtoReflect.Descriptor instead. +func (*AcknowledgeIncidentRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{13} +} + +func (x *AcknowledgeIncidentRequest) GetIncidentId() string { + if x != nil { + return x.IncidentId + } + return "" +} + +type AcknowledgeIncidentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Incident *Incident `protobuf:"bytes,1,opt,name=incident,proto3" json:"incident,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AcknowledgeIncidentResponse) Reset() { + *x = AcknowledgeIncidentResponse{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcknowledgeIncidentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcknowledgeIncidentResponse) ProtoMessage() {} + +func (x *AcknowledgeIncidentResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AcknowledgeIncidentResponse.ProtoReflect.Descriptor instead. +func (*AcknowledgeIncidentResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{14} +} + +func (x *AcknowledgeIncidentResponse) GetIncident() *Incident { + if x != nil { + return x.Incident + } + return nil +} + +// ResolveIncident messages +type ResolveIncidentRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + IncidentId string `protobuf:"bytes,1,opt,name=incident_id,json=incidentId,proto3" json:"incident_id,omitempty"` + ResolutionNote *string `protobuf:"bytes,2,opt,name=resolution_note,json=resolutionNote,proto3,oneof" json:"resolution_note,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResolveIncidentRequest) Reset() { + *x = ResolveIncidentRequest{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResolveIncidentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResolveIncidentRequest) ProtoMessage() {} + +func (x *ResolveIncidentRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResolveIncidentRequest.ProtoReflect.Descriptor instead. +func (*ResolveIncidentRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{15} +} + +func (x *ResolveIncidentRequest) GetIncidentId() string { + if x != nil { + return x.IncidentId + } + return "" +} + +func (x *ResolveIncidentRequest) GetResolutionNote() string { + if x != nil && x.ResolutionNote != nil { + return *x.ResolutionNote + } + return "" +} + +type ResolveIncidentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Incident *Incident `protobuf:"bytes,1,opt,name=incident,proto3" json:"incident,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResolveIncidentResponse) Reset() { + *x = ResolveIncidentResponse{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResolveIncidentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResolveIncidentResponse) ProtoMessage() {} + +func (x *ResolveIncidentResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResolveIncidentResponse.ProtoReflect.Descriptor instead. +func (*ResolveIncidentResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{16} +} + +func (x *ResolveIncidentResponse) GetIncident() *Incident { + if x != nil { + return x.Incident + } + return nil +} + +// GetInstanceHealth messages +type GetInstanceHealthRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceHealthRequest) Reset() { + *x = GetInstanceHealthRequest{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceHealthRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceHealthRequest) ProtoMessage() {} + +func (x *GetInstanceHealthRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceHealthRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceHealthRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{17} +} + +func (x *GetInstanceHealthRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +type GetInstanceHealthResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + LatestReport *HealthReport `protobuf:"bytes,1,opt,name=latest_report,json=latestReport,proto3" json:"latest_report,omitempty"` + LastHeartbeat *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_heartbeat,json=lastHeartbeat,proto3" json:"last_heartbeat,omitempty"` + OpenIncidents int32 `protobuf:"varint,3,opt,name=open_incidents,json=openIncidents,proto3" json:"open_incidents,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetInstanceHealthResponse) Reset() { + *x = GetInstanceHealthResponse{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetInstanceHealthResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInstanceHealthResponse) ProtoMessage() {} + +func (x *GetInstanceHealthResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetInstanceHealthResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceHealthResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{18} +} + +func (x *GetInstanceHealthResponse) GetLatestReport() *HealthReport { + if x != nil { + return x.LatestReport + } + return nil +} + +func (x *GetInstanceHealthResponse) GetLastHeartbeat() *timestamppb.Timestamp { + if x != nil { + return x.LastHeartbeat + } + return nil +} + +func (x *GetInstanceHealthResponse) GetOpenIncidents() int32 { + if x != nil { + return x.OpenIncidents + } + return 0 +} + +// GetHealthHistory messages +type GetHealthHistoryRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + Limit int32 `protobuf:"varint,4,opt,name=limit,proto3" json:"limit,omitempty"` // Max data points + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetHealthHistoryRequest) Reset() { + *x = GetHealthHistoryRequest{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetHealthHistoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetHealthHistoryRequest) ProtoMessage() {} + +func (x *GetHealthHistoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetHealthHistoryRequest.ProtoReflect.Descriptor instead. +func (*GetHealthHistoryRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{19} +} + +func (x *GetHealthHistoryRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *GetHealthHistoryRequest) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *GetHealthHistoryRequest) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *GetHealthHistoryRequest) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +type GetHealthHistoryResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Reports []*HealthReport `protobuf:"bytes,1,rep,name=reports,proto3" json:"reports,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetHealthHistoryResponse) Reset() { + *x = GetHealthHistoryResponse{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetHealthHistoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetHealthHistoryResponse) ProtoMessage() {} + +func (x *GetHealthHistoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetHealthHistoryResponse.ProtoReflect.Descriptor instead. +func (*GetHealthHistoryResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{20} +} + +func (x *GetHealthHistoryResponse) GetReports() []*HealthReport { + if x != nil { + return x.Reports + } + return nil +} + +// InstanceReady messages +type InstanceReadyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstanceReadyRequest) Reset() { + *x = InstanceReadyRequest{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstanceReadyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceReadyRequest) ProtoMessage() {} + +func (x *InstanceReadyRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceReadyRequest.ProtoReflect.Descriptor instead. +func (*InstanceReadyRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{21} +} + +func (x *InstanceReadyRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *InstanceReadyRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type InstanceReadyResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Accepted bool `protobuf:"varint,1,opt,name=accepted,proto3" json:"accepted,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstanceReadyResponse) Reset() { + *x = InstanceReadyResponse{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstanceReadyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceReadyResponse) ProtoMessage() {} + +func (x *InstanceReadyResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceReadyResponse.ProtoReflect.Descriptor instead. +func (*InstanceReadyResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{22} +} + +func (x *InstanceReadyResponse) GetAccepted() bool { + if x != nil { + return x.Accepted + } + return false +} + +// SubmitBugReport messages +type SubmitBugReportRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + ReporterName string `protobuf:"bytes,2,opt,name=reporter_name,json=reporterName,proto3" json:"reporter_name,omitempty"` + ReporterEmail string `protobuf:"bytes,3,opt,name=reporter_email,json=reporterEmail,proto3" json:"reporter_email,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + StepsToReproduce string `protobuf:"bytes,5,opt,name=steps_to_reproduce,json=stepsToReproduce,proto3" json:"steps_to_reproduce,omitempty"` + Severity string `protobuf:"bytes,6,opt,name=severity,proto3" json:"severity,omitempty"` // "annoying" | "broken" | "blocking" + Screenshot []byte `protobuf:"bytes,7,opt,name=screenshot,proto3" json:"screenshot,omitempty"` // PNG image data + PageUrl string `protobuf:"bytes,8,opt,name=page_url,json=pageUrl,proto3" json:"page_url,omitempty"` + UserAgent string `protobuf:"bytes,9,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"` + ScreenResolution string `protobuf:"bytes,10,opt,name=screen_resolution,json=screenResolution,proto3" json:"screen_resolution,omitempty"` + ConsoleLogs string `protobuf:"bytes,11,opt,name=console_logs,json=consoleLogs,proto3" json:"console_logs,omitempty"` + RpcErrors string `protobuf:"bytes,12,opt,name=rpc_errors,json=rpcErrors,proto3" json:"rpc_errors,omitempty"` + UserRole string `protobuf:"bytes,13,opt,name=user_role,json=userRole,proto3" json:"user_role,omitempty"` + Metadata map[string]string `protobuf:"bytes,14,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SubmitBugReportRequest) Reset() { + *x = SubmitBugReportRequest{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SubmitBugReportRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubmitBugReportRequest) ProtoMessage() {} + +func (x *SubmitBugReportRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubmitBugReportRequest.ProtoReflect.Descriptor instead. +func (*SubmitBugReportRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{23} +} + +func (x *SubmitBugReportRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *SubmitBugReportRequest) GetReporterName() string { + if x != nil { + return x.ReporterName + } + return "" +} + +func (x *SubmitBugReportRequest) GetReporterEmail() string { + if x != nil { + return x.ReporterEmail + } + return "" +} + +func (x *SubmitBugReportRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *SubmitBugReportRequest) GetStepsToReproduce() string { + if x != nil { + return x.StepsToReproduce + } + return "" +} + +func (x *SubmitBugReportRequest) GetSeverity() string { + if x != nil { + return x.Severity + } + return "" +} + +func (x *SubmitBugReportRequest) GetScreenshot() []byte { + if x != nil { + return x.Screenshot + } + return nil +} + +func (x *SubmitBugReportRequest) GetPageUrl() string { + if x != nil { + return x.PageUrl + } + return "" +} + +func (x *SubmitBugReportRequest) GetUserAgent() string { + if x != nil { + return x.UserAgent + } + return "" +} + +func (x *SubmitBugReportRequest) GetScreenResolution() string { + if x != nil { + return x.ScreenResolution + } + return "" +} + +func (x *SubmitBugReportRequest) GetConsoleLogs() string { + if x != nil { + return x.ConsoleLogs + } + return "" +} + +func (x *SubmitBugReportRequest) GetRpcErrors() string { + if x != nil { + return x.RpcErrors + } + return "" +} + +func (x *SubmitBugReportRequest) GetUserRole() string { + if x != nil { + return x.UserRole + } + return "" +} + +func (x *SubmitBugReportRequest) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +type SubmitBugReportResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Accepted bool `protobuf:"varint,1,opt,name=accepted,proto3" json:"accepted,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SubmitBugReportResponse) Reset() { + *x = SubmitBugReportResponse{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SubmitBugReportResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubmitBugReportResponse) ProtoMessage() {} + +func (x *SubmitBugReportResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_reporting_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubmitBugReportResponse.ProtoReflect.Descriptor instead. +func (*SubmitBugReportResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{24} +} + +func (x *SubmitBugReportResponse) GetAccepted() bool { + if x != nil { + return x.Accepted + } + return false +} + +var File_orchestrator_v1_reporting_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_reporting_proto_rawDesc = "" + + "\n" + + "\x1forchestrator/v1/reporting.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x8f\x01\n" + + "\vHealthCheck\x12\x1c\n" + + "\tcomponent\x18\x01 \x01(\tR\tcomponent\x12\x18\n" + + "\ahealthy\x18\x02 \x01(\bR\ahealthy\x12\x1d\n" + + "\amessage\x18\x03 \x01(\tH\x00R\amessage\x88\x01\x01\x12\x1d\n" + + "\n" + + "latency_ms\x18\x04 \x01(\x03R\tlatencyMsB\n" + + "\n" + + "\b_message\"\x97\x03\n" + + "\x0fInstanceMetrics\x12.\n" + + "\x13media_storage_bytes\x18\x01 \x01(\x03R\x11mediaStorageBytes\x12.\n" + + "\x13database_size_bytes\x18\x02 \x01(\x03R\x11databaseSizeBytes\x12\x1d\n" + + "\n" + + "page_count\x18\x03 \x01(\x05R\tpageCount\x12\x1f\n" + + "\vblock_count\x18\x04 \x01(\x05R\n" + + "blockCount\x12\x1d\n" + + "\n" + + "post_count\x18\x05 \x01(\x05R\tpostCount\x12\x1f\n" + + "\vmedia_count\x18\x06 \x01(\x05R\n" + + "mediaCount\x12(\n" + + "\x10admin_user_count\x18\a \x01(\x05R\x0eadminUserCount\x12\x1c\n" + + "\tpageviews\x18\b \x01(\x03R\tpageviews\x12'\n" + + "\x0funique_visitors\x18\t \x01(\x03R\x0euniqueVisitors\x123\n" + + "\x15websocket_connections\x18\n" + + " \x01(\x05R\x14websocketConnections\"\xfd\x01\n" + + "\x0eDailyWebVitals\x12\x12\n" + + "\x04date\x18\x01 \x01(\tR\x04date\x12!\n" + + "\fdevice_class\x18\x02 \x01(\tR\vdeviceClass\x12\x1c\n" + + "\n" + + "lcp_ms_p75\x18\x03 \x01(\x01R\blcpMsP75\x12\x1c\n" + + "\n" + + "fcp_ms_p75\x18\x04 \x01(\x01R\bfcpMsP75\x12\x17\n" + + "\acls_p75\x18\x05 \x01(\x01R\x06clsP75\x12\x1c\n" + + "\n" + + "inp_ms_p75\x18\x06 \x01(\x01R\binpMsP75\x12\x1e\n" + + "\vttfb_ms_p75\x18\a \x01(\x01R\tttfbMsP75\x12!\n" + + "\fsample_count\x18\b \x01(\x03R\vsampleCount\"\xba\x03\n" + + "\fHealthReport\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x125\n" + + "\x06status\x18\x02 \x01(\x0e2\x1d.orchestrator.v1.HealthStatusR\x06status\x124\n" + + "\x06checks\x18\x03 \x03(\v2\x1c.orchestrator.v1.HealthCheckR\x06checks\x12:\n" + + "\ametrics\x18\x04 \x01(\v2 .orchestrator.v1.InstanceMetricsR\ametrics\x12;\n" + + "\vreported_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "reportedAt\x12\x18\n" + + "\aversion\x18\x06 \x01(\tR\aversion\x12!\n" + + "\frelease_name\x18\a \x01(\tR\vreleaseName\x12\x1b\n" + + "\tpatch_tag\x18\b \x01(\tR\bpatchTag\x12I\n" + + "\x10web_vitals_daily\x18\t \x03(\v2\x1f.orchestrator.v1.DailyWebVitalsR\x0ewebVitalsDaily\"\xac\x04\n" + + "\bIncident\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" + + "\vinstance_id\x18\x02 \x01(\tR\n" + + "instanceId\x12=\n" + + "\bseverity\x18\x03 \x01(\x0e2!.orchestrator.v1.IncidentSeverityR\bseverity\x127\n" + + "\x06status\x18\x04 \x01(\x0e2\x1f.orchestrator.v1.IncidentStatusR\x06status\x12\x14\n" + + "\x05title\x18\x05 \x01(\tR\x05title\x12 \n" + + "\vdescription\x18\x06 \x01(\tR\vdescription\x12\x1c\n" + + "\tcomponent\x18\a \x01(\tR\tcomponent\x12$\n" + + "\vstack_trace\x18\b \x01(\tH\x00R\n" + + "stackTrace\x88\x01\x01\x12;\n" + + "\voccurred_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "occurredAt\x12H\n" + + "\x0facknowledged_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampH\x01R\x0eacknowledgedAt\x88\x01\x01\x12@\n" + + "\vresolved_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampH\x02R\n" + + "resolvedAt\x88\x01\x01B\x0e\n" + + "\f_stack_traceB\x12\n" + + "\x10_acknowledged_atB\x0e\n" + + "\f_resolved_at\"L\n" + + "\x13SubmitReportRequest\x125\n" + + "\x06report\x18\x01 \x01(\v2\x1d.orchestrator.v1.HealthReportR\x06report\"]\n" + + "\x14SubmitReportResponse\x12\x1a\n" + + "\baccepted\x18\x01 \x01(\bR\baccepted\x12\x1d\n" + + "\amessage\x18\x02 \x01(\tH\x00R\amessage\x88\x01\x01B\n" + + "\n" + + "\b_message\"\xbe\x01\n" + + "\x10HeartbeatRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x125\n" + + "\x06status\x18\x02 \x01(\x0e2\x1d.orchestrator.v1.HealthStatusR\x06status\x128\n" + + "\ttimestamp\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x18\n" + + "\aversion\x18\x04 \x01(\tR\aversion\"/\n" + + "\x11HeartbeatResponse\x12\x1a\n" + + "\baccepted\x18\x01 \x01(\bR\baccepted\"\x83\x02\n" + + "\x15ReportIncidentRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12=\n" + + "\bseverity\x18\x02 \x01(\x0e2!.orchestrator.v1.IncidentSeverityR\bseverity\x12\x14\n" + + "\x05title\x18\x03 \x01(\tR\x05title\x12 \n" + + "\vdescription\x18\x04 \x01(\tR\vdescription\x12\x1c\n" + + "\tcomponent\x18\x05 \x01(\tR\tcomponent\x12$\n" + + "\vstack_trace\x18\x06 \x01(\tH\x00R\n" + + "stackTrace\x88\x01\x01B\x0e\n" + + "\f_stack_trace\"9\n" + + "\x16ReportIncidentResponse\x12\x1f\n" + + "\vincident_id\x18\x01 \x01(\tR\n" + + "incidentId\"\xff\x01\n" + + "\x14ListIncidentsRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12<\n" + + "\x06status\x18\x02 \x01(\x0e2\x1f.orchestrator.v1.IncidentStatusH\x00R\x06status\x88\x01\x01\x12B\n" + + "\bseverity\x18\x03 \x01(\x0e2!.orchestrator.v1.IncidentSeverityH\x01R\bseverity\x88\x01\x01\x12\x14\n" + + "\x05limit\x18\x04 \x01(\x05R\x05limit\x12\x16\n" + + "\x06offset\x18\x05 \x01(\x05R\x06offsetB\t\n" + + "\a_statusB\v\n" + + "\t_severity\"f\n" + + "\x15ListIncidentsResponse\x127\n" + + "\tincidents\x18\x01 \x03(\v2\x19.orchestrator.v1.IncidentR\tincidents\x12\x14\n" + + "\x05total\x18\x02 \x01(\x05R\x05total\"=\n" + + "\x1aAcknowledgeIncidentRequest\x12\x1f\n" + + "\vincident_id\x18\x01 \x01(\tR\n" + + "incidentId\"T\n" + + "\x1bAcknowledgeIncidentResponse\x125\n" + + "\bincident\x18\x01 \x01(\v2\x19.orchestrator.v1.IncidentR\bincident\"{\n" + + "\x16ResolveIncidentRequest\x12\x1f\n" + + "\vincident_id\x18\x01 \x01(\tR\n" + + "incidentId\x12,\n" + + "\x0fresolution_note\x18\x02 \x01(\tH\x00R\x0eresolutionNote\x88\x01\x01B\x12\n" + + "\x10_resolution_note\"P\n" + + "\x17ResolveIncidentResponse\x125\n" + + "\bincident\x18\x01 \x01(\v2\x19.orchestrator.v1.IncidentR\bincident\";\n" + + "\x18GetInstanceHealthRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"\xc9\x01\n" + + "\x19GetInstanceHealthResponse\x12B\n" + + "\rlatest_report\x18\x01 \x01(\v2\x1d.orchestrator.v1.HealthReportR\flatestReport\x12A\n" + + "\x0elast_heartbeat\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\rlastHeartbeat\x12%\n" + + "\x0eopen_incidents\x18\x03 \x01(\x05R\ropenIncidents\"\xc2\x01\n" + + "\x17GetHealthHistoryRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x129\n" + + "\n" + + "start_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x125\n" + + "\bend_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\x12\x14\n" + + "\x05limit\x18\x04 \x01(\x05R\x05limit\"S\n" + + "\x18GetHealthHistoryResponse\x127\n" + + "\areports\x18\x01 \x03(\v2\x1d.orchestrator.v1.HealthReportR\areports\"Q\n" + + "\x14InstanceReadyRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x18\n" + + "\aversion\x18\x02 \x01(\tR\aversion\"3\n" + + "\x15InstanceReadyResponse\x12\x1a\n" + + "\baccepted\x18\x01 \x01(\bR\baccepted\"\xe7\x04\n" + + "\x16SubmitBugReportRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12#\n" + + "\rreporter_name\x18\x02 \x01(\tR\freporterName\x12%\n" + + "\x0ereporter_email\x18\x03 \x01(\tR\rreporterEmail\x12 \n" + + "\vdescription\x18\x04 \x01(\tR\vdescription\x12,\n" + + "\x12steps_to_reproduce\x18\x05 \x01(\tR\x10stepsToReproduce\x12\x1a\n" + + "\bseverity\x18\x06 \x01(\tR\bseverity\x12\x1e\n" + + "\n" + + "screenshot\x18\a \x01(\fR\n" + + "screenshot\x12\x19\n" + + "\bpage_url\x18\b \x01(\tR\apageUrl\x12\x1d\n" + + "\n" + + "user_agent\x18\t \x01(\tR\tuserAgent\x12+\n" + + "\x11screen_resolution\x18\n" + + " \x01(\tR\x10screenResolution\x12!\n" + + "\fconsole_logs\x18\v \x01(\tR\vconsoleLogs\x12\x1d\n" + + "\n" + + "rpc_errors\x18\f \x01(\tR\trpcErrors\x12\x1b\n" + + "\tuser_role\x18\r \x01(\tR\buserRole\x12Q\n" + + "\bmetadata\x18\x0e \x03(\v25.orchestrator.v1.SubmitBugReportRequest.MetadataEntryR\bmetadata\x1a;\n" + + "\rMetadataEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"5\n" + + "\x17SubmitBugReportResponse\x12\x1a\n" + + "\baccepted\x18\x01 \x01(\bR\baccepted*\x81\x01\n" + + "\fHealthStatus\x12\x1d\n" + + "\x19HEALTH_STATUS_UNSPECIFIED\x10\x00\x12\x19\n" + + "\x15HEALTH_STATUS_HEALTHY\x10\x01\x12\x1a\n" + + "\x16HEALTH_STATUS_DEGRADED\x10\x02\x12\x1b\n" + + "\x17HEALTH_STATUS_UNHEALTHY\x10\x03*\xad\x01\n" + + "\x10IncidentSeverity\x12!\n" + + "\x1dINCIDENT_SEVERITY_UNSPECIFIED\x10\x00\x12\x1a\n" + + "\x16INCIDENT_SEVERITY_INFO\x10\x01\x12\x1d\n" + + "\x19INCIDENT_SEVERITY_WARNING\x10\x02\x12\x1b\n" + + "\x17INCIDENT_SEVERITY_ERROR\x10\x03\x12\x1e\n" + + "\x1aINCIDENT_SEVERITY_CRITICAL\x10\x04*\x8b\x01\n" + + "\x0eIncidentStatus\x12\x1f\n" + + "\x1bINCIDENT_STATUS_UNSPECIFIED\x10\x00\x12\x18\n" + + "\x14INCIDENT_STATUS_OPEN\x10\x01\x12 \n" + + "\x1cINCIDENT_STATUS_ACKNOWLEDGED\x10\x02\x12\x1c\n" + + "\x18INCIDENT_STATUS_RESOLVED\x10\x032\x81\b\n" + + "\x18InstanceReportingService\x12[\n" + + "\fSubmitReport\x12$.orchestrator.v1.SubmitReportRequest\x1a%.orchestrator.v1.SubmitReportResponse\x12R\n" + + "\tHeartbeat\x12!.orchestrator.v1.HeartbeatRequest\x1a\".orchestrator.v1.HeartbeatResponse\x12a\n" + + "\x0eReportIncident\x12&.orchestrator.v1.ReportIncidentRequest\x1a'.orchestrator.v1.ReportIncidentResponse\x12^\n" + + "\rListIncidents\x12%.orchestrator.v1.ListIncidentsRequest\x1a&.orchestrator.v1.ListIncidentsResponse\x12p\n" + + "\x13AcknowledgeIncident\x12+.orchestrator.v1.AcknowledgeIncidentRequest\x1a,.orchestrator.v1.AcknowledgeIncidentResponse\x12d\n" + + "\x0fResolveIncident\x12'.orchestrator.v1.ResolveIncidentRequest\x1a(.orchestrator.v1.ResolveIncidentResponse\x12j\n" + + "\x11GetInstanceHealth\x12).orchestrator.v1.GetInstanceHealthRequest\x1a*.orchestrator.v1.GetInstanceHealthResponse\x12g\n" + + "\x10GetHealthHistory\x12(.orchestrator.v1.GetHealthHistoryRequest\x1a).orchestrator.v1.GetHealthHistoryResponse\x12^\n" + + "\rInstanceReady\x12%.orchestrator.v1.InstanceReadyRequest\x1a&.orchestrator.v1.InstanceReadyResponse\x12d\n" + + "\x0fSubmitBugReport\x12'.orchestrator.v1.SubmitBugReportRequest\x1a(.orchestrator.v1.SubmitBugReportResponseB\xd1\x01\n" + + "\x13com.orchestrator.v1B\x0eReportingProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_reporting_proto_rawDescOnce sync.Once + file_orchestrator_v1_reporting_proto_rawDescData []byte +) + +func file_orchestrator_v1_reporting_proto_rawDescGZIP() []byte { + file_orchestrator_v1_reporting_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_reporting_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_reporting_proto_rawDesc), len(file_orchestrator_v1_reporting_proto_rawDesc))) + }) + return file_orchestrator_v1_reporting_proto_rawDescData +} + +var file_orchestrator_v1_reporting_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_orchestrator_v1_reporting_proto_msgTypes = make([]protoimpl.MessageInfo, 26) +var file_orchestrator_v1_reporting_proto_goTypes = []any{ + (HealthStatus)(0), // 0: orchestrator.v1.HealthStatus + (IncidentSeverity)(0), // 1: orchestrator.v1.IncidentSeverity + (IncidentStatus)(0), // 2: orchestrator.v1.IncidentStatus + (*HealthCheck)(nil), // 3: orchestrator.v1.HealthCheck + (*InstanceMetrics)(nil), // 4: orchestrator.v1.InstanceMetrics + (*DailyWebVitals)(nil), // 5: orchestrator.v1.DailyWebVitals + (*HealthReport)(nil), // 6: orchestrator.v1.HealthReport + (*Incident)(nil), // 7: orchestrator.v1.Incident + (*SubmitReportRequest)(nil), // 8: orchestrator.v1.SubmitReportRequest + (*SubmitReportResponse)(nil), // 9: orchestrator.v1.SubmitReportResponse + (*HeartbeatRequest)(nil), // 10: orchestrator.v1.HeartbeatRequest + (*HeartbeatResponse)(nil), // 11: orchestrator.v1.HeartbeatResponse + (*ReportIncidentRequest)(nil), // 12: orchestrator.v1.ReportIncidentRequest + (*ReportIncidentResponse)(nil), // 13: orchestrator.v1.ReportIncidentResponse + (*ListIncidentsRequest)(nil), // 14: orchestrator.v1.ListIncidentsRequest + (*ListIncidentsResponse)(nil), // 15: orchestrator.v1.ListIncidentsResponse + (*AcknowledgeIncidentRequest)(nil), // 16: orchestrator.v1.AcknowledgeIncidentRequest + (*AcknowledgeIncidentResponse)(nil), // 17: orchestrator.v1.AcknowledgeIncidentResponse + (*ResolveIncidentRequest)(nil), // 18: orchestrator.v1.ResolveIncidentRequest + (*ResolveIncidentResponse)(nil), // 19: orchestrator.v1.ResolveIncidentResponse + (*GetInstanceHealthRequest)(nil), // 20: orchestrator.v1.GetInstanceHealthRequest + (*GetInstanceHealthResponse)(nil), // 21: orchestrator.v1.GetInstanceHealthResponse + (*GetHealthHistoryRequest)(nil), // 22: orchestrator.v1.GetHealthHistoryRequest + (*GetHealthHistoryResponse)(nil), // 23: orchestrator.v1.GetHealthHistoryResponse + (*InstanceReadyRequest)(nil), // 24: orchestrator.v1.InstanceReadyRequest + (*InstanceReadyResponse)(nil), // 25: orchestrator.v1.InstanceReadyResponse + (*SubmitBugReportRequest)(nil), // 26: orchestrator.v1.SubmitBugReportRequest + (*SubmitBugReportResponse)(nil), // 27: orchestrator.v1.SubmitBugReportResponse + nil, // 28: orchestrator.v1.SubmitBugReportRequest.MetadataEntry + (*timestamppb.Timestamp)(nil), // 29: google.protobuf.Timestamp +} +var file_orchestrator_v1_reporting_proto_depIdxs = []int32{ + 0, // 0: orchestrator.v1.HealthReport.status:type_name -> orchestrator.v1.HealthStatus + 3, // 1: orchestrator.v1.HealthReport.checks:type_name -> orchestrator.v1.HealthCheck + 4, // 2: orchestrator.v1.HealthReport.metrics:type_name -> orchestrator.v1.InstanceMetrics + 29, // 3: orchestrator.v1.HealthReport.reported_at:type_name -> google.protobuf.Timestamp + 5, // 4: orchestrator.v1.HealthReport.web_vitals_daily:type_name -> orchestrator.v1.DailyWebVitals + 1, // 5: orchestrator.v1.Incident.severity:type_name -> orchestrator.v1.IncidentSeverity + 2, // 6: orchestrator.v1.Incident.status:type_name -> orchestrator.v1.IncidentStatus + 29, // 7: orchestrator.v1.Incident.occurred_at:type_name -> google.protobuf.Timestamp + 29, // 8: orchestrator.v1.Incident.acknowledged_at:type_name -> google.protobuf.Timestamp + 29, // 9: orchestrator.v1.Incident.resolved_at:type_name -> google.protobuf.Timestamp + 6, // 10: orchestrator.v1.SubmitReportRequest.report:type_name -> orchestrator.v1.HealthReport + 0, // 11: orchestrator.v1.HeartbeatRequest.status:type_name -> orchestrator.v1.HealthStatus + 29, // 12: orchestrator.v1.HeartbeatRequest.timestamp:type_name -> google.protobuf.Timestamp + 1, // 13: orchestrator.v1.ReportIncidentRequest.severity:type_name -> orchestrator.v1.IncidentSeverity + 2, // 14: orchestrator.v1.ListIncidentsRequest.status:type_name -> orchestrator.v1.IncidentStatus + 1, // 15: orchestrator.v1.ListIncidentsRequest.severity:type_name -> orchestrator.v1.IncidentSeverity + 7, // 16: orchestrator.v1.ListIncidentsResponse.incidents:type_name -> orchestrator.v1.Incident + 7, // 17: orchestrator.v1.AcknowledgeIncidentResponse.incident:type_name -> orchestrator.v1.Incident + 7, // 18: orchestrator.v1.ResolveIncidentResponse.incident:type_name -> orchestrator.v1.Incident + 6, // 19: orchestrator.v1.GetInstanceHealthResponse.latest_report:type_name -> orchestrator.v1.HealthReport + 29, // 20: orchestrator.v1.GetInstanceHealthResponse.last_heartbeat:type_name -> google.protobuf.Timestamp + 29, // 21: orchestrator.v1.GetHealthHistoryRequest.start_time:type_name -> google.protobuf.Timestamp + 29, // 22: orchestrator.v1.GetHealthHistoryRequest.end_time:type_name -> google.protobuf.Timestamp + 6, // 23: orchestrator.v1.GetHealthHistoryResponse.reports:type_name -> orchestrator.v1.HealthReport + 28, // 24: orchestrator.v1.SubmitBugReportRequest.metadata:type_name -> orchestrator.v1.SubmitBugReportRequest.MetadataEntry + 8, // 25: orchestrator.v1.InstanceReportingService.SubmitReport:input_type -> orchestrator.v1.SubmitReportRequest + 10, // 26: orchestrator.v1.InstanceReportingService.Heartbeat:input_type -> orchestrator.v1.HeartbeatRequest + 12, // 27: orchestrator.v1.InstanceReportingService.ReportIncident:input_type -> orchestrator.v1.ReportIncidentRequest + 14, // 28: orchestrator.v1.InstanceReportingService.ListIncidents:input_type -> orchestrator.v1.ListIncidentsRequest + 16, // 29: orchestrator.v1.InstanceReportingService.AcknowledgeIncident:input_type -> orchestrator.v1.AcknowledgeIncidentRequest + 18, // 30: orchestrator.v1.InstanceReportingService.ResolveIncident:input_type -> orchestrator.v1.ResolveIncidentRequest + 20, // 31: orchestrator.v1.InstanceReportingService.GetInstanceHealth:input_type -> orchestrator.v1.GetInstanceHealthRequest + 22, // 32: orchestrator.v1.InstanceReportingService.GetHealthHistory:input_type -> orchestrator.v1.GetHealthHistoryRequest + 24, // 33: orchestrator.v1.InstanceReportingService.InstanceReady:input_type -> orchestrator.v1.InstanceReadyRequest + 26, // 34: orchestrator.v1.InstanceReportingService.SubmitBugReport:input_type -> orchestrator.v1.SubmitBugReportRequest + 9, // 35: orchestrator.v1.InstanceReportingService.SubmitReport:output_type -> orchestrator.v1.SubmitReportResponse + 11, // 36: orchestrator.v1.InstanceReportingService.Heartbeat:output_type -> orchestrator.v1.HeartbeatResponse + 13, // 37: orchestrator.v1.InstanceReportingService.ReportIncident:output_type -> orchestrator.v1.ReportIncidentResponse + 15, // 38: orchestrator.v1.InstanceReportingService.ListIncidents:output_type -> orchestrator.v1.ListIncidentsResponse + 17, // 39: orchestrator.v1.InstanceReportingService.AcknowledgeIncident:output_type -> orchestrator.v1.AcknowledgeIncidentResponse + 19, // 40: orchestrator.v1.InstanceReportingService.ResolveIncident:output_type -> orchestrator.v1.ResolveIncidentResponse + 21, // 41: orchestrator.v1.InstanceReportingService.GetInstanceHealth:output_type -> orchestrator.v1.GetInstanceHealthResponse + 23, // 42: orchestrator.v1.InstanceReportingService.GetHealthHistory:output_type -> orchestrator.v1.GetHealthHistoryResponse + 25, // 43: orchestrator.v1.InstanceReportingService.InstanceReady:output_type -> orchestrator.v1.InstanceReadyResponse + 27, // 44: orchestrator.v1.InstanceReportingService.SubmitBugReport:output_type -> orchestrator.v1.SubmitBugReportResponse + 35, // [35:45] is the sub-list for method output_type + 25, // [25:35] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_reporting_proto_init() } +func file_orchestrator_v1_reporting_proto_init() { + if File_orchestrator_v1_reporting_proto != nil { + return + } + file_orchestrator_v1_reporting_proto_msgTypes[0].OneofWrappers = []any{} + file_orchestrator_v1_reporting_proto_msgTypes[4].OneofWrappers = []any{} + file_orchestrator_v1_reporting_proto_msgTypes[6].OneofWrappers = []any{} + file_orchestrator_v1_reporting_proto_msgTypes[9].OneofWrappers = []any{} + file_orchestrator_v1_reporting_proto_msgTypes[11].OneofWrappers = []any{} + file_orchestrator_v1_reporting_proto_msgTypes[15].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_reporting_proto_rawDesc), len(file_orchestrator_v1_reporting_proto_rawDesc)), + NumEnums: 3, + NumMessages: 26, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_reporting_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_reporting_proto_depIdxs, + EnumInfos: file_orchestrator_v1_reporting_proto_enumTypes, + MessageInfos: file_orchestrator_v1_reporting_proto_msgTypes, + }.Build() + File_orchestrator_v1_reporting_proto = out.File + file_orchestrator_v1_reporting_proto_goTypes = nil + file_orchestrator_v1_reporting_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/settings.pb.go b/internal/api/orchestrator/v1/settings.pb.go new file mode 100644 index 0000000..41d63e1 --- /dev/null +++ b/internal/api/orchestrator/v1/settings.pb.go @@ -0,0 +1,539 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/settings.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// PlatformSetting represents a platform-wide setting +type PlatformSetting struct { + state protoimpl.MessageState `protogen:"open.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PlatformSetting) Reset() { + *x = PlatformSetting{} + mi := &file_orchestrator_v1_settings_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PlatformSetting) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlatformSetting) ProtoMessage() {} + +func (x *PlatformSetting) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_settings_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlatformSetting.ProtoReflect.Descriptor instead. +func (*PlatformSetting) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_settings_proto_rawDescGZIP(), []int{0} +} + +func (x *PlatformSetting) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *PlatformSetting) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *PlatformSetting) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +type GetPlatformSettingRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlatformSettingRequest) Reset() { + *x = GetPlatformSettingRequest{} + mi := &file_orchestrator_v1_settings_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlatformSettingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlatformSettingRequest) ProtoMessage() {} + +func (x *GetPlatformSettingRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_settings_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlatformSettingRequest.ProtoReflect.Descriptor instead. +func (*GetPlatformSettingRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_settings_proto_rawDescGZIP(), []int{1} +} + +func (x *GetPlatformSettingRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +type GetPlatformSettingResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Setting *PlatformSetting `protobuf:"bytes,1,opt,name=setting,proto3" json:"setting,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPlatformSettingResponse) Reset() { + *x = GetPlatformSettingResponse{} + mi := &file_orchestrator_v1_settings_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPlatformSettingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPlatformSettingResponse) ProtoMessage() {} + +func (x *GetPlatformSettingResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_settings_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPlatformSettingResponse.ProtoReflect.Descriptor instead. +func (*GetPlatformSettingResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_settings_proto_rawDescGZIP(), []int{2} +} + +func (x *GetPlatformSettingResponse) GetSetting() *PlatformSetting { + if x != nil { + return x.Setting + } + return nil +} + +type UpdatePlatformSettingRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdatePlatformSettingRequest) Reset() { + *x = UpdatePlatformSettingRequest{} + mi := &file_orchestrator_v1_settings_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdatePlatformSettingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePlatformSettingRequest) ProtoMessage() {} + +func (x *UpdatePlatformSettingRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_settings_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePlatformSettingRequest.ProtoReflect.Descriptor instead. +func (*UpdatePlatformSettingRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_settings_proto_rawDescGZIP(), []int{3} +} + +func (x *UpdatePlatformSettingRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *UpdatePlatformSettingRequest) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type UpdatePlatformSettingResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Setting *PlatformSetting `protobuf:"bytes,1,opt,name=setting,proto3" json:"setting,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdatePlatformSettingResponse) Reset() { + *x = UpdatePlatformSettingResponse{} + mi := &file_orchestrator_v1_settings_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdatePlatformSettingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePlatformSettingResponse) ProtoMessage() {} + +func (x *UpdatePlatformSettingResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_settings_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePlatformSettingResponse.ProtoReflect.Descriptor instead. +func (*UpdatePlatformSettingResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_settings_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdatePlatformSettingResponse) GetSetting() *PlatformSetting { + if x != nil { + return x.Setting + } + return nil +} + +type ListPlatformSettingsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPlatformSettingsRequest) Reset() { + *x = ListPlatformSettingsRequest{} + mi := &file_orchestrator_v1_settings_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPlatformSettingsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPlatformSettingsRequest) ProtoMessage() {} + +func (x *ListPlatformSettingsRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_settings_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPlatformSettingsRequest.ProtoReflect.Descriptor instead. +func (*ListPlatformSettingsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_settings_proto_rawDescGZIP(), []int{5} +} + +type ListPlatformSettingsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Settings []*PlatformSetting `protobuf:"bytes,1,rep,name=settings,proto3" json:"settings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListPlatformSettingsResponse) Reset() { + *x = ListPlatformSettingsResponse{} + mi := &file_orchestrator_v1_settings_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListPlatformSettingsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListPlatformSettingsResponse) ProtoMessage() {} + +func (x *ListPlatformSettingsResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_settings_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListPlatformSettingsResponse.ProtoReflect.Descriptor instead. +func (*ListPlatformSettingsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_settings_proto_rawDescGZIP(), []int{6} +} + +func (x *ListPlatformSettingsResponse) GetSettings() []*PlatformSetting { + if x != nil { + return x.Settings + } + return nil +} + +type RefreshAIModelCatalogRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RefreshAIModelCatalogRequest) Reset() { + *x = RefreshAIModelCatalogRequest{} + mi := &file_orchestrator_v1_settings_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RefreshAIModelCatalogRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshAIModelCatalogRequest) ProtoMessage() {} + +func (x *RefreshAIModelCatalogRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_settings_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshAIModelCatalogRequest.ProtoReflect.Descriptor instead. +func (*RefreshAIModelCatalogRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_settings_proto_rawDescGZIP(), []int{7} +} + +type RefreshAIModelCatalogResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The updated ai_model_catalog setting; value is the catalog JSON + // ({updated_at, anthropic: [{id,label,in_usd,out_usd,note}], openai: [...]}). + Setting *PlatformSetting `protobuf:"bytes,1,opt,name=setting,proto3" json:"setting,omitempty"` + // Total models extracted across both providers. + ModelCount int32 `protobuf:"varint,2,opt,name=model_count,json=modelCount,proto3" json:"model_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RefreshAIModelCatalogResponse) Reset() { + *x = RefreshAIModelCatalogResponse{} + mi := &file_orchestrator_v1_settings_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RefreshAIModelCatalogResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshAIModelCatalogResponse) ProtoMessage() {} + +func (x *RefreshAIModelCatalogResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_settings_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshAIModelCatalogResponse.ProtoReflect.Descriptor instead. +func (*RefreshAIModelCatalogResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_settings_proto_rawDescGZIP(), []int{8} +} + +func (x *RefreshAIModelCatalogResponse) GetSetting() *PlatformSetting { + if x != nil { + return x.Setting + } + return nil +} + +func (x *RefreshAIModelCatalogResponse) GetModelCount() int32 { + if x != nil { + return x.ModelCount + } + return 0 +} + +var File_orchestrator_v1_settings_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_settings_proto_rawDesc = "" + + "\n" + + "\x1eorchestrator/v1/settings.proto\x12\x0forchestrator.v1\"[\n" + + "\x0fPlatformSetting\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\"-\n" + + "\x19GetPlatformSettingRequest\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\"X\n" + + "\x1aGetPlatformSettingResponse\x12:\n" + + "\asetting\x18\x01 \x01(\v2 .orchestrator.v1.PlatformSettingR\asetting\"F\n" + + "\x1cUpdatePlatformSettingRequest\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value\"[\n" + + "\x1dUpdatePlatformSettingResponse\x12:\n" + + "\asetting\x18\x01 \x01(\v2 .orchestrator.v1.PlatformSettingR\asetting\"\x1d\n" + + "\x1bListPlatformSettingsRequest\"\\\n" + + "\x1cListPlatformSettingsResponse\x12<\n" + + "\bsettings\x18\x01 \x03(\v2 .orchestrator.v1.PlatformSettingR\bsettings\"\x1e\n" + + "\x1cRefreshAIModelCatalogRequest\"|\n" + + "\x1dRefreshAIModelCatalogResponse\x12:\n" + + "\asetting\x18\x01 \x01(\v2 .orchestrator.v1.PlatformSettingR\asetting\x12\x1f\n" + + "\vmodel_count\x18\x02 \x01(\x05R\n" + + "modelCount2\xe5\x03\n" + + "\x0fSettingsService\x12m\n" + + "\x12GetPlatformSetting\x12*.orchestrator.v1.GetPlatformSettingRequest\x1a+.orchestrator.v1.GetPlatformSettingResponse\x12v\n" + + "\x15UpdatePlatformSetting\x12-.orchestrator.v1.UpdatePlatformSettingRequest\x1a..orchestrator.v1.UpdatePlatformSettingResponse\x12s\n" + + "\x14ListPlatformSettings\x12,.orchestrator.v1.ListPlatformSettingsRequest\x1a-.orchestrator.v1.ListPlatformSettingsResponse\x12v\n" + + "\x15RefreshAIModelCatalog\x12-.orchestrator.v1.RefreshAIModelCatalogRequest\x1a..orchestrator.v1.RefreshAIModelCatalogResponseB\xd0\x01\n" + + "\x13com.orchestrator.v1B\rSettingsProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_settings_proto_rawDescOnce sync.Once + file_orchestrator_v1_settings_proto_rawDescData []byte +) + +func file_orchestrator_v1_settings_proto_rawDescGZIP() []byte { + file_orchestrator_v1_settings_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_settings_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_settings_proto_rawDesc), len(file_orchestrator_v1_settings_proto_rawDesc))) + }) + return file_orchestrator_v1_settings_proto_rawDescData +} + +var file_orchestrator_v1_settings_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_orchestrator_v1_settings_proto_goTypes = []any{ + (*PlatformSetting)(nil), // 0: orchestrator.v1.PlatformSetting + (*GetPlatformSettingRequest)(nil), // 1: orchestrator.v1.GetPlatformSettingRequest + (*GetPlatformSettingResponse)(nil), // 2: orchestrator.v1.GetPlatformSettingResponse + (*UpdatePlatformSettingRequest)(nil), // 3: orchestrator.v1.UpdatePlatformSettingRequest + (*UpdatePlatformSettingResponse)(nil), // 4: orchestrator.v1.UpdatePlatformSettingResponse + (*ListPlatformSettingsRequest)(nil), // 5: orchestrator.v1.ListPlatformSettingsRequest + (*ListPlatformSettingsResponse)(nil), // 6: orchestrator.v1.ListPlatformSettingsResponse + (*RefreshAIModelCatalogRequest)(nil), // 7: orchestrator.v1.RefreshAIModelCatalogRequest + (*RefreshAIModelCatalogResponse)(nil), // 8: orchestrator.v1.RefreshAIModelCatalogResponse +} +var file_orchestrator_v1_settings_proto_depIdxs = []int32{ + 0, // 0: orchestrator.v1.GetPlatformSettingResponse.setting:type_name -> orchestrator.v1.PlatformSetting + 0, // 1: orchestrator.v1.UpdatePlatformSettingResponse.setting:type_name -> orchestrator.v1.PlatformSetting + 0, // 2: orchestrator.v1.ListPlatformSettingsResponse.settings:type_name -> orchestrator.v1.PlatformSetting + 0, // 3: orchestrator.v1.RefreshAIModelCatalogResponse.setting:type_name -> orchestrator.v1.PlatformSetting + 1, // 4: orchestrator.v1.SettingsService.GetPlatformSetting:input_type -> orchestrator.v1.GetPlatformSettingRequest + 3, // 5: orchestrator.v1.SettingsService.UpdatePlatformSetting:input_type -> orchestrator.v1.UpdatePlatformSettingRequest + 5, // 6: orchestrator.v1.SettingsService.ListPlatformSettings:input_type -> orchestrator.v1.ListPlatformSettingsRequest + 7, // 7: orchestrator.v1.SettingsService.RefreshAIModelCatalog:input_type -> orchestrator.v1.RefreshAIModelCatalogRequest + 2, // 8: orchestrator.v1.SettingsService.GetPlatformSetting:output_type -> orchestrator.v1.GetPlatformSettingResponse + 4, // 9: orchestrator.v1.SettingsService.UpdatePlatformSetting:output_type -> orchestrator.v1.UpdatePlatformSettingResponse + 6, // 10: orchestrator.v1.SettingsService.ListPlatformSettings:output_type -> orchestrator.v1.ListPlatformSettingsResponse + 8, // 11: orchestrator.v1.SettingsService.RefreshAIModelCatalog:output_type -> orchestrator.v1.RefreshAIModelCatalogResponse + 8, // [8:12] is the sub-list for method output_type + 4, // [4:8] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_settings_proto_init() } +func file_orchestrator_v1_settings_proto_init() { + if File_orchestrator_v1_settings_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_settings_proto_rawDesc), len(file_orchestrator_v1_settings_proto_rawDesc)), + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_settings_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_settings_proto_depIdxs, + MessageInfos: file_orchestrator_v1_settings_proto_msgTypes, + }.Build() + File_orchestrator_v1_settings_proto = out.File + file_orchestrator_v1_settings_proto_goTypes = nil + file_orchestrator_v1_settings_proto_depIdxs = nil +} diff --git a/internal/api/orchestrator/v1/sso.pb.go b/internal/api/orchestrator/v1/sso.pb.go new file mode 100644 index 0000000..bf9ba56 --- /dev/null +++ b/internal/api/orchestrator/v1/sso.pb.go @@ -0,0 +1,343 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc (unknown) +// source: orchestrator/v1/sso.proto + +package orchestratorv1 + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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 GenerateSSOTokenRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + RedirectPath *string `protobuf:"bytes,2,opt,name=redirect_path,json=redirectPath,proto3,oneof" json:"redirect_path,omitempty"` // Path to redirect to after auth (default: /admin) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GenerateSSOTokenRequest) Reset() { + *x = GenerateSSOTokenRequest{} + mi := &file_orchestrator_v1_sso_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateSSOTokenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateSSOTokenRequest) ProtoMessage() {} + +func (x *GenerateSSOTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_sso_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateSSOTokenRequest.ProtoReflect.Descriptor instead. +func (*GenerateSSOTokenRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_sso_proto_rawDescGZIP(), []int{0} +} + +func (x *GenerateSSOTokenRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *GenerateSSOTokenRequest) GetRedirectPath() string { + if x != nil && x.RedirectPath != nil { + return *x.RedirectPath + } + return "" +} + +type GenerateSSOTokenResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + RedirectUrl string `protobuf:"bytes,2,opt,name=redirect_url,json=redirectUrl,proto3" json:"redirect_url,omitempty"` // Full URL to redirect to + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GenerateSSOTokenResponse) Reset() { + *x = GenerateSSOTokenResponse{} + mi := &file_orchestrator_v1_sso_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GenerateSSOTokenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenerateSSOTokenResponse) ProtoMessage() {} + +func (x *GenerateSSOTokenResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_sso_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenerateSSOTokenResponse.ProtoReflect.Descriptor instead. +func (*GenerateSSOTokenResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_sso_proto_rawDescGZIP(), []int{1} +} + +func (x *GenerateSSOTokenResponse) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *GenerateSSOTokenResponse) GetRedirectUrl() string { + if x != nil { + return x.RedirectUrl + } + return "" +} + +func (x *GenerateSSOTokenResponse) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +type ExchangeSSOTokenRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExchangeSSOTokenRequest) Reset() { + *x = ExchangeSSOTokenRequest{} + mi := &file_orchestrator_v1_sso_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExchangeSSOTokenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExchangeSSOTokenRequest) ProtoMessage() {} + +func (x *ExchangeSSOTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_sso_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExchangeSSOTokenRequest.ProtoReflect.Descriptor instead. +func (*ExchangeSSOTokenRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_sso_proto_rawDescGZIP(), []int{2} +} + +func (x *ExchangeSSOTokenRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type ExchangeSSOTokenResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + FirstName string `protobuf:"bytes,3,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,4,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + Role string `protobuf:"bytes,5,opt,name=role,proto3" json:"role,omitempty"` // The user's role in this instance + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExchangeSSOTokenResponse) Reset() { + *x = ExchangeSSOTokenResponse{} + mi := &file_orchestrator_v1_sso_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExchangeSSOTokenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExchangeSSOTokenResponse) ProtoMessage() {} + +func (x *ExchangeSSOTokenResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_sso_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExchangeSSOTokenResponse.ProtoReflect.Descriptor instead. +func (*ExchangeSSOTokenResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_sso_proto_rawDescGZIP(), []int{3} +} + +func (x *ExchangeSSOTokenResponse) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *ExchangeSSOTokenResponse) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *ExchangeSSOTokenResponse) GetFirstName() string { + if x != nil { + return x.FirstName + } + return "" +} + +func (x *ExchangeSSOTokenResponse) GetLastName() string { + if x != nil { + return x.LastName + } + return "" +} + +func (x *ExchangeSSOTokenResponse) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +var File_orchestrator_v1_sso_proto protoreflect.FileDescriptor + +const file_orchestrator_v1_sso_proto_rawDesc = "" + + "\n" + + "\x19orchestrator/v1/sso.proto\x12\x0forchestrator.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"v\n" + + "\x17GenerateSSOTokenRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12(\n" + + "\rredirect_path\x18\x02 \x01(\tH\x00R\fredirectPath\x88\x01\x01B\x10\n" + + "\x0e_redirect_path\"\x8e\x01\n" + + "\x18GenerateSSOTokenResponse\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\x12!\n" + + "\fredirect_url\x18\x02 \x01(\tR\vredirectUrl\x129\n" + + "\n" + + "expires_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"/\n" + + "\x17ExchangeSSOTokenRequest\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\"\x99\x01\n" + + "\x18ExchangeSSOTokenResponse\x12\x17\n" + + "\auser_id\x18\x01 \x01(\tR\x06userId\x12\x14\n" + + "\x05email\x18\x02 \x01(\tR\x05email\x12\x1d\n" + + "\n" + + "first_name\x18\x03 \x01(\tR\tfirstName\x12\x1b\n" + + "\tlast_name\x18\x04 \x01(\tR\blastName\x12\x12\n" + + "\x04role\x18\x05 \x01(\tR\x04role2\xde\x01\n" + + "\n" + + "SSOService\x12g\n" + + "\x10GenerateSSOToken\x12(.orchestrator.v1.GenerateSSOTokenRequest\x1a).orchestrator.v1.GenerateSSOTokenResponse\x12g\n" + + "\x10ExchangeSSOToken\x12(.orchestrator.v1.ExchangeSSOTokenRequest\x1a).orchestrator.v1.ExchangeSSOTokenResponseB\xcb\x01\n" + + "\x13com.orchestrator.v1B\bSsoProtoP\x01ZMgit.dev.alexdunmow.com/block/core/internal/api/orchestrator/v1;orchestratorv1\xa2\x02\x03OXX\xaa\x02\x0fOrchestrator.V1\xca\x02\x0fOrchestrator\\V1\xe2\x02\x1bOrchestrator\\V1\\GPBMetadata\xea\x02\x10Orchestrator::V1b\x06proto3" + +var ( + file_orchestrator_v1_sso_proto_rawDescOnce sync.Once + file_orchestrator_v1_sso_proto_rawDescData []byte +) + +func file_orchestrator_v1_sso_proto_rawDescGZIP() []byte { + file_orchestrator_v1_sso_proto_rawDescOnce.Do(func() { + file_orchestrator_v1_sso_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_orchestrator_v1_sso_proto_rawDesc), len(file_orchestrator_v1_sso_proto_rawDesc))) + }) + return file_orchestrator_v1_sso_proto_rawDescData +} + +var file_orchestrator_v1_sso_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_orchestrator_v1_sso_proto_goTypes = []any{ + (*GenerateSSOTokenRequest)(nil), // 0: orchestrator.v1.GenerateSSOTokenRequest + (*GenerateSSOTokenResponse)(nil), // 1: orchestrator.v1.GenerateSSOTokenResponse + (*ExchangeSSOTokenRequest)(nil), // 2: orchestrator.v1.ExchangeSSOTokenRequest + (*ExchangeSSOTokenResponse)(nil), // 3: orchestrator.v1.ExchangeSSOTokenResponse + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp +} +var file_orchestrator_v1_sso_proto_depIdxs = []int32{ + 4, // 0: orchestrator.v1.GenerateSSOTokenResponse.expires_at:type_name -> google.protobuf.Timestamp + 0, // 1: orchestrator.v1.SSOService.GenerateSSOToken:input_type -> orchestrator.v1.GenerateSSOTokenRequest + 2, // 2: orchestrator.v1.SSOService.ExchangeSSOToken:input_type -> orchestrator.v1.ExchangeSSOTokenRequest + 1, // 3: orchestrator.v1.SSOService.GenerateSSOToken:output_type -> orchestrator.v1.GenerateSSOTokenResponse + 3, // 4: orchestrator.v1.SSOService.ExchangeSSOToken:output_type -> orchestrator.v1.ExchangeSSOTokenResponse + 3, // [3:5] is the sub-list for method output_type + 1, // [1:3] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_orchestrator_v1_sso_proto_init() } +func file_orchestrator_v1_sso_proto_init() { + if File_orchestrator_v1_sso_proto != nil { + return + } + file_orchestrator_v1_sso_proto_msgTypes[0].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_sso_proto_rawDesc), len(file_orchestrator_v1_sso_proto_rawDesc)), + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_orchestrator_v1_sso_proto_goTypes, + DependencyIndexes: file_orchestrator_v1_sso_proto_depIdxs, + MessageInfos: file_orchestrator_v1_sso_proto_msgTypes, + }.Build() + File_orchestrator_v1_sso_proto = out.File + file_orchestrator_v1_sso_proto_goTypes = nil + file_orchestrator_v1_sso_proto_depIdxs = nil +} diff --git a/proto b/proto index 1ca85e3..6d73010 160000 --- a/proto +++ b/proto @@ -1 +1 @@ -Subproject commit 1ca85e3bb64e83a5764637339ab90a86da96ca09 +Subproject commit 6d73010a98b7dd94cd7ffac444d7877e65dadd2c