Class InstanceServiceGrpc.InstanceServiceBlockingStub
java.lang.Object
io.grpc.stub.AbstractStub<InstanceServiceGrpc.InstanceServiceBlockingStub>
io.grpc.stub.AbstractBlockingStub<InstanceServiceGrpc.InstanceServiceBlockingStub>
com.soulfiremc.grpc.generated.InstanceServiceGrpc.InstanceServiceBlockingStub
- Enclosing class:
InstanceServiceGrpc
public static final class InstanceServiceGrpc.InstanceServiceBlockingStub
extends io.grpc.stub.AbstractBlockingStub<InstanceServiceGrpc.InstanceServiceBlockingStub>
A stub to allow clients to do limited synchronous rpc calls to service InstanceService.
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
-
Nested Class Summary
Nested classes/interfaces inherited from class io.grpc.stub.AbstractStub
io.grpc.stub.AbstractStub.StubFactory<T> -
Method Summary
Modifier and TypeMethodDescriptionAdds a Minecraft account to the instance.Adds multiple Minecraft accounts to the instance in a single operation.Adds multiple proxies to the instance in a single operation.addInstanceProxy(InstanceAddProxyRequest request) Adds a proxy to the instance.build(io.grpc.Channel channel, io.grpc.CallOptions callOptions) Changes the lifecycle state of an instance.createInstance(InstanceCreateRequest request) Creates a new instance with the given friendly name.Deletes a persistent metadata entry from a Minecraft account.deleteInstance(InstanceDeleteRequest request) Permanently deletes an instance and all its data.Gets persistent metadata for a Minecraft account.getAuditLog(InstanceAuditLogRequest request) Retrieves the audit log for an instance.getInstanceInfo(InstanceInfoRequest request) Gets detailed information about a specific instance.listInstances(InstanceListRequest request) Lists all instances the current user has permission to view.Removes a Minecraft account from the instance by profile_id.Removes multiple Minecraft accounts from the instance by their profile_ids.Removes multiple proxies from the instance by their addresses.Removes a proxy from the instance by its index.Sets a single persistent metadata entry for a Minecraft account.Updates an existing Minecraft account in the instance.Replaces the entire instance configuration.Updates a single configuration entry by namespace and key.Updates instance metadata (friendly name or icon).Updates an existing proxy in the instance by its index.Methods inherited from class io.grpc.stub.AbstractBlockingStub
newStub, newStubMethods inherited from class io.grpc.stub.AbstractStub
getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOnReadyThreshold, withOption, withWaitForReady
-
Method Details
-
build
protected InstanceServiceGrpc.InstanceServiceBlockingStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions) - Specified by:
buildin classio.grpc.stub.AbstractStub<InstanceServiceGrpc.InstanceServiceBlockingStub>
-
createInstance
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
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
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
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
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
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
public InstanceUpdateConfigEntryResponse updateInstanceConfigEntry(InstanceUpdateConfigEntryRequest request) 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
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
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
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
public InstanceAddAccountsBatchResponse addInstanceAccountsBatch(InstanceAddAccountsBatchRequest request) 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
public InstanceRemoveAccountsBatchResponse removeInstanceAccountsBatch(InstanceRemoveAccountsBatchRequest request) 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
Adds a proxy to the instance. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
-
removeInstanceProxy
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
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
public InstanceAddProxiesBatchResponse addInstanceProxiesBatch(InstanceAddProxiesBatchRequest request) 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
public InstanceRemoveProxiesBatchResponse removeInstanceProxiesBatch(InstanceRemoveProxiesBatchRequest request) 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
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
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
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
public SetAccountMetadataEntryResponse setAccountMetadataEntry(SetAccountMetadataEntryRequest request) 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
public DeleteAccountMetadataEntryResponse deleteAccountMetadataEntry(DeleteAccountMetadataEntryRequest request) 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
-