Skip to main content

Client

Struct Client 

Source
pub struct Client { /* private fields */ }
Expand description

Client for Alien API

Version: 1.0.0

Implementations§

Source§

impl Client

Source

pub fn new(baseurl: &str) -> Self

Create a new client.

baseurl is the base URL provided to the internal reqwest::Client, and should include a scheme and hostname, as well as port and a path stem if applicable.

Source

pub fn new_with_client(baseurl: &str, client: Client) -> Self

Construct a new client with an existing reqwest::Client, allowing more control over its configuration.

baseurl is the base URL provided to the internal reqwest::Client, and should include a scheme and hostname, as well as port and a path stem if applicable.

Source§

impl Client

Source

pub fn get_workspace_invitation_preview( &self, ) -> GetWorkspaceInvitationPreview<'_>

Sends a GET request to /v1/invitations/{token}

let response = client.get_workspace_invitation_preview()
    .token(token)
    .send()
    .await;
Source

pub fn list_memberships(&self) -> ListMemberships<'_>

List all workspaces the current user has access to.

Sends a GET request to /v1/user/memberships

let response = client.list_memberships()
    .send()
    .await;
Source

pub fn get_user_profile(&self) -> GetUserProfile<'_>

Get the current user’s profile and user-scoped onboarding state.

Sends a GET request to /v1/user/profile

let response = client.get_user_profile()
    .send()
    .await;
Source

pub fn update_user_profile(&self) -> UpdateUserProfile<'_>

Update the current user’s profile (display name).

Sends a PATCH request to /v1/user/profile

let response = client.update_user_profile()
    .body(body)
    .send()
    .await;
Source

pub fn complete_user_profile_setup(&self) -> CompleteUserProfileSetup<'_>

Complete the required beta intake and profile setup dialog.

Sends a POST request to /v1/user/profile/setup

let response = client.complete_user_profile_setup()
    .body(body)
    .send()
    .await;
Source

pub fn create_workspace(&self) -> CreateWorkspace<'_>

Create a new workspace. The current user will be automatically added as an admin.

Sends a POST request to /v1/user/workspaces

let response = client.create_workspace()
    .body(body)
    .send()
    .await;
Source

pub fn list_git_namespaces(&self) -> ListGitNamespaces<'_>

List all git namespaces (GitHub installations) the current user has access to.

Sends a GET request to /v1/user/git-namespaces

let response = client.list_git_namespaces()
    .provider(provider)
    .send()
    .await;
Source

pub fn sync_git_namespaces(&self) -> SyncGitNamespaces<'_>

Sync git namespaces from the provider. For GitHub, this fetches all app installations accessible to the user.

Sends a POST request to /v1/user/git-namespaces/sync

let response = client.sync_git_namespaces()
    .body(body)
    .send()
    .await;
Source

pub fn list_git_namespace_repositories( &self, ) -> ListGitNamespaceRepositories<'_>

List repositories accessible through a git namespace (GitHub installation).

Sends a GET request to /v1/user/git-namespaces/{id}/repositories

Arguments:

  • id
  • search: Search query to filter repositories by name
let response = client.list_git_namespace_repositories()
    .id(id)
    .search(search)
    .send()
    .await;
Source

pub fn accept_workspace_invitation(&self) -> AcceptWorkspaceInvitation<'_>

Sends a POST request to /v1/user/invitations/{token}/accept

let response = client.accept_workspace_invitation()
    .token(token)
    .send()
    .await;
Source

pub fn whoami(&self) -> Whoami<'_>

Get the current authenticated principal (user or service account). Works with both session cookies and API keys.

Sends a GET request to /v1/whoami

Arguments:

  • workspace: Workspace to resolve the principal in. Required for user credentials because a user’s role is per-workspace. Service accounts carry their workspace in the credential and may omit it.
let response = client.whoami()
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_workspaces(&self) -> ListWorkspaces<'_>

Retrieve all workspaces.

Sends a GET request to /v1/workspaces

Arguments:

  • cursor: Cursor for pagination - omit for first page
  • limit: Maximum number of items to return per page
  • search: Search workspaces by name
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_workspaces()
    .cursor(cursor)
    .limit(limit)
    .search(search)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_workspace(&self) -> GetWorkspace<'_>

Retrieve a workspace by ID.

Sends a GET request to /v1/workspaces/{id}

Arguments:

  • id: Unique identifier for the workspace.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_workspace()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn delete_workspace(&self) -> DeleteWorkspace<'_>

Delete a workspace. The workspace must have no projects.

Sends a DELETE request to /v1/workspaces/{id}

Arguments:

  • id: Unique identifier for the workspace.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.delete_workspace()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn update_workspace(&self) -> UpdateWorkspace<'_>

Update a workspace.

Sends a PATCH request to /v1/workspaces/{id}

Arguments:

  • id: Unique identifier for the workspace.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_workspace()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn list_workspace_members(&self) -> ListWorkspaceMembers<'_>

List all members of a workspace.

Sends a GET request to /v1/workspaces/{id}/members

Arguments:

  • id: Unique identifier for the workspace.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_workspace_members()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn add_workspace_member(&self) -> AddWorkspaceMember<'_>

Add a member to a workspace by email. The user must already have an account.

Sends a POST request to /v1/workspaces/{id}/members

Arguments:

  • id: Unique identifier for the workspace.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.add_workspace_member()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn remove_workspace_member(&self) -> RemoveWorkspaceMember<'_>

Remove a member from a workspace.

Sends a DELETE request to /v1/workspaces/{id}/members/{userId}

Arguments:

  • id: Unique identifier for the workspace.
  • user_id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.remove_workspace_member()
    .id(id)
    .user_id(user_id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn update_workspace_member(&self) -> UpdateWorkspaceMember<'_>

Update a workspace member’s role.

Sends a PATCH request to /v1/workspaces/{id}/members/{userId}

Arguments:

  • id: Unique identifier for the workspace.
  • user_id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_workspace_member()
    .id(id)
    .user_id(user_id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_workspace_settings(&self) -> GetWorkspaceSettings<'_>

Read the ai-agent settings for a workspace. Returns defaults (enabled: true, debugPermissionMode: auto) when the workspace has never customized them.

Sends a GET request to /v1/workspaces/{id}/settings

Arguments:

  • id: Unique identifier for the workspace.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_workspace_settings()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn update_workspace_settings(&self) -> UpdateWorkspaceSettings<'_>

Update the ai-agent settings for a workspace. Supports debugPermissionMode (ask requires human approval on every ai-agent debug command, auto runs them without asking) and enabled (false turns the ai-agent off so incoming triggers are rejected before any session runs).

Sends a PATCH request to /v1/workspaces/{id}/settings

Arguments:

  • id: Unique identifier for the workspace.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_workspace_settings()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn list_workspace_invitations(&self) -> ListWorkspaceInvitations<'_>

Sends a GET request to /v1/workspaces/{id}/invitations

Arguments:

  • id: Unique identifier for the workspace.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_workspace_invitations()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_workspace_invitation(&self) -> CreateWorkspaceInvitation<'_>

Sends a POST request to /v1/workspaces/{id}/invitations

Arguments:

  • id: Unique identifier for the workspace.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_workspace_invitation()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn resend_workspace_invitation(&self) -> ResendWorkspaceInvitation<'_>

Sends a POST request to /v1/workspaces/{id}/invitations/{invitationId}/resend

Arguments:

  • id: Unique identifier for the workspace.
  • invitation_id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.resend_workspace_invitation()
    .id(id)
    .invitation_id(invitation_id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn revoke_workspace_invitation(&self) -> RevokeWorkspaceInvitation<'_>

Sends a DELETE request to /v1/workspaces/{id}/invitations/{invitationId}

Arguments:

  • id: Unique identifier for the workspace.
  • invitation_id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.revoke_workspace_invitation()
    .id(id)
    .invitation_id(invitation_id)
    .workspace(workspace)
    .send()
    .await;

Sends a GET request to /v1/workspaces/{id}/invite-link

Arguments:

  • id: Unique identifier for the workspace.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_workspace_invite_link()
    .id(id)
    .workspace(workspace)
    .send()
    .await;

Sends a PUT request to /v1/workspaces/{id}/invite-link

Arguments:

  • id: Unique identifier for the workspace.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_workspace_invite_link()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;

Sends a DELETE request to /v1/workspaces/{id}/invite-link

Arguments:

  • id: Unique identifier for the workspace.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.revoke_workspace_invite_link()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_projects(&self) -> ListProjects<'_>

Retrieve all projects.

Sends a GET request to /v1/projects

Arguments:

  • cursor: Cursor for pagination - omit for first page
  • include: Optional fields to include: deploymentCount, latestRelease
  • limit: Maximum number of items to return per page
  • search: Search projects by name
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_projects()
    .cursor(cursor)
    .include(include)
    .limit(limit)
    .search(search)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_project(&self) -> CreateProject<'_>

Create a new project.

Sends a POST request to /v1/projects

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_project()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_project(&self) -> GetProject<'_>

Retrieve a project by ID or name.

Sends a GET request to /v1/projects/{idOrName}

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_project()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn delete_project(&self) -> DeleteProject<'_>

Delete a project. The project must have no deployments.

Sends a DELETE request to /v1/projects/{idOrName}

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.delete_project()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn update_project(&self) -> UpdateProject<'_>

Update a project.

Sends a PATCH request to /v1/projects/{idOrName}

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_project()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_project_gcp_o_auth_provider(&self) -> GetProjectGcpOAuthProvider<'_>

Retrieve redacted project-level Google Cloud OAuth provider settings.

Sends a GET request to /v1/projects/{idOrName}/gcp-oauth-provider

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_project_gcp_o_auth_provider()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn update_project_gcp_o_auth_provider( &self, ) -> UpdateProjectGcpOAuthProvider<'_>

Update project-level Google Cloud OAuth provider settings.

Sends a PUT request to /v1/projects/{idOrName}/gcp-oauth-provider

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_project_gcp_o_auth_provider()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn configure_project_source(&self) -> ConfigureProjectSource<'_>

Connect a GitHub repository or Alien template to an existing project.

Sends a POST request to /v1/projects/{idOrName}/source

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.configure_project_source()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_project_deployment_portal_domain( &self, ) -> GetProjectDeploymentPortalDomain<'_>

Get the deployment portal domain binding for a project.

Sends a GET request to /v1/projects/{idOrName}/deployment-portal-domain

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_project_deployment_portal_domain()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_project_from_template(&self) -> CreateProjectFromTemplate<'_>

Create a project by forking alienplatform/alien into your namespace.

Sends a POST request to /v1/projects/import-template

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_project_from_template()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_project_template_urls(&self) -> GetProjectTemplateUrls<'_>

Get template URLs for deploying setup stacks in this project.

Sends a GET request to /v1/projects/{idOrName}/template-urls

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_project_template_urls()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .send()
    .await;

Get the active release stack and portal-visible setup availability for deployment-link configuration.

Sends a GET request to /v1/projects/{idOrName}/deployment-link-setup

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_project_deployment_link_setup()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_project_active_release(&self) -> GetProjectActiveRelease<'_>

Get the production channel’s current release. When deploymentId is provided, returns that deployment’s effective release: its pin, or its followed channel’s current release.

Sends a GET request to /v1/projects/{idOrName}/active-release

Arguments:

  • id_or_name: Project ID or name.
  • deployment_id: Optional deployment ID to check for pinned release
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_project_active_release()
    .id_or_name(id_or_name)
    .deployment_id(deployment_id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn preview_project_models_impact(&self) -> PreviewProjectModelsImpact<'_>

Preview which customer model connections a configuration change may affect.

Sends a POST request to /v1/projects/{idOrName}/project-capabilities/models/impact

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.preview_project_models_impact()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn set_project_capabilities(&self) -> SetProjectCapabilities<'_>

Set the capabilities offered by a Project. Removing a capability prevents new setup without deleting existing customer resources.

Sends a PUT request to /v1/projects/{idOrName}/project-capabilities

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.set_project_capabilities()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn configure_project_deployments(&self) -> ConfigureProjectDeployments<'_>

Enable deployments for a Project.

Sends a PUT request to /v1/projects/{idOrName}/project-capabilities/deployments

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.configure_project_deployments()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_project_ai_provider_headers(&self) -> GetProjectAiProviderHeaders<'_>

Get static headers added to AI requests for each provider.

Sends a GET request to /v1/projects/{idOrName}/ai-provider-headers

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_project_ai_provider_headers()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn configure_project_ai_provider_headers( &self, ) -> ConfigureProjectAiProviderHeaders<'_>

Replace the static headers added to AI requests for each provider.

Sends a PUT request to /v1/projects/{idOrName}/ai-provider-headers

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.configure_project_ai_provider_headers()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn configure_project_models(&self) -> ConfigureProjectModels<'_>

Configure customer-owned model providers without requiring an application Release.

Sends a PUT request to /v1/projects/{idOrName}/project-capabilities/models

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.configure_project_models()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn configure_project_keys(&self) -> ConfigureProjectKeys<'_>

Enable customer-owned application encryption without requiring an application Release.

Sends a PUT request to /v1/projects/{idOrName}/project-capabilities/keys

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.configure_project_keys()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn configure_project_buckets(&self) -> ConfigureProjectBuckets<'_>

Enable buckets without requiring a project Release.

Sends a PUT request to /v1/projects/{idOrName}/project-capabilities/buckets

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.configure_project_buckets()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn configure_project_registry(&self) -> ConfigureProjectRegistry<'_>

Enable customer-owned container registries without requiring an application Release.

Sends a PUT request to /v1/projects/{idOrName}/project-capabilities/registry

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.configure_project_registry()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn configure_project_remote_sandbox( &self, ) -> ConfigureProjectRemoteSandbox<'_>

Enable a customer-owned sandbox a hosted caller can drive through Remote Bindings. AWS only.

Sends a PUT request to /v1/projects/{idOrName}/project-capabilities/remote-sandbox

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.configure_project_remote_sandbox()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_project_capability_overview( &self, ) -> GetProjectCapabilityOverview<'_>

Get safe, server-derived capability status for a Project.

Sends a GET request to /v1/projects/{idOrName}/project-capabilities/overview

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_project_capability_overview()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_remote_bindings_external_access( &self, ) -> CreateRemoteBindingsExternalAccess<'_>

Create short-lived Remote Bindings access for a external resource

Selects a connected external resource by Project and external ID, then returns a short-lived deployment-scoped Manager capability. The caller never receives the external cloud credentials from Platform.

Sends a POST request to /v1/projects/{idOrName}/remote-bindings/access

Arguments:

  • id_or_name: Project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_remote_bindings_external_access()
    .id_or_name(id_or_name)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_project_ai_usage(&self) -> GetProjectAiUsage<'_>

Sends a GET request to /v1/projects/{idOrName}/ai-metrics

Arguments:

  • id_or_name: Project ID or name.
  • range
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_project_ai_usage()
    .id_or_name(id_or_name)
    .range(range)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_project_encryption_usage(&self) -> GetProjectEncryptionUsage<'_>

Sends a GET request to /v1/projects/{idOrName}/encryption-metrics

Arguments:

  • id_or_name: Project ID or name.
  • range
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_project_encryption_usage()
    .id_or_name(id_or_name)
    .range(range)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_deployment_groups(&self) -> ListDeploymentGroups<'_>

List deployment groups

Sends a GET request to /v1/deployment-groups

Arguments:

  • cursor: Cursor for pagination - omit for first page
  • include: Optional fields to include: project
  • limit: Maximum number of items to return per page
  • project: Filter by project ID or name.
  • search: Search deployment groups by name
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_deployment_groups()
    .cursor(cursor)
    .include(include)
    .limit(limit)
    .project(project)
    .search(search)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_deployment_group(&self) -> CreateDeploymentGroup<'_>

Create a new deployment group

Sends a POST request to /v1/deployment-groups

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_deployment_group()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn ensure_deployment_group_by_name(&self) -> EnsureDeploymentGroupByName<'_>

Get or create a deployment group by project and name

Sends a PUT request to /v1/deployment-groups/by-name

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.ensure_deployment_group_by_name()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_deployment_group_by_external_id( &self, ) -> GetDeploymentGroupByExternalId<'_>

Get a deployment group by project and external ID

Sends a GET request to /v1/deployment-groups/by-external-id

Arguments:

  • external_id: Case-sensitive, URL- and header-safe identifier from the integrating application.
  • project: Project ID or name. Optional for project-scoped API keys.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_deployment_group_by_external_id()
    .external_id(external_id)
    .project(project)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn ensure_deployment_group_by_external_id( &self, ) -> EnsureDeploymentGroupByExternalId<'_>

Get or create a deployment group by project and external ID

Sends a PUT request to /v1/deployment-groups/by-external-id

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.ensure_deployment_group_by_external_id()
    .workspace(workspace)
    .body(body)
    .send()
    .await;

Create a customer setup link

Ensures the Deployment Group identified by Project and external ID, then creates a group-scoped setup link with exact captured sources.

Sends a POST request to /v1/deployment-groups/setup-links

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_setup_link()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_deployment_group(&self) -> GetDeploymentGroup<'_>

Get deployment group details

Sends a GET request to /v1/deployment-groups/{id}

Arguments:

  • id: Unique identifier for the deployment group.
  • include: Optional fields to include: project
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_deployment_group()
    .id(id)
    .include(include)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn delete_deployment_group(&self) -> DeleteDeploymentGroup<'_>

Delete deployment group

Sends a DELETE request to /v1/deployment-groups/{id}

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.delete_deployment_group()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn update_deployment_group(&self) -> UpdateDeploymentGroup<'_>

Update deployment group

Sends a PATCH request to /v1/deployment-groups/{id}

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_deployment_group()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn set_deployment_group_external_id( &self, ) -> SetDeploymentGroupExternalId<'_>

Set or clear a deployment group’s external ID

Sends a PUT request to /v1/deployment-groups/{id}/external-id

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.set_deployment_group_external_id()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn create_deployment_group_token(&self) -> CreateDeploymentGroupToken<'_>

Create deployment group token

Creates a deployment-group scoped API key and returns both the token and formatted deployment link

Sends a POST request to /v1/deployment-groups/{id}/tokens

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_deployment_group_token()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn create_first_party_deployment_session( &self, ) -> CreateFirstPartyDeploymentSession<'_>

Create first-party deployment session

Mints a short-lived deployment-group token with the recommended self-deploy policy for the authenticated developer.

Sends a POST request to /v1/deployment-groups/{id}/first-party-session

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.create_first_party_deployment_session()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_external_ai_binding(&self) -> GetExternalAiBinding<'_>

Get external AI connection state

Sends a GET request to /v1/deployment-groups/{id}/ai/external

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_external_ai_binding()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn put_external_ai_binding(&self) -> PutExternalAiBinding<'_>

Connect or rotate an external AI provider key

Sends a PUT request to /v1/deployment-groups/{id}/ai/external

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.put_external_ai_binding()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn delete_external_ai_binding(&self) -> DeleteExternalAiBinding<'_>

Revoke the external AI connection

Sends a DELETE request to /v1/deployment-groups/{id}/ai/external

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.delete_external_ai_binding()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_external_ai_model_check(&self) -> CreateExternalAiModelCheck<'_>

Queue an explicit external model access check

Sends a POST request to /v1/deployment-groups/{id}/ai/external/models/{publicModelId}/checks

Arguments:

  • id: Unique identifier for the deployment group.
  • public_model_id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.create_external_ai_model_check()
    .id(id)
    .public_model_id(public_model_id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_external_ai_model_check(&self) -> GetExternalAiModelCheck<'_>

Get an external model access check

Sends a GET request to /v1/deployment-groups/{id}/ai/external/model-checks/{checkId}

Arguments:

  • id: Unique identifier for the deployment group.
  • check_id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_external_ai_model_check()
    .id(id)
    .check_id(check_id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_container_registry(&self) -> GetContainerRegistry<'_>

Sends a GET request to /v1/deployment-groups/{id}/container-registry

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_container_registry()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn put_container_registry(&self) -> PutContainerRegistry<'_>

Sends a PUT request to /v1/deployment-groups/{id}/container-registry

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.put_container_registry()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn create_container_registry_repository( &self, ) -> CreateContainerRegistryRepository<'_>

Sends a POST request to /v1/deployment-groups/{id}/container-registry/repositories

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_container_registry_repository()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn create_container_registry_credential( &self, ) -> CreateContainerRegistryCredential<'_>

Sends a POST request to /v1/deployment-groups/{id}/container-registry/credentials

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_container_registry_credential()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn revoke_container_registry_credential( &self, ) -> RevokeContainerRegistryCredential<'_>

Sends a DELETE request to /v1/deployment-groups/{id}/container-registry/credentials/{credentialId}

Arguments:

  • id: Unique identifier for the deployment group.
  • credential_id: Unique identifier for the container registry credential.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.revoke_container_registry_credential()
    .id(id)
    .credential_id(credential_id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn delete_container_registry_repository( &self, ) -> DeleteContainerRegistryRepository<'_>

Sends a DELETE request to /v1/deployment-groups/{id}/container-registry/repositories/{repositoryId}

Arguments:

  • id: Unique identifier for the deployment group.
  • repository_id: Unique identifier for the container registry repository.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.delete_container_registry_repository()
    .id(id)
    .repository_id(repository_id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn verify_container_registry(&self) -> VerifyContainerRegistry<'_>

Sends a POST request to /v1/deployment-groups/{id}/container-registry/verify

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.verify_container_registry()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn revoke_container_registry(&self) -> RevokeContainerRegistry<'_>

Sends a POST request to /v1/deployment-groups/{id}/container-registry/revoke

Arguments:

  • id: Unique identifier for the deployment group.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.revoke_container_registry()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_packages(&self) -> ListPackages<'_>

List packages with optional filters. Returns packages ordered by creation date (newest first).

Sends a GET request to /v1/packages

Arguments:

  • cursor: Cursor for pagination - omit for first page
  • limit: Maximum number of items to return per page
  • project: Filter by project ID or name.
  • search: Search packages by type or version
  • status: Filter by package status
  • type_: Filter by package type
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_packages()
    .cursor(cursor)
    .limit(limit)
    .project(project)
    .search(search)
    .status(status)
    .type_(type_)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_package(&self) -> GetPackage<'_>

Get details of a specific package.

Sends a GET request to /v1/packages/{id}

Arguments:

  • id: Unique identifier for the package.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_package()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn rebuild_packages(&self) -> RebuildPackages<'_>

Rebuild packages for a project. This will cancel any pending packages and create new ones with auto-incremented versions.

Sends a POST request to /v1/packages/rebuild

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.rebuild_packages()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn cancel_package(&self) -> CancelPackage<'_>

Cancel a pending or building package.

Sends a POST request to /v1/packages/{id}/cancel

Arguments:

  • id: Unique identifier for the package.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.cancel_package()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_releases(&self) -> ListReleases<'_>

Retrieve all releases.

Sends a GET request to /v1/releases

Arguments:

  • all_channels
  • author: Filter by commit author login or name
  • branch: Filter by git branch (commitRef)
  • channel: Filter to releases promoted to this channel. Defaults to production.
  • created_after: Filter releases created after this date (ISO 8601)
  • created_before: Filter releases created before this date (ISO 8601)
  • cursor: Cursor for pagination - omit for first page
  • include: Optional fields to include: project, rollout
  • limit: Maximum number of items to return per page
  • project: Filter by project ID or name.
  • search: Search releases by commit message, branch, SHA, or release ID
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_releases()
    .all_channels(all_channels)
    .author(author)
    .branch(branch)
    .channel(channel)
    .created_after(created_after)
    .created_before(created_before)
    .cursor(cursor)
    .include(include)
    .limit(limit)
    .project(project)
    .search(search)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_release(&self) -> CreateRelease<'_>

Create a new release.

Sends a POST request to /v1/releases

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_release()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn list_release_branches(&self) -> ListReleaseBranches<'_>

List distinct git branches across releases. Used for filter dropdowns.

Sends a GET request to /v1/releases/branches

Arguments:

  • limit: Maximum number of branches to return
  • project: Filter by project ID or name.
  • search: Search branches by name (case-insensitive contains)
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_release_branches()
    .limit(limit)
    .project(project)
    .search(search)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_release_authors(&self) -> ListReleaseAuthors<'_>

List distinct commit authors across releases. Used for filter dropdowns.

Sends a GET request to /v1/releases/authors

Arguments:

  • limit: Maximum number of authors to return
  • project: Filter by project ID or name.
  • search: Search authors by login or name (case-insensitive contains)
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_release_authors()
    .limit(limit)
    .project(project)
    .search(search)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_release(&self) -> GetRelease<'_>

Retrieve a release by ID.

Sends a GET request to /v1/releases/{id}

Arguments:

  • id: Unique identifier for the release.
  • include: Optional fields to include: project, rollout
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_release()
    .id(id)
    .include(include)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_release_deployments(&self) -> ListReleaseDeployments<'_>

List the project’s deployments with their rollout state relative to this release.

Sends a GET request to /v1/releases/{id}/deployments

Arguments:

  • id: Unique identifier for the release.
  • cursor: Cursor for pagination - omit for first page
  • deployment_group: Filter by deployment group ID or name
  • limit: Maximum number of items to return per page
  • state: Filter deployments by rollout state
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_release_deployments()
    .id(id)
    .cursor(cursor)
    .deployment_group(deployment_group)
    .limit(limit)
    .state(state)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_release_channels(&self) -> ListReleaseChannels<'_>

List release channels

List the release channels configured for a project.

Sends a GET request to /v1/release-channels

Arguments:

  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_release_channels()
    .project(project)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_release_channel(&self) -> CreateReleaseChannel<'_>

Create a release channel

Create a release channel for a project.

Sends a POST request to /v1/release-channels

Arguments:

  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_release_channel()
    .project(project)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn promote_release(&self) -> PromoteRelease<'_>

Sends a POST request to /v1/release-channels/{name}/promote

Arguments:

  • name
  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.promote_release()
    .name(name)
    .project(project)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn delete_release_channel(&self) -> DeleteReleaseChannel<'_>

Delete a release channel

Delete a release channel from a project.

Sends a DELETE request to /v1/release-channels/{name}

Arguments:

  • name
  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.delete_release_channel()
    .name(name)
    .project(project)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_deployments(&self) -> ListDeployments<'_>

Retrieve all deployments.

Sends a GET request to /v1/deployments

Arguments:

  • cursor: Cursor for pagination - omit for first page
  • deployment_group: Filter by deployment group ID or name
  • environment: Filter deployments by effective environment
  • include: Optional fields to include: release, deploymentGroup, project
  • limit: Maximum number of items to return per page
  • manager_id: Filter by manager ID
  • name: Filter by exact deployment name. Must be used with deploymentGroup.
  • project: Filter by project ID or name.
  • purpose: Filter by deployment purpose
  • search: Search deployments by name, public subdomain, or deployment group name
  • status: Filter deployments by status
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_deployments()
    .cursor(cursor)
    .deployment_group(deployment_group)
    .environment(environment)
    .include(include)
    .limit(limit)
    .manager_id(manager_id)
    .name(name)
    .project(project)
    .purpose(purpose)
    .search(search)
    .status(status)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_deployment(&self) -> CreateDeployment<'_>

Create a new deployment. Deployment group tokens automatically use their group. Workspace/project tokens must provide deploymentGroupId.

Sends a POST request to /v1/deployments

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_deployment()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_deployment_stats(&self) -> GetDeploymentStats<'_>

Get aggregated deployment statistics. Returns total count and breakdown by status.

Sends a GET request to /v1/deployments/stats

Arguments:

  • deployment_group: Filter by deployment group ID or name
  • environment: Filter deployments by effective environment
  • manager_id: Filter by manager ID
  • project: Filter by project ID or name.
  • purpose: Filter by deployment purpose
  • search: Search deployments by name or deployment group name
  • status: Filter deployments by status
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_deployment_stats()
    .deployment_group(deployment_group)
    .environment(environment)
    .manager_id(manager_id)
    .project(project)
    .purpose(purpose)
    .search(search)
    .status(status)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_deployment_filter_environments( &self, ) -> ListDeploymentFilterEnvironments<'_>

List distinct effective environments used by deployments. Used for filter dropdowns.

Sends a GET request to /v1/deployments/filter-environments

Arguments:

  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_deployment_filter_environments()
    .project(project)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_deployment_filter_deployment_groups( &self, ) -> ListDeploymentFilterDeploymentGroups<'_>

List deployment groups with deployment counts. Used for filter dropdowns.

Sends a GET request to /v1/deployments/filter-deployment-groups

Arguments:

  • limit: Maximum number of items to return
  • project: Filter by project ID or name.
  • search: Search deployment groups by name
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_deployment_filter_deployment_groups()
    .limit(limit)
    .project(project)
    .search(search)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_deployment(&self) -> GetDeployment<'_>

Retrieve a deployment by ID.

Sends a GET request to /v1/deployments/{id}

Arguments:

  • id: Unique identifier for the deployment.
  • include: Optional fields to include: release, deploymentGroup, project
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_deployment()
    .id(id)
    .include(include)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_deployment_connection_info(&self) -> GetDeploymentConnectionInfo<'_>

Get deployment connection information including command endpoint and resource URLs.

Sends a GET request to /v1/deployments/{id}/info

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_deployment_connection_info()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn import_deployment(&self) -> ImportDeployment<'_>

Import a deployment from resolved setup infrastructure such as CloudFormation, Terraform, or Helm.

Sends a POST request to /v1/deployments/import

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.import_deployment()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn set_first_party_deployment_inputs( &self, ) -> SetFirstPartyDeploymentInputs<'_>

Store operator-provided input values on a first-party deployment session token so CLI/local deploys apply them.

Sends a PUT request to /v1/deployments/first-party-inputs

let response = client.set_first_party_deployment_inputs()
    .body(body)
    .send()
    .await;
Source

pub fn create_setup_registration_operation( &self, ) -> CreateSetupRegistrationOperation<'_>

Start a durable setup registration operation for CloudFormation, Terraform, or Helm.

Sends a POST request to /v1/deployments/setup-registration-operations

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_setup_registration_operation()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_setup_registration_operation( &self, ) -> GetSetupRegistrationOperation<'_>

Get setup registration operation status.

Sends a GET request to /v1/deployments/setup-registration-operations/{id}

Arguments:

  • id: Unique identifier for the setup registration operation.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_setup_registration_operation()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn delete_deployment(&self) -> DeleteDeployment<'_>

Delete, detach, or forget a deployment by ID.

Sends a POST request to /v1/deployments/{id}/delete

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.delete_deployment()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn redeploy_deployment(&self) -> RedeployDeployment<'_>

Redeploy a running deployment with the same release and fresh environment variables. Sets status to update-pending.

Sends a POST request to /v1/deployments/{id}/redeploy

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.redeploy_deployment()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn pin_deployment_release(&self) -> PinDeploymentRelease<'_>

Pin or unpin a running or runtime-failed deployment. Running deployments start an update; failed deployments retry toward the selected release.

Sends a POST request to /v1/deployments/{id}/pin-release

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.pin_deployment_release()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn set_deployment_release_channel(&self) -> SetDeploymentReleaseChannel<'_>

Sends a POST request to /v1/deployments/{id}/release-channel

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.set_deployment_release_channel()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn retry_deployment(&self) -> RetryDeployment<'_>

Retry a failed deployment operation. Uses alien-infra’s retry mechanisms to resume from exact failure point.

Sends a POST request to /v1/deployments/{id}/retry

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.retry_deployment()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_deployment_inputs(&self) -> GetDeploymentInputs<'_>

Get the active input definitions and current non-secret values for a deployment.

Sends a GET request to /v1/deployments/{id}/inputs

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_deployment_inputs()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn update_deployment_inputs(&self) -> UpdateDeploymentInputs<'_>

Update runtime stack inputs, rebuild their environment-variable mappings, and request a deployment update when runtime configuration changes.

Sends a PATCH request to /v1/deployments/{id}/inputs

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_deployment_inputs()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn update_deployment_compute(&self) -> UpdateDeploymentCompute<'_>

Update deployment-time compute pool selections and request reconciliation by the hosted manager.

Sends a PATCH request to /v1/deployments/{id}/compute

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_deployment_compute()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn update_deployment_environment_variables( &self, ) -> UpdateDeploymentEnvironmentVariables<'_>

Replace a deployment’s advanced environment variables. Stack-input-backed variables are write-only through the input endpoint. If the deployment is running and not locked, the status will be changed to update-pending to trigger a deployment.

Sends a PATCH request to /v1/deployments/{id}/environment-variables

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_deployment_environment_variables()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn create_deployment_token(&self) -> CreateDeploymentToken<'_>

Create a deployment token (deployment-scoped API key). The deployment must exist before creating a token.

Sends a POST request to /v1/deployments/{id}/token

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_deployment_token()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn list_managers(&self) -> ListManagers<'_>

Retrieve all managers.

Sends a GET request to /v1/managers

Arguments:

  • limit: Maximum number of managers to return
  • search: Search managers by name
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_managers()
    .limit(limit)
    .search(search)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_manager(&self) -> CreateManager<'_>

Create a new manager.

Sends a POST request to /v1/managers

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_manager()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn retry_manager_setup(&self) -> RetryManagerSetup<'_>

Revoke previous private-manager setup tokens and issue a fresh setup token/config.

Sends a POST request to /v1/managers/{id}/setup-token

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.retry_manager_setup()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn retry_manager(&self) -> RetryManager<'_>

Retry private-manager setup. Returns a fresh setup action before the internal deployment exists, or requests retry for the internal deployment after it exists.

Sends a POST request to /v1/managers/{id}/retry

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.retry_manager()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn cancel_manager_setup(&self) -> CancelManagerSetup<'_>

Cancel pending private-manager setup, revoke setup/runtime tokens, and remove the undeployed manager record.

Sends a POST request to /v1/managers/{id}/cancel-setup

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.cancel_manager_setup()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_manager(&self) -> GetManager<'_>

Retrieve a manager by ID.

Sends a GET request to /v1/managers/{id}

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_manager()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn delete_manager(&self) -> DeleteManager<'_>

Delete a manager by ID.

Sends a DELETE request to /v1/managers/{id}

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.delete_manager()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_manager_domain_binding(&self) -> GetManagerDomainBinding<'_>

Get the custom domain binding for a private manager.

Sends a GET request to /v1/managers/{id}/domain-binding

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_manager_domain_binding()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn update_manager_domain_binding(&self) -> UpdateManagerDomainBinding<'_>

Create, update, or remove the custom domain binding for a private manager.

Sends a PUT request to /v1/managers/{id}/domain-binding

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_manager_domain_binding()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_manager_management_config(&self) -> GetManagerManagementConfig<'_>

Get the management configuration for a manager.

Sends a GET request to /v1/managers/{id}/management-config

Arguments:

  • id: Unique identifier for a manager.
  • platform: Represents the target cloud platform.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_manager_management_config()
    .id(id)
    .platform(platform)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn provision_manager(&self) -> ProvisionManager<'_>

Enqueue provisioning for a manager by ID.

Sends a POST request to /v1/managers/{id}/provision

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.provision_manager()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn update_manager(&self) -> UpdateManager<'_>

Update a manager to a specific release ID or active release.

Sends a POST request to /v1/managers/{id}/update

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_manager()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn list_manager_events(&self) -> ListManagerEvents<'_>

Retrieve all events of a manager.

Sends a GET request to /v1/managers/{id}/events

Arguments:

  • id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_manager_events()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn generate_manager_token(&self) -> GenerateManagerToken<'_>

Generate a short-lived JWT for direct browser → manager communication. Used for fetching command payloads and querying logs without routing sensitive data through the platform API.

Sends a POST request to /v1/managers/{id}/token

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.generate_manager_token()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn generate_manager_binding_token(&self) -> GenerateManagerBindingToken<'_>

Generate a short-lived deployment-scoped token for resolving opted-in remote bindings through the currently assigned manager.

Sends a POST request to /v1/managers/{id}/binding-token

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.generate_manager_binding_token()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn resolve_manager_gcp_o_auth_provider( &self, ) -> ResolveManagerGcpOAuthProvider<'_>

Resolve decrypted project-level Google Cloud OAuth provider settings for a manager-side deployment bootstrap.

Sends a POST request to /v1/managers/{id}/gcp-oauth-provider/resolve

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.resolve_manager_gcp_o_auth_provider()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn report_manager_heartbeat(&self) -> ReportManagerHeartbeat<'_>

Report Manager health status and metrics.

Sends a POST request to /v1/managers/{id}/heartbeat

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.report_manager_heartbeat()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_manager_deployment(&self) -> GetManagerDeployment<'_>

Get deployment details for a private manager (internal deployment platform, status, resources).

Sends a GET request to /v1/managers/{id}/deployment

Arguments:

  • id: Unique identifier for a manager.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_manager_deployment()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_container_registry_manager_snapshot( &self, ) -> GetContainerRegistryManagerSnapshot<'_>

Sends a GET request to /v1/managers/{id}/container-registry/snapshot

let response = client.get_container_registry_manager_snapshot()
    .id(id)
    .send()
    .await;
Source

pub fn apply_container_registry_manager_snapshot( &self, ) -> ApplyContainerRegistryManagerSnapshot<'_>

Sends a POST request to /v1/managers/{id}/container-registry/applied

let response = client.apply_container_registry_manager_snapshot()
    .id(id)
    .body(body)
    .send()
    .await;
Source

pub fn prepare_operator_manifest_package( &self, ) -> PrepareOperatorManifestPackage<'_>

Prepare the white-labeled Operator image for an Operate install

Sends a POST request to /v1/operator-manifests/prepare

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.prepare_operator_manifest_package()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn render_operator_manifest(&self) -> RenderOperatorManifest<'_>

Render a Kubernetes Operator manifest

Sends a POST request to /v1/operator-manifests/render

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.render_operator_manifest()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn list_api_keys(&self) -> ListApiKeys<'_>

Retrieve all API keys for the current workspace.

Sends a GET request to /v1/api-keys

Arguments:

  • cursor: Cursor for pagination - omit for first page
  • limit: Maximum number of items to return per page
  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_api_keys()
    .cursor(cursor)
    .limit(limit)
    .project(project)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_api_key(&self) -> CreateApiKey<'_>

Create a new API key.

Sends a POST request to /v1/api-keys

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_api_key()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_api_key(&self) -> GetApiKey<'_>

Retrieve a specific API key.

Sends a GET request to /v1/api-keys/{id}

Arguments:

  • id: Unique identifier for the api key.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_api_key()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn revoke_api_key(&self) -> RevokeApiKey<'_>

Revoke (soft delete) an API key.

Sends a DELETE request to /v1/api-keys/{id}

Arguments:

  • id: Unique identifier for the api key.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.revoke_api_key()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn update_api_key(&self) -> UpdateApiKey<'_>

Update an API key (enable/disable, change description).

Sends a PATCH request to /v1/api-keys/{id}

Arguments:

  • id: Unique identifier for the api key.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_api_key()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn delete_api_keys(&self) -> DeleteApiKeys<'_>

Permanently delete multiple API keys.

Sends a POST request to /v1/api-keys/batch-delete

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.delete_api_keys()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn list_domains(&self) -> ListDomains<'_>

List system domains and workspace domains.

Sends a GET request to /v1/domains

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_domains()
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_domain(&self) -> CreateDomain<'_>

Create a workspace domain and optional initial endpoints.

Sends a POST request to /v1/domains

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_domain()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn create_domain_endpoint(&self) -> CreateDomainEndpoint<'_>

Create an endpoint under a workspace domain.

Sends a POST request to /v1/domains/{id}/endpoints

Arguments:

  • id: Unique identifier for the domain.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_domain_endpoint()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_domain(&self) -> GetDomain<'_>

Get domain by ID.

Sends a GET request to /v1/domains/{id}

Arguments:

  • id: Unique identifier for the domain.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_domain()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn delete_domain(&self) -> DeleteDomain<'_>

Delete a workspace domain.

Sends a DELETE request to /v1/domains/{id}

Arguments:

  • id: Unique identifier for the domain.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.delete_domain()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn refresh_domain(&self) -> RefreshDomain<'_>

Refresh workspace domain verification.

Sends a POST request to /v1/domains/{id}/refresh

Arguments:

  • id: Unique identifier for the domain.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.refresh_domain()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_events(&self) -> ListEvents<'_>

Retrieve all events.

Sends a GET request to /v1/events

Arguments:

  • cursor: Cursor for pagination - omit for first page
  • deployment_id: Filter events to a single deployment.
  • include: Optional fields to include: releaseCreatedAt
  • limit: Maximum number of items to return per page
  • project: Filter by project ID or name.
  • release_id: Filter events to a single release.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_events()
    .cursor(cursor)
    .deployment_id(deployment_id)
    .include(include)
    .limit(limit)
    .project(project)
    .release_id(release_id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_event(&self) -> GetEvent<'_>

Retrieve an event by ID.

Sends a GET request to /v1/events/{id}

Arguments:

  • id: Unique identifier for the event.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_event()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_machines_join_tokens(&self) -> ListMachinesJoinTokens<'_>

Sends a GET request to /v1/machines/deployments/{id}/join-tokens

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_machines_join_tokens()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_machines_join_token(&self) -> CreateMachinesJoinToken<'_>

Sends a POST request to /v1/machines/deployments/{id}/join-tokens

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.create_machines_join_token()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn rotate_machines_join_token(&self) -> RotateMachinesJoinToken<'_>

Sends a POST request to /v1/machines/deployments/{id}/join-tokens/rotate

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.rotate_machines_join_token()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn revoke_machines_join_token(&self) -> RevokeMachinesJoinToken<'_>

Sends a DELETE request to /v1/machines/deployments/{id}/join-tokens/{tokenId}

Arguments:

  • id: Unique identifier for the deployment.
  • token_id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.revoke_machines_join_token()
    .id(id)
    .token_id(token_id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_machines_inventory(&self) -> ListMachinesInventory<'_>

Sends a GET request to /v1/machines/deployments/{id}/inventory

Arguments:

  • id: Unique identifier for the deployment.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_machines_inventory()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn drain_machines_machine(&self) -> DrainMachinesMachine<'_>

Sends a POST request to /v1/machines/deployments/{id}/machines/{machineId}/drain

Arguments:

  • id: Unique identifier for the deployment.
  • machine_id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.drain_machines_machine()
    .id(id)
    .machine_id(machine_id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn cancel_machines_machine_drain(&self) -> CancelMachinesMachineDrain<'_>

Sends a DELETE request to /v1/machines/deployments/{id}/machines/{machineId}/drain

Arguments:

  • id: Unique identifier for the deployment.
  • machine_id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.cancel_machines_machine_drain()
    .id(id)
    .machine_id(machine_id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn remove_machines_machine(&self) -> RemoveMachinesMachine<'_>

Sends a DELETE request to /v1/machines/deployments/{id}/machines/{machineId}

Arguments:

  • id: Unique identifier for the deployment.
  • machine_id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.remove_machines_machine()
    .id(id)
    .machine_id(machine_id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn bootstrap_commands(&self) -> BootstrapCommands<'_>

Resolve a deployment’s current manager and mint a five-minute command capability. Sender tokens can dispatch and observe commands only for this deployment. Receiver tokens can lease and complete commands only for the resolved Container or Daemon target.

Sends a POST request to /v1/commands/bootstrap

let response = client.bootstrap_commands()
    .body(body)
    .send()
    .await;
Source

pub fn list_commands(&self) -> ListCommands<'_>

Retrieve commands. Use for dashboard analytics and command history.

Sends a GET request to /v1/commands

Arguments:

  • created_after: Filter commands created after this date (ISO 8601)
  • created_before: Filter commands created before this date (ISO 8601)
  • cursor: Cursor for pagination - omit for first page
  • deployment_id: Filter by deployment ID
  • include: Optional fields to include: deployment, project
  • limit: Maximum number of items to return per page
  • name: Filter by command name
  • project: Filter by project ID or name.
  • search: Search commands by name
  • state: Filter by command state
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_commands()
    .created_after(created_after)
    .created_before(created_before)
    .cursor(cursor)
    .deployment_id(deployment_id)
    .include(include)
    .limit(limit)
    .name(name)
    .project(project)
    .search(search)
    .state(state)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_command(&self) -> CreateCommand<'_>

Create command metadata. Called by manager when processing commands. Returns project info for routing decisions.

Sends a POST request to /v1/commands

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_command()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn list_command_names(&self) -> ListCommandNames<'_>

List distinct command names. Use for filter dropdowns in the dashboard.

Sends a GET request to /v1/commands/names

Arguments:

  • project: Filter by project ID or name.
  • search: Search command names (prefix match)
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_command_names()
    .project(project)
    .search(search)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_command_deployments(&self) -> ListCommandDeployments<'_>

List distinct deployments that have commands, including deployment group info. Use for filter dropdowns in the dashboard.

Sends a GET request to /v1/commands/deployments

Arguments:

  • project: Filter by project ID or name.
  • search: Search deployment or deployment group names
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_command_deployments()
    .project(project)
    .search(search)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn resolve_command_target(&self) -> ResolveCommandTarget<'_>

Resolve which resource a command for this deployment would be addressed to, and how it would be delivered. Fails when the deployment has no command-capable resources, or more than one and no explicit target was named.

Sends a GET request to /v1/commands/target

Arguments:

  • deployment_id: Deployment to resolve the target for
  • target: Explicit resource id to resolve; must be a command-capable resource
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.resolve_command_target()
    .deployment_id(deployment_id)
    .target(target)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_command(&self) -> GetCommand<'_>

Retrieve a command by ID.

Sends a GET request to /v1/commands/{id}

Arguments:

  • id: Unique identifier for the command.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_command()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn update_command(&self) -> UpdateCommand<'_>

Update command state. Called by manager when command is dispatched or completes.

Sends a PATCH request to /v1/commands/{id}

Arguments:

  • id: Unique identifier for the command.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_command()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn dispatch_command(&self) -> DispatchCommand<'_>

Atomically mark a command DISPATCHED unless it is already terminal. Returns whether the transition was applied.

Sends a POST request to /v1/commands/{id}/dispatch

Arguments:

  • id: Unique identifier for the command.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.dispatch_command()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn complete_command(&self) -> CompleteCommand<'_>

Atomically transition a command to a terminal state (SUCCEEDED, FAILED, or EXPIRED) unless it is already terminal. Returns whether the transition was applied.

Sends a POST request to /v1/commands/{id}/complete

Arguments:

  • id: Unique identifier for the command.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.complete_command()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn increment_command_attempt(&self) -> IncrementCommandAttempt<'_>

Atomically increment the command’s attempt counter and return the new value.

Sends a POST request to /v1/commands/{id}/increment-attempt

Arguments:

  • id: Unique identifier for the command.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.increment_command_attempt()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_debug_sessions(&self) -> ListDebugSessions<'_>

Retrieve debug sessions for dashboard audit. Filters: project, deployment, state, mode.

Sends a GET request to /v1/debug-sessions

Arguments:

  • cursor: Cursor for pagination - omit for first page
  • deployment_id: Filter by deployment ID
  • limit: Maximum number of items to return per page
  • mode: Filter by deployment model (push/pull). Joins against the parent deployment.
  • project: Filter by project ID or name.
  • provider: Filter by cloud provider. Joins against the parent deployment.
  • state: Filter by session state
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_debug_sessions()
    .cursor(cursor)
    .deployment_id(deployment_id)
    .limit(limit)
    .mode(mode)
    .project(project)
    .provider(provider)
    .state(state)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_debug_session(&self) -> CreateDebugSession<'_>

Create a debug-session audit row. Called by the manager when a pull or push debug tunnel is opened. Workspace + project derived from deployment.

Sends a POST request to /v1/debug-sessions

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_debug_session()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_debug_session(&self) -> GetDebugSession<'_>

Retrieve a debug session by ID.

Sends a GET request to /v1/debug-sessions/{id}

Arguments:

  • id: Unique identifier for the debug session.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_debug_session()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn update_debug_session(&self) -> UpdateDebugSession<'_>

Update debug-session state. Called by manager on tunnel attach, close, or deadline expiry.

Sends a PATCH request to /v1/debug-sessions/{id}

Arguments:

  • id: Unique identifier for the debug session.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_debug_session()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_deployment_info(&self) -> GetDeploymentInfo<'_>

Get deployment information for the deployment portal. Accepts both deployment-scoped and deployment-group-scoped API keys. Returns project information, package status/outputs, and either deployment or deployment group details depending on the token type. Poll this endpoint to check if packages are ready.

Sends a GET request to /v1/deployment-info

Arguments:

  • platform: Represents the target cloud platform.
  • setup_item
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_deployment_info()
    .platform(platform)
    .setup_item(setup_item)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn plan_deployment_compute(&self) -> PlanDeploymentCompute<'_>

Plan deployment compute for the active release before stack preparation. The response contains recommended machine and scale choices for cloud compute pools.

Sends a POST request to /v1/deployment-info/compute-plan

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.plan_deployment_compute()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn prepare_deployment_stack(&self) -> PrepareDeploymentStack<'_>

Prepare the active release stack for a deployment portal setup session. The response contains the generated stack shape plus setup compatibility metadata.

Sends a POST request to /v1/deployment-info/prepare-stack

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.prepare_deployment_stack()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn slack_integration_install_url(&self) -> SlackIntegrationInstallUrl<'_>

Generate the Slack OAuth consent URL for this workspace.

Sends a POST request to /v1/integrations/slack/install-url

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.slack_integration_install_url()
    .workspace(workspace)
    .send()
    .await;
Source

pub fn slack_integration_status(&self) -> SlackIntegrationStatus<'_>

Return the Slack install for this workspace (if any).

Sends a GET request to /v1/integrations/slack/status

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.slack_integration_status()
    .workspace(workspace)
    .send()
    .await;
Source

pub fn slack_integration_channels(&self) -> SlackIntegrationChannels<'_>

List public Slack channels for this workspace’s install. Used by the dashboard’s notification-channel picker.

Sends a GET request to /v1/integrations/slack/channels

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.slack_integration_channels()
    .workspace(workspace)
    .send()
    .await;
Source

pub fn slack_integration_set_notification_channel( &self, ) -> SlackIntegrationSetNotificationChannel<'_>

Configure which Slack channel receives ai-agent monitor reports.

Sends a PUT request to /v1/integrations/slack/notification-channel

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.slack_integration_set_notification_channel()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn slack_integration_uninstall(&self) -> SlackIntegrationUninstall<'_>

Uninstall the Slack integration for this workspace. Revokes the bot token at Slack and deletes the row.

Sends a DELETE request to /v1/integrations/slack/installation

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.slack_integration_uninstall()
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_agent_sessions(&self) -> ListAgentSessions<'_>

List ai-agent monitor sessions for this workspace. Newest first, capped at 50.

Sends a GET request to /v1/agent-sessions

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_agent_sessions()
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_agent_session(&self) -> GetAgentSession<'_>

Retrieve one ai-agent monitor session by id.

Sends a GET request to /v1/agent-sessions/{id}

Arguments:

  • id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_agent_session()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_agent_session_events(&self) -> ListAgentSessionEvents<'_>

Incrementally read a session’s event log (steps, tool calls, report deltas, approvals, status transitions). Pass the previous response’s latestSeq as after to fetch only new events.

Sends a GET request to /v1/agent-sessions/{id}/events

Arguments:

  • id
  • after
  • limit
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_agent_session_events()
    .id(id)
    .after(after)
    .limit(limit)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn approve_agent_session(&self) -> ApproveAgentSession<'_>

Approve a halted ai-agent monitor session. Proxies to the ai-agent service, minting a fresh CLI session for the caller so the ai-agent’s own auth applies.

Sends a POST request to /v1/agent-sessions/{id}/approve

Arguments:

  • id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.approve_agent_session()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn stop_agent_session(&self) -> StopAgentSession<'_>

Stop (cancel) a running, queued, or halted ai-agent monitor session. Proxies to the ai-agent service, minting a fresh CLI session for the caller so the ai-agent’s own auth applies. Idempotent — stopping an already-terminal session is a 200 no-op.

Sends a POST request to /v1/agent-sessions/{id}/stop

Arguments:

  • id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.stop_agent_session()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_operations_plugins(&self) -> ListOperationsPlugins<'_>

List available operations plugins (builtin + custom) for a project, with their operations and risk tiers.

Sends a GET request to /v1/operations/plugins

Arguments:

  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_operations_plugins()
    .project(project)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn publish_operations_plugin(&self) -> PublishOperationsPlugin<'_>

Register a custom operations plugin whose bundle ZIP has already been uploaded to S3 (see POST /plugins/upload-url). Replaces any existing plugin of the same name in that project. New custom plugins are enabled by default.

Sends a POST request to /v1/operations/plugins

Arguments:

  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.publish_operations_plugin()
    .project(project)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn set_builtin_operations_plugins(&self) -> SetBuiltinOperationsPlugins<'_>

Replace the complete set of enabled built-in operations plugins for a project.

Sends a PUT request to /v1/operations/plugins/builtin/enabled

Arguments:

  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.set_builtin_operations_plugins()
    .project(project)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn create_operations_bundle_upload_url( &self, ) -> CreateOperationsBundleUploadUrl<'_>

Get a presigned S3 URL to upload a custom operations plugin bundle ZIP. Upload the ZIP with a PUT to the returned url (sending the given Content-Type), then call POST /plugins to register it.

Sends a POST request to /v1/operations/plugins/upload-url

Arguments:

  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_operations_bundle_upload_url()
    .project(project)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn set_operations_plugin_enabled(&self) -> SetOperationsPluginEnabled<'_>

Enable or disable an operations plugin (builtin or custom) for a project. Only enabled plugins are baked into the operator image and can be invoked.

Sends a PATCH request to /v1/operations/plugins/{name}/enabled

Arguments:

  • name: Plugin name.
  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.set_operations_plugin_enabled()
    .name(name)
    .project(project)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_operations_policy(&self) -> GetOperationsPolicy<'_>

Get a project’s per-command approval policy. Mirrors what the operator enforces: plugin/operation / plugin/* / * patterns → auto | manual.

Sends a GET request to /v1/operations/policy

Arguments:

  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_operations_policy()
    .project(project)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn update_operations_policy(&self) -> UpdateOperationsPolicy<'_>

Replace a project’s per-command approval policy (full rule set). Patterns are plugin/operation, plugin/*, or *; each maps to auto | manual.

Sends a PUT request to /v1/operations/policy

Arguments:

  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.update_operations_policy()
    .project(project)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn invoke_operation(&self) -> InvokeOperation<'_>

Invoke a plugin operation against a deployment. Honors the project’s per-command approval policy.

Sends a POST request to /v1/operations/invoke

Arguments:

  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.invoke_operation()
    .project(project)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn verify_operation_check(&self) -> VerifyOperationCheck<'_>

One verification poll cycle for a write operation’s declared verification spec. Dispatches the declared poll operation once, waits briefly for it, and evaluates the success condition. Returns ‘skipped’ if the operation declares no verification, or the write result lacks the fields verification needs. Callers poll this repeatedly per the operation’s declared retry policy.

Sends a POST request to /v1/operations/verify-check

Arguments:

  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.verify_operation_check()
    .project(project)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn list_access_requests(&self) -> ListAccessRequests<'_>

List a project’s access requests, newest first.

Sends a GET request to /v1/access-requests

Arguments:

  • cursor: Cursor for pagination - omit for first page
  • deployment_id: Filter by deployment ID.
  • limit: Maximum number of items to return per page
  • project: Filter by project ID or name.
  • status: Filter by status.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_access_requests()
    .cursor(cursor)
    .deployment_id(deployment_id)
    .limit(limit)
    .project(project)
    .status(status)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn create_access_request(&self) -> CreateAccessRequest<'_>

Create an access request — either plan-backed (an ai-agent investigation’s exact commands) or plan-less (a CLI-originated exact operation or wildcard pattern, resolved and frozen here). Plan-backed requests await the engineer gate (status pending-approval); plan-less requests are queued immediately since the requester is asking for their own access (status queued).

Sends a POST request to /v1/access-requests

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.create_access_request()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn queue_access_request(&self) -> QueueAccessRequest<'_>

Engineer gate — approve a pending access request, queuing it for the operator to materialize. Records who queued it.

Sends a POST request to /v1/access-requests/{id}/queue

Arguments:

  • id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.queue_access_request()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn approve_access_request(&self) -> ApproveAccessRequest<'_>

Customer gate, direct method — approve a queued access request immediately, granting the same window a kubectl approve would. method names the calling system (e.g. slack) for the audit trail.

Sends a POST request to /v1/access-requests/{id}/approve

Arguments:

  • id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.approve_access_request()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn deny_access_request(&self) -> DenyAccessRequest<'_>

Customer gate, direct method — reject a queued access request immediately. method names the calling system for the audit trail.

Sends a POST request to /v1/access-requests/{id}/deny

Arguments:

  • id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.deny_access_request()
    .id(id)
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn get_access_request_coordinates(&self) -> GetAccessRequestCoordinates<'_>

The customer’s kubectl approve command for a queued access request, or null until the operator has materialized the grant CR and reported its coordinates. Polled by the Slack handler to update the access-plan card.

Sends a GET request to /v1/access-requests/{id}/coordinates

Arguments:

  • id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_access_request_coordinates()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_pending_access_requests(&self) -> ListPendingAccessRequests<'_>

Operator-facing: the queued access requests for a deployment, for the access-request sync loop to materialize as grant CRs.

Sends a GET request to /v1/access-requests/pending

let response = client.list_pending_access_requests()
    .deployment_id(deployment_id)
    .send()
    .await;
Source

pub fn report_materialized_access_requests( &self, ) -> ReportMaterializedAccessRequests<'_>

Operator-facing: record the namespace + CRD plural the operator materialized the grant CRs in, so the control plane can render the customer’s exact kubectl approve command.

Sends a POST request to /v1/access-requests/materialized

let response = client.report_materialized_access_requests()
    .body(body)
    .send()
    .await;
Source

pub fn report_access_approvals(&self) -> ReportAccessApprovals<'_>

Operator-facing: record the customer’s approval windows reported back by the sync loop. Moves each request to customer-approved and resumes the investigation to dispatch commands.

Sends a POST request to /v1/access-requests/approvals

let response = client.report_access_approvals()
    .body(body)
    .send()
    .await;
Source

pub fn get_access_request(&self) -> GetAccessRequest<'_>

Get an access request by id.

Sends a GET request to /v1/access-requests/{id}

Arguments:

  • id
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_access_request()
    .id(id)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn sync_list(&self) -> SyncList<'_>

List full deployment records for manager operational loops. This endpoint is intentionally separate from the public deployments list, which returns lightweight UI rows.

Sends a POST request to /v1/sync/list

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.sync_list()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn sync_context(&self) -> SyncContext<'_>

Get computed deployment state and configuration for a manager-side operation without acquiring the deployment reconciliation lock.

Sends a POST request to /v1/sync/context

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.sync_context()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn sync_acquire(&self) -> SyncAcquire<'_>

Acquire a batch of deployments for processing. Used by Manager to atomically lock deployments matching filters. Each deployment in the batch must be released after processing.

Sends a POST request to /v1/sync/acquire

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.sync_acquire()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn sync_reconcile(&self) -> SyncReconcile<'_>

Reconcile deployment state. Push model requests that include a session verify lock ownership. Pull model state reports are accepted as authz-gated agent progress even when they carry an agent-sync session. Accepts full DeploymentState after step() execution.

Sends a POST request to /v1/sync/reconcile

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.sync_reconcile()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn sync_renew(&self) -> SyncRenew<'_>

Sends a POST request to /v1/sync/renew

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.sync_renew()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn sync_release(&self) -> SyncRelease<'_>

Release a deployment lock. Must be called after processing an acquired deployment, even if processing failed. This is critical to avoid deadlocks.

Sends a POST request to /v1/sync/release

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
  • body
let response = client.sync_release()
    .workspace(workspace)
    .body(body)
    .send()
    .await;
Source

pub fn list_inventory(&self) -> ListInventory<'_>

Sends a GET request to /v1/resources

Arguments:

  • deployment_group_id
  • deployment_id
  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_inventory()
    .deployment_group_id(deployment_group_id)
    .deployment_id(deployment_id)
    .project(project)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_resource_overview(&self) -> ListResourceOverview<'_>

Sends a GET request to /v1/resources/{area}

Arguments:

  • area
  • deployment_group_id
  • deployment_id
  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_resource_overview()
    .area(area)
    .deployment_group_id(deployment_group_id)
    .deployment_id(deployment_id)
    .project(project)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_resource_deployments(&self) -> ListResourceDeployments<'_>

Sends a GET request to /v1/resources/{area}/{resourceId}/deployments

Arguments:

  • area
  • resource_id
  • deployment_group_id
  • deployment_id
  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_resource_deployments()
    .area(area)
    .resource_id(resource_id)
    .deployment_group_id(deployment_group_id)
    .deployment_id(deployment_id)
    .project(project)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_resource_deployment_detail(&self) -> GetResourceDeploymentDetail<'_>

Sends a GET request to /v1/resources/{area}/deployments/{deploymentId}/{resourceId}

Arguments:

  • area
  • deployment_id
  • resource_id
  • project: Filter by project ID or name.
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_resource_deployment_detail()
    .area(area)
    .deployment_id(deployment_id)
    .resource_id(resource_id)
    .project(project)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_aws_virtual_keys(&self) -> ListAwsVirtualKeys<'_>

Sends a GET request to /v1/aws-virtual-keys

Arguments:

  • project: Filter by project ID or name.
let response = client.list_aws_virtual_keys()
    .project(project)
    .send()
    .await;
Source

pub fn create_aws_virtual_key(&self) -> CreateAwsVirtualKey<'_>

Sends a POST request to /v1/aws-virtual-keys

let response = client.create_aws_virtual_key()
    .body(body)
    .send()
    .await;
Source

pub fn rotate_aws_virtual_key_credential( &self, ) -> RotateAwsVirtualKeyCredential<'_>

Sends a POST request to /v1/aws-virtual-keys/{id}/rotate-credential

Arguments:

  • id: Unique identifier for the aws virtual key.
  • body
let response = client.rotate_aws_virtual_key_credential()
    .id(id)
    .body(body)
    .send()
    .await;
Source

pub fn restore_aws_virtual_key(&self) -> RestoreAwsVirtualKey<'_>

Sends a POST request to /v1/aws-virtual-keys/{id}/restore

Arguments:

  • id: Unique identifier for the aws virtual key.
  • body
let response = client.restore_aws_virtual_key()
    .id(id)
    .body(body)
    .send()
    .await;
Source

pub fn finalize_aws_virtual_key_deletion( &self, ) -> FinalizeAwsVirtualKeyDeletion<'_>

Sends a POST request to /v1/aws-virtual-keys/{id}/finalize-deletion

Arguments:

  • id: Unique identifier for the aws virtual key.
  • body
let response = client.finalize_aws_virtual_key_deletion()
    .id(id)
    .body(body)
    .send()
    .await;
Source

pub fn decommission_aws_virtual_key(&self) -> DecommissionAwsVirtualKey<'_>

Sends a POST request to /v1/aws-virtual-keys/{id}/decommission

Arguments:

  • id: Unique identifier for the aws virtual key.
  • body
let response = client.decommission_aws_virtual_key()
    .id(id)
    .body(body)
    .send()
    .await;
Source

pub fn get_aws_virtual_key(&self) -> GetAwsVirtualKey<'_>

Sends a GET request to /v1/aws-virtual-keys/{id}

Arguments:

  • id: Unique identifier for the aws virtual key.
let response = client.get_aws_virtual_key()
    .id(id)
    .send()
    .await;
Source

pub fn continue_aws_virtual_key(&self) -> ContinueAwsVirtualKey<'_>

Sends a POST request to /v1/aws-virtual-keys/{id}/continue

Arguments:

  • id: Unique identifier for the aws virtual key.
  • body
let response = client.continue_aws_virtual_key()
    .id(id)
    .body(body)
    .send()
    .await;
Source

pub fn resolve(&self) -> Resolve<'_>

Resolve manager for a project and platform

Returns the manager URL for a given project and platform. The project can be provided as a query parameter, or derived from the token’s scope (project-scoped, deployment-group-scoped, or deployment-scoped tokens carry an implicit project). This is the single entry point for all CLI tools to discover which manager to talk to.

Sends a GET request to /v1/resolve

Arguments:

  • platform: Target platform to resolve the manager for
  • project: Project ID or name. Required for user and workspace-scoped tokens. Optional for project/deployment-group/deployment-scoped tokens (derived from token scope).
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.resolve()
    .platform(platform)
    .project(project)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_cloud_regions(&self) -> GetCloudRegions<'_>

Get cloud regions supported by this Alien environment.

Sends a GET request to /v1/cloud-regions

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_cloud_regions()
    .workspace(workspace)
    .send()
    .await;
Source

pub fn list_billing_audit_log(&self) -> ListBillingAuditLog<'_>

List billing activity entries for the current workspace.

Sends a GET request to /v1/billing/audit-log

Arguments:

  • before: Cursor: id from the previous page.
  • limit
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.list_billing_audit_log()
    .before(before)
    .limit(limit)
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_workspace_billing_entitlements( &self, ) -> GetWorkspaceBillingEntitlements<'_>

Get the workspace billing entitlements used for product feature gates. Autumn is the source of truth; the response is served through the workspace billing read model with stale-cache fallback.

Sends a GET request to /v1/billing/entitlements

Arguments:

  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_workspace_billing_entitlements()
    .workspace(workspace)
    .send()
    .await;
Source

pub fn get_workspace_gateway_overview(&self) -> GetWorkspaceGatewayOverview<'_>

Get compact cross-Project setup and customer status for a workspace Gateway.

Sends a GET request to /v1/gateways/{gateway}/overview

Arguments:

  • gateway
  • workspace: Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key’s workspace.
let response = client.get_workspace_gateway_overview()
    .gateway(gateway)
    .workspace(workspace)
    .send()
    .await;

Trait Implementations§

Source§

impl ClientHooks for &Client

Source§

async fn pre<E>( &self, request: &mut Request, info: &OperationInfo, ) -> Result<(), Error<E>>

Runs prior to the execution of the request. This may be used to modify the request before it is transmitted.
Source§

async fn post<E>( &self, result: &Result<Response, Error>, info: &OperationInfo, ) -> Result<(), Error<E>>

Runs after completion of the request.
Source§

async fn exec( &self, request: Request, info: &OperationInfo, ) -> Result<Response, Error>

Execute the request. Note that for almost any reasonable implementation this will include code equivalent to this: Read more
Source§

impl ClientInfo<()> for Client

Source§

fn api_version() -> &'static str

Get the version of this API. Read more
Source§

fn baseurl(&self) -> &str

Get the base URL to which requests are made.
Source§

fn client(&self) -> &Client

Get the internal reqwest::Client used to make requests.
Source§

fn inner(&self) -> &()

Get the inner value of type T if one is specified.
Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Client

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more