Interface InstanceServiceGrpc.AsyncService
- All Known Implementing Classes:
InstanceServiceGrpc.InstanceServiceImplBase, InstanceServiceImpl
- Enclosing class:
InstanceServiceGrpc
public static interface InstanceServiceGrpc.AsyncService
Service for managing SoulFire instances. An instance represents a collection of Minecraft bots that can be started, stopped, and configured together. Each instance has its own configuration including settings, Minecraft accounts, and proxies. All operations require appropriate permissions: - CREATE_INSTANCE (global): Required to create new instances - READ_INSTANCE: Required to list and view instance details - UPDATE_INSTANCE_META: Required to change instance name/icon - UPDATE_INSTANCE_CONFIG: Required to modify settings, accounts, and proxies - DELETE_INSTANCE: Required to delete an instance - CHANGE_INSTANCE_STATE: Required to start/stop/pause the instance - READ_INSTANCE_AUDIT_LOGS: Required to view audit logs - READ_BOT_INFO: Required to read account metadata
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidaddInstanceAccount(InstanceAddAccountRequest request, io.grpc.stub.StreamObserver<InstanceAddAccountResponse> responseObserver) Adds a Minecraft account to the instance.default voidaddInstanceAccountsBatch(InstanceAddAccountsBatchRequest request, io.grpc.stub.StreamObserver<InstanceAddAccountsBatchResponse> responseObserver) Adds multiple Minecraft accounts to the instance in a single operation.default voidaddInstanceProxiesBatch(InstanceAddProxiesBatchRequest request, io.grpc.stub.StreamObserver<InstanceAddProxiesBatchResponse> responseObserver) Adds multiple proxies to the instance in a single operation.default voidaddInstanceProxy(InstanceAddProxyRequest request, io.grpc.stub.StreamObserver<InstanceAddProxyResponse> responseObserver) Adds a proxy to the instance.default voidchangeInstanceState(InstanceStateChangeRequest request, io.grpc.stub.StreamObserver<InstanceStateChangeResponse> responseObserver) Changes the lifecycle state of an instance.default voidcreateInstance(InstanceCreateRequest request, io.grpc.stub.StreamObserver<InstanceCreateResponse> responseObserver) Creates a new instance with the given friendly name.default voiddeleteAccountMetadataEntry(DeleteAccountMetadataEntryRequest request, io.grpc.stub.StreamObserver<DeleteAccountMetadataEntryResponse> responseObserver) Deletes a persistent metadata entry from a Minecraft account.default voiddeleteInstance(InstanceDeleteRequest request, io.grpc.stub.StreamObserver<InstanceDeleteResponse> responseObserver) Permanently deletes an instance and all its data.default voidgetAccountMetadata(GetAccountMetadataRequest request, io.grpc.stub.StreamObserver<GetAccountMetadataResponse> responseObserver) Gets persistent metadata for a Minecraft account.default voidgetAuditLog(InstanceAuditLogRequest request, io.grpc.stub.StreamObserver<InstanceAuditLogResponse> responseObserver) Retrieves the audit log for an instance.default voidgetInstanceInfo(InstanceInfoRequest request, io.grpc.stub.StreamObserver<InstanceInfoResponse> responseObserver) Gets detailed information about a specific instance.default voidlistInstances(InstanceListRequest request, io.grpc.stub.StreamObserver<InstanceListResponse> responseObserver) Lists all instances the current user has permission to view.default voidremoveInstanceAccount(InstanceRemoveAccountRequest request, io.grpc.stub.StreamObserver<InstanceRemoveAccountResponse> responseObserver) Removes a Minecraft account from the instance by profile_id.default voidremoveInstanceAccountsBatch(InstanceRemoveAccountsBatchRequest request, io.grpc.stub.StreamObserver<InstanceRemoveAccountsBatchResponse> responseObserver) Removes multiple Minecraft accounts from the instance by their profile_ids.default voidremoveInstanceProxiesBatch(InstanceRemoveProxiesBatchRequest request, io.grpc.stub.StreamObserver<InstanceRemoveProxiesBatchResponse> responseObserver) Removes multiple proxies from the instance by their addresses.default voidremoveInstanceProxy(InstanceRemoveProxyRequest request, io.grpc.stub.StreamObserver<InstanceRemoveProxyResponse> responseObserver) Removes a proxy from the instance by its index.default voidsetAccountMetadataEntry(SetAccountMetadataEntryRequest request, io.grpc.stub.StreamObserver<SetAccountMetadataEntryResponse> responseObserver) Sets a single persistent metadata entry for a Minecraft account.default voidupdateInstanceAccount(InstanceUpdateAccountRequest request, io.grpc.stub.StreamObserver<InstanceUpdateAccountResponse> responseObserver) Updates an existing Minecraft account in the instance.default voidupdateInstanceConfig(InstanceUpdateConfigRequest request, io.grpc.stub.StreamObserver<InstanceUpdateConfigResponse> responseObserver) Replaces the entire instance configuration.default voidupdateInstanceConfigEntry(InstanceUpdateConfigEntryRequest request, io.grpc.stub.StreamObserver<InstanceUpdateConfigEntryResponse> responseObserver) Updates a single configuration entry by namespace and key.default voidupdateInstanceMeta(InstanceUpdateMetaRequest request, io.grpc.stub.StreamObserver<InstanceUpdateMetaResponse> responseObserver) Updates instance metadata (friendly name or icon).default voidupdateInstanceProxy(InstanceUpdateProxyRequest request, io.grpc.stub.StreamObserver<InstanceUpdateProxyResponse> responseObserver) Updates an existing proxy in the instance by its index.
-
Method Details
-
createInstance
default void createInstance(InstanceCreateRequest request, io.grpc.stub.StreamObserver<InstanceCreateResponse> responseObserver) Creates a new instance with the given friendly name. The instance starts in STOPPED state with default configuration. Requires: CREATE_INSTANCE global permission Returns: The UUID of the newly created instance Errors: INTERNAL if creation fails
-
deleteInstance
default void deleteInstance(InstanceDeleteRequest request, io.grpc.stub.StreamObserver<InstanceDeleteResponse> responseObserver) Permanently deletes an instance and all its data. If the instance is running, it will be stopped first. This operation cannot be undone. Requires: DELETE_INSTANCE permission on the instance Errors: NOT_FOUND if instance does not exist
-
listInstances
default void listInstances(InstanceListRequest request, io.grpc.stub.StreamObserver<InstanceListResponse> responseObserver) Lists all instances the current user has permission to view. Only instances where the user has READ_INSTANCE permission are returned. Returns summary information for each instance.
-
getInstanceInfo
default void getInstanceInfo(InstanceInfoRequest request, io.grpc.stub.StreamObserver<InstanceInfoResponse> responseObserver) Gets detailed information about a specific instance. Supports conditional requests via if_modified_since to reduce bandwidth. Requires: READ_INSTANCE permission on the instance Returns: Full instance info or not_modified status Errors: NOT_FOUND if instance does not exist
-
updateInstanceMeta
default void updateInstanceMeta(InstanceUpdateMetaRequest request, io.grpc.stub.StreamObserver<InstanceUpdateMetaResponse> responseObserver) Updates instance metadata (friendly name or icon). Only one field can be updated per request. Requires: UPDATE_INSTANCE_META permission on the instance Errors: NOT_FOUND if instance does not exist
-
updateInstanceConfig
default void updateInstanceConfig(InstanceUpdateConfigRequest request, io.grpc.stub.StreamObserver<InstanceUpdateConfigResponse> responseObserver) Replaces the entire instance configuration. Used primarily for profile import operations. For individual setting changes, use UpdateInstanceConfigEntry instead. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
-
updateInstanceConfigEntry
default void updateInstanceConfigEntry(InstanceUpdateConfigEntryRequest request, io.grpc.stub.StreamObserver<InstanceUpdateConfigEntryResponse> responseObserver) Updates a single configuration entry by namespace and key. More efficient than UpdateInstanceConfig for individual changes. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
-
addInstanceAccount
default void addInstanceAccount(InstanceAddAccountRequest request, io.grpc.stub.StreamObserver<InstanceAddAccountResponse> responseObserver) Adds a Minecraft account to the instance. The account's profile_id must be unique within the instance. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
-
removeInstanceAccount
default void removeInstanceAccount(InstanceRemoveAccountRequest request, io.grpc.stub.StreamObserver<InstanceRemoveAccountResponse> responseObserver) Removes a Minecraft account from the instance by profile_id. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
-
updateInstanceAccount
default void updateInstanceAccount(InstanceUpdateAccountRequest request, io.grpc.stub.StreamObserver<InstanceUpdateAccountResponse> responseObserver) Updates an existing Minecraft account in the instance. The account is matched by profile_id and replaced. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
-
addInstanceAccountsBatch
default void addInstanceAccountsBatch(InstanceAddAccountsBatchRequest request, io.grpc.stub.StreamObserver<InstanceAddAccountsBatchResponse> responseObserver) Adds multiple Minecraft accounts to the instance in a single operation. More efficient than multiple AddInstanceAccount calls. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
-
removeInstanceAccountsBatch
default void removeInstanceAccountsBatch(InstanceRemoveAccountsBatchRequest request, io.grpc.stub.StreamObserver<InstanceRemoveAccountsBatchResponse> responseObserver) Removes multiple Minecraft accounts from the instance by their profile_ids. More efficient than multiple RemoveInstanceAccount calls. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
-
addInstanceProxy
default void addInstanceProxy(InstanceAddProxyRequest request, io.grpc.stub.StreamObserver<InstanceAddProxyResponse> responseObserver) Adds a proxy to the instance. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
-
removeInstanceProxy
default void removeInstanceProxy(InstanceRemoveProxyRequest request, io.grpc.stub.StreamObserver<InstanceRemoveProxyResponse> responseObserver) Removes a proxy from the instance by its index. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist Errors: INVALID_ARGUMENT if index is out of bounds
-
updateInstanceProxy
default void updateInstanceProxy(InstanceUpdateProxyRequest request, io.grpc.stub.StreamObserver<InstanceUpdateProxyResponse> responseObserver) Updates an existing proxy in the instance by its index. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist Errors: INVALID_ARGUMENT if index is out of bounds
-
addInstanceProxiesBatch
default void addInstanceProxiesBatch(InstanceAddProxiesBatchRequest request, io.grpc.stub.StreamObserver<InstanceAddProxiesBatchResponse> responseObserver) Adds multiple proxies to the instance in a single operation. More efficient than multiple AddInstanceProxy calls. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
-
removeInstanceProxiesBatch
default void removeInstanceProxiesBatch(InstanceRemoveProxiesBatchRequest request, io.grpc.stub.StreamObserver<InstanceRemoveProxiesBatchResponse> responseObserver) Removes multiple proxies from the instance by their addresses. More efficient than multiple RemoveInstanceProxy calls. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
-
changeInstanceState
default void changeInstanceState(InstanceStateChangeRequest request, io.grpc.stub.StreamObserver<InstanceStateChangeResponse> responseObserver) Changes the lifecycle state of an instance. Used to start, pause, resume, or stop bot sessions. The operation blocks until the state transition is complete. Requires: CHANGE_INSTANCE_STATE permission on the instance Errors: NOT_FOUND if instance does not exist
-
getAuditLog
default void getAuditLog(InstanceAuditLogRequest request, io.grpc.stub.StreamObserver<InstanceAuditLogResponse> responseObserver) Retrieves the audit log for an instance. Returns a list of recorded actions ordered by timestamp (newest first). Requires: READ_INSTANCE_AUDIT_LOGS permission on the instance Errors: NOT_FOUND if instance does not exist
-
getAccountMetadata
default void getAccountMetadata(GetAccountMetadataRequest request, io.grpc.stub.StreamObserver<GetAccountMetadataResponse> responseObserver) Gets persistent metadata for a Minecraft account. Persistent metadata survives bot restarts and session changes. Requires: READ_BOT_INFO permission on the instance Errors: NOT_FOUND if instance or account does not exist
-
setAccountMetadataEntry
default void setAccountMetadataEntry(SetAccountMetadataEntryRequest request, io.grpc.stub.StreamObserver<SetAccountMetadataEntryResponse> responseObserver) Sets a single persistent metadata entry for a Minecraft account. Creates the namespace and key if they don't exist, or updates if they do. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
-
deleteAccountMetadataEntry
default void deleteAccountMetadataEntry(DeleteAccountMetadataEntryRequest request, io.grpc.stub.StreamObserver<DeleteAccountMetadataEntryResponse> responseObserver) Deletes a persistent metadata entry from a Minecraft account. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
-