diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..eb48153 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "proto"] + path = proto + url = git@git.dev.alexdunmow.com:block/proto.git diff --git a/buf.yaml b/buf.yaml index 22bc7d8..80a25df 100644 --- a/buf.yaml +++ b/buf.yaml @@ -1,6 +1,14 @@ version: v2 +# proto/ is a git submodule pointing at block/proto (the canonical shared +# proto repo). The CLI in this module consumes the orchestrator v1 API +# surface; everything else under the submodule (blockninja, helpdesk) is +# excluded from generation. Within orchestrator/v1 only plugin_registry and +# accounts are wired through the CLI today, but generating the rest is cheap +# and lets us add new callers without retouching this config. modules: - path: proto + includes: + - proto/orchestrator/v1 lint: use: - STANDARD diff --git a/cmd/ninja/cmd/account.go b/cmd/ninja/cmd/account.go index 229d167..bf2c98e 100644 --- a/cmd/ninja/cmd/account.go +++ b/cmd/ninja/cmd/account.go @@ -37,7 +37,7 @@ func newAccountListCmd() *cobra.Command { if err != nil { return err } - accts, err := cli.Auth.ListMyAccounts(context.Background(), + accts, err := cli.Account.ListMyAccounts(context.Background(), connect.NewRequest(&v1.ListMyAccountsRequest{})) if err != nil { return fmt.Errorf("list accounts: %w", err) @@ -51,7 +51,7 @@ func newAccountListCmd() *cobra.Command { if a.Id == hc.ActiveAccountID { marker = "* " } - fmt.Printf("%s%s — %s (%s)\n", marker, a.Slug, a.DisplayName, a.Role) + fmt.Printf("%s%s — %s\n", marker, a.Slug, a.Name) } return nil }, @@ -69,7 +69,7 @@ func newAccountSetCmd() *cobra.Command { return err } slug := strings.TrimPrefix(args[0], "@") - accts, err := cli.Auth.ListMyAccounts(context.Background(), + accts, err := cli.Account.ListMyAccounts(context.Background(), connect.NewRequest(&v1.ListMyAccountsRequest{})) if err != nil { return fmt.Errorf("list accounts: %w", err) @@ -82,7 +82,7 @@ func newAccountSetCmd() *cobra.Command { if err := cr.Save(); err != nil { return err } - fmt.Printf("Active account: %s (%s)\n", a.Slug, a.DisplayName) + fmt.Printf("Active account: %s (%s)\n", a.Slug, a.Name) return nil } } @@ -135,7 +135,7 @@ func pickAccountInteractive(scanner *bufio.Scanner, accounts []*v1.Account) (*v1 } fmt.Println("Select an account:") for i, a := range accounts { - fmt.Printf(" %d) %s — %s (%s)\n", i+1, a.Slug, a.DisplayName, a.Role) + fmt.Printf(" %d) %s — %s\n", i+1, a.Slug, a.Name) } fmt.Print("> ") if !scanner.Scan() { diff --git a/cmd/ninja/cmd/login.go b/cmd/ninja/cmd/login.go index 609087f..3d21f98 100644 --- a/cmd/ninja/cmd/login.go +++ b/cmd/ninja/cmd/login.go @@ -108,7 +108,7 @@ func newWhoamiCmd() *cobra.Command { // user has at least one). With 1 it auto-selects silently. With ≥2 it // prompts interactively on stdin. func selectActiveAccount(ctx context.Context, cli *orchclient.Client, hc *creds.HostCreds) error { - resp, err := cli.Auth.ListMyAccounts(ctx, connect.NewRequest(&v1.ListMyAccountsRequest{})) + resp, err := cli.Account.ListMyAccounts(ctx, connect.NewRequest(&v1.ListMyAccountsRequest{})) if err != nil { return fmt.Errorf("list accounts: %w", err) } @@ -119,7 +119,7 @@ func selectActiveAccount(ctx context.Context, cli *orchclient.Client, hc *creds. case 1: hc.ActiveAccountID = accts[0].Id hc.ActiveAccountSlug = accts[0].Slug - fmt.Printf("Active account: %s (%s)\n", accts[0].Slug, accts[0].DisplayName) + fmt.Printf("Active account: %s (%s)\n", accts[0].Slug, accts[0].Name) return nil } chosen, err := pickAccountInteractive(bufio.NewScanner(os.Stdin), accts) @@ -128,7 +128,7 @@ func selectActiveAccount(ctx context.Context, cli *orchclient.Client, hc *creds. } hc.ActiveAccountID = chosen.Id hc.ActiveAccountSlug = chosen.Slug - fmt.Printf("Active account: %s (%s)\n", chosen.Slug, chosen.DisplayName) + fmt.Printf("Active account: %s (%s)\n", chosen.Slug, chosen.Name) return nil } diff --git a/cmd/ninja/internal/orchclient/client.go b/cmd/ninja/internal/orchclient/client.go index 2ddd815..f4f45e8 100644 --- a/cmd/ninja/internal/orchclient/client.go +++ b/cmd/ninja/internal/orchclient/client.go @@ -9,12 +9,13 @@ import ( ) type Client struct { - Host string - Token string - Auth orchestratorv1connect.PluginAuthServiceClient - Scope orchestratorv1connect.PluginScopeServiceClient - Reg orchestratorv1connect.PluginRegistryServiceClient - Pub orchestratorv1connect.PluginPublishServiceClient + Host string + Token string + Auth orchestratorv1connect.PluginAuthServiceClient + Scope orchestratorv1connect.PluginScopeServiceClient + Reg orchestratorv1connect.PluginRegistryServiceClient + Pub orchestratorv1connect.PluginPublishServiceClient + Account orchestratorv1connect.AccountServiceClient } func New(host, token string) *Client { @@ -27,6 +28,7 @@ func New(host, token string) *Client { c.Scope = orchestratorv1connect.NewPluginScopeServiceClient(httpClient, host, opts...) c.Reg = orchestratorv1connect.NewPluginRegistryServiceClient(httpClient, host, opts...) c.Pub = orchestratorv1connect.NewPluginPublishServiceClient(httpClient, host, opts...) + c.Account = orchestratorv1connect.NewAccountServiceClient(httpClient, host, opts...) return c } diff --git a/internal/api/orchestrator/v1/accounts.pb.go b/internal/api/orchestrator/v1/accounts.pb.go new file mode 100644 index 0000000..b1f453f --- /dev/null +++ b/internal/api/orchestrator/v1/accounts.pb.go @@ -0,0 +1,3741 @@ +// 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 membership in an account +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"` + AcceptedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=accepted_at,json=acceptedAt,proto3,oneof" json:"accepted_at,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) GetAcceptedAt() *timestamppb.Timestamp { + if x != nil { + return x.AcceptedAt + } + return nil +} + +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 InviteAccountUserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + Role AccountRole `protobuf:"varint,3,opt,name=role,proto3,enum=orchestrator.v1.AccountRole" json:"role,omitempty"` + HasBillingAccess bool `protobuf:"varint,4,opt,name=has_billing_access,json=hasBillingAccess,proto3" json:"has_billing_access,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InviteAccountUserRequest) Reset() { + *x = InviteAccountUserRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InviteAccountUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InviteAccountUserRequest) ProtoMessage() {} + +func (x *InviteAccountUserRequest) 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 InviteAccountUserRequest.ProtoReflect.Descriptor instead. +func (*InviteAccountUserRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{21} +} + +func (x *InviteAccountUserRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *InviteAccountUserRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *InviteAccountUserRequest) GetRole() AccountRole { + if x != nil { + return x.Role + } + return AccountRole_ACCOUNT_ROLE_UNSPECIFIED +} + +func (x *InviteAccountUserRequest) GetHasBillingAccess() bool { + if x != nil { + return x.HasBillingAccess + } + return false +} + +type InviteAccountUserResponse 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 *InviteAccountUserResponse) Reset() { + *x = InviteAccountUserResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InviteAccountUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InviteAccountUserResponse) ProtoMessage() {} + +func (x *InviteAccountUserResponse) 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 InviteAccountUserResponse.ProtoReflect.Descriptor instead. +func (*InviteAccountUserResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{22} +} + +func (x *InviteAccountUserResponse) GetAccountUser() *AccountUser { + if x != nil { + return x.AccountUser + } + 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[23] + 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[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 ListAccountUsersRequest.ProtoReflect.Descriptor instead. +func (*ListAccountUsersRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{23} +} + +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[24] + 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[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 ListAccountUsersResponse.ProtoReflect.Descriptor instead. +func (*ListAccountUsersResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{24} +} + +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[25] + 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[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 UpdateAccountUserRoleRequest.ProtoReflect.Descriptor instead. +func (*UpdateAccountUserRoleRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{25} +} + +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[26] + 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[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 UpdateAccountUserRoleResponse.ProtoReflect.Descriptor instead. +func (*UpdateAccountUserRoleResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{26} +} + +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[27] + 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[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 RemoveAccountUserRequest.ProtoReflect.Descriptor instead. +func (*RemoveAccountUserRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{27} +} + +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[28] + 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[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 RemoveAccountUserResponse.ProtoReflect.Descriptor instead. +func (*RemoveAccountUserResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{28} +} + +type AcceptAccountInvitationRequest 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 *AcceptAccountInvitationRequest) Reset() { + *x = AcceptAccountInvitationRequest{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcceptAccountInvitationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcceptAccountInvitationRequest) ProtoMessage() {} + +func (x *AcceptAccountInvitationRequest) 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 AcceptAccountInvitationRequest.ProtoReflect.Descriptor instead. +func (*AcceptAccountInvitationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{29} +} + +func (x *AcceptAccountInvitationRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type AcceptAccountInvitationResponse 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 *AcceptAccountInvitationResponse) Reset() { + *x = AcceptAccountInvitationResponse{} + mi := &file_orchestrator_v1_accounts_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcceptAccountInvitationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcceptAccountInvitationResponse) ProtoMessage() {} + +func (x *AcceptAccountInvitationResponse) 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 AcceptAccountInvitationResponse.ProtoReflect.Descriptor instead. +func (*AcceptAccountInvitationResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{30} +} + +func (x *AcceptAccountInvitationResponse) GetAccountUser() *AccountUser { + if x != nil { + return x.AccountUser + } + return nil +} + +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[31] + 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[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 GetAccountDashboardRequest.ProtoReflect.Descriptor instead. +func (*GetAccountDashboardRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{31} +} + +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[32] + 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[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 GetAccountDashboardResponse.ProtoReflect.Descriptor instead. +func (*GetAccountDashboardResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{32} +} + +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[33] + 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[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 AccountInstanceSummary.ProtoReflect.Descriptor instead. +func (*AccountInstanceSummary) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{33} +} + +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[34] + 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[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 AuditLogEntry.ProtoReflect.Descriptor instead. +func (*AuditLogEntry) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{34} +} + +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[35] + 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[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 BulkSuspendAccountsRequest.ProtoReflect.Descriptor instead. +func (*BulkSuspendAccountsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{35} +} + +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[36] + 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[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 BulkSuspendAccountsResponse.ProtoReflect.Descriptor instead. +func (*BulkSuspendAccountsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{36} +} + +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[37] + 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[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 BulkReactivateAccountsRequest.ProtoReflect.Descriptor instead. +func (*BulkReactivateAccountsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{37} +} + +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[38] + 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[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 BulkReactivateAccountsResponse.ProtoReflect.Descriptor instead. +func (*BulkReactivateAccountsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{38} +} + +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[39] + 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[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 BulkOperationResult.ProtoReflect.Descriptor instead. +func (*BulkOperationResult) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{39} +} + +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[40] + 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[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 VaultHealthCheck.ProtoReflect.Descriptor instead. +func (*VaultHealthCheck) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{40} +} + +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[41] + 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[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 InstanceVaultHealth.ProtoReflect.Descriptor instead. +func (*InstanceVaultHealth) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{41} +} + +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[42] + 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[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 GetAccountVaultHealthRequest.ProtoReflect.Descriptor instead. +func (*GetAccountVaultHealthRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{42} +} + +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[43] + 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[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 GetAccountVaultHealthResponse.ProtoReflect.Descriptor instead. +func (*GetAccountVaultHealthResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{43} +} + +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[44] + 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[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 ResetAccountVaultKeyRequest.ProtoReflect.Descriptor instead. +func (*ResetAccountVaultKeyRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{44} +} + +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[45] + 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[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 InstanceRestartResult.ProtoReflect.Descriptor instead. +func (*InstanceRestartResult) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{45} +} + +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[46] + 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[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 ResetAccountVaultKeyResponse.ProtoReflect.Descriptor instead. +func (*ResetAccountVaultKeyResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{46} +} + +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[47] + 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[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 RepairAccountVaultRequest.ProtoReflect.Descriptor instead. +func (*RepairAccountVaultRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{47} +} + +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[48] + 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[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 VaultRepairAction.ProtoReflect.Descriptor instead. +func (*VaultRepairAction) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{48} +} + +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[49] + 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[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 RepairAccountVaultResponse.ProtoReflect.Descriptor instead. +func (*RepairAccountVaultResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_accounts_proto_rawDescGZIP(), []int{49} +} + +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\"\xf4\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\x12@\n" + + "\vaccepted_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampH\x00R\n" + + "acceptedAt\x88\x01\x01\x12I\n" + + "\x10last_accessed_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampH\x01R\x0elastAccessedAt\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAtB\x0e\n" + + "\f_accepted_atB\x13\n" + + "\x11_last_accessed_at\"\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\"\xaf\x01\n" + + "\x18InviteAccountUserRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12\x14\n" + + "\x05email\x18\x02 \x01(\tR\x05email\x120\n" + + "\x04role\x18\x03 \x01(\x0e2\x1c.orchestrator.v1.AccountRoleR\x04role\x12,\n" + + "\x12has_billing_access\x18\x04 \x01(\bR\x10hasBillingAccess\"\\\n" + + "\x19InviteAccountUserResponse\x12?\n" + + "\faccount_user\x18\x01 \x01(\v2\x1c.orchestrator.v1.AccountUserR\vaccountUser\"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\"6\n" + + "\x1eAcceptAccountInvitationRequest\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\"b\n" + + "\x1fAcceptAccountInvitationResponse\x12?\n" + + "\faccount_user\x18\x01 \x01(\v2\x1c.orchestrator.v1.AccountUserR\vaccountUser\";\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\x80\x11\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\x12j\n" + + "\x11InviteAccountUser\x12).orchestrator.v1.InviteAccountUserRequest\x1a*.orchestrator.v1.InviteAccountUserResponse\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\x12|\n" + + "\x17AcceptAccountInvitation\x12/.orchestrator.v1.AcceptAccountInvitationRequest\x1a0.orchestrator.v1.AcceptAccountInvitationResponse\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, 50) +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 + (*InviteAccountUserRequest)(nil), // 24: orchestrator.v1.InviteAccountUserRequest + (*InviteAccountUserResponse)(nil), // 25: orchestrator.v1.InviteAccountUserResponse + (*ListAccountUsersRequest)(nil), // 26: orchestrator.v1.ListAccountUsersRequest + (*ListAccountUsersResponse)(nil), // 27: orchestrator.v1.ListAccountUsersResponse + (*UpdateAccountUserRoleRequest)(nil), // 28: orchestrator.v1.UpdateAccountUserRoleRequest + (*UpdateAccountUserRoleResponse)(nil), // 29: orchestrator.v1.UpdateAccountUserRoleResponse + (*RemoveAccountUserRequest)(nil), // 30: orchestrator.v1.RemoveAccountUserRequest + (*RemoveAccountUserResponse)(nil), // 31: orchestrator.v1.RemoveAccountUserResponse + (*AcceptAccountInvitationRequest)(nil), // 32: orchestrator.v1.AcceptAccountInvitationRequest + (*AcceptAccountInvitationResponse)(nil), // 33: orchestrator.v1.AcceptAccountInvitationResponse + (*GetAccountDashboardRequest)(nil), // 34: orchestrator.v1.GetAccountDashboardRequest + (*GetAccountDashboardResponse)(nil), // 35: orchestrator.v1.GetAccountDashboardResponse + (*AccountInstanceSummary)(nil), // 36: orchestrator.v1.AccountInstanceSummary + (*AuditLogEntry)(nil), // 37: orchestrator.v1.AuditLogEntry + (*BulkSuspendAccountsRequest)(nil), // 38: orchestrator.v1.BulkSuspendAccountsRequest + (*BulkSuspendAccountsResponse)(nil), // 39: orchestrator.v1.BulkSuspendAccountsResponse + (*BulkReactivateAccountsRequest)(nil), // 40: orchestrator.v1.BulkReactivateAccountsRequest + (*BulkReactivateAccountsResponse)(nil), // 41: orchestrator.v1.BulkReactivateAccountsResponse + (*BulkOperationResult)(nil), // 42: orchestrator.v1.BulkOperationResult + (*VaultHealthCheck)(nil), // 43: orchestrator.v1.VaultHealthCheck + (*InstanceVaultHealth)(nil), // 44: orchestrator.v1.InstanceVaultHealth + (*GetAccountVaultHealthRequest)(nil), // 45: orchestrator.v1.GetAccountVaultHealthRequest + (*GetAccountVaultHealthResponse)(nil), // 46: orchestrator.v1.GetAccountVaultHealthResponse + (*ResetAccountVaultKeyRequest)(nil), // 47: orchestrator.v1.ResetAccountVaultKeyRequest + (*InstanceRestartResult)(nil), // 48: orchestrator.v1.InstanceRestartResult + (*ResetAccountVaultKeyResponse)(nil), // 49: orchestrator.v1.ResetAccountVaultKeyResponse + (*RepairAccountVaultRequest)(nil), // 50: orchestrator.v1.RepairAccountVaultRequest + (*VaultRepairAction)(nil), // 51: orchestrator.v1.VaultRepairAction + (*RepairAccountVaultResponse)(nil), // 52: orchestrator.v1.RepairAccountVaultResponse + (*timestamppb.Timestamp)(nil), // 53: google.protobuf.Timestamp +} +var file_orchestrator_v1_accounts_proto_depIdxs = []int32{ + 1, // 0: orchestrator.v1.AccountUser.role:type_name -> orchestrator.v1.AccountRole + 53, // 1: orchestrator.v1.AccountUser.accepted_at:type_name -> google.protobuf.Timestamp + 53, // 2: orchestrator.v1.AccountUser.last_accessed_at:type_name -> google.protobuf.Timestamp + 53, // 3: orchestrator.v1.AccountUser.created_at:type_name -> google.protobuf.Timestamp + 4, // 4: orchestrator.v1.Account.plan:type_name -> orchestrator.v1.Plan + 0, // 5: orchestrator.v1.Account.status:type_name -> orchestrator.v1.AccountStatus + 53, // 6: orchestrator.v1.Account.trial_ends_at:type_name -> google.protobuf.Timestamp + 53, // 7: orchestrator.v1.Account.created_at:type_name -> google.protobuf.Timestamp + 53, // 8: orchestrator.v1.Account.updated_at:type_name -> google.protobuf.Timestamp + 53, // 9: orchestrator.v1.Account.deletion_requested_at:type_name -> google.protobuf.Timestamp + 5, // 10: orchestrator.v1.CreateAccountResponse.account:type_name -> orchestrator.v1.Account + 5, // 11: orchestrator.v1.GetAccountResponse.account:type_name -> orchestrator.v1.Account + 0, // 12: orchestrator.v1.ListAccountsRequest.status:type_name -> orchestrator.v1.AccountStatus + 5, // 13: orchestrator.v1.ListAccountsResponse.accounts:type_name -> orchestrator.v1.Account + 5, // 14: orchestrator.v1.ListMyAccountsResponse.accounts:type_name -> orchestrator.v1.Account + 5, // 15: orchestrator.v1.UpdateAccountResponse.account:type_name -> orchestrator.v1.Account + 5, // 16: orchestrator.v1.CancelAccountDeletionResponse.account:type_name -> orchestrator.v1.Account + 5, // 17: orchestrator.v1.SuspendAccountResponse.account:type_name -> orchestrator.v1.Account + 5, // 18: orchestrator.v1.ReactivateAccountResponse.account:type_name -> orchestrator.v1.Account + 1, // 19: orchestrator.v1.InviteAccountUserRequest.role:type_name -> orchestrator.v1.AccountRole + 3, // 20: orchestrator.v1.InviteAccountUserResponse.account_user:type_name -> orchestrator.v1.AccountUser + 3, // 21: orchestrator.v1.ListAccountUsersResponse.users:type_name -> orchestrator.v1.AccountUser + 1, // 22: orchestrator.v1.UpdateAccountUserRoleRequest.role:type_name -> orchestrator.v1.AccountRole + 3, // 23: orchestrator.v1.UpdateAccountUserRoleResponse.account_user:type_name -> orchestrator.v1.AccountUser + 3, // 24: orchestrator.v1.AcceptAccountInvitationResponse.account_user:type_name -> orchestrator.v1.AccountUser + 36, // 25: orchestrator.v1.GetAccountDashboardResponse.instances:type_name -> orchestrator.v1.AccountInstanceSummary + 37, // 26: orchestrator.v1.GetAccountDashboardResponse.recent_activity:type_name -> orchestrator.v1.AuditLogEntry + 53, // 27: orchestrator.v1.AuditLogEntry.created_at:type_name -> google.protobuf.Timestamp + 42, // 28: orchestrator.v1.BulkSuspendAccountsResponse.results:type_name -> orchestrator.v1.BulkOperationResult + 42, // 29: orchestrator.v1.BulkReactivateAccountsResponse.results:type_name -> orchestrator.v1.BulkOperationResult + 2, // 30: orchestrator.v1.VaultHealthCheck.status:type_name -> orchestrator.v1.VaultCheckStatus + 2, // 31: orchestrator.v1.InstanceVaultHealth.access_status:type_name -> orchestrator.v1.VaultCheckStatus + 2, // 32: orchestrator.v1.GetAccountVaultHealthResponse.overall_status:type_name -> orchestrator.v1.VaultCheckStatus + 43, // 33: orchestrator.v1.GetAccountVaultHealthResponse.checks:type_name -> orchestrator.v1.VaultHealthCheck + 44, // 34: orchestrator.v1.GetAccountVaultHealthResponse.instances:type_name -> orchestrator.v1.InstanceVaultHealth + 48, // 35: orchestrator.v1.ResetAccountVaultKeyResponse.restart_results:type_name -> orchestrator.v1.InstanceRestartResult + 51, // 36: orchestrator.v1.RepairAccountVaultResponse.repairs:type_name -> orchestrator.v1.VaultRepairAction + 48, // 37: orchestrator.v1.RepairAccountVaultResponse.restart_results:type_name -> orchestrator.v1.InstanceRestartResult + 6, // 38: orchestrator.v1.AccountService.CreateAccount:input_type -> orchestrator.v1.CreateAccountRequest + 8, // 39: orchestrator.v1.AccountService.GetAccount:input_type -> orchestrator.v1.GetAccountRequest + 10, // 40: orchestrator.v1.AccountService.ListAccounts:input_type -> orchestrator.v1.ListAccountsRequest + 12, // 41: orchestrator.v1.AccountService.ListMyAccounts:input_type -> orchestrator.v1.ListMyAccountsRequest + 14, // 42: orchestrator.v1.AccountService.UpdateAccount:input_type -> orchestrator.v1.UpdateAccountRequest + 16, // 43: orchestrator.v1.AccountService.DeleteAccount:input_type -> orchestrator.v1.DeleteAccountRequest + 18, // 44: orchestrator.v1.AccountService.CancelAccountDeletion:input_type -> orchestrator.v1.CancelAccountDeletionRequest + 20, // 45: orchestrator.v1.AccountService.SuspendAccount:input_type -> orchestrator.v1.SuspendAccountRequest + 22, // 46: orchestrator.v1.AccountService.ReactivateAccount:input_type -> orchestrator.v1.ReactivateAccountRequest + 24, // 47: orchestrator.v1.AccountService.InviteAccountUser:input_type -> orchestrator.v1.InviteAccountUserRequest + 26, // 48: orchestrator.v1.AccountService.ListAccountUsers:input_type -> orchestrator.v1.ListAccountUsersRequest + 28, // 49: orchestrator.v1.AccountService.UpdateAccountUserRole:input_type -> orchestrator.v1.UpdateAccountUserRoleRequest + 30, // 50: orchestrator.v1.AccountService.RemoveAccountUser:input_type -> orchestrator.v1.RemoveAccountUserRequest + 32, // 51: orchestrator.v1.AccountService.AcceptAccountInvitation:input_type -> orchestrator.v1.AcceptAccountInvitationRequest + 34, // 52: orchestrator.v1.AccountService.GetAccountDashboard:input_type -> orchestrator.v1.GetAccountDashboardRequest + 38, // 53: orchestrator.v1.AccountService.BulkSuspendAccounts:input_type -> orchestrator.v1.BulkSuspendAccountsRequest + 40, // 54: orchestrator.v1.AccountService.BulkReactivateAccounts:input_type -> orchestrator.v1.BulkReactivateAccountsRequest + 45, // 55: orchestrator.v1.AccountService.GetAccountVaultHealth:input_type -> orchestrator.v1.GetAccountVaultHealthRequest + 47, // 56: orchestrator.v1.AccountService.ResetAccountVaultKey:input_type -> orchestrator.v1.ResetAccountVaultKeyRequest + 50, // 57: orchestrator.v1.AccountService.RepairAccountVault:input_type -> orchestrator.v1.RepairAccountVaultRequest + 7, // 58: orchestrator.v1.AccountService.CreateAccount:output_type -> orchestrator.v1.CreateAccountResponse + 9, // 59: orchestrator.v1.AccountService.GetAccount:output_type -> orchestrator.v1.GetAccountResponse + 11, // 60: orchestrator.v1.AccountService.ListAccounts:output_type -> orchestrator.v1.ListAccountsResponse + 13, // 61: orchestrator.v1.AccountService.ListMyAccounts:output_type -> orchestrator.v1.ListMyAccountsResponse + 15, // 62: orchestrator.v1.AccountService.UpdateAccount:output_type -> orchestrator.v1.UpdateAccountResponse + 17, // 63: orchestrator.v1.AccountService.DeleteAccount:output_type -> orchestrator.v1.DeleteAccountResponse + 19, // 64: orchestrator.v1.AccountService.CancelAccountDeletion:output_type -> orchestrator.v1.CancelAccountDeletionResponse + 21, // 65: orchestrator.v1.AccountService.SuspendAccount:output_type -> orchestrator.v1.SuspendAccountResponse + 23, // 66: orchestrator.v1.AccountService.ReactivateAccount:output_type -> orchestrator.v1.ReactivateAccountResponse + 25, // 67: orchestrator.v1.AccountService.InviteAccountUser:output_type -> orchestrator.v1.InviteAccountUserResponse + 27, // 68: orchestrator.v1.AccountService.ListAccountUsers:output_type -> orchestrator.v1.ListAccountUsersResponse + 29, // 69: orchestrator.v1.AccountService.UpdateAccountUserRole:output_type -> orchestrator.v1.UpdateAccountUserRoleResponse + 31, // 70: orchestrator.v1.AccountService.RemoveAccountUser:output_type -> orchestrator.v1.RemoveAccountUserResponse + 33, // 71: orchestrator.v1.AccountService.AcceptAccountInvitation:output_type -> orchestrator.v1.AcceptAccountInvitationResponse + 35, // 72: orchestrator.v1.AccountService.GetAccountDashboard:output_type -> orchestrator.v1.GetAccountDashboardResponse + 39, // 73: orchestrator.v1.AccountService.BulkSuspendAccounts:output_type -> orchestrator.v1.BulkSuspendAccountsResponse + 41, // 74: orchestrator.v1.AccountService.BulkReactivateAccounts:output_type -> orchestrator.v1.BulkReactivateAccountsResponse + 46, // 75: orchestrator.v1.AccountService.GetAccountVaultHealth:output_type -> orchestrator.v1.GetAccountVaultHealthResponse + 49, // 76: orchestrator.v1.AccountService.ResetAccountVaultKey:output_type -> orchestrator.v1.ResetAccountVaultKeyResponse + 52, // 77: orchestrator.v1.AccountService.RepairAccountVault:output_type -> orchestrator.v1.RepairAccountVaultResponse + 58, // [58:78] is the sub-list for method output_type + 38, // [38:58] is the sub-list for method input_type + 38, // [38:38] is the sub-list for extension type_name + 38, // [38:38] is the sub-list for extension extendee + 0, // [0:38] 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: 50, + 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..de107e1 --- /dev/null +++ b/internal/api/orchestrator/v1/auth.pb.go @@ -0,0 +1,2294 @@ +// 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"` + 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 "" +} + +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"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LoginResponse) Reset() { + *x = LoginResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LoginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginResponse) ProtoMessage() {} + +func (x *LoginResponse) ProtoReflect() protoreflect.Message { + mi := &file_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 LoginResponse.ProtoReflect.Descriptor instead. +func (*LoginResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{2} +} + +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 "" +} + +type LogoutRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LogoutRequest) Reset() { + *x = LogoutRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[3] + 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[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 LogoutRequest.ProtoReflect.Descriptor instead. +func (*LogoutRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{3} +} + +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[4] + 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[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 LogoutResponse.ProtoReflect.Descriptor instead. +func (*LogoutResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{4} +} + +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"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegisterRequest) Reset() { + *x = RegisterRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[5] + 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[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 RegisterRequest.ProtoReflect.Descriptor instead. +func (*RegisterRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{5} +} + +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 "" +} + +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[6] + 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[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 RegisterResponse.ProtoReflect.Descriptor instead. +func (*RegisterResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{6} +} + +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"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RefreshSessionRequest) Reset() { + *x = RefreshSessionRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[7] + 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[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 RefreshSessionRequest.ProtoReflect.Descriptor instead. +func (*RefreshSessionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{7} +} + +type RefreshSessionResponse 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 *RefreshSessionResponse) Reset() { + *x = RefreshSessionResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[8] + 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[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 RefreshSessionResponse.ProtoReflect.Descriptor instead. +func (*RefreshSessionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{8} +} + +func (x *RefreshSessionResponse) GetUser() *User { + if x != nil { + return x.User + } + 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[9] + 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[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 GetCurrentUserRequest.ProtoReflect.Descriptor instead. +func (*GetCurrentUserRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{9} +} + +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[10] + 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[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 GetCurrentUserResponse.ProtoReflect.Descriptor instead. +func (*GetCurrentUserResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{10} +} + +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[11] + 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[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 ChangePasswordRequest.ProtoReflect.Descriptor instead. +func (*ChangePasswordRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{11} +} + +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[12] + 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[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 ChangePasswordResponse.ProtoReflect.Descriptor instead. +func (*ChangePasswordResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{12} +} + +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[13] + 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[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 RequestPasswordResetRequest.ProtoReflect.Descriptor instead. +func (*RequestPasswordResetRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{13} +} + +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[14] + 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[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 RequestPasswordResetResponse.ProtoReflect.Descriptor instead. +func (*RequestPasswordResetResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{14} +} + +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[15] + 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[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 ResetPasswordRequest.ProtoReflect.Descriptor instead. +func (*ResetPasswordRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{15} +} + +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[16] + 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[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 ResetPasswordResponse.ProtoReflect.Descriptor instead. +func (*ResetPasswordResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{16} +} + +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[17] + 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[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 VerifyEmailRequest.ProtoReflect.Descriptor instead. +func (*VerifyEmailRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{17} +} + +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[18] + 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[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 VerifyEmailResponse.ProtoReflect.Descriptor instead. +func (*VerifyEmailResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{18} +} + +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[19] + 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[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 ResendVerificationEmailRequest.ProtoReflect.Descriptor instead. +func (*ResendVerificationEmailRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{19} +} + +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[20] + 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[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 ResendVerificationEmailResponse.ProtoReflect.Descriptor instead. +func (*ResendVerificationEmailResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{20} +} + +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[21] + 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[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 UnlockAccountRequest.ProtoReflect.Descriptor instead. +func (*UnlockAccountRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{21} +} + +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[22] + 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[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 UnlockAccountResponse.ProtoReflect.Descriptor instead. +func (*UnlockAccountResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{22} +} + +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[23] + 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[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 AdminUnlockUserRequest.ProtoReflect.Descriptor instead. +func (*AdminUnlockUserRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{23} +} + +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[24] + 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[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 AdminUnlockUserResponse.ProtoReflect.Descriptor instead. +func (*AdminUnlockUserResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{24} +} + +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[25] + 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[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 AdminVerifyUserEmailRequest.ProtoReflect.Descriptor instead. +func (*AdminVerifyUserEmailRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{25} +} + +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[26] + 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[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 AdminVerifyUserEmailResponse.ProtoReflect.Descriptor instead. +func (*AdminVerifyUserEmailResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{26} +} + +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[27] + 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[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 SetupTOTPRequest.ProtoReflect.Descriptor instead. +func (*SetupTOTPRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{27} +} + +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[28] + 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[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 SetupTOTPResponse.ProtoReflect.Descriptor instead. +func (*SetupTOTPResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{28} +} + +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[29] + 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[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 EnableTOTPRequest.ProtoReflect.Descriptor instead. +func (*EnableTOTPRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{29} +} + +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[30] + 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[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 EnableTOTPResponse.ProtoReflect.Descriptor instead. +func (*EnableTOTPResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{30} +} + +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[31] + 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[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 DisableTOTPRequest.ProtoReflect.Descriptor instead. +func (*DisableTOTPRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{31} +} + +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[32] + 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[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 DisableTOTPResponse.ProtoReflect.Descriptor instead. +func (*DisableTOTPResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{32} +} + +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"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyLoginTOTPRequest) Reset() { + *x = VerifyLoginTOTPRequest{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[33] + 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[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 VerifyLoginTOTPRequest.ProtoReflect.Descriptor instead. +func (*VerifyLoginTOTPRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{33} +} + +func (x *VerifyLoginTOTPRequest) GetTwoFactorToken() string { + if x != nil { + return x.TwoFactorToken + } + return "" +} + +func (x *VerifyLoginTOTPRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +type VerifyLoginTOTPResponse 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 *VerifyLoginTOTPResponse) Reset() { + *x = VerifyLoginTOTPResponse{} + mi := &file_orchestrator_v1_auth_proto_msgTypes[34] + 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[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 VerifyLoginTOTPResponse.ProtoReflect.Descriptor instead. +func (*VerifyLoginTOTPResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{34} +} + +func (x *VerifyLoginTOTPResponse) GetUser() *User { + if x != nil { + return x.User + } + 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[35] + 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[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 GetTOTPStatusRequest.ProtoReflect.Descriptor instead. +func (*GetTOTPStatusRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{35} +} + +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[36] + 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[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 GetTOTPStatusResponse.ProtoReflect.Descriptor instead. +func (*GetTOTPStatusResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{36} +} + +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[37] + 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[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 RegenerateBackupCodesRequest.ProtoReflect.Descriptor instead. +func (*RegenerateBackupCodesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{37} +} + +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[38] + 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[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 RegenerateBackupCodesResponse.ProtoReflect.Descriptor instead. +func (*RegenerateBackupCodesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{38} +} + +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[39] + 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[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 DismissTOTPPromptRequest.ProtoReflect.Descriptor instead. +func (*DismissTOTPPromptRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{39} +} + +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[40] + 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[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 DismissTOTPPromptResponse.ProtoReflect.Descriptor instead. +func (*DismissTOTPPromptResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_auth_proto_rawDescGZIP(), []int{40} +} + +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\"@\n" + + "\fLoginRequest\x12\x14\n" + + "\x05email\x18\x01 \x01(\tR\x05email\x12\x1a\n" + + "\bpassword\x18\x02 \x01(\tR\bpassword\"\xbc\x01\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\x01B\a\n" + + "\x05_userB\x13\n" + + "\x11_two_factor_token\"\x0f\n" + + "\rLogoutRequest\"\x10\n" + + "\x0eLogoutResponse\"\x7f\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\"r\n" + + "\x10RegisterResponse\x12)\n" + + "\x04user\x18\x01 \x01(\v2\x15.orchestrator.v1.UserR\x04user\x123\n" + + "\x15verification_required\x18\x02 \x01(\bR\x14verificationRequired\"\x17\n" + + "\x15RefreshSessionRequest\"C\n" + + "\x16RefreshSessionResponse\x12)\n" + + "\x04user\x18\x01 \x01(\v2\x15.orchestrator.v1.UserR\x04user\"\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\"V\n" + + "\x16VerifyLoginTOTPRequest\x12(\n" + + "\x10two_factor_token\x18\x01 \x01(\tR\x0etwoFactorToken\x12\x12\n" + + "\x04code\x18\x02 \x01(\tR\x04code\"D\n" + + "\x17VerifyLoginTOTPResponse\x12)\n" + + "\x04user\x18\x01 \x01(\v2\x15.orchestrator.v1.UserR\x04user\"\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*|\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\xb1\x0f\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.DismissTOTPPromptResponseB\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, 41) +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 + (*LoginResponse)(nil), // 3: orchestrator.v1.LoginResponse + (*LogoutRequest)(nil), // 4: orchestrator.v1.LogoutRequest + (*LogoutResponse)(nil), // 5: orchestrator.v1.LogoutResponse + (*RegisterRequest)(nil), // 6: orchestrator.v1.RegisterRequest + (*RegisterResponse)(nil), // 7: orchestrator.v1.RegisterResponse + (*RefreshSessionRequest)(nil), // 8: orchestrator.v1.RefreshSessionRequest + (*RefreshSessionResponse)(nil), // 9: orchestrator.v1.RefreshSessionResponse + (*GetCurrentUserRequest)(nil), // 10: orchestrator.v1.GetCurrentUserRequest + (*GetCurrentUserResponse)(nil), // 11: orchestrator.v1.GetCurrentUserResponse + (*ChangePasswordRequest)(nil), // 12: orchestrator.v1.ChangePasswordRequest + (*ChangePasswordResponse)(nil), // 13: orchestrator.v1.ChangePasswordResponse + (*RequestPasswordResetRequest)(nil), // 14: orchestrator.v1.RequestPasswordResetRequest + (*RequestPasswordResetResponse)(nil), // 15: orchestrator.v1.RequestPasswordResetResponse + (*ResetPasswordRequest)(nil), // 16: orchestrator.v1.ResetPasswordRequest + (*ResetPasswordResponse)(nil), // 17: orchestrator.v1.ResetPasswordResponse + (*VerifyEmailRequest)(nil), // 18: orchestrator.v1.VerifyEmailRequest + (*VerifyEmailResponse)(nil), // 19: orchestrator.v1.VerifyEmailResponse + (*ResendVerificationEmailRequest)(nil), // 20: orchestrator.v1.ResendVerificationEmailRequest + (*ResendVerificationEmailResponse)(nil), // 21: orchestrator.v1.ResendVerificationEmailResponse + (*UnlockAccountRequest)(nil), // 22: orchestrator.v1.UnlockAccountRequest + (*UnlockAccountResponse)(nil), // 23: orchestrator.v1.UnlockAccountResponse + (*AdminUnlockUserRequest)(nil), // 24: orchestrator.v1.AdminUnlockUserRequest + (*AdminUnlockUserResponse)(nil), // 25: orchestrator.v1.AdminUnlockUserResponse + (*AdminVerifyUserEmailRequest)(nil), // 26: orchestrator.v1.AdminVerifyUserEmailRequest + (*AdminVerifyUserEmailResponse)(nil), // 27: orchestrator.v1.AdminVerifyUserEmailResponse + (*SetupTOTPRequest)(nil), // 28: orchestrator.v1.SetupTOTPRequest + (*SetupTOTPResponse)(nil), // 29: orchestrator.v1.SetupTOTPResponse + (*EnableTOTPRequest)(nil), // 30: orchestrator.v1.EnableTOTPRequest + (*EnableTOTPResponse)(nil), // 31: orchestrator.v1.EnableTOTPResponse + (*DisableTOTPRequest)(nil), // 32: orchestrator.v1.DisableTOTPRequest + (*DisableTOTPResponse)(nil), // 33: orchestrator.v1.DisableTOTPResponse + (*VerifyLoginTOTPRequest)(nil), // 34: orchestrator.v1.VerifyLoginTOTPRequest + (*VerifyLoginTOTPResponse)(nil), // 35: orchestrator.v1.VerifyLoginTOTPResponse + (*GetTOTPStatusRequest)(nil), // 36: orchestrator.v1.GetTOTPStatusRequest + (*GetTOTPStatusResponse)(nil), // 37: orchestrator.v1.GetTOTPStatusResponse + (*RegenerateBackupCodesRequest)(nil), // 38: orchestrator.v1.RegenerateBackupCodesRequest + (*RegenerateBackupCodesResponse)(nil), // 39: orchestrator.v1.RegenerateBackupCodesResponse + (*DismissTOTPPromptRequest)(nil), // 40: orchestrator.v1.DismissTOTPPromptRequest + (*DismissTOTPPromptResponse)(nil), // 41: orchestrator.v1.DismissTOTPPromptResponse + (*timestamppb.Timestamp)(nil), // 42: google.protobuf.Timestamp +} +var file_orchestrator_v1_auth_proto_depIdxs = []int32{ + 0, // 0: orchestrator.v1.User.role:type_name -> orchestrator.v1.PlatformRole + 42, // 1: orchestrator.v1.User.email_verified_at:type_name -> google.protobuf.Timestamp + 42, // 2: orchestrator.v1.User.last_login_at:type_name -> google.protobuf.Timestamp + 42, // 3: orchestrator.v1.User.created_at:type_name -> google.protobuf.Timestamp + 42, // 4: orchestrator.v1.User.updated_at:type_name -> google.protobuf.Timestamp + 1, // 5: orchestrator.v1.LoginResponse.user:type_name -> orchestrator.v1.User + 1, // 6: orchestrator.v1.RegisterResponse.user:type_name -> orchestrator.v1.User + 1, // 7: orchestrator.v1.RefreshSessionResponse.user:type_name -> orchestrator.v1.User + 1, // 8: orchestrator.v1.GetCurrentUserResponse.user:type_name -> orchestrator.v1.User + 1, // 9: orchestrator.v1.VerifyEmailResponse.user:type_name -> orchestrator.v1.User + 1, // 10: orchestrator.v1.VerifyLoginTOTPResponse.user:type_name -> orchestrator.v1.User + 42, // 11: orchestrator.v1.GetTOTPStatusResponse.enabled_at:type_name -> google.protobuf.Timestamp + 2, // 12: orchestrator.v1.AuthService.Login:input_type -> orchestrator.v1.LoginRequest + 4, // 13: orchestrator.v1.AuthService.Logout:input_type -> orchestrator.v1.LogoutRequest + 6, // 14: orchestrator.v1.AuthService.Register:input_type -> orchestrator.v1.RegisterRequest + 8, // 15: orchestrator.v1.AuthService.RefreshSession:input_type -> orchestrator.v1.RefreshSessionRequest + 10, // 16: orchestrator.v1.AuthService.GetCurrentUser:input_type -> orchestrator.v1.GetCurrentUserRequest + 12, // 17: orchestrator.v1.AuthService.ChangePassword:input_type -> orchestrator.v1.ChangePasswordRequest + 14, // 18: orchestrator.v1.AuthService.RequestPasswordReset:input_type -> orchestrator.v1.RequestPasswordResetRequest + 16, // 19: orchestrator.v1.AuthService.ResetPassword:input_type -> orchestrator.v1.ResetPasswordRequest + 18, // 20: orchestrator.v1.AuthService.VerifyEmail:input_type -> orchestrator.v1.VerifyEmailRequest + 20, // 21: orchestrator.v1.AuthService.ResendVerificationEmail:input_type -> orchestrator.v1.ResendVerificationEmailRequest + 22, // 22: orchestrator.v1.AuthService.UnlockAccount:input_type -> orchestrator.v1.UnlockAccountRequest + 24, // 23: orchestrator.v1.AuthService.AdminUnlockUser:input_type -> orchestrator.v1.AdminUnlockUserRequest + 26, // 24: orchestrator.v1.AuthService.AdminVerifyUserEmail:input_type -> orchestrator.v1.AdminVerifyUserEmailRequest + 28, // 25: orchestrator.v1.AuthService.SetupTOTP:input_type -> orchestrator.v1.SetupTOTPRequest + 30, // 26: orchestrator.v1.AuthService.EnableTOTP:input_type -> orchestrator.v1.EnableTOTPRequest + 32, // 27: orchestrator.v1.AuthService.DisableTOTP:input_type -> orchestrator.v1.DisableTOTPRequest + 34, // 28: orchestrator.v1.AuthService.VerifyLoginTOTP:input_type -> orchestrator.v1.VerifyLoginTOTPRequest + 36, // 29: orchestrator.v1.AuthService.GetTOTPStatus:input_type -> orchestrator.v1.GetTOTPStatusRequest + 38, // 30: orchestrator.v1.AuthService.RegenerateBackupCodes:input_type -> orchestrator.v1.RegenerateBackupCodesRequest + 40, // 31: orchestrator.v1.AuthService.DismissTOTPPrompt:input_type -> orchestrator.v1.DismissTOTPPromptRequest + 3, // 32: orchestrator.v1.AuthService.Login:output_type -> orchestrator.v1.LoginResponse + 5, // 33: orchestrator.v1.AuthService.Logout:output_type -> orchestrator.v1.LogoutResponse + 7, // 34: orchestrator.v1.AuthService.Register:output_type -> orchestrator.v1.RegisterResponse + 9, // 35: orchestrator.v1.AuthService.RefreshSession:output_type -> orchestrator.v1.RefreshSessionResponse + 11, // 36: orchestrator.v1.AuthService.GetCurrentUser:output_type -> orchestrator.v1.GetCurrentUserResponse + 13, // 37: orchestrator.v1.AuthService.ChangePassword:output_type -> orchestrator.v1.ChangePasswordResponse + 15, // 38: orchestrator.v1.AuthService.RequestPasswordReset:output_type -> orchestrator.v1.RequestPasswordResetResponse + 17, // 39: orchestrator.v1.AuthService.ResetPassword:output_type -> orchestrator.v1.ResetPasswordResponse + 19, // 40: orchestrator.v1.AuthService.VerifyEmail:output_type -> orchestrator.v1.VerifyEmailResponse + 21, // 41: orchestrator.v1.AuthService.ResendVerificationEmail:output_type -> orchestrator.v1.ResendVerificationEmailResponse + 23, // 42: orchestrator.v1.AuthService.UnlockAccount:output_type -> orchestrator.v1.UnlockAccountResponse + 25, // 43: orchestrator.v1.AuthService.AdminUnlockUser:output_type -> orchestrator.v1.AdminUnlockUserResponse + 27, // 44: orchestrator.v1.AuthService.AdminVerifyUserEmail:output_type -> orchestrator.v1.AdminVerifyUserEmailResponse + 29, // 45: orchestrator.v1.AuthService.SetupTOTP:output_type -> orchestrator.v1.SetupTOTPResponse + 31, // 46: orchestrator.v1.AuthService.EnableTOTP:output_type -> orchestrator.v1.EnableTOTPResponse + 33, // 47: orchestrator.v1.AuthService.DisableTOTP:output_type -> orchestrator.v1.DisableTOTPResponse + 35, // 48: orchestrator.v1.AuthService.VerifyLoginTOTP:output_type -> orchestrator.v1.VerifyLoginTOTPResponse + 37, // 49: orchestrator.v1.AuthService.GetTOTPStatus:output_type -> orchestrator.v1.GetTOTPStatusResponse + 39, // 50: orchestrator.v1.AuthService.RegenerateBackupCodes:output_type -> orchestrator.v1.RegenerateBackupCodesResponse + 41, // 51: orchestrator.v1.AuthService.DismissTOTPPrompt:output_type -> orchestrator.v1.DismissTOTPPromptResponse + 32, // [32:52] is the sub-list for method output_type + 12, // [12:32] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] 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[2].OneofWrappers = []any{} + file_orchestrator_v1_auth_proto_msgTypes[36].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: 41, + 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..2c76b0b --- /dev/null +++ b/internal/api/orchestrator/v1/billing.pb.go @@ -0,0 +1,4175 @@ +// 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"` + 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 +} + +// 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 +} + +// Get subscription for a specific instance +type GetSubscriptionRequest 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 *GetSubscriptionRequest) Reset() { + *x = GetSubscriptionRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSubscriptionRequest) ProtoMessage() {} + +func (x *GetSubscriptionRequest) 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 GetSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{7} +} + +func (x *GetSubscriptionRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +type GetSubscriptionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Subscription *Subscription `protobuf:"bytes,1,opt,name=subscription,proto3,oneof" json:"subscription,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetSubscriptionResponse) Reset() { + *x = GetSubscriptionResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSubscriptionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSubscriptionResponse) ProtoMessage() {} + +func (x *GetSubscriptionResponse) 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 GetSubscriptionResponse.ProtoReflect.Descriptor instead. +func (*GetSubscriptionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{8} +} + +func (x *GetSubscriptionResponse) GetSubscription() *Subscription { + if x != nil { + return x.Subscription + } + 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[9] + 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[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 ListAccountSubscriptionsRequest.ProtoReflect.Descriptor instead. +func (*ListAccountSubscriptionsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{9} +} + +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[10] + 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[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 ListAccountSubscriptionsResponse.ProtoReflect.Descriptor instead. +func (*ListAccountSubscriptionsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{10} +} + +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[11] + 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[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 CreateSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*CreateSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{11} +} + +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[12] + 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[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 CreateSubscriptionResponse.ProtoReflect.Descriptor instead. +func (*CreateSubscriptionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{12} +} + +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[13] + 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[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 ChangePlanRequest.ProtoReflect.Descriptor instead. +func (*ChangePlanRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{13} +} + +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[14] + 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[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 ChangePlanResponse.ProtoReflect.Descriptor instead. +func (*ChangePlanResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{14} +} + +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[15] + 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[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 CancelSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*CancelSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{15} +} + +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[16] + 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[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 CancelSubscriptionResponse.ProtoReflect.Descriptor instead. +func (*CancelSubscriptionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{16} +} + +func (x *CancelSubscriptionResponse) GetSubscription() *Subscription { + if x != nil { + return x.Subscription + } + return nil +} + +// Terminate instance subscription immediately +type TerminateSubscriptionRequest 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 *TerminateSubscriptionRequest) Reset() { + *x = TerminateSubscriptionRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TerminateSubscriptionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TerminateSubscriptionRequest) ProtoMessage() {} + +func (x *TerminateSubscriptionRequest) 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 TerminateSubscriptionRequest.ProtoReflect.Descriptor instead. +func (*TerminateSubscriptionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{17} +} + +func (x *TerminateSubscriptionRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *TerminateSubscriptionRequest) GetReason() string { + if x != nil && x.Reason != nil { + return *x.Reason + } + return "" +} + +type TerminateSubscriptionResponse 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 *TerminateSubscriptionResponse) Reset() { + *x = TerminateSubscriptionResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TerminateSubscriptionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TerminateSubscriptionResponse) ProtoMessage() {} + +func (x *TerminateSubscriptionResponse) 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 TerminateSubscriptionResponse.ProtoReflect.Descriptor instead. +func (*TerminateSubscriptionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{18} +} + +func (x *TerminateSubscriptionResponse) 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[19] + 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[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 ListInvoicesRequest.ProtoReflect.Descriptor instead. +func (*ListInvoicesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{19} +} + +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[20] + 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[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 ListInvoicesResponse.ProtoReflect.Descriptor instead. +func (*ListInvoicesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{20} +} + +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[21] + 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[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 GetInvoiceRequest.ProtoReflect.Descriptor instead. +func (*GetInvoiceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{21} +} + +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[22] + 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[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 GetInvoiceResponse.ProtoReflect.Descriptor instead. +func (*GetInvoiceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{22} +} + +func (x *GetInvoiceResponse) GetInvoice() *Invoice { + if x != nil { + return x.Invoice + } + return nil +} + +// 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"` + 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 +} + +// 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 +} + +// Get checkout URL for adding payment methods +type GetPaymentCheckoutURLRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + AccountId string `protobuf:"bytes,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"` + SuccessUrl *string `protobuf:"bytes,2,opt,name=success_url,json=successUrl,proto3,oneof" json:"success_url,omitempty"` // URL to redirect after successful payment setup + CancelUrl *string `protobuf:"bytes,3,opt,name=cancel_url,json=cancelUrl,proto3,oneof" json:"cancel_url,omitempty"` // URL to redirect if user cancels + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPaymentCheckoutURLRequest) Reset() { + *x = GetPaymentCheckoutURLRequest{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPaymentCheckoutURLRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPaymentCheckoutURLRequest) ProtoMessage() {} + +func (x *GetPaymentCheckoutURLRequest) 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 GetPaymentCheckoutURLRequest.ProtoReflect.Descriptor instead. +func (*GetPaymentCheckoutURLRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{51} +} + +func (x *GetPaymentCheckoutURLRequest) GetAccountId() string { + if x != nil { + return x.AccountId + } + return "" +} + +func (x *GetPaymentCheckoutURLRequest) GetSuccessUrl() string { + if x != nil && x.SuccessUrl != nil { + return *x.SuccessUrl + } + return "" +} + +func (x *GetPaymentCheckoutURLRequest) GetCancelUrl() string { + if x != nil && x.CancelUrl != nil { + return *x.CancelUrl + } + return "" +} + +type GetPaymentCheckoutURLResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + CheckoutUrl string `protobuf:"bytes,1,opt,name=checkout_url,json=checkoutUrl,proto3" json:"checkout_url,omitempty"` // Stripe checkout URL + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` // URL expiration (typically 24 hours) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetPaymentCheckoutURLResponse) Reset() { + *x = GetPaymentCheckoutURLResponse{} + mi := &file_orchestrator_v1_billing_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetPaymentCheckoutURLResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPaymentCheckoutURLResponse) ProtoMessage() {} + +func (x *GetPaymentCheckoutURLResponse) 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 GetPaymentCheckoutURLResponse.ProtoReflect.Descriptor instead. +func (*GetPaymentCheckoutURLResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{52} +} + +func (x *GetPaymentCheckoutURLResponse) GetCheckoutUrl() string { + if x != nil { + return x.CheckoutUrl + } + return "" +} + +func (x *GetPaymentCheckoutURLResponse) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + 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[53] + 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[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 HasPaymentMethodRequest.ProtoReflect.Descriptor instead. +func (*HasPaymentMethodRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{53} +} + +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[54] + 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[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 HasPaymentMethodResponse.ProtoReflect.Descriptor instead. +func (*HasPaymentMethodResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{54} +} + +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[55] + 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[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 GetStripeConfigRequest.ProtoReflect.Descriptor instead. +func (*GetStripeConfigRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{55} +} + +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[56] + 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[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 GetStripeConfigResponse.ProtoReflect.Descriptor instead. +func (*GetStripeConfigResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_billing_proto_rawDescGZIP(), []int{56} +} + +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 +} + +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\"\xaa\x06\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\tupdatedAtB\a\n" + + "\x05_planB\x0f\n" + + "\r_trial_end_atB\f\n" + + "\n" + + "_ending_atB\x10\n" + + "\x0e_terminated_at\"\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\"9\n" + + "\x16GetSubscriptionRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\"r\n" + + "\x17GetSubscriptionResponse\x12F\n" + + "\fsubscription\x18\x01 \x01(\v2\x1d.orchestrator.v1.SubscriptionH\x00R\fsubscription\x88\x01\x01B\x0f\n" + + "\r_subscription\"@\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\"g\n" + + "\x1cTerminateSubscriptionRequest\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\"b\n" + + "\x1dTerminateSubscriptionResponse\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\"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\"\xe6\x02\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\"\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\"\xa6\x01\n" + + "\x1cGetPaymentCheckoutURLRequest\x12\x1d\n" + + "\n" + + "account_id\x18\x01 \x01(\tR\taccountId\x12$\n" + + "\vsuccess_url\x18\x02 \x01(\tH\x00R\n" + + "successUrl\x88\x01\x01\x12\"\n" + + "\n" + + "cancel_url\x18\x03 \x01(\tH\x01R\tcancelUrl\x88\x01\x01B\x0e\n" + + "\f_success_urlB\r\n" + + "\v_cancel_url\"}\n" + + "\x1dGetPaymentCheckoutURLResponse\x12!\n" + + "\fcheckout_url\x18\x01 \x01(\tR\vcheckoutUrl\x129\n" + + "\n" + + "expires_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"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*\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\xf7\x13\n" + + "\x0eBillingService\x12R\n" + + "\tListPlans\x12!.orchestrator.v1.ListPlansRequest\x1a\".orchestrator.v1.ListPlansResponse\x12d\n" + + "\x0fListPublicPlans\x12'.orchestrator.v1.ListPublicPlansRequest\x1a(.orchestrator.v1.ListPublicPlansResponse\x12d\n" + + "\x0fGetSubscription\x12'.orchestrator.v1.GetSubscriptionRequest\x1a(.orchestrator.v1.GetSubscriptionResponse\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\x12v\n" + + "\x15TerminateSubscription\x12-.orchestrator.v1.TerminateSubscriptionRequest\x1a..orchestrator.v1.TerminateSubscriptionResponse\x12[\n" + + "\fListInvoices\x12$.orchestrator.v1.ListInvoicesRequest\x1a%.orchestrator.v1.ListInvoicesResponse\x12U\n" + + "\n" + + "GetInvoice\x12\".orchestrator.v1.GetInvoiceRequest\x1a#.orchestrator.v1.GetInvoiceResponse\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\x12v\n" + + "\x15GetPaymentCheckoutURL\x12-.orchestrator.v1.GetPaymentCheckoutURLRequest\x1a..orchestrator.v1.GetPaymentCheckoutURLResponse\x12g\n" + + "\x10HasPaymentMethod\x12(.orchestrator.v1.HasPaymentMethodRequest\x1a).orchestrator.v1.HasPaymentMethodResponse\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, 59) +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 + (*GetSubscriptionRequest)(nil), // 8: orchestrator.v1.GetSubscriptionRequest + (*GetSubscriptionResponse)(nil), // 9: orchestrator.v1.GetSubscriptionResponse + (*ListAccountSubscriptionsRequest)(nil), // 10: orchestrator.v1.ListAccountSubscriptionsRequest + (*ListAccountSubscriptionsResponse)(nil), // 11: orchestrator.v1.ListAccountSubscriptionsResponse + (*CreateSubscriptionRequest)(nil), // 12: orchestrator.v1.CreateSubscriptionRequest + (*CreateSubscriptionResponse)(nil), // 13: orchestrator.v1.CreateSubscriptionResponse + (*ChangePlanRequest)(nil), // 14: orchestrator.v1.ChangePlanRequest + (*ChangePlanResponse)(nil), // 15: orchestrator.v1.ChangePlanResponse + (*CancelSubscriptionRequest)(nil), // 16: orchestrator.v1.CancelSubscriptionRequest + (*CancelSubscriptionResponse)(nil), // 17: orchestrator.v1.CancelSubscriptionResponse + (*TerminateSubscriptionRequest)(nil), // 18: orchestrator.v1.TerminateSubscriptionRequest + (*TerminateSubscriptionResponse)(nil), // 19: orchestrator.v1.TerminateSubscriptionResponse + (*ListInvoicesRequest)(nil), // 20: orchestrator.v1.ListInvoicesRequest + (*ListInvoicesResponse)(nil), // 21: orchestrator.v1.ListInvoicesResponse + (*GetInvoiceRequest)(nil), // 22: orchestrator.v1.GetInvoiceRequest + (*GetInvoiceResponse)(nil), // 23: orchestrator.v1.GetInvoiceResponse + (*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 + (*GetPaymentCheckoutURLRequest)(nil), // 52: orchestrator.v1.GetPaymentCheckoutURLRequest + (*GetPaymentCheckoutURLResponse)(nil), // 53: orchestrator.v1.GetPaymentCheckoutURLResponse + (*HasPaymentMethodRequest)(nil), // 54: orchestrator.v1.HasPaymentMethodRequest + (*HasPaymentMethodResponse)(nil), // 55: orchestrator.v1.HasPaymentMethodResponse + (*GetStripeConfigRequest)(nil), // 56: orchestrator.v1.GetStripeConfigRequest + (*GetStripeConfigResponse)(nil), // 57: orchestrator.v1.GetStripeConfigResponse + nil, // 58: orchestrator.v1.RecordUsageRequest.PropertiesEntry + nil, // 59: orchestrator.v1.EnabledFeature.ConfigEntry + (*Plan)(nil), // 60: orchestrator.v1.Plan + (*timestamppb.Timestamp)(nil), // 61: google.protobuf.Timestamp +} +var file_orchestrator_v1_billing_proto_depIdxs = []int32{ + 60, // 0: orchestrator.v1.Subscription.plan:type_name -> orchestrator.v1.Plan + 0, // 1: orchestrator.v1.Subscription.status:type_name -> orchestrator.v1.SubscriptionStatus + 61, // 2: orchestrator.v1.Subscription.started_at:type_name -> google.protobuf.Timestamp + 61, // 3: orchestrator.v1.Subscription.trial_end_at:type_name -> google.protobuf.Timestamp + 61, // 4: orchestrator.v1.Subscription.ending_at:type_name -> google.protobuf.Timestamp + 61, // 5: orchestrator.v1.Subscription.terminated_at:type_name -> google.protobuf.Timestamp + 61, // 6: orchestrator.v1.Subscription.created_at:type_name -> google.protobuf.Timestamp + 61, // 7: orchestrator.v1.Subscription.updated_at:type_name -> google.protobuf.Timestamp + 1, // 8: orchestrator.v1.InstanceBillingInfo.subscription:type_name -> orchestrator.v1.Subscription + 5, // 9: orchestrator.v1.InstanceBillingInfo.usage:type_name -> orchestrator.v1.UsageMetric + 2, // 10: orchestrator.v1.AccountBillingSummary.instances:type_name -> orchestrator.v1.InstanceBillingInfo + 61, // 11: orchestrator.v1.Invoice.created_at:type_name -> google.protobuf.Timestamp + 60, // 12: orchestrator.v1.ListPlansResponse.plans:type_name -> orchestrator.v1.Plan + 1, // 13: orchestrator.v1.GetSubscriptionResponse.subscription:type_name -> orchestrator.v1.Subscription + 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.TerminateSubscriptionResponse.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 + 5, // 21: orchestrator.v1.GetUsageResponse.metrics:type_name -> orchestrator.v1.UsageMetric + 58, // 22: orchestrator.v1.RecordUsageRequest.properties:type_name -> orchestrator.v1.RecordUsageRequest.PropertiesEntry + 60, // 23: orchestrator.v1.ListPublicPlansResponse.plans:type_name -> orchestrator.v1.Plan + 32, // 24: orchestrator.v1.GetInstanceCapabilitiesResponse.enabled:type_name -> orchestrator.v1.EnabledFeature + 59, // 25: orchestrator.v1.EnabledFeature.config:type_name -> orchestrator.v1.EnabledFeature.ConfigEntry + 32, // 26: orchestrator.v1.EnableFeatureResponse.feature:type_name -> orchestrator.v1.EnabledFeature + 60, // 27: orchestrator.v1.UpdatePlanFeaturesResponse.plan:type_name -> orchestrator.v1.Plan + 41, // 28: orchestrator.v1.ListAvailableFeaturesResponse.features:type_name -> orchestrator.v1.FeatureDefinition + 60, // 29: orchestrator.v1.GetPlanResponse.plan:type_name -> orchestrator.v1.Plan + 60, // 30: orchestrator.v1.CreatePlanResponse.plan:type_name -> orchestrator.v1.Plan + 60, // 31: orchestrator.v1.UpdatePlanResponse.plan:type_name -> orchestrator.v1.Plan + 61, // 32: orchestrator.v1.GetPaymentCheckoutURLResponse.expires_at:type_name -> google.protobuf.Timestamp + 6, // 33: orchestrator.v1.BillingService.ListPlans:input_type -> orchestrator.v1.ListPlansRequest + 28, // 34: orchestrator.v1.BillingService.ListPublicPlans:input_type -> orchestrator.v1.ListPublicPlansRequest + 8, // 35: orchestrator.v1.BillingService.GetSubscription:input_type -> orchestrator.v1.GetSubscriptionRequest + 10, // 36: orchestrator.v1.BillingService.ListAccountSubscriptions:input_type -> orchestrator.v1.ListAccountSubscriptionsRequest + 12, // 37: orchestrator.v1.BillingService.CreateSubscription:input_type -> orchestrator.v1.CreateSubscriptionRequest + 14, // 38: orchestrator.v1.BillingService.ChangePlan:input_type -> orchestrator.v1.ChangePlanRequest + 16, // 39: orchestrator.v1.BillingService.CancelSubscription:input_type -> orchestrator.v1.CancelSubscriptionRequest + 18, // 40: orchestrator.v1.BillingService.TerminateSubscription:input_type -> orchestrator.v1.TerminateSubscriptionRequest + 20, // 41: orchestrator.v1.BillingService.ListInvoices:input_type -> orchestrator.v1.ListInvoicesRequest + 22, // 42: orchestrator.v1.BillingService.GetInvoice:input_type -> orchestrator.v1.GetInvoiceRequest + 24, // 43: orchestrator.v1.BillingService.GetUsage:input_type -> orchestrator.v1.GetUsageRequest + 26, // 44: orchestrator.v1.BillingService.RecordUsage:input_type -> orchestrator.v1.RecordUsageRequest + 30, // 45: orchestrator.v1.BillingService.GetInstanceCapabilities:input_type -> orchestrator.v1.GetInstanceCapabilitiesRequest + 33, // 46: orchestrator.v1.BillingService.EnableFeature:input_type -> orchestrator.v1.EnableFeatureRequest + 35, // 47: orchestrator.v1.BillingService.DisableFeature:input_type -> orchestrator.v1.DisableFeatureRequest + 37, // 48: orchestrator.v1.BillingService.UpdatePlanFeatures:input_type -> orchestrator.v1.UpdatePlanFeaturesRequest + 39, // 49: orchestrator.v1.BillingService.ListAvailableFeatures:input_type -> orchestrator.v1.ListAvailableFeaturesRequest + 42, // 50: orchestrator.v1.BillingService.GetPlan:input_type -> orchestrator.v1.GetPlanRequest + 44, // 51: orchestrator.v1.BillingService.CreatePlan:input_type -> orchestrator.v1.CreatePlanRequest + 46, // 52: orchestrator.v1.BillingService.UpdatePlan:input_type -> orchestrator.v1.UpdatePlanRequest + 48, // 53: orchestrator.v1.BillingService.DeletePlan:input_type -> orchestrator.v1.DeletePlanRequest + 50, // 54: orchestrator.v1.BillingService.GetPlanDeletionImpact:input_type -> orchestrator.v1.GetPlanDeletionImpactRequest + 52, // 55: orchestrator.v1.BillingService.GetPaymentCheckoutURL:input_type -> orchestrator.v1.GetPaymentCheckoutURLRequest + 54, // 56: orchestrator.v1.BillingService.HasPaymentMethod:input_type -> orchestrator.v1.HasPaymentMethodRequest + 56, // 57: orchestrator.v1.BillingService.GetStripeConfig:input_type -> orchestrator.v1.GetStripeConfigRequest + 7, // 58: orchestrator.v1.BillingService.ListPlans:output_type -> orchestrator.v1.ListPlansResponse + 29, // 59: orchestrator.v1.BillingService.ListPublicPlans:output_type -> orchestrator.v1.ListPublicPlansResponse + 9, // 60: orchestrator.v1.BillingService.GetSubscription:output_type -> orchestrator.v1.GetSubscriptionResponse + 11, // 61: orchestrator.v1.BillingService.ListAccountSubscriptions:output_type -> orchestrator.v1.ListAccountSubscriptionsResponse + 13, // 62: orchestrator.v1.BillingService.CreateSubscription:output_type -> orchestrator.v1.CreateSubscriptionResponse + 15, // 63: orchestrator.v1.BillingService.ChangePlan:output_type -> orchestrator.v1.ChangePlanResponse + 17, // 64: orchestrator.v1.BillingService.CancelSubscription:output_type -> orchestrator.v1.CancelSubscriptionResponse + 19, // 65: orchestrator.v1.BillingService.TerminateSubscription:output_type -> orchestrator.v1.TerminateSubscriptionResponse + 21, // 66: orchestrator.v1.BillingService.ListInvoices:output_type -> orchestrator.v1.ListInvoicesResponse + 23, // 67: orchestrator.v1.BillingService.GetInvoice:output_type -> orchestrator.v1.GetInvoiceResponse + 25, // 68: orchestrator.v1.BillingService.GetUsage:output_type -> orchestrator.v1.GetUsageResponse + 27, // 69: orchestrator.v1.BillingService.RecordUsage:output_type -> orchestrator.v1.RecordUsageResponse + 31, // 70: orchestrator.v1.BillingService.GetInstanceCapabilities:output_type -> orchestrator.v1.GetInstanceCapabilitiesResponse + 34, // 71: orchestrator.v1.BillingService.EnableFeature:output_type -> orchestrator.v1.EnableFeatureResponse + 36, // 72: orchestrator.v1.BillingService.DisableFeature:output_type -> orchestrator.v1.DisableFeatureResponse + 38, // 73: orchestrator.v1.BillingService.UpdatePlanFeatures:output_type -> orchestrator.v1.UpdatePlanFeaturesResponse + 40, // 74: orchestrator.v1.BillingService.ListAvailableFeatures:output_type -> orchestrator.v1.ListAvailableFeaturesResponse + 43, // 75: orchestrator.v1.BillingService.GetPlan:output_type -> orchestrator.v1.GetPlanResponse + 45, // 76: orchestrator.v1.BillingService.CreatePlan:output_type -> orchestrator.v1.CreatePlanResponse + 47, // 77: orchestrator.v1.BillingService.UpdatePlan:output_type -> orchestrator.v1.UpdatePlanResponse + 49, // 78: orchestrator.v1.BillingService.DeletePlan:output_type -> orchestrator.v1.DeletePlanResponse + 51, // 79: orchestrator.v1.BillingService.GetPlanDeletionImpact:output_type -> orchestrator.v1.GetPlanDeletionImpactResponse + 53, // 80: orchestrator.v1.BillingService.GetPaymentCheckoutURL:output_type -> orchestrator.v1.GetPaymentCheckoutURLResponse + 55, // 81: orchestrator.v1.BillingService.HasPaymentMethod:output_type -> orchestrator.v1.HasPaymentMethodResponse + 57, // 82: orchestrator.v1.BillingService.GetStripeConfig:output_type -> orchestrator.v1.GetStripeConfigResponse + 58, // [58:83] is the sub-list for method output_type + 33, // [33:58] is the sub-list for method input_type + 33, // [33:33] is the sub-list for extension type_name + 33, // [33:33] is the sub-list for extension extendee + 0, // [0:33] 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[8].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[11].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[15].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[17].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[51].OneofWrappers = []any{} + file_orchestrator_v1_billing_proto_msgTypes[54].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: 59, + 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..36a7944 --- /dev/null +++ b/internal/api/orchestrator/v1/dns.pb.go @@ -0,0 +1,2165 @@ +// 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"` + 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 +} + +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"` + 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 +} + +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[12] + 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[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 ListRecordsRequest.ProtoReflect.Descriptor instead. +func (*ListRecordsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{12} +} + +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[13] + 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[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 ListRecordsResponse.ProtoReflect.Descriptor instead. +func (*ListRecordsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{13} +} + +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[14] + 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[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 CreateRecordRequest.ProtoReflect.Descriptor instead. +func (*CreateRecordRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{14} +} + +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[15] + 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[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 CreateRecordResponse.ProtoReflect.Descriptor instead. +func (*CreateRecordResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{15} +} + +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[16] + 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[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 UpdateRecordRequest.ProtoReflect.Descriptor instead. +func (*UpdateRecordRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{16} +} + +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[17] + 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[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 UpdateRecordResponse.ProtoReflect.Descriptor instead. +func (*UpdateRecordResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{17} +} + +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[18] + 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[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 DeleteRecordRequest.ProtoReflect.Descriptor instead. +func (*DeleteRecordRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{18} +} + +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[19] + 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[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 DeleteRecordResponse.ProtoReflect.Descriptor instead. +func (*DeleteRecordResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{19} +} + +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[20] + 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[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 PreviewRecordChangeRequest.ProtoReflect.Descriptor instead. +func (*PreviewRecordChangeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{20} +} + +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[21] + 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[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 PreviewRecordChangeResponse.ProtoReflect.Descriptor instead. +func (*PreviewRecordChangeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{21} +} + +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[22] + 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[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 Nameserver.ProtoReflect.Descriptor instead. +func (*Nameserver) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{22} +} + +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[23] + 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[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 ProvisionNameserverRequest.ProtoReflect.Descriptor instead. +func (*ProvisionNameserverRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{23} +} + +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[24] + 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[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 ProvisionNameserverResponse.ProtoReflect.Descriptor instead. +func (*ProvisionNameserverResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{24} +} + +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[25] + 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[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 ListNameserversRequest.ProtoReflect.Descriptor instead. +func (*ListNameserversRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{25} +} + +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[26] + 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[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 ListNameserversResponse.ProtoReflect.Descriptor instead. +func (*ListNameserversResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{26} +} + +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[27] + 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[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 GetNameserverInstallScriptRequest.ProtoReflect.Descriptor instead. +func (*GetNameserverInstallScriptRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{27} +} + +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[28] + 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[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 GetNameserverInstallScriptResponse.ProtoReflect.Descriptor instead. +func (*GetNameserverInstallScriptResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{28} +} + +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[29] + 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[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 DecommissionNameserverRequest.ProtoReflect.Descriptor instead. +func (*DecommissionNameserverRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{29} +} + +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[30] + 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[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 DecommissionNameserverResponse.ProtoReflect.Descriptor instead. +func (*DecommissionNameserverResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{30} +} + +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[31] + 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[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 GeneratePrimaryInstallScriptRequest.ProtoReflect.Descriptor instead. +func (*GeneratePrimaryInstallScriptRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{31} +} + +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[32] + 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[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 GeneratePrimaryInstallScriptResponse.ProtoReflect.Descriptor instead. +func (*GeneratePrimaryInstallScriptResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_dns_proto_rawDescGZIP(), []int{32} +} + +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\"\xeb\x03\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\tupdatedAtB\v\n" + + "\t_priorityB\t\n" + + "\a_weightB\a\n" + + "\x05_port\"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\"\x8b\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\"-\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\xc7\f\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\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, 33) +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 + (*ListRecordsRequest)(nil), // 12: orchestrator.v1.ListRecordsRequest + (*ListRecordsResponse)(nil), // 13: orchestrator.v1.ListRecordsResponse + (*CreateRecordRequest)(nil), // 14: orchestrator.v1.CreateRecordRequest + (*CreateRecordResponse)(nil), // 15: orchestrator.v1.CreateRecordResponse + (*UpdateRecordRequest)(nil), // 16: orchestrator.v1.UpdateRecordRequest + (*UpdateRecordResponse)(nil), // 17: orchestrator.v1.UpdateRecordResponse + (*DeleteRecordRequest)(nil), // 18: orchestrator.v1.DeleteRecordRequest + (*DeleteRecordResponse)(nil), // 19: orchestrator.v1.DeleteRecordResponse + (*PreviewRecordChangeRequest)(nil), // 20: orchestrator.v1.PreviewRecordChangeRequest + (*PreviewRecordChangeResponse)(nil), // 21: orchestrator.v1.PreviewRecordChangeResponse + (*Nameserver)(nil), // 22: orchestrator.v1.Nameserver + (*ProvisionNameserverRequest)(nil), // 23: orchestrator.v1.ProvisionNameserverRequest + (*ProvisionNameserverResponse)(nil), // 24: orchestrator.v1.ProvisionNameserverResponse + (*ListNameserversRequest)(nil), // 25: orchestrator.v1.ListNameserversRequest + (*ListNameserversResponse)(nil), // 26: orchestrator.v1.ListNameserversResponse + (*GetNameserverInstallScriptRequest)(nil), // 27: orchestrator.v1.GetNameserverInstallScriptRequest + (*GetNameserverInstallScriptResponse)(nil), // 28: orchestrator.v1.GetNameserverInstallScriptResponse + (*DecommissionNameserverRequest)(nil), // 29: orchestrator.v1.DecommissionNameserverRequest + (*DecommissionNameserverResponse)(nil), // 30: orchestrator.v1.DecommissionNameserverResponse + (*GeneratePrimaryInstallScriptRequest)(nil), // 31: orchestrator.v1.GeneratePrimaryInstallScriptRequest + (*GeneratePrimaryInstallScriptResponse)(nil), // 32: orchestrator.v1.GeneratePrimaryInstallScriptResponse + (*timestamppb.Timestamp)(nil), // 33: google.protobuf.Timestamp +} +var file_orchestrator_v1_dns_proto_depIdxs = []int32{ + 33, // 0: orchestrator.v1.DNSManagedZone.delegation_verified_at:type_name -> google.protobuf.Timestamp + 33, // 1: orchestrator.v1.DNSManagedZone.created_at:type_name -> google.protobuf.Timestamp + 33, // 2: orchestrator.v1.DNSManagedZone.updated_at:type_name -> google.protobuf.Timestamp + 33, // 3: orchestrator.v1.DNSManagedRecord.created_at:type_name -> google.protobuf.Timestamp + 33, // 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 + 1, // 10: orchestrator.v1.ListRecordsResponse.records:type_name -> orchestrator.v1.DNSManagedRecord + 1, // 11: orchestrator.v1.CreateRecordResponse.record:type_name -> orchestrator.v1.DNSManagedRecord + 1, // 12: orchestrator.v1.UpdateRecordResponse.record:type_name -> orchestrator.v1.DNSManagedRecord + 22, // 13: orchestrator.v1.ProvisionNameserverResponse.nameserver:type_name -> orchestrator.v1.Nameserver + 22, // 14: orchestrator.v1.ListNameserversResponse.nameservers:type_name -> orchestrator.v1.Nameserver + 2, // 15: orchestrator.v1.DNSService.EnableDNSHosting:input_type -> orchestrator.v1.EnableDNSHostingRequest + 4, // 16: orchestrator.v1.DNSService.DisableDNSHosting:input_type -> orchestrator.v1.DisableDNSHostingRequest + 6, // 17: orchestrator.v1.DNSService.CheckDelegation:input_type -> orchestrator.v1.CheckDelegationRequest + 8, // 18: orchestrator.v1.DNSService.GetZone:input_type -> orchestrator.v1.GetZoneRequest + 10, // 19: orchestrator.v1.DNSService.GetPlatformZone:input_type -> orchestrator.v1.GetPlatformZoneRequest + 12, // 20: orchestrator.v1.DNSService.ListRecords:input_type -> orchestrator.v1.ListRecordsRequest + 14, // 21: orchestrator.v1.DNSService.CreateRecord:input_type -> orchestrator.v1.CreateRecordRequest + 16, // 22: orchestrator.v1.DNSService.UpdateRecord:input_type -> orchestrator.v1.UpdateRecordRequest + 18, // 23: orchestrator.v1.DNSService.DeleteRecord:input_type -> orchestrator.v1.DeleteRecordRequest + 20, // 24: orchestrator.v1.DNSService.PreviewRecordChange:input_type -> orchestrator.v1.PreviewRecordChangeRequest + 23, // 25: orchestrator.v1.DNSService.ProvisionNameserver:input_type -> orchestrator.v1.ProvisionNameserverRequest + 25, // 26: orchestrator.v1.DNSService.ListNameservers:input_type -> orchestrator.v1.ListNameserversRequest + 27, // 27: orchestrator.v1.DNSService.GetNameserverInstallScript:input_type -> orchestrator.v1.GetNameserverInstallScriptRequest + 29, // 28: orchestrator.v1.DNSService.DecommissionNameserver:input_type -> orchestrator.v1.DecommissionNameserverRequest + 31, // 29: orchestrator.v1.DNSService.GeneratePrimaryInstallScript:input_type -> orchestrator.v1.GeneratePrimaryInstallScriptRequest + 3, // 30: orchestrator.v1.DNSService.EnableDNSHosting:output_type -> orchestrator.v1.EnableDNSHostingResponse + 5, // 31: orchestrator.v1.DNSService.DisableDNSHosting:output_type -> orchestrator.v1.DisableDNSHostingResponse + 7, // 32: orchestrator.v1.DNSService.CheckDelegation:output_type -> orchestrator.v1.CheckDelegationResponse + 9, // 33: orchestrator.v1.DNSService.GetZone:output_type -> orchestrator.v1.GetZoneResponse + 11, // 34: orchestrator.v1.DNSService.GetPlatformZone:output_type -> orchestrator.v1.GetPlatformZoneResponse + 13, // 35: orchestrator.v1.DNSService.ListRecords:output_type -> orchestrator.v1.ListRecordsResponse + 15, // 36: orchestrator.v1.DNSService.CreateRecord:output_type -> orchestrator.v1.CreateRecordResponse + 17, // 37: orchestrator.v1.DNSService.UpdateRecord:output_type -> orchestrator.v1.UpdateRecordResponse + 19, // 38: orchestrator.v1.DNSService.DeleteRecord:output_type -> orchestrator.v1.DeleteRecordResponse + 21, // 39: orchestrator.v1.DNSService.PreviewRecordChange:output_type -> orchestrator.v1.PreviewRecordChangeResponse + 24, // 40: orchestrator.v1.DNSService.ProvisionNameserver:output_type -> orchestrator.v1.ProvisionNameserverResponse + 26, // 41: orchestrator.v1.DNSService.ListNameservers:output_type -> orchestrator.v1.ListNameserversResponse + 28, // 42: orchestrator.v1.DNSService.GetNameserverInstallScript:output_type -> orchestrator.v1.GetNameserverInstallScriptResponse + 30, // 43: orchestrator.v1.DNSService.DecommissionNameserver:output_type -> orchestrator.v1.DecommissionNameserverResponse + 32, // 44: orchestrator.v1.DNSService.GeneratePrimaryInstallScript:output_type -> orchestrator.v1.GeneratePrimaryInstallScriptResponse + 30, // [30:45] is the sub-list for method output_type + 15, // [15:30] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name +} + +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[14].OneofWrappers = []any{} + file_orchestrator_v1_dns_proto_msgTypes[16].OneofWrappers = []any{} + file_orchestrator_v1_dns_proto_msgTypes[20].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: 33, + 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/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..678b2c5 --- /dev/null +++ b/internal/api/orchestrator/v1/instances.pb.go @@ -0,0 +1,5071 @@ +// 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 +) + +// 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", + } + 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, + } +) + +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"` + 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 "" +} + +// InstanceUser represents a user's access to an instance +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"` + AcceptedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=accepted_at,json=acceptedAt,proto3,oneof" json:"accepted_at,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) GetAcceptedAt() *timestamppb.Timestamp { + if x != nil { + return x.AcceptedAt + } + return nil +} + +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 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[12] + 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[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 CancelOperationRequest.ProtoReflect.Descriptor instead. +func (*CancelOperationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{12} +} + +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[13] + 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[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 CancelOperationResponse.ProtoReflect.Descriptor instead. +func (*CancelOperationResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{13} +} + +func (x *CancelOperationResponse) GetCancelled() bool { + if x != nil { + return x.Cancelled + } + 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) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateInstanceRequest) Reset() { + *x = CreateInstanceRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[14] + 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[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 CreateInstanceRequest.ProtoReflect.Descriptor instead. +func (*CreateInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{14} +} + +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 "" +} + +type CreateInstanceResponse 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 *CreateInstanceResponse) Reset() { + *x = CreateInstanceResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[15] + 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[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 CreateInstanceResponse.ProtoReflect.Descriptor instead. +func (*CreateInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{15} +} + +func (x *CreateInstanceResponse) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +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[16] + 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[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 GetInstanceRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{16} +} + +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[17] + 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[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 GetInstanceResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{17} +} + +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[18] + 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[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 ListInstancesRequest.ProtoReflect.Descriptor instead. +func (*ListInstancesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{18} +} + +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[19] + 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[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 ListInstancesResponse.ProtoReflect.Descriptor instead. +func (*ListInstancesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{19} +} + +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[20] + 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[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 ListMyInstancesRequest.ProtoReflect.Descriptor instead. +func (*ListMyInstancesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{20} +} + +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[21] + 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[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 ListMyInstancesResponse.ProtoReflect.Descriptor instead. +func (*ListMyInstancesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{21} +} + +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[22] + 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[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 ListAllInstancesRequest.ProtoReflect.Descriptor instead. +func (*ListAllInstancesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{22} +} + +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[23] + 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[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 ListAllInstancesResponse.ProtoReflect.Descriptor instead. +func (*ListAllInstancesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{23} +} + +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[24] + 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[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 UpdateInstanceRequest.ProtoReflect.Descriptor instead. +func (*UpdateInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{24} +} + +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[25] + 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[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 UpdateInstanceResponse.ProtoReflect.Descriptor instead. +func (*UpdateInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{25} +} + +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[26] + 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[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 DeleteInstanceRequest.ProtoReflect.Descriptor instead. +func (*DeleteInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{26} +} + +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[27] + 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[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 DeleteInstanceResponse.ProtoReflect.Descriptor instead. +func (*DeleteInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{27} +} + +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[28] + 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[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 StartInstanceRequest.ProtoReflect.Descriptor instead. +func (*StartInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{28} +} + +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[29] + 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[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 StartInstanceResponse.ProtoReflect.Descriptor instead. +func (*StartInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{29} +} + +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[30] + 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[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 StopInstanceRequest.ProtoReflect.Descriptor instead. +func (*StopInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{30} +} + +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[31] + 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[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 StopInstanceResponse.ProtoReflect.Descriptor instead. +func (*StopInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{31} +} + +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[32] + 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[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 RestartInstanceRequest.ProtoReflect.Descriptor instead. +func (*RestartInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{32} +} + +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[33] + 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[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 UpgradeInstanceRequest.ProtoReflect.Descriptor instead. +func (*UpgradeInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{33} +} + +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[34] + 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[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 GetInstanceLogsRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceLogsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{34} +} + +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 InviteUserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,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 *InviteUserRequest) Reset() { + *x = InviteUserRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InviteUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InviteUserRequest) ProtoMessage() {} + +func (x *InviteUserRequest) 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 InviteUserRequest.ProtoReflect.Descriptor instead. +func (*InviteUserRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{35} +} + +func (x *InviteUserRequest) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *InviteUserRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *InviteUserRequest) GetRole() InstanceRole { + if x != nil { + return x.Role + } + return InstanceRole_INSTANCE_ROLE_UNSPECIFIED +} + +type InviteUserResponse 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 *InviteUserResponse) Reset() { + *x = InviteUserResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InviteUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InviteUserResponse) ProtoMessage() {} + +func (x *InviteUserResponse) 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 InviteUserResponse.ProtoReflect.Descriptor instead. +func (*InviteUserResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{36} +} + +func (x *InviteUserResponse) GetInstanceUser() *InstanceUser { + if x != nil { + return x.InstanceUser + } + return nil +} + +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[37] + 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[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 ListInstanceUsersRequest.ProtoReflect.Descriptor instead. +func (*ListInstanceUsersRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{37} +} + +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[38] + 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[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 ListInstanceUsersResponse.ProtoReflect.Descriptor instead. +func (*ListInstanceUsersResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{38} +} + +func (x *ListInstanceUsersResponse) GetUsers() []*InstanceUser { + if x != nil { + return x.Users + } + 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[39] + 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[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 UpdateUserRoleRequest.ProtoReflect.Descriptor instead. +func (*UpdateUserRoleRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{39} +} + +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[40] + 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[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 UpdateUserRoleResponse.ProtoReflect.Descriptor instead. +func (*UpdateUserRoleResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{40} +} + +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[41] + 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[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 RemoveUserRequest.ProtoReflect.Descriptor instead. +func (*RemoveUserRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{41} +} + +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[42] + 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[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 RemoveUserResponse.ProtoReflect.Descriptor instead. +func (*RemoveUserResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{42} +} + +type AcceptInvitationRequest 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 *AcceptInvitationRequest) Reset() { + *x = AcceptInvitationRequest{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcceptInvitationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcceptInvitationRequest) ProtoMessage() {} + +func (x *AcceptInvitationRequest) 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 AcceptInvitationRequest.ProtoReflect.Descriptor instead. +func (*AcceptInvitationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{43} +} + +func (x *AcceptInvitationRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type AcceptInvitationResponse 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 *AcceptInvitationResponse) Reset() { + *x = AcceptInvitationResponse{} + mi := &file_orchestrator_v1_instances_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AcceptInvitationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AcceptInvitationResponse) ProtoMessage() {} + +func (x *AcceptInvitationResponse) 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 AcceptInvitationResponse.ProtoReflect.Descriptor instead. +func (*AcceptInvitationResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{44} +} + +func (x *AcceptInvitationResponse) GetInstanceUser() *InstanceUser { + if x != nil { + return x.InstanceUser + } + return nil +} + +// 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[45] + 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[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 GetInstanceStorageLimitsRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceStorageLimitsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{45} +} + +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[46] + 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[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 GetInstanceStorageLimitsResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceStorageLimitsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{46} +} + +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[47] + 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[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 BulkInstancesRequest.ProtoReflect.Descriptor instead. +func (*BulkInstancesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{47} +} + +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[48] + 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[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 BulkInstancesResponse.ProtoReflect.Descriptor instead. +func (*BulkInstancesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{48} +} + +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[49] + 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[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 BulkInstanceResult.ProtoReflect.Descriptor instead. +func (*BulkInstanceResult) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{49} +} + +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[50] + 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[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 GetInstanceMetricsRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceMetricsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{50} +} + +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[51] + 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[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 GetInstanceMetricsResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceMetricsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{51} +} + +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[52] + 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[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 GetBandwidthHistoryRequest.ProtoReflect.Descriptor instead. +func (*GetBandwidthHistoryRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{52} +} + +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[53] + 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[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 BandwidthDataPoint.ProtoReflect.Descriptor instead. +func (*BandwidthDataPoint) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{53} +} + +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[54] + 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[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 GetBandwidthHistoryResponse.ProtoReflect.Descriptor instead. +func (*GetBandwidthHistoryResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{54} +} + +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[55] + 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[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 RegenerateAllTraefikConfigsRequest.ProtoReflect.Descriptor instead. +func (*RegenerateAllTraefikConfigsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{55} +} + +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[56] + 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[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 GetInstanceConfigurationRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceConfigurationRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{56} +} + +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[57] + 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[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 GetInstanceConfigurationResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceConfigurationResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{57} +} + +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[58] + 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[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 VaultConfiguration.ProtoReflect.Descriptor instead. +func (*VaultConfiguration) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{58} +} + +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[59] + 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[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 EnvironmentVariable.ProtoReflect.Descriptor instead. +func (*EnvironmentVariable) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{59} +} + +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[60] + 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[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 GetInstanceUserPasswordsRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceUserPasswordsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{60} +} + +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[61] + 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[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 GetInstanceUserPasswordsResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceUserPasswordsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{61} +} + +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[62] + 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[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 UserPasswordEntry.ProtoReflect.Descriptor instead. +func (*UserPasswordEntry) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{62} +} + +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[63] + 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[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 RequestSelfRestartRequest.ProtoReflect.Descriptor instead. +func (*RequestSelfRestartRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{63} +} + +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[64] + 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[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 RequestSelfRestartResponse.ProtoReflect.Descriptor instead. +func (*RequestSelfRestartResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{64} +} + +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[65] + 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[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 WatchAndRestartInstanceRequest.ProtoReflect.Descriptor instead. +func (*WatchAndRestartInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{65} +} + +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[66] + 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[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 MoveInstanceRequest.ProtoReflect.Descriptor instead. +func (*MoveInstanceRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{66} +} + +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[67] + 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[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 MoveInstanceResponse.ProtoReflect.Descriptor instead. +func (*MoveInstanceResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{67} +} + +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[68] + 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[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 MoveInstanceToNodeRequest.ProtoReflect.Descriptor instead. +func (*MoveInstanceToNodeRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{68} +} + +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[69] + 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[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 MoveInstanceToNodeResponse.ProtoReflect.Descriptor instead. +func (*MoveInstanceToNodeResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_instances_proto_rawDescGZIP(), []int{69} +} + +func (x *MoveInstanceToNodeResponse) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +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\"\x8e\b\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\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_version\"\x8f\x03\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\x12@\n" + + "\vaccepted_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampH\x00R\n" + + "acceptedAt\x88\x01\x01\x12I\n" + + "\x10last_accessed_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampH\x01R\x0elastAccessedAt\x88\x01\x01B\x0e\n" + + "\f_accepted_atB\x13\n" + + "\x11_last_accessed_at\"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" + + "\x16CancelOperationRequest\x12!\n" + + "\foperation_id\x18\x01 \x01(\tR\voperationId\"7\n" + + "\x17CancelOperationResponse\x12\x1c\n" + + "\tcancelled\x18\x01 \x01(\bR\tcancelled\"\x88\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\x01B\n" + + "\n" + + "\b_plan_id\"O\n" + + "\x16CreateInstanceResponse\x125\n" + + "\binstance\x18\x01 \x01(\v2\x19.orchestrator.v1.InstanceR\binstance\"$\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" + + "\x11InviteUserRequest\x12\x1f\n" + + "\vinstance_id\x18\x01 \x01(\tR\n" + + "instanceId\x12\x14\n" + + "\x05email\x18\x02 \x01(\tR\x05email\x121\n" + + "\x04role\x18\x03 \x01(\x0e2\x1d.orchestrator.v1.InstanceRoleR\x04role\"X\n" + + "\x12InviteUserResponse\x12B\n" + + "\rinstance_user\x18\x01 \x01(\v2\x1d.orchestrator.v1.InstanceUserR\finstanceUser\";\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\"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\"/\n" + + "\x17AcceptInvitationRequest\x12\x14\n" + + "\x05token\x18\x01 \x01(\tR\x05token\"^\n" + + "\x18AcceptInvitationResponse\x12B\n" + + "\rinstance_user\x18\x01 \x01(\v2\x1d.orchestrator.v1.InstanceUserR\finstanceUser\"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*\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*\xae\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*\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\xe6\x1b\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\x12d\n" + + "\x0fCancelOperation\x12'.orchestrator.v1.CancelOperationRequest\x1a(.orchestrator.v1.CancelOperationResponse\x12W\n" + + "\x0fGetInstanceLogs\x12'.orchestrator.v1.GetInstanceLogsRequest\x1a\x19.orchestrator.v1.LogEntry0\x01\x12U\n" + + "\n" + + "InviteUser\x12\".orchestrator.v1.InviteUserRequest\x1a#.orchestrator.v1.InviteUserResponse\x12j\n" + + "\x11ListInstanceUsers\x12).orchestrator.v1.ListInstanceUsersRequest\x1a*.orchestrator.v1.ListInstanceUsersResponse\x12a\n" + + "\x0eUpdateUserRole\x12&.orchestrator.v1.UpdateUserRoleRequest\x1a'.orchestrator.v1.UpdateUserRoleResponse\x12U\n" + + "\n" + + "RemoveUser\x12\".orchestrator.v1.RemoveUserRequest\x1a#.orchestrator.v1.RemoveUserResponse\x12g\n" + + "\x10AcceptInvitation\x12(.orchestrator.v1.AcceptInvitationRequest\x1a).orchestrator.v1.AcceptInvitationResponse\x12\x7f\n" + + "\x18GetInstanceStorageLimits\x120.orchestrator.v1.GetInstanceStorageLimitsRequest\x1a1.orchestrator.v1.GetInstanceStorageLimitsResponse\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.MoveInstanceToNodeResponseB\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, 70) +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 + (*CancelOperationRequest)(nil), // 16: orchestrator.v1.CancelOperationRequest + (*CancelOperationResponse)(nil), // 17: orchestrator.v1.CancelOperationResponse + (*CreateInstanceRequest)(nil), // 18: orchestrator.v1.CreateInstanceRequest + (*CreateInstanceResponse)(nil), // 19: orchestrator.v1.CreateInstanceResponse + (*GetInstanceRequest)(nil), // 20: orchestrator.v1.GetInstanceRequest + (*GetInstanceResponse)(nil), // 21: orchestrator.v1.GetInstanceResponse + (*ListInstancesRequest)(nil), // 22: orchestrator.v1.ListInstancesRequest + (*ListInstancesResponse)(nil), // 23: orchestrator.v1.ListInstancesResponse + (*ListMyInstancesRequest)(nil), // 24: orchestrator.v1.ListMyInstancesRequest + (*ListMyInstancesResponse)(nil), // 25: orchestrator.v1.ListMyInstancesResponse + (*ListAllInstancesRequest)(nil), // 26: orchestrator.v1.ListAllInstancesRequest + (*ListAllInstancesResponse)(nil), // 27: orchestrator.v1.ListAllInstancesResponse + (*UpdateInstanceRequest)(nil), // 28: orchestrator.v1.UpdateInstanceRequest + (*UpdateInstanceResponse)(nil), // 29: orchestrator.v1.UpdateInstanceResponse + (*DeleteInstanceRequest)(nil), // 30: orchestrator.v1.DeleteInstanceRequest + (*DeleteInstanceResponse)(nil), // 31: orchestrator.v1.DeleteInstanceResponse + (*StartInstanceRequest)(nil), // 32: orchestrator.v1.StartInstanceRequest + (*StartInstanceResponse)(nil), // 33: orchestrator.v1.StartInstanceResponse + (*StopInstanceRequest)(nil), // 34: orchestrator.v1.StopInstanceRequest + (*StopInstanceResponse)(nil), // 35: orchestrator.v1.StopInstanceResponse + (*RestartInstanceRequest)(nil), // 36: orchestrator.v1.RestartInstanceRequest + (*UpgradeInstanceRequest)(nil), // 37: orchestrator.v1.UpgradeInstanceRequest + (*GetInstanceLogsRequest)(nil), // 38: orchestrator.v1.GetInstanceLogsRequest + (*InviteUserRequest)(nil), // 39: orchestrator.v1.InviteUserRequest + (*InviteUserResponse)(nil), // 40: orchestrator.v1.InviteUserResponse + (*ListInstanceUsersRequest)(nil), // 41: orchestrator.v1.ListInstanceUsersRequest + (*ListInstanceUsersResponse)(nil), // 42: orchestrator.v1.ListInstanceUsersResponse + (*UpdateUserRoleRequest)(nil), // 43: orchestrator.v1.UpdateUserRoleRequest + (*UpdateUserRoleResponse)(nil), // 44: orchestrator.v1.UpdateUserRoleResponse + (*RemoveUserRequest)(nil), // 45: orchestrator.v1.RemoveUserRequest + (*RemoveUserResponse)(nil), // 46: orchestrator.v1.RemoveUserResponse + (*AcceptInvitationRequest)(nil), // 47: orchestrator.v1.AcceptInvitationRequest + (*AcceptInvitationResponse)(nil), // 48: orchestrator.v1.AcceptInvitationResponse + (*GetInstanceStorageLimitsRequest)(nil), // 49: orchestrator.v1.GetInstanceStorageLimitsRequest + (*GetInstanceStorageLimitsResponse)(nil), // 50: orchestrator.v1.GetInstanceStorageLimitsResponse + (*BulkInstancesRequest)(nil), // 51: orchestrator.v1.BulkInstancesRequest + (*BulkInstancesResponse)(nil), // 52: orchestrator.v1.BulkInstancesResponse + (*BulkInstanceResult)(nil), // 53: orchestrator.v1.BulkInstanceResult + (*GetInstanceMetricsRequest)(nil), // 54: orchestrator.v1.GetInstanceMetricsRequest + (*GetInstanceMetricsResponse)(nil), // 55: orchestrator.v1.GetInstanceMetricsResponse + (*GetBandwidthHistoryRequest)(nil), // 56: orchestrator.v1.GetBandwidthHistoryRequest + (*BandwidthDataPoint)(nil), // 57: orchestrator.v1.BandwidthDataPoint + (*GetBandwidthHistoryResponse)(nil), // 58: orchestrator.v1.GetBandwidthHistoryResponse + (*RegenerateAllTraefikConfigsRequest)(nil), // 59: orchestrator.v1.RegenerateAllTraefikConfigsRequest + (*GetInstanceConfigurationRequest)(nil), // 60: orchestrator.v1.GetInstanceConfigurationRequest + (*GetInstanceConfigurationResponse)(nil), // 61: orchestrator.v1.GetInstanceConfigurationResponse + (*VaultConfiguration)(nil), // 62: orchestrator.v1.VaultConfiguration + (*EnvironmentVariable)(nil), // 63: orchestrator.v1.EnvironmentVariable + (*GetInstanceUserPasswordsRequest)(nil), // 64: orchestrator.v1.GetInstanceUserPasswordsRequest + (*GetInstanceUserPasswordsResponse)(nil), // 65: orchestrator.v1.GetInstanceUserPasswordsResponse + (*UserPasswordEntry)(nil), // 66: orchestrator.v1.UserPasswordEntry + (*RequestSelfRestartRequest)(nil), // 67: orchestrator.v1.RequestSelfRestartRequest + (*RequestSelfRestartResponse)(nil), // 68: orchestrator.v1.RequestSelfRestartResponse + (*WatchAndRestartInstanceRequest)(nil), // 69: orchestrator.v1.WatchAndRestartInstanceRequest + (*MoveInstanceRequest)(nil), // 70: orchestrator.v1.MoveInstanceRequest + (*MoveInstanceResponse)(nil), // 71: orchestrator.v1.MoveInstanceResponse + (*MoveInstanceToNodeRequest)(nil), // 72: orchestrator.v1.MoveInstanceToNodeRequest + (*MoveInstanceToNodeResponse)(nil), // 73: orchestrator.v1.MoveInstanceToNodeResponse + (*timestamppb.Timestamp)(nil), // 74: google.protobuf.Timestamp +} +var file_orchestrator_v1_instances_proto_depIdxs = []int32{ + 0, // 0: orchestrator.v1.Instance.status:type_name -> orchestrator.v1.InstanceStatus + 74, // 1: orchestrator.v1.Instance.last_health_check:type_name -> google.protobuf.Timestamp + 74, // 2: orchestrator.v1.Instance.provisioned_at:type_name -> google.protobuf.Timestamp + 74, // 3: orchestrator.v1.Instance.last_started_at:type_name -> google.protobuf.Timestamp + 74, // 4: orchestrator.v1.Instance.last_stopped_at:type_name -> google.protobuf.Timestamp + 74, // 5: orchestrator.v1.Instance.created_at:type_name -> google.protobuf.Timestamp + 74, // 6: orchestrator.v1.Instance.updated_at:type_name -> google.protobuf.Timestamp + 1, // 7: orchestrator.v1.InstanceUser.role:type_name -> orchestrator.v1.InstanceRole + 74, // 8: orchestrator.v1.InstanceUser.accepted_at:type_name -> google.protobuf.Timestamp + 74, // 9: orchestrator.v1.InstanceUser.last_accessed_at:type_name -> google.protobuf.Timestamp + 74, // 10: orchestrator.v1.LogEntry.timestamp:type_name -> google.protobuf.Timestamp + 4, // 11: orchestrator.v1.OperationProgress.instance:type_name -> orchestrator.v1.Instance + 2, // 12: orchestrator.v1.InstanceOperation.type:type_name -> orchestrator.v1.InstanceOperationType + 3, // 13: orchestrator.v1.InstanceOperation.status:type_name -> orchestrator.v1.InstanceOperationStatus + 4, // 14: orchestrator.v1.InstanceOperation.instance:type_name -> orchestrator.v1.Instance + 2, // 15: orchestrator.v1.StartOperationRequest.type:type_name -> orchestrator.v1.InstanceOperationType + 9, // 16: orchestrator.v1.GetOperationResponse.operation:type_name -> orchestrator.v1.InstanceOperation + 8, // 17: orchestrator.v1.GetOperationResponse.logs:type_name -> orchestrator.v1.InstanceOperationLog + 9, // 18: orchestrator.v1.GetActiveOperationResponse.operation:type_name -> orchestrator.v1.InstanceOperation + 4, // 19: orchestrator.v1.CreateInstanceResponse.instance:type_name -> orchestrator.v1.Instance + 4, // 20: orchestrator.v1.GetInstanceResponse.instance:type_name -> orchestrator.v1.Instance + 0, // 21: orchestrator.v1.ListInstancesRequest.status:type_name -> orchestrator.v1.InstanceStatus + 4, // 22: orchestrator.v1.ListInstancesResponse.instances:type_name -> orchestrator.v1.Instance + 4, // 23: orchestrator.v1.ListMyInstancesResponse.instances:type_name -> orchestrator.v1.Instance + 0, // 24: orchestrator.v1.ListAllInstancesRequest.status:type_name -> orchestrator.v1.InstanceStatus + 4, // 25: orchestrator.v1.ListAllInstancesResponse.instances:type_name -> orchestrator.v1.Instance + 4, // 26: orchestrator.v1.UpdateInstanceResponse.instance:type_name -> orchestrator.v1.Instance + 4, // 27: orchestrator.v1.StartInstanceResponse.instance:type_name -> orchestrator.v1.Instance + 4, // 28: orchestrator.v1.StopInstanceResponse.instance:type_name -> orchestrator.v1.Instance + 1, // 29: orchestrator.v1.InviteUserRequest.role:type_name -> orchestrator.v1.InstanceRole + 5, // 30: orchestrator.v1.InviteUserResponse.instance_user:type_name -> orchestrator.v1.InstanceUser + 5, // 31: orchestrator.v1.ListInstanceUsersResponse.users:type_name -> orchestrator.v1.InstanceUser + 1, // 32: orchestrator.v1.UpdateUserRoleRequest.role:type_name -> orchestrator.v1.InstanceRole + 5, // 33: orchestrator.v1.UpdateUserRoleResponse.instance_user:type_name -> orchestrator.v1.InstanceUser + 5, // 34: orchestrator.v1.AcceptInvitationResponse.instance_user:type_name -> orchestrator.v1.InstanceUser + 53, // 35: orchestrator.v1.BulkInstancesResponse.results:type_name -> orchestrator.v1.BulkInstanceResult + 74, // 36: orchestrator.v1.GetInstanceMetricsResponse.last_updated:type_name -> google.protobuf.Timestamp + 57, // 37: orchestrator.v1.GetBandwidthHistoryResponse.data_points:type_name -> orchestrator.v1.BandwidthDataPoint + 62, // 38: orchestrator.v1.GetInstanceConfigurationResponse.vault:type_name -> orchestrator.v1.VaultConfiguration + 63, // 39: orchestrator.v1.GetInstanceConfigurationResponse.environment:type_name -> orchestrator.v1.EnvironmentVariable + 66, // 40: orchestrator.v1.GetInstanceUserPasswordsResponse.users:type_name -> orchestrator.v1.UserPasswordEntry + 4, // 41: orchestrator.v1.MoveInstanceResponse.instance:type_name -> orchestrator.v1.Instance + 4, // 42: orchestrator.v1.MoveInstanceToNodeResponse.instance:type_name -> orchestrator.v1.Instance + 18, // 43: orchestrator.v1.InstanceService.CreateInstance:input_type -> orchestrator.v1.CreateInstanceRequest + 20, // 44: orchestrator.v1.InstanceService.GetInstance:input_type -> orchestrator.v1.GetInstanceRequest + 22, // 45: orchestrator.v1.InstanceService.ListInstances:input_type -> orchestrator.v1.ListInstancesRequest + 26, // 46: orchestrator.v1.InstanceService.ListAllInstances:input_type -> orchestrator.v1.ListAllInstancesRequest + 24, // 47: orchestrator.v1.InstanceService.ListMyInstances:input_type -> orchestrator.v1.ListMyInstancesRequest + 28, // 48: orchestrator.v1.InstanceService.UpdateInstance:input_type -> orchestrator.v1.UpdateInstanceRequest + 30, // 49: orchestrator.v1.InstanceService.DeleteInstance:input_type -> orchestrator.v1.DeleteInstanceRequest + 32, // 50: orchestrator.v1.InstanceService.StartInstance:input_type -> orchestrator.v1.StartInstanceRequest + 34, // 51: orchestrator.v1.InstanceService.StopInstance:input_type -> orchestrator.v1.StopInstanceRequest + 10, // 52: orchestrator.v1.InstanceService.StartOperation:input_type -> orchestrator.v1.StartOperationRequest + 12, // 53: orchestrator.v1.InstanceService.GetOperation:input_type -> orchestrator.v1.GetOperationRequest + 14, // 54: orchestrator.v1.InstanceService.GetActiveOperation:input_type -> orchestrator.v1.GetActiveOperationRequest + 16, // 55: orchestrator.v1.InstanceService.CancelOperation:input_type -> orchestrator.v1.CancelOperationRequest + 38, // 56: orchestrator.v1.InstanceService.GetInstanceLogs:input_type -> orchestrator.v1.GetInstanceLogsRequest + 39, // 57: orchestrator.v1.InstanceService.InviteUser:input_type -> orchestrator.v1.InviteUserRequest + 41, // 58: orchestrator.v1.InstanceService.ListInstanceUsers:input_type -> orchestrator.v1.ListInstanceUsersRequest + 43, // 59: orchestrator.v1.InstanceService.UpdateUserRole:input_type -> orchestrator.v1.UpdateUserRoleRequest + 45, // 60: orchestrator.v1.InstanceService.RemoveUser:input_type -> orchestrator.v1.RemoveUserRequest + 47, // 61: orchestrator.v1.InstanceService.AcceptInvitation:input_type -> orchestrator.v1.AcceptInvitationRequest + 49, // 62: orchestrator.v1.InstanceService.GetInstanceStorageLimits:input_type -> orchestrator.v1.GetInstanceStorageLimitsRequest + 54, // 63: orchestrator.v1.InstanceService.GetInstanceMetrics:input_type -> orchestrator.v1.GetInstanceMetricsRequest + 56, // 64: orchestrator.v1.InstanceService.GetBandwidthHistory:input_type -> orchestrator.v1.GetBandwidthHistoryRequest + 51, // 65: orchestrator.v1.InstanceService.BulkStartInstances:input_type -> orchestrator.v1.BulkInstancesRequest + 51, // 66: orchestrator.v1.InstanceService.BulkStopInstances:input_type -> orchestrator.v1.BulkInstancesRequest + 51, // 67: orchestrator.v1.InstanceService.BulkRestartInstances:input_type -> orchestrator.v1.BulkInstancesRequest + 51, // 68: orchestrator.v1.InstanceService.BulkDeleteInstances:input_type -> orchestrator.v1.BulkInstancesRequest + 51, // 69: orchestrator.v1.InstanceService.BulkRegenerateTraefikConfigs:input_type -> orchestrator.v1.BulkInstancesRequest + 59, // 70: orchestrator.v1.InstanceService.RegenerateAllTraefikConfigs:input_type -> orchestrator.v1.RegenerateAllTraefikConfigsRequest + 60, // 71: orchestrator.v1.InstanceService.GetInstanceConfiguration:input_type -> orchestrator.v1.GetInstanceConfigurationRequest + 64, // 72: orchestrator.v1.InstanceService.GetInstanceUserPasswords:input_type -> orchestrator.v1.GetInstanceUserPasswordsRequest + 67, // 73: orchestrator.v1.InstanceService.RequestSelfRestart:input_type -> orchestrator.v1.RequestSelfRestartRequest + 69, // 74: orchestrator.v1.InstanceService.WatchAndRestartInstance:input_type -> orchestrator.v1.WatchAndRestartInstanceRequest + 70, // 75: orchestrator.v1.InstanceService.MoveInstance:input_type -> orchestrator.v1.MoveInstanceRequest + 72, // 76: orchestrator.v1.InstanceService.MoveInstanceToNode:input_type -> orchestrator.v1.MoveInstanceToNodeRequest + 19, // 77: orchestrator.v1.InstanceService.CreateInstance:output_type -> orchestrator.v1.CreateInstanceResponse + 21, // 78: orchestrator.v1.InstanceService.GetInstance:output_type -> orchestrator.v1.GetInstanceResponse + 23, // 79: orchestrator.v1.InstanceService.ListInstances:output_type -> orchestrator.v1.ListInstancesResponse + 27, // 80: orchestrator.v1.InstanceService.ListAllInstances:output_type -> orchestrator.v1.ListAllInstancesResponse + 25, // 81: orchestrator.v1.InstanceService.ListMyInstances:output_type -> orchestrator.v1.ListMyInstancesResponse + 29, // 82: orchestrator.v1.InstanceService.UpdateInstance:output_type -> orchestrator.v1.UpdateInstanceResponse + 31, // 83: orchestrator.v1.InstanceService.DeleteInstance:output_type -> orchestrator.v1.DeleteInstanceResponse + 33, // 84: orchestrator.v1.InstanceService.StartInstance:output_type -> orchestrator.v1.StartInstanceResponse + 35, // 85: orchestrator.v1.InstanceService.StopInstance:output_type -> orchestrator.v1.StopInstanceResponse + 11, // 86: orchestrator.v1.InstanceService.StartOperation:output_type -> orchestrator.v1.StartOperationResponse + 13, // 87: orchestrator.v1.InstanceService.GetOperation:output_type -> orchestrator.v1.GetOperationResponse + 15, // 88: orchestrator.v1.InstanceService.GetActiveOperation:output_type -> orchestrator.v1.GetActiveOperationResponse + 17, // 89: orchestrator.v1.InstanceService.CancelOperation:output_type -> orchestrator.v1.CancelOperationResponse + 6, // 90: orchestrator.v1.InstanceService.GetInstanceLogs:output_type -> orchestrator.v1.LogEntry + 40, // 91: orchestrator.v1.InstanceService.InviteUser:output_type -> orchestrator.v1.InviteUserResponse + 42, // 92: orchestrator.v1.InstanceService.ListInstanceUsers:output_type -> orchestrator.v1.ListInstanceUsersResponse + 44, // 93: orchestrator.v1.InstanceService.UpdateUserRole:output_type -> orchestrator.v1.UpdateUserRoleResponse + 46, // 94: orchestrator.v1.InstanceService.RemoveUser:output_type -> orchestrator.v1.RemoveUserResponse + 48, // 95: orchestrator.v1.InstanceService.AcceptInvitation:output_type -> orchestrator.v1.AcceptInvitationResponse + 50, // 96: orchestrator.v1.InstanceService.GetInstanceStorageLimits:output_type -> orchestrator.v1.GetInstanceStorageLimitsResponse + 55, // 97: orchestrator.v1.InstanceService.GetInstanceMetrics:output_type -> orchestrator.v1.GetInstanceMetricsResponse + 58, // 98: orchestrator.v1.InstanceService.GetBandwidthHistory:output_type -> orchestrator.v1.GetBandwidthHistoryResponse + 52, // 99: orchestrator.v1.InstanceService.BulkStartInstances:output_type -> orchestrator.v1.BulkInstancesResponse + 52, // 100: orchestrator.v1.InstanceService.BulkStopInstances:output_type -> orchestrator.v1.BulkInstancesResponse + 52, // 101: orchestrator.v1.InstanceService.BulkRestartInstances:output_type -> orchestrator.v1.BulkInstancesResponse + 52, // 102: orchestrator.v1.InstanceService.BulkDeleteInstances:output_type -> orchestrator.v1.BulkInstancesResponse + 52, // 103: orchestrator.v1.InstanceService.BulkRegenerateTraefikConfigs:output_type -> orchestrator.v1.BulkInstancesResponse + 52, // 104: orchestrator.v1.InstanceService.RegenerateAllTraefikConfigs:output_type -> orchestrator.v1.BulkInstancesResponse + 61, // 105: orchestrator.v1.InstanceService.GetInstanceConfiguration:output_type -> orchestrator.v1.GetInstanceConfigurationResponse + 65, // 106: orchestrator.v1.InstanceService.GetInstanceUserPasswords:output_type -> orchestrator.v1.GetInstanceUserPasswordsResponse + 68, // 107: orchestrator.v1.InstanceService.RequestSelfRestart:output_type -> orchestrator.v1.RequestSelfRestartResponse + 7, // 108: orchestrator.v1.InstanceService.WatchAndRestartInstance:output_type -> orchestrator.v1.OperationProgress + 71, // 109: orchestrator.v1.InstanceService.MoveInstance:output_type -> orchestrator.v1.MoveInstanceResponse + 73, // 110: orchestrator.v1.InstanceService.MoveInstanceToNode:output_type -> orchestrator.v1.MoveInstanceToNodeResponse + 77, // [77:111] is the sub-list for method output_type + 43, // [43:77] is the sub-list for method input_type + 43, // [43:43] is the sub-list for extension type_name + 43, // [43:43] is the sub-list for extension extendee + 0, // [0:43] 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[14].OneofWrappers = []any{} + file_orchestrator_v1_instances_proto_msgTypes[18].OneofWrappers = []any{} + file_orchestrator_v1_instances_proto_msgTypes[22].OneofWrappers = []any{} + file_orchestrator_v1_instances_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_instances_proto_rawDesc), len(file_orchestrator_v1_instances_proto_rawDesc)), + NumEnums: 4, + NumMessages: 70, + 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/nodes.pb.go b/internal/api/orchestrator/v1/nodes.pb.go new file mode 100644 index 0000000..ff98d54 --- /dev/null +++ b/internal/api/orchestrator/v1/nodes.pb.go @@ -0,0 +1,3118 @@ +// 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"` + 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 "" +} + +// 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"` + 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 "" +} + +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 "" +} + +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\"\xb7\r\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\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_address\"\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\"\xe0\a\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\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_address\"?\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*\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\xbb\f\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\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.RegisterNodeResponseB\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, 39) +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 + nil, // 38: orchestrator.v1.Node.LabelsEntry + nil, // 39: orchestrator.v1.CreateNodeRequest.LabelsEntry + nil, // 40: orchestrator.v1.UpdateNodeRequest.LabelsEntry + (*timestamppb.Timestamp)(nil), // 41: google.protobuf.Timestamp +} +var file_orchestrator_v1_nodes_proto_depIdxs = []int32{ + 1, // 0: orchestrator.v1.TenantDbHealth.status:type_name -> orchestrator.v1.TenantDbStatus + 41, // 1: orchestrator.v1.NodeRegistration.expires_at:type_name -> google.protobuf.Timestamp + 41, // 2: orchestrator.v1.NodeRegistration.used_at:type_name -> google.protobuf.Timestamp + 41, // 3: orchestrator.v1.NodeRegistration.created_at:type_name -> google.protobuf.Timestamp + 0, // 4: orchestrator.v1.Node.status:type_name -> orchestrator.v1.NodeStatus + 41, // 5: orchestrator.v1.Node.last_health_check:type_name -> google.protobuf.Timestamp + 38, // 6: orchestrator.v1.Node.labels:type_name -> orchestrator.v1.Node.LabelsEntry + 41, // 7: orchestrator.v1.Node.created_at:type_name -> google.protobuf.Timestamp + 41, // 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 + 41, // 11: orchestrator.v1.NodeHealth.checked_at:type_name -> google.protobuf.Timestamp + 39, // 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 + 40, // 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 + 6, // 29: orchestrator.v1.NodeService.CreateNode:input_type -> orchestrator.v1.CreateNodeRequest + 8, // 30: orchestrator.v1.NodeService.GetNode:input_type -> orchestrator.v1.GetNodeRequest + 10, // 31: orchestrator.v1.NodeService.ListNodes:input_type -> orchestrator.v1.ListNodesRequest + 12, // 32: orchestrator.v1.NodeService.UpdateNode:input_type -> orchestrator.v1.UpdateNodeRequest + 14, // 33: orchestrator.v1.NodeService.UpdateNodeSSHKey:input_type -> orchestrator.v1.UpdateNodeSSHKeyRequest + 16, // 34: orchestrator.v1.NodeService.DeleteNode:input_type -> orchestrator.v1.DeleteNodeRequest + 18, // 35: orchestrator.v1.NodeService.HealthCheckNode:input_type -> orchestrator.v1.HealthCheckNodeRequest + 20, // 36: orchestrator.v1.NodeService.DrainNode:input_type -> orchestrator.v1.DrainNodeRequest + 22, // 37: orchestrator.v1.NodeService.ActivateNode:input_type -> orchestrator.v1.ActivateNodeRequest + 24, // 38: orchestrator.v1.NodeService.OfflineNode:input_type -> orchestrator.v1.OfflineNodeRequest + 26, // 39: orchestrator.v1.NodeService.TestNodeConnection:input_type -> orchestrator.v1.TestNodeConnectionRequest + 28, // 40: orchestrator.v1.NodeService.DeployTenantDB:input_type -> orchestrator.v1.DeployTenantDBRequest + 30, // 41: orchestrator.v1.NodeService.GenerateNodeRegistrationKey:input_type -> orchestrator.v1.GenerateNodeRegistrationKeyRequest + 32, // 42: orchestrator.v1.NodeService.ListNodeRegistrations:input_type -> orchestrator.v1.ListNodeRegistrationsRequest + 34, // 43: orchestrator.v1.NodeService.DeleteNodeRegistration:input_type -> orchestrator.v1.DeleteNodeRegistrationRequest + 36, // 44: orchestrator.v1.NodeService.RegisterNode:input_type -> orchestrator.v1.RegisterNodeRequest + 7, // 45: orchestrator.v1.NodeService.CreateNode:output_type -> orchestrator.v1.CreateNodeResponse + 9, // 46: orchestrator.v1.NodeService.GetNode:output_type -> orchestrator.v1.GetNodeResponse + 11, // 47: orchestrator.v1.NodeService.ListNodes:output_type -> orchestrator.v1.ListNodesResponse + 13, // 48: orchestrator.v1.NodeService.UpdateNode:output_type -> orchestrator.v1.UpdateNodeResponse + 15, // 49: orchestrator.v1.NodeService.UpdateNodeSSHKey:output_type -> orchestrator.v1.UpdateNodeSSHKeyResponse + 17, // 50: orchestrator.v1.NodeService.DeleteNode:output_type -> orchestrator.v1.DeleteNodeResponse + 19, // 51: orchestrator.v1.NodeService.HealthCheckNode:output_type -> orchestrator.v1.HealthCheckNodeResponse + 21, // 52: orchestrator.v1.NodeService.DrainNode:output_type -> orchestrator.v1.DrainNodeResponse + 23, // 53: orchestrator.v1.NodeService.ActivateNode:output_type -> orchestrator.v1.ActivateNodeResponse + 25, // 54: orchestrator.v1.NodeService.OfflineNode:output_type -> orchestrator.v1.OfflineNodeResponse + 27, // 55: orchestrator.v1.NodeService.TestNodeConnection:output_type -> orchestrator.v1.TestNodeConnectionResponse + 29, // 56: orchestrator.v1.NodeService.DeployTenantDB:output_type -> orchestrator.v1.DeployTenantDBResponse + 31, // 57: orchestrator.v1.NodeService.GenerateNodeRegistrationKey:output_type -> orchestrator.v1.GenerateNodeRegistrationKeyResponse + 33, // 58: orchestrator.v1.NodeService.ListNodeRegistrations:output_type -> orchestrator.v1.ListNodeRegistrationsResponse + 35, // 59: orchestrator.v1.NodeService.DeleteNodeRegistration:output_type -> orchestrator.v1.DeleteNodeRegistrationResponse + 37, // 60: orchestrator.v1.NodeService.RegisterNode:output_type -> orchestrator.v1.RegisterNodeResponse + 45, // [45:61] is the sub-list for method output_type + 29, // [29:45] is the sub-list for method input_type + 29, // [29:29] is the sub-list for extension type_name + 29, // [29:29] is the sub-list for extension extendee + 0, // [0:29] 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{} + 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: 39, + 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..8588df4 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/accounts.connect.go @@ -0,0 +1,708 @@ +// 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" + // AccountServiceInviteAccountUserProcedure is the fully-qualified name of the AccountService's + // InviteAccountUser RPC. + AccountServiceInviteAccountUserProcedure = "/orchestrator.v1.AccountService/InviteAccountUser" + // 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" + // AccountServiceAcceptAccountInvitationProcedure is the fully-qualified name of the + // AccountService's AcceptAccountInvitation RPC. + AccountServiceAcceptAccountInvitationProcedure = "/orchestrator.v1.AccountService/AcceptAccountInvitation" + // 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 + // Invite a user to an account + InviteAccountUser(context.Context, *connect.Request[v1.InviteAccountUserRequest]) (*connect.Response[v1.InviteAccountUserResponse], error) + // 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) + // Accept an account invitation + AcceptAccountInvitation(context.Context, *connect.Request[v1.AcceptAccountInvitationRequest]) (*connect.Response[v1.AcceptAccountInvitationResponse], 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...), + ), + inviteAccountUser: connect.NewClient[v1.InviteAccountUserRequest, v1.InviteAccountUserResponse]( + httpClient, + baseURL+AccountServiceInviteAccountUserProcedure, + connect.WithSchema(accountServiceMethods.ByName("InviteAccountUser")), + 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...), + ), + acceptAccountInvitation: connect.NewClient[v1.AcceptAccountInvitationRequest, v1.AcceptAccountInvitationResponse]( + httpClient, + baseURL+AccountServiceAcceptAccountInvitationProcedure, + connect.WithSchema(accountServiceMethods.ByName("AcceptAccountInvitation")), + 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] + inviteAccountUser *connect.Client[v1.InviteAccountUserRequest, v1.InviteAccountUserResponse] + listAccountUsers *connect.Client[v1.ListAccountUsersRequest, v1.ListAccountUsersResponse] + updateAccountUserRole *connect.Client[v1.UpdateAccountUserRoleRequest, v1.UpdateAccountUserRoleResponse] + removeAccountUser *connect.Client[v1.RemoveAccountUserRequest, v1.RemoveAccountUserResponse] + acceptAccountInvitation *connect.Client[v1.AcceptAccountInvitationRequest, v1.AcceptAccountInvitationResponse] + 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) +} + +// InviteAccountUser calls orchestrator.v1.AccountService.InviteAccountUser. +func (c *accountServiceClient) InviteAccountUser(ctx context.Context, req *connect.Request[v1.InviteAccountUserRequest]) (*connect.Response[v1.InviteAccountUserResponse], error) { + return c.inviteAccountUser.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) +} + +// AcceptAccountInvitation calls orchestrator.v1.AccountService.AcceptAccountInvitation. +func (c *accountServiceClient) AcceptAccountInvitation(ctx context.Context, req *connect.Request[v1.AcceptAccountInvitationRequest]) (*connect.Response[v1.AcceptAccountInvitationResponse], error) { + return c.acceptAccountInvitation.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 + // Invite a user to an account + InviteAccountUser(context.Context, *connect.Request[v1.InviteAccountUserRequest]) (*connect.Response[v1.InviteAccountUserResponse], error) + // 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) + // Accept an account invitation + AcceptAccountInvitation(context.Context, *connect.Request[v1.AcceptAccountInvitationRequest]) (*connect.Response[v1.AcceptAccountInvitationResponse], 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...), + ) + accountServiceInviteAccountUserHandler := connect.NewUnaryHandler( + AccountServiceInviteAccountUserProcedure, + svc.InviteAccountUser, + connect.WithSchema(accountServiceMethods.ByName("InviteAccountUser")), + 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...), + ) + accountServiceAcceptAccountInvitationHandler := connect.NewUnaryHandler( + AccountServiceAcceptAccountInvitationProcedure, + svc.AcceptAccountInvitation, + connect.WithSchema(accountServiceMethods.ByName("AcceptAccountInvitation")), + 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 AccountServiceInviteAccountUserProcedure: + accountServiceInviteAccountUserHandler.ServeHTTP(w, r) + case AccountServiceListAccountUsersProcedure: + accountServiceListAccountUsersHandler.ServeHTTP(w, r) + case AccountServiceUpdateAccountUserRoleProcedure: + accountServiceUpdateAccountUserRoleHandler.ServeHTTP(w, r) + case AccountServiceRemoveAccountUserProcedure: + accountServiceRemoveAccountUserHandler.ServeHTTP(w, r) + case AccountServiceAcceptAccountInvitationProcedure: + accountServiceAcceptAccountInvitationHandler.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) InviteAccountUser(context.Context, *connect.Request[v1.InviteAccountUserRequest]) (*connect.Response[v1.InviteAccountUserResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.InviteAccountUser 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) AcceptAccountInvitation(context.Context, *connect.Request[v1.AcceptAccountInvitationRequest]) (*connect.Response[v1.AcceptAccountInvitationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.AccountService.AcceptAccountInvitation 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..d7aecb1 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/auth.connect.go @@ -0,0 +1,695 @@ +// 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" +) + +// 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) +} + +// 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...), + ), + } +} + +// 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] +} + +// 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) +} + +// 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) +} + +// 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...), + ) + 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) + 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")) +} 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..c5ffa62 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/billing.connect.go @@ -0,0 +1,853 @@ +// 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" + // BillingServiceGetSubscriptionProcedure is the fully-qualified name of the BillingService's + // GetSubscription RPC. + BillingServiceGetSubscriptionProcedure = "/orchestrator.v1.BillingService/GetSubscription" + // 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" + // BillingServiceTerminateSubscriptionProcedure is the fully-qualified name of the BillingService's + // TerminateSubscription RPC. + BillingServiceTerminateSubscriptionProcedure = "/orchestrator.v1.BillingService/TerminateSubscription" + // 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" + // 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" + // BillingServiceGetPaymentCheckoutURLProcedure is the fully-qualified name of the BillingService's + // GetPaymentCheckoutURL RPC. + BillingServiceGetPaymentCheckoutURLProcedure = "/orchestrator.v1.BillingService/GetPaymentCheckoutURL" + // BillingServiceHasPaymentMethodProcedure is the fully-qualified name of the BillingService's + // HasPaymentMethod RPC. + BillingServiceHasPaymentMethodProcedure = "/orchestrator.v1.BillingService/HasPaymentMethod" + // 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) + // Get the current subscription for an instance + GetSubscription(context.Context, *connect.Request[v1.GetSubscriptionRequest]) (*connect.Response[v1.GetSubscriptionResponse], 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 (terminates at period end) + CancelSubscription(context.Context, *connect.Request[v1.CancelSubscriptionRequest]) (*connect.Response[v1.CancelSubscriptionResponse], error) + // Terminate subscription immediately + TerminateSubscription(context.Context, *connect.Request[v1.TerminateSubscriptionRequest]) (*connect.Response[v1.TerminateSubscriptionResponse], 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) + // 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 a checkout URL for adding/updating payment methods + GetPaymentCheckoutURL(context.Context, *connect.Request[v1.GetPaymentCheckoutURLRequest]) (*connect.Response[v1.GetPaymentCheckoutURLResponse], error) + // Check if an account has a payment method configured + HasPaymentMethod(context.Context, *connect.Request[v1.HasPaymentMethodRequest]) (*connect.Response[v1.HasPaymentMethodResponse], 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...), + ), + getSubscription: connect.NewClient[v1.GetSubscriptionRequest, v1.GetSubscriptionResponse]( + httpClient, + baseURL+BillingServiceGetSubscriptionProcedure, + connect.WithSchema(billingServiceMethods.ByName("GetSubscription")), + 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...), + ), + terminateSubscription: connect.NewClient[v1.TerminateSubscriptionRequest, v1.TerminateSubscriptionResponse]( + httpClient, + baseURL+BillingServiceTerminateSubscriptionProcedure, + connect.WithSchema(billingServiceMethods.ByName("TerminateSubscription")), + 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...), + ), + 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...), + ), + getPaymentCheckoutURL: connect.NewClient[v1.GetPaymentCheckoutURLRequest, v1.GetPaymentCheckoutURLResponse]( + httpClient, + baseURL+BillingServiceGetPaymentCheckoutURLProcedure, + connect.WithSchema(billingServiceMethods.ByName("GetPaymentCheckoutURL")), + connect.WithClientOptions(opts...), + ), + hasPaymentMethod: connect.NewClient[v1.HasPaymentMethodRequest, v1.HasPaymentMethodResponse]( + httpClient, + baseURL+BillingServiceHasPaymentMethodProcedure, + connect.WithSchema(billingServiceMethods.ByName("HasPaymentMethod")), + 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] + getSubscription *connect.Client[v1.GetSubscriptionRequest, v1.GetSubscriptionResponse] + 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] + terminateSubscription *connect.Client[v1.TerminateSubscriptionRequest, v1.TerminateSubscriptionResponse] + listInvoices *connect.Client[v1.ListInvoicesRequest, v1.ListInvoicesResponse] + getInvoice *connect.Client[v1.GetInvoiceRequest, v1.GetInvoiceResponse] + 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] + getPaymentCheckoutURL *connect.Client[v1.GetPaymentCheckoutURLRequest, v1.GetPaymentCheckoutURLResponse] + hasPaymentMethod *connect.Client[v1.HasPaymentMethodRequest, v1.HasPaymentMethodResponse] + 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) +} + +// GetSubscription calls orchestrator.v1.BillingService.GetSubscription. +func (c *billingServiceClient) GetSubscription(ctx context.Context, req *connect.Request[v1.GetSubscriptionRequest]) (*connect.Response[v1.GetSubscriptionResponse], error) { + return c.getSubscription.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) +} + +// TerminateSubscription calls orchestrator.v1.BillingService.TerminateSubscription. +func (c *billingServiceClient) TerminateSubscription(ctx context.Context, req *connect.Request[v1.TerminateSubscriptionRequest]) (*connect.Response[v1.TerminateSubscriptionResponse], error) { + return c.terminateSubscription.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) +} + +// 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) +} + +// GetPaymentCheckoutURL calls orchestrator.v1.BillingService.GetPaymentCheckoutURL. +func (c *billingServiceClient) GetPaymentCheckoutURL(ctx context.Context, req *connect.Request[v1.GetPaymentCheckoutURLRequest]) (*connect.Response[v1.GetPaymentCheckoutURLResponse], error) { + return c.getPaymentCheckoutURL.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) +} + +// 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) + // Get the current subscription for an instance + GetSubscription(context.Context, *connect.Request[v1.GetSubscriptionRequest]) (*connect.Response[v1.GetSubscriptionResponse], 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 (terminates at period end) + CancelSubscription(context.Context, *connect.Request[v1.CancelSubscriptionRequest]) (*connect.Response[v1.CancelSubscriptionResponse], error) + // Terminate subscription immediately + TerminateSubscription(context.Context, *connect.Request[v1.TerminateSubscriptionRequest]) (*connect.Response[v1.TerminateSubscriptionResponse], 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) + // 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 a checkout URL for adding/updating payment methods + GetPaymentCheckoutURL(context.Context, *connect.Request[v1.GetPaymentCheckoutURLRequest]) (*connect.Response[v1.GetPaymentCheckoutURLResponse], error) + // Check if an account has a payment method configured + HasPaymentMethod(context.Context, *connect.Request[v1.HasPaymentMethodRequest]) (*connect.Response[v1.HasPaymentMethodResponse], 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...), + ) + billingServiceGetSubscriptionHandler := connect.NewUnaryHandler( + BillingServiceGetSubscriptionProcedure, + svc.GetSubscription, + connect.WithSchema(billingServiceMethods.ByName("GetSubscription")), + 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...), + ) + billingServiceTerminateSubscriptionHandler := connect.NewUnaryHandler( + BillingServiceTerminateSubscriptionProcedure, + svc.TerminateSubscription, + connect.WithSchema(billingServiceMethods.ByName("TerminateSubscription")), + 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...), + ) + 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...), + ) + billingServiceGetPaymentCheckoutURLHandler := connect.NewUnaryHandler( + BillingServiceGetPaymentCheckoutURLProcedure, + svc.GetPaymentCheckoutURL, + connect.WithSchema(billingServiceMethods.ByName("GetPaymentCheckoutURL")), + connect.WithHandlerOptions(opts...), + ) + billingServiceHasPaymentMethodHandler := connect.NewUnaryHandler( + BillingServiceHasPaymentMethodProcedure, + svc.HasPaymentMethod, + connect.WithSchema(billingServiceMethods.ByName("HasPaymentMethod")), + 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 BillingServiceGetSubscriptionProcedure: + billingServiceGetSubscriptionHandler.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 BillingServiceTerminateSubscriptionProcedure: + billingServiceTerminateSubscriptionHandler.ServeHTTP(w, r) + case BillingServiceListInvoicesProcedure: + billingServiceListInvoicesHandler.ServeHTTP(w, r) + case BillingServiceGetInvoiceProcedure: + billingServiceGetInvoiceHandler.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 BillingServiceGetPaymentCheckoutURLProcedure: + billingServiceGetPaymentCheckoutURLHandler.ServeHTTP(w, r) + case BillingServiceHasPaymentMethodProcedure: + billingServiceHasPaymentMethodHandler.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) GetSubscription(context.Context, *connect.Request[v1.GetSubscriptionRequest]) (*connect.Response[v1.GetSubscriptionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.GetSubscription 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) TerminateSubscription(context.Context, *connect.Request[v1.TerminateSubscriptionRequest]) (*connect.Response[v1.TerminateSubscriptionResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.TerminateSubscription 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) 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) GetPaymentCheckoutURL(context.Context, *connect.Request[v1.GetPaymentCheckoutURLRequest]) (*connect.Response[v1.GetPaymentCheckoutURLResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.BillingService.GetPaymentCheckoutURL 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) 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..18ff901 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/dns.connect.go @@ -0,0 +1,512 @@ +// 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" + // 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) + // 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...), + ), + 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] + 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) +} + +// 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) + // 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...), + ) + 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 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) 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/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..169cb77 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/instances.connect.go @@ -0,0 +1,1146 @@ +// 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" + // InstanceServiceCancelOperationProcedure is the fully-qualified name of the InstanceService's + // CancelOperation RPC. + InstanceServiceCancelOperationProcedure = "/orchestrator.v1.InstanceService/CancelOperation" + // InstanceServiceGetInstanceLogsProcedure is the fully-qualified name of the InstanceService's + // GetInstanceLogs RPC. + InstanceServiceGetInstanceLogsProcedure = "/orchestrator.v1.InstanceService/GetInstanceLogs" + // InstanceServiceInviteUserProcedure is the fully-qualified name of the InstanceService's + // InviteUser RPC. + InstanceServiceInviteUserProcedure = "/orchestrator.v1.InstanceService/InviteUser" + // InstanceServiceListInstanceUsersProcedure is the fully-qualified name of the InstanceService's + // ListInstanceUsers RPC. + InstanceServiceListInstanceUsersProcedure = "/orchestrator.v1.InstanceService/ListInstanceUsers" + // 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" + // InstanceServiceAcceptInvitationProcedure is the fully-qualified name of the InstanceService's + // AcceptInvitation RPC. + InstanceServiceAcceptInvitationProcedure = "/orchestrator.v1.InstanceService/AcceptInvitation" + // InstanceServiceGetInstanceStorageLimitsProcedure is the fully-qualified name of the + // InstanceService's GetInstanceStorageLimits RPC. + InstanceServiceGetInstanceStorageLimitsProcedure = "/orchestrator.v1.InstanceService/GetInstanceStorageLimits" + // 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" +) + +// 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) + // Cancel a stuck or in-flight operation, marking it as failed. + CancelOperation(context.Context, *connect.Request[v1.CancelOperationRequest]) (*connect.Response[v1.CancelOperationResponse], error) + // Get instance logs (streaming) + GetInstanceLogs(context.Context, *connect.Request[v1.GetInstanceLogsRequest]) (*connect.ServerStreamForClient[v1.LogEntry], error) + // Invite a user to an instance + InviteUser(context.Context, *connect.Request[v1.InviteUserRequest]) (*connect.Response[v1.InviteUserResponse], error) + // List users with access to an instance + ListInstanceUsers(context.Context, *connect.Request[v1.ListInstanceUsersRequest]) (*connect.Response[v1.ListInstanceUsersResponse], 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) + // Accept an invitation + AcceptInvitation(context.Context, *connect.Request[v1.AcceptInvitationRequest]) (*connect.Response[v1.AcceptInvitationResponse], 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) + // 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) +} + +// 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...), + ), + cancelOperation: connect.NewClient[v1.CancelOperationRequest, v1.CancelOperationResponse]( + httpClient, + baseURL+InstanceServiceCancelOperationProcedure, + connect.WithSchema(instanceServiceMethods.ByName("CancelOperation")), + connect.WithClientOptions(opts...), + ), + getInstanceLogs: connect.NewClient[v1.GetInstanceLogsRequest, v1.LogEntry]( + httpClient, + baseURL+InstanceServiceGetInstanceLogsProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceLogs")), + connect.WithClientOptions(opts...), + ), + inviteUser: connect.NewClient[v1.InviteUserRequest, v1.InviteUserResponse]( + httpClient, + baseURL+InstanceServiceInviteUserProcedure, + connect.WithSchema(instanceServiceMethods.ByName("InviteUser")), + connect.WithClientOptions(opts...), + ), + listInstanceUsers: connect.NewClient[v1.ListInstanceUsersRequest, v1.ListInstanceUsersResponse]( + httpClient, + baseURL+InstanceServiceListInstanceUsersProcedure, + connect.WithSchema(instanceServiceMethods.ByName("ListInstanceUsers")), + 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...), + ), + acceptInvitation: connect.NewClient[v1.AcceptInvitationRequest, v1.AcceptInvitationResponse]( + httpClient, + baseURL+InstanceServiceAcceptInvitationProcedure, + connect.WithSchema(instanceServiceMethods.ByName("AcceptInvitation")), + connect.WithClientOptions(opts...), + ), + getInstanceStorageLimits: connect.NewClient[v1.GetInstanceStorageLimitsRequest, v1.GetInstanceStorageLimitsResponse]( + httpClient, + baseURL+InstanceServiceGetInstanceStorageLimitsProcedure, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceStorageLimits")), + 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...), + ), + } +} + +// 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] + cancelOperation *connect.Client[v1.CancelOperationRequest, v1.CancelOperationResponse] + getInstanceLogs *connect.Client[v1.GetInstanceLogsRequest, v1.LogEntry] + inviteUser *connect.Client[v1.InviteUserRequest, v1.InviteUserResponse] + listInstanceUsers *connect.Client[v1.ListInstanceUsersRequest, v1.ListInstanceUsersResponse] + updateUserRole *connect.Client[v1.UpdateUserRoleRequest, v1.UpdateUserRoleResponse] + removeUser *connect.Client[v1.RemoveUserRequest, v1.RemoveUserResponse] + acceptInvitation *connect.Client[v1.AcceptInvitationRequest, v1.AcceptInvitationResponse] + getInstanceStorageLimits *connect.Client[v1.GetInstanceStorageLimitsRequest, v1.GetInstanceStorageLimitsResponse] + 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] +} + +// 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) +} + +// 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) +} + +// 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) +} + +// InviteUser calls orchestrator.v1.InstanceService.InviteUser. +func (c *instanceServiceClient) InviteUser(ctx context.Context, req *connect.Request[v1.InviteUserRequest]) (*connect.Response[v1.InviteUserResponse], error) { + return c.inviteUser.CallUnary(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) +} + +// 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) +} + +// AcceptInvitation calls orchestrator.v1.InstanceService.AcceptInvitation. +func (c *instanceServiceClient) AcceptInvitation(ctx context.Context, req *connect.Request[v1.AcceptInvitationRequest]) (*connect.Response[v1.AcceptInvitationResponse], error) { + return c.acceptInvitation.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) +} + +// 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) +} + +// 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) + // Cancel a stuck or in-flight operation, marking it as failed. + CancelOperation(context.Context, *connect.Request[v1.CancelOperationRequest]) (*connect.Response[v1.CancelOperationResponse], error) + // Get instance logs (streaming) + GetInstanceLogs(context.Context, *connect.Request[v1.GetInstanceLogsRequest], *connect.ServerStream[v1.LogEntry]) error + // Invite a user to an instance + InviteUser(context.Context, *connect.Request[v1.InviteUserRequest]) (*connect.Response[v1.InviteUserResponse], error) + // List users with access to an instance + ListInstanceUsers(context.Context, *connect.Request[v1.ListInstanceUsersRequest]) (*connect.Response[v1.ListInstanceUsersResponse], 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) + // Accept an invitation + AcceptInvitation(context.Context, *connect.Request[v1.AcceptInvitationRequest]) (*connect.Response[v1.AcceptInvitationResponse], 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) + // 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) +} + +// 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...), + ) + instanceServiceCancelOperationHandler := connect.NewUnaryHandler( + InstanceServiceCancelOperationProcedure, + svc.CancelOperation, + connect.WithSchema(instanceServiceMethods.ByName("CancelOperation")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetInstanceLogsHandler := connect.NewServerStreamHandler( + InstanceServiceGetInstanceLogsProcedure, + svc.GetInstanceLogs, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceLogs")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceInviteUserHandler := connect.NewUnaryHandler( + InstanceServiceInviteUserProcedure, + svc.InviteUser, + connect.WithSchema(instanceServiceMethods.ByName("InviteUser")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceListInstanceUsersHandler := connect.NewUnaryHandler( + InstanceServiceListInstanceUsersProcedure, + svc.ListInstanceUsers, + connect.WithSchema(instanceServiceMethods.ByName("ListInstanceUsers")), + 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...), + ) + instanceServiceAcceptInvitationHandler := connect.NewUnaryHandler( + InstanceServiceAcceptInvitationProcedure, + svc.AcceptInvitation, + connect.WithSchema(instanceServiceMethods.ByName("AcceptInvitation")), + connect.WithHandlerOptions(opts...), + ) + instanceServiceGetInstanceStorageLimitsHandler := connect.NewUnaryHandler( + InstanceServiceGetInstanceStorageLimitsProcedure, + svc.GetInstanceStorageLimits, + connect.WithSchema(instanceServiceMethods.ByName("GetInstanceStorageLimits")), + 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...), + ) + 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 InstanceServiceCancelOperationProcedure: + instanceServiceCancelOperationHandler.ServeHTTP(w, r) + case InstanceServiceGetInstanceLogsProcedure: + instanceServiceGetInstanceLogsHandler.ServeHTTP(w, r) + case InstanceServiceInviteUserProcedure: + instanceServiceInviteUserHandler.ServeHTTP(w, r) + case InstanceServiceListInstanceUsersProcedure: + instanceServiceListInstanceUsersHandler.ServeHTTP(w, r) + case InstanceServiceUpdateUserRoleProcedure: + instanceServiceUpdateUserRoleHandler.ServeHTTP(w, r) + case InstanceServiceRemoveUserProcedure: + instanceServiceRemoveUserHandler.ServeHTTP(w, r) + case InstanceServiceAcceptInvitationProcedure: + instanceServiceAcceptInvitationHandler.ServeHTTP(w, r) + case InstanceServiceGetInstanceStorageLimitsProcedure: + instanceServiceGetInstanceStorageLimitsHandler.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) + 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) 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) 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) InviteUser(context.Context, *connect.Request[v1.InviteUserRequest]) (*connect.Response[v1.InviteUserResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.InviteUser 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) 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) AcceptInvitation(context.Context, *connect.Request[v1.AcceptInvitationRequest]) (*connect.Response[v1.AcceptInvitationResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.InstanceService.AcceptInvitation 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) 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")) +} 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..57e745d --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/nodes.connect.go @@ -0,0 +1,571 @@ +// 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" + // 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" +) + +// 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) + // --- 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) +} + +// 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...), + ), + 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...), + ), + } +} + +// 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] + 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] +} + +// 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) +} + +// 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) +} + +// 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) + // --- 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) +} + +// 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...), + ) + 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...), + ) + 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 NodeServiceGenerateNodeRegistrationKeyProcedure: + nodeServiceGenerateNodeRegistrationKeyHandler.ServeHTTP(w, r) + case NodeServiceListNodeRegistrationsProcedure: + nodeServiceListNodeRegistrationsHandler.ServeHTTP(w, r) + case NodeServiceDeleteNodeRegistrationProcedure: + nodeServiceDeleteNodeRegistrationHandler.ServeHTTP(w, r) + case NodeServiceRegisterNodeProcedure: + nodeServiceRegisterNodeHandler.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) 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")) +} 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 index d7c29a5..09aec1f 100644 --- a/internal/api/orchestrator/v1/orchestratorv1connect/plugin_registry.connect.go +++ b/internal/api/orchestrator/v1/orchestratorv1connect/plugin_registry.connect.go @@ -25,6 +25,8 @@ const ( 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" // PluginPublishServiceName is the fully-qualified name of the PluginPublishService service. PluginPublishServiceName = "orchestrator.v1.PluginPublishService" // PluginAuthServiceName is the fully-qualified name of the PluginAuthService service. @@ -48,6 +50,9 @@ const ( // 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" @@ -66,6 +71,9 @@ const ( // PluginRegistryServiceListCategoriesProcedure is the fully-qualified name of the // PluginRegistryService's ListCategories RPC. PluginRegistryServiceListCategoriesProcedure = "/orchestrator.v1.PluginRegistryService/ListCategories" + // 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" @@ -78,6 +86,18 @@ const ( // PluginRegistryServiceListPrivatePluginInstallSitesProcedure is the fully-qualified name of the // PluginRegistryService's ListPrivatePluginInstallSites RPC. PluginRegistryServiceListPrivatePluginInstallSitesProcedure = "/orchestrator.v1.PluginRegistryService/ListPrivatePluginInstallSites" + // 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" // PluginPublishServicePublishVersionProcedure is the fully-qualified name of the // PluginPublishService's PublishVersion RPC. PluginPublishServicePublishVersionProcedure = "/orchestrator.v1.PluginPublishService/PublishVersion" @@ -99,9 +119,6 @@ const ( // PluginAuthServiceWhoamiProcedure is the fully-qualified name of the PluginAuthService's Whoami // RPC. PluginAuthServiceWhoamiProcedure = "/orchestrator.v1.PluginAuthService/Whoami" - // PluginAuthServiceListMyAccountsProcedure is the fully-qualified name of the PluginAuthService's - // ListMyAccounts RPC. - PluginAuthServiceListMyAccountsProcedure = "/orchestrator.v1.PluginAuthService/ListMyAccounts" ) // PluginScopeServiceClient is a client for the orchestrator.v1.PluginScopeService service. @@ -109,6 +126,7 @@ 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 @@ -140,14 +158,21 @@ func NewPluginScopeServiceClient(httpClient connect.HTTPClient, baseURL string, 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] + 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. @@ -165,11 +190,17 @@ func (c *pluginScopeServiceClient) GetScope(ctx context.Context, req *connect.Re 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 @@ -197,6 +228,12 @@ func NewPluginScopeServiceHandler(svc PluginScopeServiceHandler, opts ...connect 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: @@ -205,6 +242,8 @@ func NewPluginScopeServiceHandler(svc PluginScopeServiceHandler, opts ...connect pluginScopeServiceListMyScopesHandler.ServeHTTP(w, r) case PluginScopeServiceGetScopeProcedure: pluginScopeServiceGetScopeHandler.ServeHTTP(w, r) + case PluginScopeServiceListMyPluginsProcedure: + pluginScopeServiceListMyPluginsHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } @@ -226,6 +265,10 @@ func (UnimplementedPluginScopeServiceHandler) GetScope(context.Context, *connect 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) @@ -234,6 +277,7 @@ type PluginRegistryServiceClient interface { 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) + 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) @@ -289,6 +333,12 @@ func NewPluginRegistryServiceClient(httpClient connect.HTTPClient, baseURL strin connect.WithSchema(pluginRegistryServiceMethods.ByName("ListCategories")), 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, @@ -324,6 +374,7 @@ type pluginRegistryServiceClient struct { getVersion *connect.Client[v1.GetVersionRequest, v1.GetVersionResponse] resolveInstall *connect.Client[v1.ResolveInstallRequest, v1.ResolveInstallResponse] listCategories *connect.Client[v1.ListCategoriesRequest, v1.ListCategoriesResponse] + 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] @@ -360,6 +411,11 @@ func (c *pluginRegistryServiceClient) ListCategories(ctx context.Context, req *c return c.listCategories.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) @@ -391,6 +447,7 @@ type PluginRegistryServiceHandler interface { 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) + 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) @@ -442,6 +499,12 @@ func NewPluginRegistryServiceHandler(svc PluginRegistryServiceHandler, opts ...c connect.WithSchema(pluginRegistryServiceMethods.ByName("ListCategories")), connect.WithHandlerOptions(opts...), ) + pluginRegistryServiceSubmitForReviewHandler := connect.NewUnaryHandler( + PluginRegistryServiceSubmitForReviewProcedure, + svc.SubmitForReview, + connect.WithSchema(pluginRegistryServiceMethods.ByName("SubmitForReview")), + connect.WithHandlerOptions(opts...), + ) pluginRegistryServiceListPrivatePluginsHandler := connect.NewUnaryHandler( PluginRegistryServiceListPrivatePluginsProcedure, svc.ListPrivatePlugins, @@ -480,6 +543,8 @@ func NewPluginRegistryServiceHandler(svc PluginRegistryServiceHandler, opts ...c pluginRegistryServiceResolveInstallHandler.ServeHTTP(w, r) case PluginRegistryServiceListCategoriesProcedure: pluginRegistryServiceListCategoriesHandler.ServeHTTP(w, r) + case PluginRegistryServiceSubmitForReviewProcedure: + pluginRegistryServiceSubmitForReviewHandler.ServeHTTP(w, r) case PluginRegistryServiceListPrivatePluginsProcedure: pluginRegistryServiceListPrivatePluginsHandler.ServeHTTP(w, r) case PluginRegistryServiceDeletePrivatePluginProcedure: @@ -521,6 +586,10 @@ func (UnimplementedPluginRegistryServiceHandler) ListCategories(context.Context, return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.ListCategories 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")) } @@ -537,6 +606,156 @@ func (UnimplementedPluginRegistryServiceHandler) ListPrivatePluginInstallSites(c return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.ListPrivatePluginInstallSites 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) +} + +// 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...), + ), + } +} + +// 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] +} + +// 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) +} + +// 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) +} + +// 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...), + ) + 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) + 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")) +} + // 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) @@ -616,10 +835,6 @@ type PluginAuthServiceClient interface { 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 returns the accounts the authenticated user belongs to. - // Used by `ninja login` (forced selection when multiple) and - // `ninja account list`. - ListMyAccounts(context.Context, *connect.Request[v1.ListMyAccountsRequest]) (*connect.Response[v1.ListMyAccountsResponse], error) } // NewPluginAuthServiceClient constructs a client for the orchestrator.v1.PluginAuthService service. @@ -669,12 +884,6 @@ func NewPluginAuthServiceClient(httpClient connect.HTTPClient, baseURL string, o connect.WithSchema(pluginAuthServiceMethods.ByName("Whoami")), connect.WithClientOptions(opts...), ), - listMyAccounts: connect.NewClient[v1.ListMyAccountsRequest, v1.ListMyAccountsResponse]( - httpClient, - baseURL+PluginAuthServiceListMyAccountsProcedure, - connect.WithSchema(pluginAuthServiceMethods.ByName("ListMyAccounts")), - connect.WithClientOptions(opts...), - ), } } @@ -686,7 +895,6 @@ type pluginAuthServiceClient struct { denyDevice *connect.Client[v1.DenyDeviceRequest, v1.DenyDeviceResponse] getDeviceStatus *connect.Client[v1.GetDeviceStatusRequest, v1.GetDeviceStatusResponse] whoami *connect.Client[v1.WhoamiRequest, v1.WhoamiResponse] - listMyAccounts *connect.Client[v1.ListMyAccountsRequest, v1.ListMyAccountsResponse] } // StartDevice calls orchestrator.v1.PluginAuthService.StartDevice. @@ -719,11 +927,6 @@ func (c *pluginAuthServiceClient) Whoami(ctx context.Context, req *connect.Reque return c.whoami.CallUnary(ctx, req) } -// ListMyAccounts calls orchestrator.v1.PluginAuthService.ListMyAccounts. -func (c *pluginAuthServiceClient) ListMyAccounts(ctx context.Context, req *connect.Request[v1.ListMyAccountsRequest]) (*connect.Response[v1.ListMyAccountsResponse], error) { - return c.listMyAccounts.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) @@ -732,10 +935,6 @@ type PluginAuthServiceHandler interface { 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 returns the accounts the authenticated user belongs to. - // Used by `ninja login` (forced selection when multiple) and - // `ninja account list`. - ListMyAccounts(context.Context, *connect.Request[v1.ListMyAccountsRequest]) (*connect.Response[v1.ListMyAccountsResponse], error) } // NewPluginAuthServiceHandler builds an HTTP handler from the service implementation. It returns @@ -781,12 +980,6 @@ func NewPluginAuthServiceHandler(svc PluginAuthServiceHandler, opts ...connect.H connect.WithSchema(pluginAuthServiceMethods.ByName("Whoami")), connect.WithHandlerOptions(opts...), ) - pluginAuthServiceListMyAccountsHandler := connect.NewUnaryHandler( - PluginAuthServiceListMyAccountsProcedure, - svc.ListMyAccounts, - connect.WithSchema(pluginAuthServiceMethods.ByName("ListMyAccounts")), - connect.WithHandlerOptions(opts...), - ) return "/orchestrator.v1.PluginAuthService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { case PluginAuthServiceStartDeviceProcedure: @@ -801,8 +994,6 @@ func NewPluginAuthServiceHandler(svc PluginAuthServiceHandler, opts ...connect.H pluginAuthServiceGetDeviceStatusHandler.ServeHTTP(w, r) case PluginAuthServiceWhoamiProcedure: pluginAuthServiceWhoamiHandler.ServeHTTP(w, r) - case PluginAuthServiceListMyAccountsProcedure: - pluginAuthServiceListMyAccountsHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } @@ -835,7 +1026,3 @@ func (UnimplementedPluginAuthServiceHandler) GetDeviceStatus(context.Context, *c 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) ListMyAccounts(context.Context, *connect.Request[v1.ListMyAccountsRequest]) (*connect.Response[v1.ListMyAccountsResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginAuthService.ListMyAccounts 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..0991165 --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/reporting.connect.go @@ -0,0 +1,361 @@ +// 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" +) + +// 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) +} + +// 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...), + ), + } +} + +// 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] +} + +// 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) +} + +// 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) +} + +// 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...), + ) + 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) + 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")) +} 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..949d7fc --- /dev/null +++ b/internal/api/orchestrator/v1/orchestratorv1connect/settings.connect.go @@ -0,0 +1,173 @@ +// 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" +) + +// 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) +} + +// 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...), + ), + } +} + +// 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] +} + +// 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) +} + +// 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) +} + +// 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...), + ) + 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) + 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")) +} 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/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 index 9071f65..ecaaf0d 100644 --- a/internal/api/orchestrator/v1/plugin_registry.pb.go +++ b/internal/api/orchestrator/v1/plugin_registry.pb.go @@ -286,77 +286,6 @@ func (x *Plugin) GetOwnerAccountId() string { return "" } -// Account is a multi-user organisational unit in the orchestrator. The -// authenticated user may belong to one or more accounts via account_users. -type Account 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"` - // role of the authenticated caller in this account: owner | manager | member. - Role string `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *Account) Reset() { - *x = Account{} - mi := &file_orchestrator_v1_plugin_registry_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_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 Account.ProtoReflect.Descriptor instead. -func (*Account) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{2} -} - -func (x *Account) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Account) GetSlug() string { - if x != nil { - return x.Slug - } - return "" -} - -func (x *Account) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *Account) GetRole() string { - if x != nil { - return x.Role - } - return "" -} - type Category struct { state protoimpl.MessageState `protogen:"open.v1"` Slug string `protobuf:"bytes,1,opt,name=slug,proto3" json:"slug,omitempty"` @@ -369,7 +298,7 @@ type Category struct { func (x *Category) Reset() { *x = Category{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[3] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -381,7 +310,7 @@ func (x *Category) String() string { func (*Category) ProtoMessage() {} func (x *Category) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[3] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -394,7 +323,7 @@ func (x *Category) ProtoReflect() protoreflect.Message { // Deprecated: Use Category.ProtoReflect.Descriptor instead. func (*Category) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{3} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{2} } func (x *Category) GetSlug() string { @@ -441,7 +370,7 @@ type Version struct { func (x *Version) Reset() { *x = Version{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[4] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -453,7 +382,7 @@ func (x *Version) String() string { func (*Version) ProtoMessage() {} func (x *Version) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[4] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -466,7 +395,7 @@ func (x *Version) ProtoReflect() protoreflect.Message { // Deprecated: Use Version.ProtoReflect.Descriptor instead. func (*Version) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{4} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{3} } func (x *Version) GetId() string { @@ -536,7 +465,7 @@ type Requirement struct { func (x *Requirement) Reset() { *x = Requirement{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[5] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -548,7 +477,7 @@ func (x *Requirement) String() string { func (*Requirement) ProtoMessage() {} func (x *Requirement) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[5] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -561,7 +490,7 @@ func (x *Requirement) ProtoReflect() protoreflect.Message { // Deprecated: Use Requirement.ProtoReflect.Descriptor instead. func (*Requirement) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{5} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{4} } func (x *Requirement) GetScopeSlug() string { @@ -595,7 +524,7 @@ type CreateScopeRequest struct { func (x *CreateScopeRequest) Reset() { *x = CreateScopeRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[6] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -607,7 +536,7 @@ func (x *CreateScopeRequest) String() string { func (*CreateScopeRequest) ProtoMessage() {} func (x *CreateScopeRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[6] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -620,7 +549,7 @@ func (x *CreateScopeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateScopeRequest.ProtoReflect.Descriptor instead. func (*CreateScopeRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{6} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{5} } func (x *CreateScopeRequest) GetSlug() string { @@ -646,7 +575,7 @@ type CreateScopeResponse struct { func (x *CreateScopeResponse) Reset() { *x = CreateScopeResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[7] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -658,7 +587,7 @@ func (x *CreateScopeResponse) String() string { func (*CreateScopeResponse) ProtoMessage() {} func (x *CreateScopeResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[7] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -671,7 +600,7 @@ func (x *CreateScopeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateScopeResponse.ProtoReflect.Descriptor instead. func (*CreateScopeResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{7} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{6} } func (x *CreateScopeResponse) GetScope() *Scope { @@ -689,7 +618,7 @@ type ListMyScopesRequest struct { func (x *ListMyScopesRequest) Reset() { *x = ListMyScopesRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[8] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -701,7 +630,7 @@ func (x *ListMyScopesRequest) String() string { func (*ListMyScopesRequest) ProtoMessage() {} func (x *ListMyScopesRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[8] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -714,7 +643,7 @@ func (x *ListMyScopesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyScopesRequest.ProtoReflect.Descriptor instead. func (*ListMyScopesRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{8} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{7} } type ListMyScopesResponse struct { @@ -726,7 +655,7 @@ type ListMyScopesResponse struct { func (x *ListMyScopesResponse) Reset() { *x = ListMyScopesResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[9] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -738,7 +667,7 @@ func (x *ListMyScopesResponse) String() string { func (*ListMyScopesResponse) ProtoMessage() {} func (x *ListMyScopesResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[9] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -751,7 +680,7 @@ func (x *ListMyScopesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyScopesResponse.ProtoReflect.Descriptor instead. func (*ListMyScopesResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{9} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{8} } func (x *ListMyScopesResponse) GetScopes() []*Scope { @@ -770,7 +699,7 @@ type GetScopeRequest struct { func (x *GetScopeRequest) Reset() { *x = GetScopeRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[10] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -782,7 +711,7 @@ func (x *GetScopeRequest) String() string { func (*GetScopeRequest) ProtoMessage() {} func (x *GetScopeRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[10] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -795,7 +724,7 @@ func (x *GetScopeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetScopeRequest.ProtoReflect.Descriptor instead. func (*GetScopeRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{10} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{9} } func (x *GetScopeRequest) GetSlug() string { @@ -815,7 +744,7 @@ type GetScopeResponse struct { func (x *GetScopeResponse) Reset() { *x = GetScopeResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[11] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -827,7 +756,7 @@ func (x *GetScopeResponse) String() string { func (*GetScopeResponse) ProtoMessage() {} func (x *GetScopeResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[11] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -840,7 +769,7 @@ func (x *GetScopeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetScopeResponse.ProtoReflect.Descriptor instead. func (*GetScopeResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{11} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{10} } func (x *GetScopeResponse) GetScope() *Scope { @@ -857,6 +786,86 @@ func (x *GetScopeResponse) GetPlugins() []*Plugin { 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[11] + 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[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 ListMyPluginsRequest.ProtoReflect.Descriptor instead. +func (*ListMyPluginsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{11} +} + +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[12] + 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[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 ListMyPluginsResponse.ProtoReflect.Descriptor instead. +func (*ListMyPluginsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{12} +} + +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"` @@ -879,7 +888,7 @@ type CreatePluginRequest struct { func (x *CreatePluginRequest) Reset() { *x = CreatePluginRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[12] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -891,7 +900,7 @@ func (x *CreatePluginRequest) String() string { func (*CreatePluginRequest) ProtoMessage() {} func (x *CreatePluginRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[12] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -904,7 +913,7 @@ func (x *CreatePluginRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreatePluginRequest.ProtoReflect.Descriptor instead. func (*CreatePluginRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{12} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{13} } func (x *CreatePluginRequest) GetScopeSlug() string { @@ -972,7 +981,7 @@ type CreatePluginResponse struct { func (x *CreatePluginResponse) Reset() { *x = CreatePluginResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[13] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -984,7 +993,7 @@ func (x *CreatePluginResponse) String() string { func (*CreatePluginResponse) ProtoMessage() {} func (x *CreatePluginResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[13] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -997,7 +1006,7 @@ func (x *CreatePluginResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreatePluginResponse.ProtoReflect.Descriptor instead. func (*CreatePluginResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{13} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{14} } func (x *CreatePluginResponse) GetPlugin() *Plugin { @@ -1021,7 +1030,7 @@ type GetPluginRequest struct { func (x *GetPluginRequest) Reset() { *x = GetPluginRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[14] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1033,7 +1042,7 @@ func (x *GetPluginRequest) String() string { func (*GetPluginRequest) ProtoMessage() {} func (x *GetPluginRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[14] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1046,7 +1055,7 @@ func (x *GetPluginRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPluginRequest.ProtoReflect.Descriptor instead. func (*GetPluginRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{14} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{15} } func (x *GetPluginRequest) GetScopeSlug() string { @@ -1081,7 +1090,7 @@ type GetPluginResponse struct { func (x *GetPluginResponse) Reset() { *x = GetPluginResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[15] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1093,7 +1102,7 @@ func (x *GetPluginResponse) String() string { func (*GetPluginResponse) ProtoMessage() {} func (x *GetPluginResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[15] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1106,7 +1115,7 @@ func (x *GetPluginResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPluginResponse.ProtoReflect.Descriptor instead. func (*GetPluginResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{15} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{16} } func (x *GetPluginResponse) GetPlugin() *Plugin { @@ -1143,7 +1152,7 @@ type ListPluginsRequest struct { func (x *ListPluginsRequest) Reset() { *x = ListPluginsRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[16] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1155,7 +1164,7 @@ func (x *ListPluginsRequest) String() string { func (*ListPluginsRequest) ProtoMessage() {} func (x *ListPluginsRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[16] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1168,7 +1177,7 @@ func (x *ListPluginsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPluginsRequest.ProtoReflect.Descriptor instead. func (*ListPluginsRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{16} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{17} } func (x *ListPluginsRequest) GetLimit() int32 { @@ -1215,7 +1224,7 @@ type ListPluginsResponse struct { func (x *ListPluginsResponse) Reset() { *x = ListPluginsResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[17] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1227,7 +1236,7 @@ func (x *ListPluginsResponse) String() string { func (*ListPluginsResponse) ProtoMessage() {} func (x *ListPluginsResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[17] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1240,7 +1249,7 @@ func (x *ListPluginsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPluginsResponse.ProtoReflect.Descriptor instead. func (*ListPluginsResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{17} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{18} } func (x *ListPluginsResponse) GetPlugins() []*Plugin { @@ -1258,7 +1267,7 @@ type ListCategoriesRequest struct { func (x *ListCategoriesRequest) Reset() { *x = ListCategoriesRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[18] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1270,7 +1279,7 @@ func (x *ListCategoriesRequest) String() string { func (*ListCategoriesRequest) ProtoMessage() {} func (x *ListCategoriesRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[18] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1283,7 +1292,7 @@ func (x *ListCategoriesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListCategoriesRequest.ProtoReflect.Descriptor instead. func (*ListCategoriesRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{18} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{19} } type ListCategoriesResponse struct { @@ -1295,7 +1304,7 @@ type ListCategoriesResponse struct { func (x *ListCategoriesResponse) Reset() { *x = ListCategoriesResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[19] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1307,7 +1316,7 @@ func (x *ListCategoriesResponse) String() string { func (*ListCategoriesResponse) ProtoMessage() {} func (x *ListCategoriesResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[19] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1320,7 +1329,7 @@ func (x *ListCategoriesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListCategoriesResponse.ProtoReflect.Descriptor instead. func (*ListCategoriesResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{19} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{20} } func (x *ListCategoriesResponse) GetCategories() []*Category { @@ -1341,7 +1350,7 @@ type ListPrivatePluginsRequest struct { func (x *ListPrivatePluginsRequest) Reset() { *x = ListPrivatePluginsRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[20] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1353,7 +1362,7 @@ func (x *ListPrivatePluginsRequest) String() string { func (*ListPrivatePluginsRequest) ProtoMessage() {} func (x *ListPrivatePluginsRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[20] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1366,7 +1375,7 @@ func (x *ListPrivatePluginsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPrivatePluginsRequest.ProtoReflect.Descriptor instead. func (*ListPrivatePluginsRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{20} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{21} } func (x *ListPrivatePluginsRequest) GetAccountId() string { @@ -1385,7 +1394,7 @@ type ListPrivatePluginsResponse struct { func (x *ListPrivatePluginsResponse) Reset() { *x = ListPrivatePluginsResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[21] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1397,7 +1406,7 @@ func (x *ListPrivatePluginsResponse) String() string { func (*ListPrivatePluginsResponse) ProtoMessage() {} func (x *ListPrivatePluginsResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[21] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1410,7 +1419,7 @@ func (x *ListPrivatePluginsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPrivatePluginsResponse.ProtoReflect.Descriptor instead. func (*ListPrivatePluginsResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{21} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{22} } func (x *ListPrivatePluginsResponse) GetPlugins() []*PrivatePluginSummary { @@ -1439,7 +1448,7 @@ type PrivatePluginSummary struct { func (x *PrivatePluginSummary) Reset() { *x = PrivatePluginSummary{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[22] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1451,7 +1460,7 @@ func (x *PrivatePluginSummary) String() string { func (*PrivatePluginSummary) ProtoMessage() {} func (x *PrivatePluginSummary) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[22] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1464,7 +1473,7 @@ func (x *PrivatePluginSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use PrivatePluginSummary.ProtoReflect.Descriptor instead. func (*PrivatePluginSummary) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{22} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{23} } func (x *PrivatePluginSummary) GetPlugin() *Plugin { @@ -1498,7 +1507,7 @@ type DeletePrivatePluginRequest struct { func (x *DeletePrivatePluginRequest) Reset() { *x = DeletePrivatePluginRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[23] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1510,7 +1519,7 @@ func (x *DeletePrivatePluginRequest) String() string { func (*DeletePrivatePluginRequest) ProtoMessage() {} func (x *DeletePrivatePluginRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[23] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1523,7 +1532,7 @@ func (x *DeletePrivatePluginRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeletePrivatePluginRequest.ProtoReflect.Descriptor instead. func (*DeletePrivatePluginRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{23} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{24} } func (x *DeletePrivatePluginRequest) GetAccountId() string { @@ -1548,7 +1557,7 @@ type DeletePrivatePluginResponse struct { func (x *DeletePrivatePluginResponse) Reset() { *x = DeletePrivatePluginResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[24] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1560,7 +1569,7 @@ func (x *DeletePrivatePluginResponse) String() string { func (*DeletePrivatePluginResponse) ProtoMessage() {} func (x *DeletePrivatePluginResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[24] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1573,7 +1582,7 @@ func (x *DeletePrivatePluginResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeletePrivatePluginResponse.ProtoReflect.Descriptor instead. func (*DeletePrivatePluginResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{24} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{25} } type DeletePrivatePluginVersionRequest struct { @@ -1587,7 +1596,7 @@ type DeletePrivatePluginVersionRequest struct { func (x *DeletePrivatePluginVersionRequest) Reset() { *x = DeletePrivatePluginVersionRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[25] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1599,7 +1608,7 @@ func (x *DeletePrivatePluginVersionRequest) String() string { func (*DeletePrivatePluginVersionRequest) ProtoMessage() {} func (x *DeletePrivatePluginVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[25] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1612,7 +1621,7 @@ func (x *DeletePrivatePluginVersionRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeletePrivatePluginVersionRequest.ProtoReflect.Descriptor instead. func (*DeletePrivatePluginVersionRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{25} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{26} } func (x *DeletePrivatePluginVersionRequest) GetAccountId() string { @@ -1644,7 +1653,7 @@ type DeletePrivatePluginVersionResponse struct { func (x *DeletePrivatePluginVersionResponse) Reset() { *x = DeletePrivatePluginVersionResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[26] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1656,7 +1665,7 @@ func (x *DeletePrivatePluginVersionResponse) String() string { func (*DeletePrivatePluginVersionResponse) ProtoMessage() {} func (x *DeletePrivatePluginVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[26] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1669,7 +1678,7 @@ func (x *DeletePrivatePluginVersionResponse) ProtoReflect() protoreflect.Message // Deprecated: Use DeletePrivatePluginVersionResponse.ProtoReflect.Descriptor instead. func (*DeletePrivatePluginVersionResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{26} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{27} } type ListPrivatePluginInstallSitesRequest struct { @@ -1682,7 +1691,7 @@ type ListPrivatePluginInstallSitesRequest struct { func (x *ListPrivatePluginInstallSitesRequest) Reset() { *x = ListPrivatePluginInstallSitesRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[27] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1694,7 +1703,7 @@ func (x *ListPrivatePluginInstallSitesRequest) String() string { func (*ListPrivatePluginInstallSitesRequest) ProtoMessage() {} func (x *ListPrivatePluginInstallSitesRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[27] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1707,7 +1716,7 @@ func (x *ListPrivatePluginInstallSitesRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use ListPrivatePluginInstallSitesRequest.ProtoReflect.Descriptor instead. func (*ListPrivatePluginInstallSitesRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{27} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{28} } func (x *ListPrivatePluginInstallSitesRequest) GetAccountId() string { @@ -1733,7 +1742,7 @@ type ListPrivatePluginInstallSitesResponse struct { func (x *ListPrivatePluginInstallSitesResponse) Reset() { *x = ListPrivatePluginInstallSitesResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[28] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1745,7 +1754,7 @@ func (x *ListPrivatePluginInstallSitesResponse) String() string { func (*ListPrivatePluginInstallSitesResponse) ProtoMessage() {} func (x *ListPrivatePluginInstallSitesResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[28] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1758,7 +1767,7 @@ func (x *ListPrivatePluginInstallSitesResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use ListPrivatePluginInstallSitesResponse.ProtoReflect.Descriptor instead. func (*ListPrivatePluginInstallSitesResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{28} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{29} } func (x *ListPrivatePluginInstallSitesResponse) GetSites() []*PrivatePluginInstallSite { @@ -1780,7 +1789,7 @@ type PrivatePluginInstallSite struct { func (x *PrivatePluginInstallSite) Reset() { *x = PrivatePluginInstallSite{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[29] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1792,7 +1801,7 @@ func (x *PrivatePluginInstallSite) String() string { func (*PrivatePluginInstallSite) ProtoMessage() {} func (x *PrivatePluginInstallSite) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[29] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1805,7 +1814,7 @@ func (x *PrivatePluginInstallSite) ProtoReflect() protoreflect.Message { // Deprecated: Use PrivatePluginInstallSite.ProtoReflect.Descriptor instead. func (*PrivatePluginInstallSite) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{29} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{30} } func (x *PrivatePluginInstallSite) GetInstanceId() string { @@ -1847,7 +1856,7 @@ type GetVersionRequest struct { func (x *GetVersionRequest) Reset() { *x = GetVersionRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[30] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1859,7 +1868,7 @@ func (x *GetVersionRequest) String() string { func (*GetVersionRequest) ProtoMessage() {} func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[30] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1872,7 +1881,7 @@ func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionRequest.ProtoReflect.Descriptor instead. func (*GetVersionRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{30} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{31} } func (x *GetVersionRequest) GetScopeSlug() string { @@ -1908,7 +1917,7 @@ type GetVersionResponse struct { func (x *GetVersionResponse) Reset() { *x = GetVersionResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[31] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1920,7 +1929,7 @@ func (x *GetVersionResponse) String() string { func (*GetVersionResponse) ProtoMessage() {} func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[31] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1933,7 +1942,7 @@ func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionResponse.ProtoReflect.Descriptor instead. func (*GetVersionResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{31} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{32} } func (x *GetVersionResponse) GetVersion() *Version { @@ -1975,7 +1984,7 @@ type ResolveInstallRequest struct { func (x *ResolveInstallRequest) Reset() { *x = ResolveInstallRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[32] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1987,7 +1996,7 @@ func (x *ResolveInstallRequest) String() string { func (*ResolveInstallRequest) ProtoMessage() {} func (x *ResolveInstallRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[32] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2000,7 +2009,7 @@ func (x *ResolveInstallRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveInstallRequest.ProtoReflect.Descriptor instead. func (*ResolveInstallRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{32} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{33} } func (x *ResolveInstallRequest) GetScopeSlug() string { @@ -2043,7 +2052,7 @@ type ResolveInstallResponse struct { func (x *ResolveInstallResponse) Reset() { *x = ResolveInstallResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[33] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2055,7 +2064,7 @@ func (x *ResolveInstallResponse) String() string { func (*ResolveInstallResponse) ProtoMessage() {} func (x *ResolveInstallResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[33] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2068,7 +2077,7 @@ func (x *ResolveInstallResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveInstallResponse.ProtoReflect.Descriptor instead. func (*ResolveInstallResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{33} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{34} } func (x *ResolveInstallResponse) GetVersionId() string { @@ -2148,6 +2157,550 @@ func (x *ResolveInstallResponse) GetWarnings() []string { return nil } +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[35] + 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[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 PendingReview.ProtoReflect.Descriptor instead. +func (*PendingReview) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{35} +} + +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[36] + 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[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 SubmitForReviewRequest.ProtoReflect.Descriptor instead. +func (*SubmitForReviewRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{36} +} + +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[37] + 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[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 SubmitForReviewResponse.ProtoReflect.Descriptor instead. +func (*SubmitForReviewResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{37} +} + +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[38] + 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[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 ListPendingReviewsRequest.ProtoReflect.Descriptor instead. +func (*ListPendingReviewsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{38} +} + +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[39] + 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[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 ListPendingReviewsResponse.ProtoReflect.Descriptor instead. +func (*ListPendingReviewsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{39} +} + +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[40] + 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[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 ApproveSubmissionRequest.ProtoReflect.Descriptor instead. +func (*ApproveSubmissionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{40} +} + +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[41] + 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[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 ApproveSubmissionResponse.ProtoReflect.Descriptor instead. +func (*ApproveSubmissionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{41} +} + +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[42] + 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[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 RejectSubmissionRequest.ProtoReflect.Descriptor instead. +func (*RejectSubmissionRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{42} +} + +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[43] + 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[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 RejectSubmissionResponse.ProtoReflect.Descriptor instead. +func (*RejectSubmissionResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{43} +} + +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[44] + 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[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 RequestChangesRequest.ProtoReflect.Descriptor instead. +func (*RequestChangesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{44} +} + +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[45] + 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[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 RequestChangesResponse.ProtoReflect.Descriptor instead. +func (*RequestChangesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{45} +} + 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"` @@ -2162,7 +2715,7 @@ type PublishVersionRequest struct { func (x *PublishVersionRequest) Reset() { *x = PublishVersionRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[34] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2174,7 +2727,7 @@ func (x *PublishVersionRequest) String() string { func (*PublishVersionRequest) ProtoMessage() {} func (x *PublishVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[34] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2187,7 +2740,7 @@ func (x *PublishVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PublishVersionRequest.ProtoReflect.Descriptor instead. func (*PublishVersionRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{34} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{46} } func (x *PublishVersionRequest) GetPluginId() string { @@ -2243,7 +2796,7 @@ type PublishVersionResponse struct { func (x *PublishVersionResponse) Reset() { *x = PublishVersionResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[35] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2255,7 +2808,7 @@ func (x *PublishVersionResponse) String() string { func (*PublishVersionResponse) ProtoMessage() {} func (x *PublishVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[35] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2268,7 +2821,7 @@ func (x *PublishVersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PublishVersionResponse.ProtoReflect.Descriptor instead. func (*PublishVersionResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{35} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{47} } func (x *PublishVersionResponse) GetVersion() *Version { @@ -2301,7 +2854,7 @@ type StartDeviceRequest struct { func (x *StartDeviceRequest) Reset() { *x = StartDeviceRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[36] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2313,7 +2866,7 @@ func (x *StartDeviceRequest) String() string { func (*StartDeviceRequest) ProtoMessage() {} func (x *StartDeviceRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[36] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2326,7 +2879,7 @@ func (x *StartDeviceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StartDeviceRequest.ProtoReflect.Descriptor instead. func (*StartDeviceRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{36} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{48} } func (x *StartDeviceRequest) GetScopes() []string { @@ -2349,7 +2902,7 @@ type StartDeviceResponse struct { func (x *StartDeviceResponse) Reset() { *x = StartDeviceResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[37] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2361,7 +2914,7 @@ func (x *StartDeviceResponse) String() string { func (*StartDeviceResponse) ProtoMessage() {} func (x *StartDeviceResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[37] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2374,7 +2927,7 @@ func (x *StartDeviceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StartDeviceResponse.ProtoReflect.Descriptor instead. func (*StartDeviceResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{37} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{49} } func (x *StartDeviceResponse) GetDeviceCode() string { @@ -2421,7 +2974,7 @@ type PollDeviceRequest struct { func (x *PollDeviceRequest) Reset() { *x = PollDeviceRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[38] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2433,7 +2986,7 @@ func (x *PollDeviceRequest) String() string { func (*PollDeviceRequest) ProtoMessage() {} func (x *PollDeviceRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[38] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2446,7 +2999,7 @@ func (x *PollDeviceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PollDeviceRequest.ProtoReflect.Descriptor instead. func (*PollDeviceRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{38} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{50} } func (x *PollDeviceRequest) GetDeviceCode() string { @@ -2466,7 +3019,7 @@ type PollDeviceResponse struct { func (x *PollDeviceResponse) Reset() { *x = PollDeviceResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[39] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2478,7 +3031,7 @@ func (x *PollDeviceResponse) String() string { func (*PollDeviceResponse) ProtoMessage() {} func (x *PollDeviceResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[39] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2491,7 +3044,7 @@ func (x *PollDeviceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PollDeviceResponse.ProtoReflect.Descriptor instead. func (*PollDeviceResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{39} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{51} } func (x *PollDeviceResponse) GetAccessToken() string { @@ -2517,7 +3070,7 @@ type ApproveDeviceRequest struct { func (x *ApproveDeviceRequest) Reset() { *x = ApproveDeviceRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[40] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2529,7 +3082,7 @@ func (x *ApproveDeviceRequest) String() string { func (*ApproveDeviceRequest) ProtoMessage() {} func (x *ApproveDeviceRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[40] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2542,7 +3095,7 @@ func (x *ApproveDeviceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ApproveDeviceRequest.ProtoReflect.Descriptor instead. func (*ApproveDeviceRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{40} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{52} } func (x *ApproveDeviceRequest) GetUserCode() string { @@ -2560,7 +3113,7 @@ type ApproveDeviceResponse struct { func (x *ApproveDeviceResponse) Reset() { *x = ApproveDeviceResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[41] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2572,7 +3125,7 @@ func (x *ApproveDeviceResponse) String() string { func (*ApproveDeviceResponse) ProtoMessage() {} func (x *ApproveDeviceResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[41] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2585,7 +3138,7 @@ func (x *ApproveDeviceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ApproveDeviceResponse.ProtoReflect.Descriptor instead. func (*ApproveDeviceResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{41} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{53} } type DenyDeviceRequest struct { @@ -2597,7 +3150,7 @@ type DenyDeviceRequest struct { func (x *DenyDeviceRequest) Reset() { *x = DenyDeviceRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[42] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2609,7 +3162,7 @@ func (x *DenyDeviceRequest) String() string { func (*DenyDeviceRequest) ProtoMessage() {} func (x *DenyDeviceRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[42] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2622,7 +3175,7 @@ func (x *DenyDeviceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DenyDeviceRequest.ProtoReflect.Descriptor instead. func (*DenyDeviceRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{42} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{54} } func (x *DenyDeviceRequest) GetUserCode() string { @@ -2640,7 +3193,7 @@ type DenyDeviceResponse struct { func (x *DenyDeviceResponse) Reset() { *x = DenyDeviceResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[43] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2652,7 +3205,7 @@ func (x *DenyDeviceResponse) String() string { func (*DenyDeviceResponse) ProtoMessage() {} func (x *DenyDeviceResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[43] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2665,7 +3218,7 @@ func (x *DenyDeviceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DenyDeviceResponse.ProtoReflect.Descriptor instead. func (*DenyDeviceResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{43} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{55} } type GetDeviceStatusRequest struct { @@ -2677,7 +3230,7 @@ type GetDeviceStatusRequest struct { func (x *GetDeviceStatusRequest) Reset() { *x = GetDeviceStatusRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[44] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2689,7 +3242,7 @@ func (x *GetDeviceStatusRequest) String() string { func (*GetDeviceStatusRequest) ProtoMessage() {} func (x *GetDeviceStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[44] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2702,7 +3255,7 @@ func (x *GetDeviceStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeviceStatusRequest.ProtoReflect.Descriptor instead. func (*GetDeviceStatusRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{44} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{56} } func (x *GetDeviceStatusRequest) GetUserCode() string { @@ -2724,7 +3277,7 @@ type GetDeviceStatusResponse struct { func (x *GetDeviceStatusResponse) Reset() { *x = GetDeviceStatusResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[45] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2736,7 +3289,7 @@ func (x *GetDeviceStatusResponse) String() string { func (*GetDeviceStatusResponse) ProtoMessage() {} func (x *GetDeviceStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[45] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2749,7 +3302,7 @@ func (x *GetDeviceStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeviceStatusResponse.ProtoReflect.Descriptor instead. func (*GetDeviceStatusResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{45} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{57} } func (x *GetDeviceStatusResponse) GetValid() bool { @@ -2788,7 +3341,7 @@ type WhoamiRequest struct { func (x *WhoamiRequest) Reset() { *x = WhoamiRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[46] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2800,7 +3353,7 @@ func (x *WhoamiRequest) String() string { func (*WhoamiRequest) ProtoMessage() {} func (x *WhoamiRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[46] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2813,7 +3366,7 @@ func (x *WhoamiRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WhoamiRequest.ProtoReflect.Descriptor instead. func (*WhoamiRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{46} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{58} } type WhoamiResponse struct { @@ -2827,7 +3380,7 @@ type WhoamiResponse struct { func (x *WhoamiResponse) Reset() { *x = WhoamiResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[47] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2839,7 +3392,7 @@ func (x *WhoamiResponse) String() string { func (*WhoamiResponse) ProtoMessage() {} func (x *WhoamiResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[47] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2852,7 +3405,7 @@ func (x *WhoamiResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use WhoamiResponse.ProtoReflect.Descriptor instead. func (*WhoamiResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{47} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{59} } func (x *WhoamiResponse) GetUserId() string { @@ -2876,86 +3429,6 @@ func (x *WhoamiResponse) GetDisplayName() string { return "" } -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_plugin_registry_proto_msgTypes[48] - 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_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 ListMyAccountsRequest.ProtoReflect.Descriptor instead. -func (*ListMyAccountsRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{48} -} - -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_plugin_registry_proto_msgTypes[49] - 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_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 ListMyAccountsResponse.ProtoReflect.Descriptor instead. -func (*ListMyAccountsResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{49} -} - -func (x *ListMyAccountsResponse) GetAccounts() []*Account { - if x != nil { - return x.Accounts - } - return nil -} - var File_orchestrator_v1_plugin_registry_proto protoreflect.FileDescriptor const file_orchestrator_v1_plugin_registry_proto_rawDesc = "" + @@ -2986,12 +3459,7 @@ const file_orchestrator_v1_plugin_registry_proto_rawDesc = "" + "\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\"d\n" + - "\aAccount\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\x12\x12\n" + - "\x04role\x18\x04 \x01(\tR\x04role\"\x82\x01\n" + + "\x10owner_account_id\x18\f \x01(\tR\x0eownerAccountId\"\x82\x01\n" + "\bCategory\x12\x12\n" + "\x04slug\x18\x01 \x01(\tR\x04slug\x12!\n" + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12 \n" + @@ -3025,7 +3493,10 @@ const file_orchestrator_v1_plugin_registry_proto_rawDesc = "" + "\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\"\xb0\x02\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" + @@ -3140,7 +3611,40 @@ const file_orchestrator_v1_plugin_registry_proto_rawDesc = "" + "\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\"\xc2\x01\n" + + "\bwarnings\x18\v \x03(\tR\bwarnings\"\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\"\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" + @@ -3187,21 +3691,19 @@ const file_orchestrator_v1_plugin_registry_proto_rawDesc = "" + "\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\"\x17\n" + - "\x15ListMyAccountsRequest\"N\n" + - "\x16ListMyAccountsResponse\x124\n" + - "\baccounts\x18\x01 \x03(\v2\x18.orchestrator.v1.AccountR\baccounts*\xd8\x01\n" + + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName*\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\x9c\x02\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.GetScopeResponse2\xb9\b\n" + + "\bGetScope\x12 .orchestrator.v1.GetScopeRequest\x1a!.orchestrator.v1.GetScopeResponse\x12^\n" + + "\rListMyPlugins\x12%.orchestrator.v1.ListMyPluginsRequest\x1a&.orchestrator.v1.ListMyPluginsResponse2\x9f\t\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" + @@ -3209,13 +3711,19 @@ const file_orchestrator_v1_plugin_registry_proto_rawDesc = "" + "\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\x12m\n" + + "\x0eListCategories\x12&.orchestrator.v1.ListCategoriesRequest\x1a'.orchestrator.v1.ListCategoriesResponse\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.ListPrivatePluginInstallSitesResponse2y\n" + + "\x1dListPrivatePluginInstallSites\x125.orchestrator.v1.ListPrivatePluginInstallSitesRequest\x1a6.orchestrator.v1.ListPrivatePluginInstallSitesResponse2\xc0\x03\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.RequestChangesResponse2y\n" + "\x14PluginPublishService\x12a\n" + - "\x0ePublishVersion\x12&.orchestrator.v1.PublishVersionRequest\x1a'.orchestrator.v1.PublishVersionResponse2\x8f\x05\n" + + "\x0ePublishVersion\x12&.orchestrator.v1.PublishVersionRequest\x1a'.orchestrator.v1.PublishVersionResponse2\xac\x04\n" + "\x11PluginAuthService\x12X\n" + "\vStartDevice\x12#.orchestrator.v1.StartDeviceRequest\x1a$.orchestrator.v1.StartDeviceResponse\x12U\n" + "\n" + @@ -3224,8 +3732,7 @@ const file_orchestrator_v1_plugin_registry_proto_rawDesc = "" + "\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\x12a\n" + - "\x0eListMyAccounts\x12&.orchestrator.v1.ListMyAccountsRequest\x1a'.orchestrator.v1.ListMyAccountsResponseB\xd6\x01\n" + + "\x06Whoami\x12\x1e.orchestrator.v1.WhoamiRequest\x1a\x1f.orchestrator.v1.WhoamiResponseB\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 ( @@ -3241,135 +3748,157 @@ func file_orchestrator_v1_plugin_registry_proto_rawDescGZIP() []byte { } var file_orchestrator_v1_plugin_registry_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_orchestrator_v1_plugin_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 52) +var file_orchestrator_v1_plugin_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 62) 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 - (*Account)(nil), // 3: orchestrator.v1.Account - (*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 - (*CreatePluginRequest)(nil), // 13: orchestrator.v1.CreatePluginRequest - (*CreatePluginResponse)(nil), // 14: orchestrator.v1.CreatePluginResponse - (*GetPluginRequest)(nil), // 15: orchestrator.v1.GetPluginRequest - (*GetPluginResponse)(nil), // 16: orchestrator.v1.GetPluginResponse - (*ListPluginsRequest)(nil), // 17: orchestrator.v1.ListPluginsRequest - (*ListPluginsResponse)(nil), // 18: orchestrator.v1.ListPluginsResponse - (*ListCategoriesRequest)(nil), // 19: orchestrator.v1.ListCategoriesRequest - (*ListCategoriesResponse)(nil), // 20: orchestrator.v1.ListCategoriesResponse - (*ListPrivatePluginsRequest)(nil), // 21: orchestrator.v1.ListPrivatePluginsRequest - (*ListPrivatePluginsResponse)(nil), // 22: orchestrator.v1.ListPrivatePluginsResponse - (*PrivatePluginSummary)(nil), // 23: orchestrator.v1.PrivatePluginSummary - (*DeletePrivatePluginRequest)(nil), // 24: orchestrator.v1.DeletePrivatePluginRequest - (*DeletePrivatePluginResponse)(nil), // 25: orchestrator.v1.DeletePrivatePluginResponse - (*DeletePrivatePluginVersionRequest)(nil), // 26: orchestrator.v1.DeletePrivatePluginVersionRequest - (*DeletePrivatePluginVersionResponse)(nil), // 27: orchestrator.v1.DeletePrivatePluginVersionResponse - (*ListPrivatePluginInstallSitesRequest)(nil), // 28: orchestrator.v1.ListPrivatePluginInstallSitesRequest - (*ListPrivatePluginInstallSitesResponse)(nil), // 29: orchestrator.v1.ListPrivatePluginInstallSitesResponse - (*PrivatePluginInstallSite)(nil), // 30: orchestrator.v1.PrivatePluginInstallSite - (*GetVersionRequest)(nil), // 31: orchestrator.v1.GetVersionRequest - (*GetVersionResponse)(nil), // 32: orchestrator.v1.GetVersionResponse - (*ResolveInstallRequest)(nil), // 33: orchestrator.v1.ResolveInstallRequest - (*ResolveInstallResponse)(nil), // 34: orchestrator.v1.ResolveInstallResponse - (*PublishVersionRequest)(nil), // 35: orchestrator.v1.PublishVersionRequest - (*PublishVersionResponse)(nil), // 36: orchestrator.v1.PublishVersionResponse - (*StartDeviceRequest)(nil), // 37: orchestrator.v1.StartDeviceRequest - (*StartDeviceResponse)(nil), // 38: orchestrator.v1.StartDeviceResponse - (*PollDeviceRequest)(nil), // 39: orchestrator.v1.PollDeviceRequest - (*PollDeviceResponse)(nil), // 40: orchestrator.v1.PollDeviceResponse - (*ApproveDeviceRequest)(nil), // 41: orchestrator.v1.ApproveDeviceRequest - (*ApproveDeviceResponse)(nil), // 42: orchestrator.v1.ApproveDeviceResponse - (*DenyDeviceRequest)(nil), // 43: orchestrator.v1.DenyDeviceRequest - (*DenyDeviceResponse)(nil), // 44: orchestrator.v1.DenyDeviceResponse - (*GetDeviceStatusRequest)(nil), // 45: orchestrator.v1.GetDeviceStatusRequest - (*GetDeviceStatusResponse)(nil), // 46: orchestrator.v1.GetDeviceStatusResponse - (*WhoamiRequest)(nil), // 47: orchestrator.v1.WhoamiRequest - (*WhoamiResponse)(nil), // 48: orchestrator.v1.WhoamiResponse - (*ListMyAccountsRequest)(nil), // 49: orchestrator.v1.ListMyAccountsRequest - (*ListMyAccountsResponse)(nil), // 50: orchestrator.v1.ListMyAccountsResponse - nil, // 51: orchestrator.v1.GetPluginResponse.ChannelsEntry - nil, // 52: orchestrator.v1.PrivatePluginSummary.ChannelVersionsEntry - (*timestamppb.Timestamp)(nil), // 53: google.protobuf.Timestamp + (*Category)(nil), // 3: orchestrator.v1.Category + (*Version)(nil), // 4: orchestrator.v1.Version + (*Requirement)(nil), // 5: orchestrator.v1.Requirement + (*CreateScopeRequest)(nil), // 6: orchestrator.v1.CreateScopeRequest + (*CreateScopeResponse)(nil), // 7: orchestrator.v1.CreateScopeResponse + (*ListMyScopesRequest)(nil), // 8: orchestrator.v1.ListMyScopesRequest + (*ListMyScopesResponse)(nil), // 9: orchestrator.v1.ListMyScopesResponse + (*GetScopeRequest)(nil), // 10: orchestrator.v1.GetScopeRequest + (*GetScopeResponse)(nil), // 11: orchestrator.v1.GetScopeResponse + (*ListMyPluginsRequest)(nil), // 12: orchestrator.v1.ListMyPluginsRequest + (*ListMyPluginsResponse)(nil), // 13: orchestrator.v1.ListMyPluginsResponse + (*CreatePluginRequest)(nil), // 14: orchestrator.v1.CreatePluginRequest + (*CreatePluginResponse)(nil), // 15: orchestrator.v1.CreatePluginResponse + (*GetPluginRequest)(nil), // 16: orchestrator.v1.GetPluginRequest + (*GetPluginResponse)(nil), // 17: orchestrator.v1.GetPluginResponse + (*ListPluginsRequest)(nil), // 18: orchestrator.v1.ListPluginsRequest + (*ListPluginsResponse)(nil), // 19: orchestrator.v1.ListPluginsResponse + (*ListCategoriesRequest)(nil), // 20: orchestrator.v1.ListCategoriesRequest + (*ListCategoriesResponse)(nil), // 21: orchestrator.v1.ListCategoriesResponse + (*ListPrivatePluginsRequest)(nil), // 22: orchestrator.v1.ListPrivatePluginsRequest + (*ListPrivatePluginsResponse)(nil), // 23: orchestrator.v1.ListPrivatePluginsResponse + (*PrivatePluginSummary)(nil), // 24: orchestrator.v1.PrivatePluginSummary + (*DeletePrivatePluginRequest)(nil), // 25: orchestrator.v1.DeletePrivatePluginRequest + (*DeletePrivatePluginResponse)(nil), // 26: orchestrator.v1.DeletePrivatePluginResponse + (*DeletePrivatePluginVersionRequest)(nil), // 27: orchestrator.v1.DeletePrivatePluginVersionRequest + (*DeletePrivatePluginVersionResponse)(nil), // 28: orchestrator.v1.DeletePrivatePluginVersionResponse + (*ListPrivatePluginInstallSitesRequest)(nil), // 29: orchestrator.v1.ListPrivatePluginInstallSitesRequest + (*ListPrivatePluginInstallSitesResponse)(nil), // 30: orchestrator.v1.ListPrivatePluginInstallSitesResponse + (*PrivatePluginInstallSite)(nil), // 31: orchestrator.v1.PrivatePluginInstallSite + (*GetVersionRequest)(nil), // 32: orchestrator.v1.GetVersionRequest + (*GetVersionResponse)(nil), // 33: orchestrator.v1.GetVersionResponse + (*ResolveInstallRequest)(nil), // 34: orchestrator.v1.ResolveInstallRequest + (*ResolveInstallResponse)(nil), // 35: orchestrator.v1.ResolveInstallResponse + (*PendingReview)(nil), // 36: orchestrator.v1.PendingReview + (*SubmitForReviewRequest)(nil), // 37: orchestrator.v1.SubmitForReviewRequest + (*SubmitForReviewResponse)(nil), // 38: orchestrator.v1.SubmitForReviewResponse + (*ListPendingReviewsRequest)(nil), // 39: orchestrator.v1.ListPendingReviewsRequest + (*ListPendingReviewsResponse)(nil), // 40: orchestrator.v1.ListPendingReviewsResponse + (*ApproveSubmissionRequest)(nil), // 41: orchestrator.v1.ApproveSubmissionRequest + (*ApproveSubmissionResponse)(nil), // 42: orchestrator.v1.ApproveSubmissionResponse + (*RejectSubmissionRequest)(nil), // 43: orchestrator.v1.RejectSubmissionRequest + (*RejectSubmissionResponse)(nil), // 44: orchestrator.v1.RejectSubmissionResponse + (*RequestChangesRequest)(nil), // 45: orchestrator.v1.RequestChangesRequest + (*RequestChangesResponse)(nil), // 46: orchestrator.v1.RequestChangesResponse + (*PublishVersionRequest)(nil), // 47: orchestrator.v1.PublishVersionRequest + (*PublishVersionResponse)(nil), // 48: orchestrator.v1.PublishVersionResponse + (*StartDeviceRequest)(nil), // 49: orchestrator.v1.StartDeviceRequest + (*StartDeviceResponse)(nil), // 50: orchestrator.v1.StartDeviceResponse + (*PollDeviceRequest)(nil), // 51: orchestrator.v1.PollDeviceRequest + (*PollDeviceResponse)(nil), // 52: orchestrator.v1.PollDeviceResponse + (*ApproveDeviceRequest)(nil), // 53: orchestrator.v1.ApproveDeviceRequest + (*ApproveDeviceResponse)(nil), // 54: orchestrator.v1.ApproveDeviceResponse + (*DenyDeviceRequest)(nil), // 55: orchestrator.v1.DenyDeviceRequest + (*DenyDeviceResponse)(nil), // 56: orchestrator.v1.DenyDeviceResponse + (*GetDeviceStatusRequest)(nil), // 57: orchestrator.v1.GetDeviceStatusRequest + (*GetDeviceStatusResponse)(nil), // 58: orchestrator.v1.GetDeviceStatusResponse + (*WhoamiRequest)(nil), // 59: orchestrator.v1.WhoamiRequest + (*WhoamiResponse)(nil), // 60: orchestrator.v1.WhoamiResponse + nil, // 61: orchestrator.v1.GetPluginResponse.ChannelsEntry + nil, // 62: orchestrator.v1.PrivatePluginSummary.ChannelVersionsEntry + (*timestamppb.Timestamp)(nil), // 63: google.protobuf.Timestamp } var file_orchestrator_v1_plugin_registry_proto_depIdxs = []int32{ - 53, // 0: orchestrator.v1.Scope.created_at:type_name -> google.protobuf.Timestamp + 63, // 0: orchestrator.v1.Scope.created_at:type_name -> google.protobuf.Timestamp 0, // 1: orchestrator.v1.Plugin.visibility:type_name -> orchestrator.v1.PluginVisibility - 53, // 2: orchestrator.v1.Plugin.updated_at:type_name -> google.protobuf.Timestamp - 53, // 3: orchestrator.v1.Version.published_at:type_name -> google.protobuf.Timestamp + 63, // 2: orchestrator.v1.Plugin.updated_at:type_name -> google.protobuf.Timestamp + 63, // 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 - 0, // 8: orchestrator.v1.CreatePluginRequest.visibility:type_name -> orchestrator.v1.PluginVisibility - 2, // 9: orchestrator.v1.CreatePluginResponse.plugin:type_name -> orchestrator.v1.Plugin - 2, // 10: orchestrator.v1.GetPluginResponse.plugin:type_name -> orchestrator.v1.Plugin - 5, // 11: orchestrator.v1.GetPluginResponse.versions:type_name -> orchestrator.v1.Version - 51, // 12: orchestrator.v1.GetPluginResponse.channels:type_name -> orchestrator.v1.GetPluginResponse.ChannelsEntry - 2, // 13: orchestrator.v1.ListPluginsResponse.plugins:type_name -> orchestrator.v1.Plugin - 4, // 14: orchestrator.v1.ListCategoriesResponse.categories:type_name -> orchestrator.v1.Category - 23, // 15: orchestrator.v1.ListPrivatePluginsResponse.plugins:type_name -> orchestrator.v1.PrivatePluginSummary - 2, // 16: orchestrator.v1.PrivatePluginSummary.plugin:type_name -> orchestrator.v1.Plugin - 52, // 17: orchestrator.v1.PrivatePluginSummary.channel_versions:type_name -> orchestrator.v1.PrivatePluginSummary.ChannelVersionsEntry - 30, // 18: orchestrator.v1.ListPrivatePluginInstallSitesResponse.sites:type_name -> orchestrator.v1.PrivatePluginInstallSite - 5, // 19: orchestrator.v1.GetVersionResponse.version:type_name -> orchestrator.v1.Version - 6, // 20: orchestrator.v1.GetVersionResponse.requires:type_name -> orchestrator.v1.Requirement - 6, // 21: orchestrator.v1.ResolveInstallResponse.requires:type_name -> orchestrator.v1.Requirement - 5, // 22: orchestrator.v1.PublishVersionResponse.version:type_name -> orchestrator.v1.Version - 3, // 23: orchestrator.v1.ListMyAccountsResponse.accounts:type_name -> orchestrator.v1.Account - 7, // 24: orchestrator.v1.PluginScopeService.CreateScope:input_type -> orchestrator.v1.CreateScopeRequest - 9, // 25: orchestrator.v1.PluginScopeService.ListMyScopes:input_type -> orchestrator.v1.ListMyScopesRequest - 11, // 26: orchestrator.v1.PluginScopeService.GetScope:input_type -> orchestrator.v1.GetScopeRequest - 13, // 27: orchestrator.v1.PluginRegistryService.CreatePlugin:input_type -> orchestrator.v1.CreatePluginRequest - 15, // 28: orchestrator.v1.PluginRegistryService.GetPlugin:input_type -> orchestrator.v1.GetPluginRequest - 17, // 29: orchestrator.v1.PluginRegistryService.ListPlugins:input_type -> orchestrator.v1.ListPluginsRequest - 31, // 30: orchestrator.v1.PluginRegistryService.GetVersion:input_type -> orchestrator.v1.GetVersionRequest - 33, // 31: orchestrator.v1.PluginRegistryService.ResolveInstall:input_type -> orchestrator.v1.ResolveInstallRequest - 19, // 32: orchestrator.v1.PluginRegistryService.ListCategories:input_type -> orchestrator.v1.ListCategoriesRequest - 21, // 33: orchestrator.v1.PluginRegistryService.ListPrivatePlugins:input_type -> orchestrator.v1.ListPrivatePluginsRequest - 24, // 34: orchestrator.v1.PluginRegistryService.DeletePrivatePlugin:input_type -> orchestrator.v1.DeletePrivatePluginRequest - 26, // 35: orchestrator.v1.PluginRegistryService.DeletePrivatePluginVersion:input_type -> orchestrator.v1.DeletePrivatePluginVersionRequest - 28, // 36: orchestrator.v1.PluginRegistryService.ListPrivatePluginInstallSites:input_type -> orchestrator.v1.ListPrivatePluginInstallSitesRequest - 35, // 37: orchestrator.v1.PluginPublishService.PublishVersion:input_type -> orchestrator.v1.PublishVersionRequest - 37, // 38: orchestrator.v1.PluginAuthService.StartDevice:input_type -> orchestrator.v1.StartDeviceRequest - 39, // 39: orchestrator.v1.PluginAuthService.PollDevice:input_type -> orchestrator.v1.PollDeviceRequest - 41, // 40: orchestrator.v1.PluginAuthService.ApproveDevice:input_type -> orchestrator.v1.ApproveDeviceRequest - 43, // 41: orchestrator.v1.PluginAuthService.DenyDevice:input_type -> orchestrator.v1.DenyDeviceRequest - 45, // 42: orchestrator.v1.PluginAuthService.GetDeviceStatus:input_type -> orchestrator.v1.GetDeviceStatusRequest - 47, // 43: orchestrator.v1.PluginAuthService.Whoami:input_type -> orchestrator.v1.WhoamiRequest - 49, // 44: orchestrator.v1.PluginAuthService.ListMyAccounts:input_type -> orchestrator.v1.ListMyAccountsRequest - 8, // 45: orchestrator.v1.PluginScopeService.CreateScope:output_type -> orchestrator.v1.CreateScopeResponse - 10, // 46: orchestrator.v1.PluginScopeService.ListMyScopes:output_type -> orchestrator.v1.ListMyScopesResponse - 12, // 47: orchestrator.v1.PluginScopeService.GetScope:output_type -> orchestrator.v1.GetScopeResponse - 14, // 48: orchestrator.v1.PluginRegistryService.CreatePlugin:output_type -> orchestrator.v1.CreatePluginResponse - 16, // 49: orchestrator.v1.PluginRegistryService.GetPlugin:output_type -> orchestrator.v1.GetPluginResponse - 18, // 50: orchestrator.v1.PluginRegistryService.ListPlugins:output_type -> orchestrator.v1.ListPluginsResponse - 32, // 51: orchestrator.v1.PluginRegistryService.GetVersion:output_type -> orchestrator.v1.GetVersionResponse - 34, // 52: orchestrator.v1.PluginRegistryService.ResolveInstall:output_type -> orchestrator.v1.ResolveInstallResponse - 20, // 53: orchestrator.v1.PluginRegistryService.ListCategories:output_type -> orchestrator.v1.ListCategoriesResponse - 22, // 54: orchestrator.v1.PluginRegistryService.ListPrivatePlugins:output_type -> orchestrator.v1.ListPrivatePluginsResponse - 25, // 55: orchestrator.v1.PluginRegistryService.DeletePrivatePlugin:output_type -> orchestrator.v1.DeletePrivatePluginResponse - 27, // 56: orchestrator.v1.PluginRegistryService.DeletePrivatePluginVersion:output_type -> orchestrator.v1.DeletePrivatePluginVersionResponse - 29, // 57: orchestrator.v1.PluginRegistryService.ListPrivatePluginInstallSites:output_type -> orchestrator.v1.ListPrivatePluginInstallSitesResponse - 36, // 58: orchestrator.v1.PluginPublishService.PublishVersion:output_type -> orchestrator.v1.PublishVersionResponse - 38, // 59: orchestrator.v1.PluginAuthService.StartDevice:output_type -> orchestrator.v1.StartDeviceResponse - 40, // 60: orchestrator.v1.PluginAuthService.PollDevice:output_type -> orchestrator.v1.PollDeviceResponse - 42, // 61: orchestrator.v1.PluginAuthService.ApproveDevice:output_type -> orchestrator.v1.ApproveDeviceResponse - 44, // 62: orchestrator.v1.PluginAuthService.DenyDevice:output_type -> orchestrator.v1.DenyDeviceResponse - 46, // 63: orchestrator.v1.PluginAuthService.GetDeviceStatus:output_type -> orchestrator.v1.GetDeviceStatusResponse - 48, // 64: orchestrator.v1.PluginAuthService.Whoami:output_type -> orchestrator.v1.WhoamiResponse - 50, // 65: orchestrator.v1.PluginAuthService.ListMyAccounts:output_type -> orchestrator.v1.ListMyAccountsResponse - 45, // [45:66] is the sub-list for method output_type - 24, // [24:45] is the sub-list for method input_type - 24, // [24:24] is the sub-list for extension type_name - 24, // [24:24] is the sub-list for extension extendee - 0, // [0:24] is the sub-list for field type_name + 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 + 4, // 12: orchestrator.v1.GetPluginResponse.versions:type_name -> orchestrator.v1.Version + 61, // 13: orchestrator.v1.GetPluginResponse.channels:type_name -> orchestrator.v1.GetPluginResponse.ChannelsEntry + 2, // 14: orchestrator.v1.ListPluginsResponse.plugins:type_name -> orchestrator.v1.Plugin + 3, // 15: orchestrator.v1.ListCategoriesResponse.categories:type_name -> orchestrator.v1.Category + 24, // 16: orchestrator.v1.ListPrivatePluginsResponse.plugins:type_name -> orchestrator.v1.PrivatePluginSummary + 2, // 17: orchestrator.v1.PrivatePluginSummary.plugin:type_name -> orchestrator.v1.Plugin + 62, // 18: orchestrator.v1.PrivatePluginSummary.channel_versions:type_name -> orchestrator.v1.PrivatePluginSummary.ChannelVersionsEntry + 31, // 19: orchestrator.v1.ListPrivatePluginInstallSitesResponse.sites:type_name -> orchestrator.v1.PrivatePluginInstallSite + 4, // 20: orchestrator.v1.GetVersionResponse.version:type_name -> orchestrator.v1.Version + 5, // 21: orchestrator.v1.GetVersionResponse.requires:type_name -> orchestrator.v1.Requirement + 5, // 22: orchestrator.v1.ResolveInstallResponse.requires:type_name -> orchestrator.v1.Requirement + 63, // 23: orchestrator.v1.PendingReview.submitted_at:type_name -> google.protobuf.Timestamp + 36, // 24: orchestrator.v1.ListPendingReviewsResponse.reviews:type_name -> orchestrator.v1.PendingReview + 4, // 25: orchestrator.v1.PublishVersionResponse.version:type_name -> orchestrator.v1.Version + 6, // 26: orchestrator.v1.PluginScopeService.CreateScope:input_type -> orchestrator.v1.CreateScopeRequest + 8, // 27: orchestrator.v1.PluginScopeService.ListMyScopes:input_type -> orchestrator.v1.ListMyScopesRequest + 10, // 28: orchestrator.v1.PluginScopeService.GetScope:input_type -> orchestrator.v1.GetScopeRequest + 12, // 29: orchestrator.v1.PluginScopeService.ListMyPlugins:input_type -> orchestrator.v1.ListMyPluginsRequest + 14, // 30: orchestrator.v1.PluginRegistryService.CreatePlugin:input_type -> orchestrator.v1.CreatePluginRequest + 16, // 31: orchestrator.v1.PluginRegistryService.GetPlugin:input_type -> orchestrator.v1.GetPluginRequest + 18, // 32: orchestrator.v1.PluginRegistryService.ListPlugins:input_type -> orchestrator.v1.ListPluginsRequest + 32, // 33: orchestrator.v1.PluginRegistryService.GetVersion:input_type -> orchestrator.v1.GetVersionRequest + 34, // 34: orchestrator.v1.PluginRegistryService.ResolveInstall:input_type -> orchestrator.v1.ResolveInstallRequest + 20, // 35: orchestrator.v1.PluginRegistryService.ListCategories:input_type -> orchestrator.v1.ListCategoriesRequest + 37, // 36: orchestrator.v1.PluginRegistryService.SubmitForReview:input_type -> orchestrator.v1.SubmitForReviewRequest + 22, // 37: orchestrator.v1.PluginRegistryService.ListPrivatePlugins:input_type -> orchestrator.v1.ListPrivatePluginsRequest + 25, // 38: orchestrator.v1.PluginRegistryService.DeletePrivatePlugin:input_type -> orchestrator.v1.DeletePrivatePluginRequest + 27, // 39: orchestrator.v1.PluginRegistryService.DeletePrivatePluginVersion:input_type -> orchestrator.v1.DeletePrivatePluginVersionRequest + 29, // 40: orchestrator.v1.PluginRegistryService.ListPrivatePluginInstallSites:input_type -> orchestrator.v1.ListPrivatePluginInstallSitesRequest + 39, // 41: orchestrator.v1.PluginModerationService.ListPendingReviews:input_type -> orchestrator.v1.ListPendingReviewsRequest + 41, // 42: orchestrator.v1.PluginModerationService.ApproveSubmission:input_type -> orchestrator.v1.ApproveSubmissionRequest + 43, // 43: orchestrator.v1.PluginModerationService.RejectSubmission:input_type -> orchestrator.v1.RejectSubmissionRequest + 45, // 44: orchestrator.v1.PluginModerationService.RequestChanges:input_type -> orchestrator.v1.RequestChangesRequest + 47, // 45: orchestrator.v1.PluginPublishService.PublishVersion:input_type -> orchestrator.v1.PublishVersionRequest + 49, // 46: orchestrator.v1.PluginAuthService.StartDevice:input_type -> orchestrator.v1.StartDeviceRequest + 51, // 47: orchestrator.v1.PluginAuthService.PollDevice:input_type -> orchestrator.v1.PollDeviceRequest + 53, // 48: orchestrator.v1.PluginAuthService.ApproveDevice:input_type -> orchestrator.v1.ApproveDeviceRequest + 55, // 49: orchestrator.v1.PluginAuthService.DenyDevice:input_type -> orchestrator.v1.DenyDeviceRequest + 57, // 50: orchestrator.v1.PluginAuthService.GetDeviceStatus:input_type -> orchestrator.v1.GetDeviceStatusRequest + 59, // 51: orchestrator.v1.PluginAuthService.Whoami:input_type -> orchestrator.v1.WhoamiRequest + 7, // 52: orchestrator.v1.PluginScopeService.CreateScope:output_type -> orchestrator.v1.CreateScopeResponse + 9, // 53: orchestrator.v1.PluginScopeService.ListMyScopes:output_type -> orchestrator.v1.ListMyScopesResponse + 11, // 54: orchestrator.v1.PluginScopeService.GetScope:output_type -> orchestrator.v1.GetScopeResponse + 13, // 55: orchestrator.v1.PluginScopeService.ListMyPlugins:output_type -> orchestrator.v1.ListMyPluginsResponse + 15, // 56: orchestrator.v1.PluginRegistryService.CreatePlugin:output_type -> orchestrator.v1.CreatePluginResponse + 17, // 57: orchestrator.v1.PluginRegistryService.GetPlugin:output_type -> orchestrator.v1.GetPluginResponse + 19, // 58: orchestrator.v1.PluginRegistryService.ListPlugins:output_type -> orchestrator.v1.ListPluginsResponse + 33, // 59: orchestrator.v1.PluginRegistryService.GetVersion:output_type -> orchestrator.v1.GetVersionResponse + 35, // 60: orchestrator.v1.PluginRegistryService.ResolveInstall:output_type -> orchestrator.v1.ResolveInstallResponse + 21, // 61: orchestrator.v1.PluginRegistryService.ListCategories:output_type -> orchestrator.v1.ListCategoriesResponse + 38, // 62: orchestrator.v1.PluginRegistryService.SubmitForReview:output_type -> orchestrator.v1.SubmitForReviewResponse + 23, // 63: orchestrator.v1.PluginRegistryService.ListPrivatePlugins:output_type -> orchestrator.v1.ListPrivatePluginsResponse + 26, // 64: orchestrator.v1.PluginRegistryService.DeletePrivatePlugin:output_type -> orchestrator.v1.DeletePrivatePluginResponse + 28, // 65: orchestrator.v1.PluginRegistryService.DeletePrivatePluginVersion:output_type -> orchestrator.v1.DeletePrivatePluginVersionResponse + 30, // 66: orchestrator.v1.PluginRegistryService.ListPrivatePluginInstallSites:output_type -> orchestrator.v1.ListPrivatePluginInstallSitesResponse + 40, // 67: orchestrator.v1.PluginModerationService.ListPendingReviews:output_type -> orchestrator.v1.ListPendingReviewsResponse + 42, // 68: orchestrator.v1.PluginModerationService.ApproveSubmission:output_type -> orchestrator.v1.ApproveSubmissionResponse + 44, // 69: orchestrator.v1.PluginModerationService.RejectSubmission:output_type -> orchestrator.v1.RejectSubmissionResponse + 46, // 70: orchestrator.v1.PluginModerationService.RequestChanges:output_type -> orchestrator.v1.RequestChangesResponse + 48, // 71: orchestrator.v1.PluginPublishService.PublishVersion:output_type -> orchestrator.v1.PublishVersionResponse + 50, // 72: orchestrator.v1.PluginAuthService.StartDevice:output_type -> orchestrator.v1.StartDeviceResponse + 52, // 73: orchestrator.v1.PluginAuthService.PollDevice:output_type -> orchestrator.v1.PollDeviceResponse + 54, // 74: orchestrator.v1.PluginAuthService.ApproveDevice:output_type -> orchestrator.v1.ApproveDeviceResponse + 56, // 75: orchestrator.v1.PluginAuthService.DenyDevice:output_type -> orchestrator.v1.DenyDeviceResponse + 58, // 76: orchestrator.v1.PluginAuthService.GetDeviceStatus:output_type -> orchestrator.v1.GetDeviceStatusResponse + 60, // 77: orchestrator.v1.PluginAuthService.Whoami:output_type -> orchestrator.v1.WhoamiResponse + 52, // [52:78] is the sub-list for method output_type + 26, // [26:52] is the sub-list for method input_type + 26, // [26:26] is the sub-list for extension type_name + 26, // [26:26] is the sub-list for extension extendee + 0, // [0:26] is the sub-list for field type_name } func init() { file_orchestrator_v1_plugin_registry_proto_init() } @@ -3383,9 +3912,9 @@ func file_orchestrator_v1_plugin_registry_proto_init() { 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: 52, + NumMessages: 62, NumExtensions: 0, - NumServices: 4, + NumServices: 5, }, GoTypes: file_orchestrator_v1_plugin_registry_proto_goTypes, DependencyIndexes: file_orchestrator_v1_plugin_registry_proto_depIdxs, 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..2b918da --- /dev/null +++ b/internal/api/orchestrator/v1/reporting.pb.go @@ -0,0 +1,1854 @@ +// 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 +} + +// 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) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HealthReport) Reset() { + *x = HealthReport{} + mi := &file_orchestrator_v1_reporting_proto_msgTypes[2] + 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[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 HealthReport.ProtoReflect.Descriptor instead. +func (*HealthReport) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{2} +} + +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 "" +} + +// 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[3] + 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[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 Incident.ProtoReflect.Descriptor instead. +func (*Incident) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{3} +} + +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[4] + 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[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 SubmitReportRequest.ProtoReflect.Descriptor instead. +func (*SubmitReportRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{4} +} + +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[5] + 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[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 SubmitReportResponse.ProtoReflect.Descriptor instead. +func (*SubmitReportResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{5} +} + +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[6] + 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[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 HeartbeatRequest.ProtoReflect.Descriptor instead. +func (*HeartbeatRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{6} +} + +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[7] + 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[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 HeartbeatResponse.ProtoReflect.Descriptor instead. +func (*HeartbeatResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{7} +} + +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[8] + 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[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 ReportIncidentRequest.ProtoReflect.Descriptor instead. +func (*ReportIncidentRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{8} +} + +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[9] + 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[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 ReportIncidentResponse.ProtoReflect.Descriptor instead. +func (*ReportIncidentResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{9} +} + +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[10] + 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[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 ListIncidentsRequest.ProtoReflect.Descriptor instead. +func (*ListIncidentsRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{10} +} + +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[11] + 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[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 ListIncidentsResponse.ProtoReflect.Descriptor instead. +func (*ListIncidentsResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{11} +} + +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[12] + 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[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 AcknowledgeIncidentRequest.ProtoReflect.Descriptor instead. +func (*AcknowledgeIncidentRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{12} +} + +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[13] + 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[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 AcknowledgeIncidentResponse.ProtoReflect.Descriptor instead. +func (*AcknowledgeIncidentResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{13} +} + +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[14] + 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[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 ResolveIncidentRequest.ProtoReflect.Descriptor instead. +func (*ResolveIncidentRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{14} +} + +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[15] + 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[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 ResolveIncidentResponse.ProtoReflect.Descriptor instead. +func (*ResolveIncidentResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{15} +} + +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[16] + 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[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 GetInstanceHealthRequest.ProtoReflect.Descriptor instead. +func (*GetInstanceHealthRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{16} +} + +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[17] + 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[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 GetInstanceHealthResponse.ProtoReflect.Descriptor instead. +func (*GetInstanceHealthResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{17} +} + +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[18] + 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[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 GetHealthHistoryRequest.ProtoReflect.Descriptor instead. +func (*GetHealthHistoryRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{18} +} + +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[19] + 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[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 GetHealthHistoryResponse.ProtoReflect.Descriptor instead. +func (*GetHealthHistoryResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{19} +} + +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[20] + 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[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 InstanceReadyRequest.ProtoReflect.Descriptor instead. +func (*InstanceReadyRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{20} +} + +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[21] + 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[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 InstanceReadyResponse.ProtoReflect.Descriptor instead. +func (*InstanceReadyResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_reporting_proto_rawDescGZIP(), []int{21} +} + +func (x *InstanceReadyResponse) 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\"\xef\x02\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\"\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*\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\x9b\a\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.InstanceReadyResponseB\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, 22) +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 + (*HealthReport)(nil), // 5: orchestrator.v1.HealthReport + (*Incident)(nil), // 6: orchestrator.v1.Incident + (*SubmitReportRequest)(nil), // 7: orchestrator.v1.SubmitReportRequest + (*SubmitReportResponse)(nil), // 8: orchestrator.v1.SubmitReportResponse + (*HeartbeatRequest)(nil), // 9: orchestrator.v1.HeartbeatRequest + (*HeartbeatResponse)(nil), // 10: orchestrator.v1.HeartbeatResponse + (*ReportIncidentRequest)(nil), // 11: orchestrator.v1.ReportIncidentRequest + (*ReportIncidentResponse)(nil), // 12: orchestrator.v1.ReportIncidentResponse + (*ListIncidentsRequest)(nil), // 13: orchestrator.v1.ListIncidentsRequest + (*ListIncidentsResponse)(nil), // 14: orchestrator.v1.ListIncidentsResponse + (*AcknowledgeIncidentRequest)(nil), // 15: orchestrator.v1.AcknowledgeIncidentRequest + (*AcknowledgeIncidentResponse)(nil), // 16: orchestrator.v1.AcknowledgeIncidentResponse + (*ResolveIncidentRequest)(nil), // 17: orchestrator.v1.ResolveIncidentRequest + (*ResolveIncidentResponse)(nil), // 18: orchestrator.v1.ResolveIncidentResponse + (*GetInstanceHealthRequest)(nil), // 19: orchestrator.v1.GetInstanceHealthRequest + (*GetInstanceHealthResponse)(nil), // 20: orchestrator.v1.GetInstanceHealthResponse + (*GetHealthHistoryRequest)(nil), // 21: orchestrator.v1.GetHealthHistoryRequest + (*GetHealthHistoryResponse)(nil), // 22: orchestrator.v1.GetHealthHistoryResponse + (*InstanceReadyRequest)(nil), // 23: orchestrator.v1.InstanceReadyRequest + (*InstanceReadyResponse)(nil), // 24: orchestrator.v1.InstanceReadyResponse + (*timestamppb.Timestamp)(nil), // 25: 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 + 25, // 3: orchestrator.v1.HealthReport.reported_at:type_name -> google.protobuf.Timestamp + 1, // 4: orchestrator.v1.Incident.severity:type_name -> orchestrator.v1.IncidentSeverity + 2, // 5: orchestrator.v1.Incident.status:type_name -> orchestrator.v1.IncidentStatus + 25, // 6: orchestrator.v1.Incident.occurred_at:type_name -> google.protobuf.Timestamp + 25, // 7: orchestrator.v1.Incident.acknowledged_at:type_name -> google.protobuf.Timestamp + 25, // 8: orchestrator.v1.Incident.resolved_at:type_name -> google.protobuf.Timestamp + 5, // 9: orchestrator.v1.SubmitReportRequest.report:type_name -> orchestrator.v1.HealthReport + 0, // 10: orchestrator.v1.HeartbeatRequest.status:type_name -> orchestrator.v1.HealthStatus + 25, // 11: orchestrator.v1.HeartbeatRequest.timestamp:type_name -> google.protobuf.Timestamp + 1, // 12: orchestrator.v1.ReportIncidentRequest.severity:type_name -> orchestrator.v1.IncidentSeverity + 2, // 13: orchestrator.v1.ListIncidentsRequest.status:type_name -> orchestrator.v1.IncidentStatus + 1, // 14: orchestrator.v1.ListIncidentsRequest.severity:type_name -> orchestrator.v1.IncidentSeverity + 6, // 15: orchestrator.v1.ListIncidentsResponse.incidents:type_name -> orchestrator.v1.Incident + 6, // 16: orchestrator.v1.AcknowledgeIncidentResponse.incident:type_name -> orchestrator.v1.Incident + 6, // 17: orchestrator.v1.ResolveIncidentResponse.incident:type_name -> orchestrator.v1.Incident + 5, // 18: orchestrator.v1.GetInstanceHealthResponse.latest_report:type_name -> orchestrator.v1.HealthReport + 25, // 19: orchestrator.v1.GetInstanceHealthResponse.last_heartbeat:type_name -> google.protobuf.Timestamp + 25, // 20: orchestrator.v1.GetHealthHistoryRequest.start_time:type_name -> google.protobuf.Timestamp + 25, // 21: orchestrator.v1.GetHealthHistoryRequest.end_time:type_name -> google.protobuf.Timestamp + 5, // 22: orchestrator.v1.GetHealthHistoryResponse.reports:type_name -> orchestrator.v1.HealthReport + 7, // 23: orchestrator.v1.InstanceReportingService.SubmitReport:input_type -> orchestrator.v1.SubmitReportRequest + 9, // 24: orchestrator.v1.InstanceReportingService.Heartbeat:input_type -> orchestrator.v1.HeartbeatRequest + 11, // 25: orchestrator.v1.InstanceReportingService.ReportIncident:input_type -> orchestrator.v1.ReportIncidentRequest + 13, // 26: orchestrator.v1.InstanceReportingService.ListIncidents:input_type -> orchestrator.v1.ListIncidentsRequest + 15, // 27: orchestrator.v1.InstanceReportingService.AcknowledgeIncident:input_type -> orchestrator.v1.AcknowledgeIncidentRequest + 17, // 28: orchestrator.v1.InstanceReportingService.ResolveIncident:input_type -> orchestrator.v1.ResolveIncidentRequest + 19, // 29: orchestrator.v1.InstanceReportingService.GetInstanceHealth:input_type -> orchestrator.v1.GetInstanceHealthRequest + 21, // 30: orchestrator.v1.InstanceReportingService.GetHealthHistory:input_type -> orchestrator.v1.GetHealthHistoryRequest + 23, // 31: orchestrator.v1.InstanceReportingService.InstanceReady:input_type -> orchestrator.v1.InstanceReadyRequest + 8, // 32: orchestrator.v1.InstanceReportingService.SubmitReport:output_type -> orchestrator.v1.SubmitReportResponse + 10, // 33: orchestrator.v1.InstanceReportingService.Heartbeat:output_type -> orchestrator.v1.HeartbeatResponse + 12, // 34: orchestrator.v1.InstanceReportingService.ReportIncident:output_type -> orchestrator.v1.ReportIncidentResponse + 14, // 35: orchestrator.v1.InstanceReportingService.ListIncidents:output_type -> orchestrator.v1.ListIncidentsResponse + 16, // 36: orchestrator.v1.InstanceReportingService.AcknowledgeIncident:output_type -> orchestrator.v1.AcknowledgeIncidentResponse + 18, // 37: orchestrator.v1.InstanceReportingService.ResolveIncident:output_type -> orchestrator.v1.ResolveIncidentResponse + 20, // 38: orchestrator.v1.InstanceReportingService.GetInstanceHealth:output_type -> orchestrator.v1.GetInstanceHealthResponse + 22, // 39: orchestrator.v1.InstanceReportingService.GetHealthHistory:output_type -> orchestrator.v1.GetHealthHistoryResponse + 24, // 40: orchestrator.v1.InstanceReportingService.InstanceReady:output_type -> orchestrator.v1.InstanceReadyResponse + 32, // [32:41] is the sub-list for method output_type + 23, // [23:32] 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_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[3].OneofWrappers = []any{} + file_orchestrator_v1_reporting_proto_msgTypes[5].OneofWrappers = []any{} + file_orchestrator_v1_reporting_proto_msgTypes[8].OneofWrappers = []any{} + file_orchestrator_v1_reporting_proto_msgTypes[10].OneofWrappers = []any{} + file_orchestrator_v1_reporting_proto_msgTypes[14].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: 22, + 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..8100d4d --- /dev/null +++ b/internal/api/orchestrator/v1/settings.pb.go @@ -0,0 +1,437 @@ +// 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 +} + +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\bsettings2\xed\x02\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.ListPlatformSettingsResponseB\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, 7) +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 +} +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 + 1, // 3: orchestrator.v1.SettingsService.GetPlatformSetting:input_type -> orchestrator.v1.GetPlatformSettingRequest + 3, // 4: orchestrator.v1.SettingsService.UpdatePlatformSetting:input_type -> orchestrator.v1.UpdatePlatformSettingRequest + 5, // 5: orchestrator.v1.SettingsService.ListPlatformSettings:input_type -> orchestrator.v1.ListPlatformSettingsRequest + 2, // 6: orchestrator.v1.SettingsService.GetPlatformSetting:output_type -> orchestrator.v1.GetPlatformSettingResponse + 4, // 7: orchestrator.v1.SettingsService.UpdatePlatformSetting:output_type -> orchestrator.v1.UpdatePlatformSettingResponse + 6, // 8: orchestrator.v1.SettingsService.ListPlatformSettings:output_type -> orchestrator.v1.ListPlatformSettingsResponse + 6, // [6:9] is the sub-list for method output_type + 3, // [3:6] 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_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: 7, + 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 new file mode 160000 index 0000000..824ee9b --- /dev/null +++ b/proto @@ -0,0 +1 @@ +Subproject commit 824ee9b15e15c47f44da567cff57c0e9fc87045b diff --git a/proto/orchestrator/v1/plugin_registry.proto b/proto/orchestrator/v1/plugin_registry.proto deleted file mode 100644 index 9b33b24..0000000 --- a/proto/orchestrator/v1/plugin_registry.proto +++ /dev/null @@ -1,322 +0,0 @@ -syntax = "proto3"; - -package orchestrator.v1; - -import "google/protobuf/timestamp.proto"; - -option go_package = "git.dev.alexdunmow.com/block/ninja/orchestrator/internal/api/orchestrator/v1;orchestratorv1"; - -// PluginScopeService manages @scope namespaces. -service PluginScopeService { - rpc CreateScope(CreateScopeRequest) returns (CreateScopeResponse); - rpc ListMyScopes(ListMyScopesRequest) returns (ListMyScopesResponse); - rpc GetScope(GetScopeRequest) returns (GetScopeResponse); -} - -// PluginRegistryService is the read-side public API plus CreatePlugin. -service PluginRegistryService { - rpc CreatePlugin(CreatePluginRequest) returns (CreatePluginResponse); - rpc GetPlugin(GetPluginRequest) returns (GetPluginResponse); - rpc ListPlugins(ListPluginsRequest) returns (ListPluginsResponse); - rpc GetVersion(GetVersionRequest) returns (GetVersionResponse); - rpc ResolveInstall(ResolveInstallRequest) returns (ResolveInstallResponse); - rpc ListCategories(ListCategoriesRequest) returns (ListCategoriesResponse); - - // Private-plugin RPCs. All require the caller to be a member of the target - // account; the server resolves account membership from the bearer token. - rpc ListPrivatePlugins(ListPrivatePluginsRequest) returns (ListPrivatePluginsResponse); - rpc DeletePrivatePlugin(DeletePrivatePluginRequest) returns (DeletePrivatePluginResponse); - rpc DeletePrivatePluginVersion(DeletePrivatePluginVersionRequest) returns (DeletePrivatePluginVersionResponse); - rpc ListPrivatePluginInstallSites(ListPrivatePluginInstallSitesRequest) returns (ListPrivatePluginInstallSitesResponse); -} - -// PluginPublishService is called by the ninja CLI to publish a version. -service PluginPublishService { - rpc PublishVersion(PublishVersionRequest) returns (PublishVersionResponse); -} - -// PluginAuthService handles OAuth device flow used by ninja CLI. -service PluginAuthService { - rpc StartDevice(StartDeviceRequest) returns (StartDeviceResponse); - rpc PollDevice(PollDeviceRequest) returns (PollDeviceResponse); - rpc ApproveDevice(ApproveDeviceRequest) returns (ApproveDeviceResponse); - rpc DenyDevice(DenyDeviceRequest) returns (DenyDeviceResponse); - rpc GetDeviceStatus(GetDeviceStatusRequest) returns (GetDeviceStatusResponse); - rpc Whoami(WhoamiRequest) returns (WhoamiResponse); - // ListMyAccounts returns the accounts the authenticated user belongs to. - // Used by `ninja login` (forced selection when multiple) and - // `ninja account list`. - rpc ListMyAccounts(ListMyAccountsRequest) returns (ListMyAccountsResponse); -} - -// --- Shared messages --- - -message Scope { - string id = 1; - string slug = 2; - string display_name = 3; - google.protobuf.Timestamp created_at = 4; -} - -// 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. -enum PluginVisibility { - 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; -} - -message Plugin { - string id = 1; - string scope_slug = 2; - string name = 3; - PluginVisibility visibility = 4; - bool premium = 5; - string description = 6; - string homepage_url = 7; - repeated string categories = 8; - google.protobuf.Timestamp updated_at = 9; - string kind = 10; - string display_name = 11; - // owner_account_id is set for private plugins and identifies the account - // that owns the plugin. Empty for public plugins. - string owner_account_id = 12; -} - -// Account is a multi-user organisational unit in the orchestrator. The -// authenticated user may belong to one or more accounts via account_users. -message Account { - string id = 1; - string slug = 2; - string display_name = 3; - // role of the authenticated caller in this account: owner | manager | member. - string role = 4; -} - -message Category { - string slug = 1; - string display_name = 2; - string description = 3; - int32 sort_order = 4; -} - -message Version { - string id = 1; - string plugin_id = 2; - string version = 3; - google.protobuf.Timestamp published_at = 6; - bool yanked = 7; - string sdk_constraint = 8; - string source_archive_sha256 = 9; - int64 source_archive_size = 10; -} - -message Requirement { - string scope_slug = 1; - string name = 2; - string constraint_expr = 3; -} - -// --- Scope service --- - -message CreateScopeRequest { string slug = 1; string display_name = 2; } -message CreateScopeResponse { Scope scope = 1; } -message ListMyScopesRequest {} -message ListMyScopesResponse { repeated Scope scopes = 1; } -message GetScopeRequest { string slug = 1; } -message GetScopeResponse { Scope scope = 1; repeated Plugin plugins = 2; } - -// --- Registry service --- - -message CreatePluginRequest { - string scope_slug = 1; - string name = 2; - string description = 3; - string kind = 4; - repeated string categories = 5; - string display_name = 6; - // visibility is the requested visibility of the plugin. UNSPECIFIED defers - // to the registry's default (public for explicit scopes, private for the - // "@private" sentinel). - PluginVisibility visibility = 7; - // 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. - string active_account_id = 8; -} -message CreatePluginResponse { - Plugin plugin = 1; -} - -message GetPluginRequest { - string scope_slug = 1; - string name = 2; - // active_account_id is required when scope_slug = "private" so the server - // can resolve (account_id, name) instead of (scope_id, name). Ignored - // otherwise. - string active_account_id = 3; -} -message GetPluginResponse { - Plugin plugin = 1; - repeated Version versions = 2; - map channels = 3; -} - -message ListPluginsRequest { - int32 limit = 1; - int32 offset = 2; - string query = 3; - string kind = 4; - repeated string categories = 5; -} -message ListPluginsResponse { repeated Plugin plugins = 1; } - -message ListCategoriesRequest {} -message ListCategoriesResponse { repeated Category categories = 1; } - -// --- Private plugin RPC messages --- - -message ListPrivatePluginsRequest { - // account_id selects which account's private plugins to list. The caller - // must be a member of this account. - string account_id = 1; -} -message ListPrivatePluginsResponse { - repeated PrivatePluginSummary plugins = 1; -} - -// 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. -message PrivatePluginSummary { - Plugin plugin = 1; - // channel_versions maps channel name -> latest version string published on - // that channel (e.g. "latest" -> "0.3.0", "beta" -> "0.4.0-beta.1"). - map channel_versions = 2; - // 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. - int32 installed_site_count = 3; -} - -message DeletePrivatePluginRequest { - string account_id = 1; - string plugin_name = 2; -} -message DeletePrivatePluginResponse {} - -message DeletePrivatePluginVersionRequest { - string account_id = 1; - string plugin_name = 2; - string version = 3; -} -message DeletePrivatePluginVersionResponse {} - -message ListPrivatePluginInstallSitesRequest { - string account_id = 1; - string plugin_name = 2; -} -message ListPrivatePluginInstallSitesResponse { - repeated PrivatePluginInstallSite sites = 1; -} -message PrivatePluginInstallSite { - string instance_id = 1; - string site_display_name = 2; - string installed_version = 3; - string pinned_channel = 4; -} - -message GetVersionRequest { - string scope_slug = 1; - string plugin_name = 2; - string version = 3; -} -message GetVersionResponse { - Version version = 1; - repeated Requirement requires = 2; - string readme_md = 3; - string changelog_md = 4; -} - -message ResolveInstallRequest { - string scope_slug = 1; - string plugin_name = 2; - string version_or_channel = 3; -} -message ResolveInstallResponse { - string version_id = 1; - string scope_slug = 2; - string plugin_name = 3; - string version = 4; - string channel_pinned = 5; - string archive_url = 6; - string archive_sha256 = 7; - string sdk_constraint = 8; - repeated Requirement requires = 9; - bool yanked = 10; - repeated string warnings = 11; -} - -// --- Publish service --- - -message PublishVersionRequest { - string plugin_id = 1; - string version = 2; - string channel = 3; - bytes archive = 4; - string readme_md = 5; - string changelog_md = 6; -} -message PublishVersionResponse { - Version version = 1; - string archive_url = 2; - repeated string warnings = 3; -} - -// --- Auth service (device flow) --- - -message StartDeviceRequest { repeated string scopes = 1; } -message StartDeviceResponse { - string device_code = 1; - string user_code = 2; - string verification_uri = 3; - int32 interval_seconds = 4; - int32 expires_in_seconds = 5; -} - -message PollDeviceRequest { string device_code = 1; } -message PollDeviceResponse { - string access_token = 1; - string status = 2; -} - -message ApproveDeviceRequest { string user_code = 1; } -message ApproveDeviceResponse {} - -message DenyDeviceRequest { string user_code = 1; } -message DenyDeviceResponse {} - -message GetDeviceStatusRequest { string user_code = 1; } -message GetDeviceStatusResponse { - bool valid = 1; - bool authorized = 2; - bool denied = 3; - string client_id = 4; -} - -message WhoamiRequest {} -message WhoamiResponse { - string user_id = 1; - string email = 2; - string display_name = 3; -} - -message ListMyAccountsRequest {} -message ListMyAccountsResponse { - repeated Account accounts = 1; -}