"""Generated RPC method registry.
+
+This file is generated by scripts/generate_methods.py.
+"""

from __future__ import annotations

from omni.http.methods import RpcMethod

RESOURCE_GET = RpcMethod("omni.resources.ResourceService", "Get", stream=False, idempotent=True)
RESOURCE_LIST = RpcMethod("omni.resources.ResourceService", "List", stream=False, idempotent=True)
RESOURCE_CREATE = RpcMethod("omni.resources.ResourceService", "Create", stream=False, idempotent=False)
RESOURCE_UPDATE = RpcMethod("omni.resources.ResourceService", "Update", stream=False, idempotent=False)
RESOURCE_DELETE = RpcMethod("omni.resources.ResourceService", "Delete", stream=False, idempotent=False)
RESOURCE_TEARDOWN = RpcMethod("omni.resources.ResourceService", "Teardown", stream=False, idempotent=False)
RESOURCE_WATCH = RpcMethod("omni.resources.ResourceService", "Watch", stream=True, idempotent=True)
RESOURCE_CONTROLLERS = RpcMethod("omni.resources.ResourceService", "Controllers", stream=False, idempotent=True)
RESOURCE_DEPENDENCY_GRAPH = RpcMethod("omni.resources.ResourceService", "DependencyGraph", stream=False, idempotent=True)

MANAGEMENT_KUBECONFIG = RpcMethod("management.ManagementService", "Kubeconfig", stream=False, idempotent=True)
MANAGEMENT_TALOSCONFIG = RpcMethod("management.ManagementService", "Talosconfig", stream=False, idempotent=True)
MANAGEMENT_OMNICONFIG = RpcMethod("management.ManagementService", "Omniconfig", stream=False, idempotent=True)
MANAGEMENT_MACHINE_LOGS = RpcMethod("management.ManagementService", "MachineLogs", stream=True, idempotent=False)
MANAGEMENT_VALIDATE_CONFIG = RpcMethod("management.ManagementService", "ValidateConfig", stream=False, idempotent=True)
MANAGEMENT_VALIDATE_JSONSCHEMA = RpcMethod("management.ManagementService", "ValidateJSONSchema", stream=False, idempotent=True)
MANAGEMENT_CREATE_SERVICE_ACCOUNT = RpcMethod("management.ManagementService", "CreateServiceAccount", stream=False, idempotent=False)
MANAGEMENT_RENEW_SERVICE_ACCOUNT = RpcMethod("management.ManagementService", "RenewServiceAccount", stream=False, idempotent=False)
MANAGEMENT_LIST_SERVICE_ACCOUNTS = RpcMethod("management.ManagementService", "ListServiceAccounts", stream=False, idempotent=True)
MANAGEMENT_DESTROY_SERVICE_ACCOUNT = RpcMethod("management.ManagementService", "DestroyServiceAccount", stream=False, idempotent=False)
MANAGEMENT_KUBERNETES_UPGRADE_PRE_CHECKS = RpcMethod("management.ManagementService", "KubernetesUpgradePreChecks", stream=False, idempotent=False)
MANAGEMENT_KUBERNETES_SYNC_MANIFESTS = RpcMethod("management.ManagementService", "KubernetesSyncManifests", stream=True, idempotent=False)
MANAGEMENT_CREATE_SCHEMATIC = RpcMethod("management.ManagementService", "CreateSchematic", stream=False, idempotent=False)
MANAGEMENT_GET_SUPPORT_BUNDLE = RpcMethod("management.ManagementService", "GetSupportBundle", stream=True, idempotent=True)
MANAGEMENT_READ_AUDIT_LOG = RpcMethod("management.ManagementService", "ReadAuditLog", stream=True, idempotent=True)
MANAGEMENT_MAINTENANCE_UPGRADE = RpcMethod("management.ManagementService", "MaintenanceUpgrade", stream=False, idempotent=False)
MANAGEMENT_GET_MACHINE_JOIN_CONFIG = RpcMethod("management.ManagementService", "GetMachineJoinConfig", stream=False, idempotent=True)
MANAGEMENT_CREATE_JOIN_TOKEN = RpcMethod("management.ManagementService", "CreateJoinToken", stream=False, idempotent=False)
MANAGEMENT_RESET_NODE_UNIQUE_TOKEN = RpcMethod("management.ManagementService", "ResetNodeUniqueToken", stream=False, idempotent=False)

OIDC_AUTHENTICATE = RpcMethod("oidc.OIDCService", "Authenticate", stream=False, idempotent=False)

AUTH_REGISTER_PUBLIC_KEY = RpcMethod("auth.AuthService", "RegisterPublicKey", stream=False, idempotent=False)
AUTH_AWAIT_PUBLIC_KEY_CONFIRMATION = RpcMethod("auth.AuthService", "AwaitPublicKeyConfirmation", stream=False, idempotent=True)
AUTH_CONFIRM_PUBLIC_KEY = RpcMethod("auth.AuthService", "ConfirmPublicKey", stream=False, idempotent=False)
AUTH_REVOKE_PUBLIC_KEY = RpcMethod("auth.AuthService", "RevokePublicKey", stream=False, idempotent=False)

ALL_METHODS = {
    method.key: method
    for method in (
        RESOURCE_GET,
        RESOURCE_LIST,
        RESOURCE_CREATE,
        RESOURCE_UPDATE,
        RESOURCE_DELETE,
        RESOURCE_TEARDOWN,
        RESOURCE_WATCH,
        RESOURCE_CONTROLLERS,
        RESOURCE_DEPENDENCY_GRAPH,
        MANAGEMENT_KUBECONFIG,
        MANAGEMENT_TALOSCONFIG,
        MANAGEMENT_OMNICONFIG,
        MANAGEMENT_MACHINE_LOGS,
        MANAGEMENT_VALIDATE_CONFIG,
        MANAGEMENT_VALIDATE_JSONSCHEMA,
        MANAGEMENT_CREATE_SERVICE_ACCOUNT,
        MANAGEMENT_RENEW_SERVICE_ACCOUNT,
        MANAGEMENT_LIST_SERVICE_ACCOUNTS,
        MANAGEMENT_DESTROY_SERVICE_ACCOUNT,
        MANAGEMENT_KUBERNETES_UPGRADE_PRE_CHECKS,
        MANAGEMENT_KUBERNETES_SYNC_MANIFESTS,
        MANAGEMENT_CREATE_SCHEMATIC,
        MANAGEMENT_GET_SUPPORT_BUNDLE,
        MANAGEMENT_READ_AUDIT_LOG,
        MANAGEMENT_MAINTENANCE_UPGRADE,
        MANAGEMENT_GET_MACHINE_JOIN_CONFIG,
        MANAGEMENT_CREATE_JOIN_TOKEN,
        MANAGEMENT_RESET_NODE_UNIQUE_TOKEN,
        OIDC_AUTHENTICATE,
        AUTH_REGISTER_PUBLIC_KEY,
        AUTH_AWAIT_PUBLIC_KEY_CONFIRMATION,
        AUTH_CONFIRM_PUBLIC_KEY,
        AUTH_REVOKE_PUBLIC_KEY,
    )
}
