Class InstanceServiceGrpc.InstanceServiceBlockingV2Stub
java.lang.Object
io.grpc.stub.AbstractStub<InstanceServiceGrpc.InstanceServiceBlockingV2Stub>
io.grpc.stub.AbstractBlockingStub<InstanceServiceGrpc.InstanceServiceBlockingV2Stub>
com.soulfiremc.grpc.generated.InstanceServiceGrpc.InstanceServiceBlockingV2Stub
- Enclosing class:
InstanceServiceGrpc
public static final class InstanceServiceGrpc.InstanceServiceBlockingV2Stub
extends io.grpc.stub.AbstractBlockingStub<InstanceServiceGrpc.InstanceServiceBlockingV2Stub>
A stub to allow clients to do 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.InstanceServiceBlockingV2Stub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions) - Specified by:
buildin classio.grpc.stub.AbstractStub<InstanceServiceGrpc.InstanceServiceBlockingV2Stub>
-
createInstance
public InstanceCreateResponse createInstance(InstanceCreateRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
deleteInstance
public InstanceDeleteResponse deleteInstance(InstanceDeleteRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
listInstances
public InstanceListResponse listInstances(InstanceListRequest request) throws io.grpc.StatusException 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.
- Throws:
io.grpc.StatusException
-
getInstanceInfo
public InstanceInfoResponse getInstanceInfo(InstanceInfoRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
updateInstanceMeta
public InstanceUpdateMetaResponse updateInstanceMeta(InstanceUpdateMetaRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
updateInstanceConfig
public InstanceUpdateConfigResponse updateInstanceConfig(InstanceUpdateConfigRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
updateInstanceConfigEntry
public InstanceUpdateConfigEntryResponse updateInstanceConfigEntry(InstanceUpdateConfigEntryRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
addInstanceAccount
public InstanceAddAccountResponse addInstanceAccount(InstanceAddAccountRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
removeInstanceAccount
public InstanceRemoveAccountResponse removeInstanceAccount(InstanceRemoveAccountRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
updateInstanceAccount
public InstanceUpdateAccountResponse updateInstanceAccount(InstanceUpdateAccountRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
addInstanceAccountsBatch
public InstanceAddAccountsBatchResponse addInstanceAccountsBatch(InstanceAddAccountsBatchRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
removeInstanceAccountsBatch
public InstanceRemoveAccountsBatchResponse removeInstanceAccountsBatch(InstanceRemoveAccountsBatchRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
addInstanceProxy
public InstanceAddProxyResponse addInstanceProxy(InstanceAddProxyRequest request) throws io.grpc.StatusException Adds a proxy to the instance. Requires: UPDATE_INSTANCE_CONFIG permission on the instance Errors: NOT_FOUND if instance does not exist
- Throws:
io.grpc.StatusException
-
removeInstanceProxy
public InstanceRemoveProxyResponse removeInstanceProxy(InstanceRemoveProxyRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
updateInstanceProxy
public InstanceUpdateProxyResponse updateInstanceProxy(InstanceUpdateProxyRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
addInstanceProxiesBatch
public InstanceAddProxiesBatchResponse addInstanceProxiesBatch(InstanceAddProxiesBatchRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
removeInstanceProxiesBatch
public InstanceRemoveProxiesBatchResponse removeInstanceProxiesBatch(InstanceRemoveProxiesBatchRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
changeInstanceState
public InstanceStateChangeResponse changeInstanceState(InstanceStateChangeRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
getAuditLog
public InstanceAuditLogResponse getAuditLog(InstanceAuditLogRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
getAccountMetadata
public GetAccountMetadataResponse getAccountMetadata(GetAccountMetadataRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
setAccountMetadataEntry
public SetAccountMetadataEntryResponse setAccountMetadataEntry(SetAccountMetadataEntryRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-
deleteAccountMetadataEntry
public DeleteAccountMetadataEntryResponse deleteAccountMetadataEntry(DeleteAccountMetadataEntryRequest request) throws io.grpc.StatusException 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
- Throws:
io.grpc.StatusException
-