> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tensor9.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Guides

> Use Cloud Adapter with familiar infrastructure and cloud tooling.

Cloud Adapter implements a supported origin cloud API at the application boundary. That means many tools can work through it without a Tensor9-specific provider: configure the tool to use the adapter endpoint, then verify the operations and resource behavior your workflow needs.

First [install the Tensor9 CLI and authenticate with `T9_API_KEY`](https://docs.tensor9.com/cloud-adapter-early-access/getting-started/install-and-authenticate). This operator credential is not sent by the tools or SDKs in these guides.

> [!NOTE]
>
> Tool compatibility is directional and service-specific. A tool can use an origin adapter when its services and operations appear in the service catalog under that cloud.

## Develop against an installed adapter

Run your application locally against a development Cloud Adapter in Google Cloud or Azure. The [local development guide](https://docs.tensor9.com/cloud-adapter-early-access/local-testing/local-development.md) uses `adapt cloud connect` to open a local tunnel, configure your AWS CLI/SDK profile and keep your normal development workflow.

## Start one adapter locally

The example below uses AWS S3 as the origin API and Google Cloud Storage as the backend. A specific guide can use another directed pair from the service catalog.

**1. Install or update the Tensor9 CLI**

Install the customer CLI with Homebrew, then confirm the binary is available:

```bash theme={null}
brew tap tensor9ine/tensor9
brew trust tensor9ine/tensor9
brew install tensor9
tensor9 --version
```

If `tensor9` is already installed, run `brew upgrade tensor9` instead of the install command.

**2. Authenticate with Tensor9**

To create a Tensor9 account and download an API key yourself, follow [Get a Tensor9 API key](https://docs.tensor9.com/byoc/getting-started/api-key.md).

A Tensor9 API key is required. Use the key issued during onboarding, or email [hello@tensor9.com](mailto:hello@tensor9.com) to request one for your organization. Do not share your account or key with another customer or organization.

If your secret manager has already supplied `T9_API_KEY`, skip the prompt. Otherwise, enter your key at a hidden prompt in the terminal where you will run `tensor9`:

> [tab] Bash
>
> ```bash theme={null}
> set +x
> IFS= read -r -s -p 'Tensor9 API key: ' T9_API_KEY
> printf '\n'
> export T9_API_KEY
> ```

> [tab] Zsh
>
> ```zsh theme={null}
> set +x
> IFS= read -r -s 'T9_API_KEY?Tensor9 API key: '
> printf '\n'
> export T9_API_KEY
> ```

Check that the variable is set without printing it, then verify your Tensor9 identity:

```bash theme={null}
: "${T9_API_KEY:?Set T9_API_KEY before continuing}"
tensor9 whoami
```

Confirm that the reported identity belongs to the intended customer account. Do not continue if authentication fails or the account is wrong. While `T9_API_KEY` is set, `tensor9` commands in this terminal use the key instead of any controller profile, so use a separate terminal for this work and run `unset T9_API_KEY` when you finish. Keep shell tracing disabled while using the key. Do not paste the key into commands, shell profiles, source files, screenshots or support messages.

See [Install and Authenticate](https://docs.tensor9.com/cloud-adapter-early-access/getting-started/install-and-authenticate.md) for the planned license lifecycle, entitlements and credential boundaries.

**3. Inspect the S3 to Google Cloud Storage mapping**

Ask Tensor9 to describe the exact directed service mapping used by this guide:

```bash theme={null}
tensor9 explain \
  -origin aws::1.0.0::s3 \
  -target google::1.0.0::gcs \
  -fmt Human
```

Read the supported S3 operations and Google Cloud Storage limitations before starting the process. The mapping is directional: this command describes S3 requests adapted to Google Cloud Storage, not the reverse direction.

**4. Prepare Google Cloud access**

Authenticate with Google Cloud using its standard Application Default Credentials chain. The adapter uses that identity when it calls Google Cloud Storage.

Use a dedicated test project and narrowly scoped credentials. Do not put credentials in the command line, source code, or screenshots.

**5. Start the S3 service adapter**

Run the S3 to Google Cloud Storage adapter as a foreground process:

```bash theme={null}
tensor9 adapt svc run \
  --origin aws::1.0.0::s3 \
  --backend google::1.0.0::gcs
```

Leave this terminal open. This is the current foreground launcher, not the pending Docker launcher for [local development mode](https://docs.tensor9.com/cloud-adapter-early-access/deployment/single-binary.md). It calls your actual target-cloud services; it is separate from the in-memory emulator. Acquisition and license renewal require Tensor9 authentication. Keep the endpoint local to your test.

**6. Copy the listening endpoint**

When the command reports its listening endpoint, copy that exact value into a second terminal:

```bash theme={null}
export T9_CLOUD_ADAPTER_ENDPOINT="<endpoint printed by tensor9>"
```

Keep the endpoint local to the test unless you have deliberately configured network access and authentication for another machine.

**7. Run one bounded S3 request**

Continue with this page's client or tool instructions. Point only S3 at `T9_CLOUD_ADAPTER_ENDPOINT`, then perform one operation whose Google Cloud Storage effect you can verify independently.

Check both sides: read the S3-shaped response and inspect the native object or bucket in Google Cloud Storage. A successful client response alone does not prove that the target state is correct.

**8. Stop the local adapter**

Return to the first terminal and press **Control-C**. Confirm the process exits before deleting the test object or bucket with Google Cloud's native client.

If the request failed, preserve the request ID, adapter endpoint, S3 operation name, Google Cloud request ID, and any `x-t9-explain-*` receipt headers before stopping the process.

## Start here

> [card] [AWS CLI](https://docs.tensor9.com/cloud-adapter-early-access/guides/aws-cli.md)
>
> Prove an origin API request through the adapter with the smallest possible toolchain.

> [card] [AWS SDKs](https://docs.tensor9.com/cloud-adapter-early-access/guides/aws-java-sdk.md)
>
> Configure a language SDK without rewriting its service calls.

> [card] [Terraform/OpenTofu](https://docs.tensor9.com/cloud-adapter-early-access/guides/terraform-opentofu.md)
>
> Use adapted cloud APIs from infrastructure as code.

> [card] [Pulumi](https://docs.tensor9.com/cloud-adapter-early-access/guides/pulumi.md)
>
> Deploy programs that use an origin-cloud provider API.

## How to read these guides

Every guide follows the same loop:

1. Configure the tool's endpoint and credentials.
2. Run a read-only smoke test.
3. Create one uniquely named test resource.
4. Verify the origin-shaped response and target-cloud state.
5. Exercise one expected failure before expanding the workload.
6. Use [tuning](https://docs.tensor9.com/cloud-adapter-early-access/tuning/overview.md), [debugging](https://docs.tensor9.com/cloud-adapter-early-access/debugging/overview.md) and [local testing](https://docs.tensor9.com/cloud-adapter-early-access/local-testing/overview.md) to investigate differences.

Do not infer support from a tool's provider name. The adapter's service reference is authoritative.

## Use the included agents across toolchains

Cloud Adapter's [Support Agents](https://docs.tensor9.com/cloud-adapter-early-access/support/agents.md) help investigate a failed CLI, SDK or infrastructure-tool step. Retain the exact tool/provider version, selected service mapping, native result, request identifiers and independent target observation. Give the agent one question and the reviewed evidence rather than replaying an uncertain write.

For infrastructure tools, the existing stack or configuration owner still controls changes. Use [Operations with Agents](https://docs.tensor9.com/cloud-adapter-early-access/operations/overview.md) to coordinate a task and [Bounded Work and Approval](https://docs.tensor9.com/cloud-adapter-early-access/operations/bounded-work.md) before applying a proposed change.

## Guides

### Command-line and SDK clients

* [AWS CLI](https://docs.tensor9.com/cloud-adapter-early-access/guides/aws-cli.md)
* [AWS Java SDK](https://docs.tensor9.com/cloud-adapter-early-access/guides/aws-java-sdk.md)
* [AWS JavaScript and TypeScript SDK](https://docs.tensor9.com/cloud-adapter-early-access/guides/aws-javascript-sdk.md)
* [AWS Python SDK](https://docs.tensor9.com/cloud-adapter-early-access/guides/aws-python-sdk.md)
* [AWS Go SDK](https://docs.tensor9.com/cloud-adapter-early-access/guides/aws-go-sdk.md)
* [AWS .NET SDK](https://docs.tensor9.com/cloud-adapter-early-access/guides/aws-dotnet-sdk.md)
* [AWS Rust SDK](https://docs.tensor9.com/cloud-adapter-early-access/guides/aws-rust-sdk.md)

### Infrastructure and orchestration

* [Terraform/OpenTofu](https://docs.tensor9.com/cloud-adapter-early-access/guides/terraform-opentofu.md)
* [Pulumi](https://docs.tensor9.com/cloud-adapter-early-access/guides/pulumi.md)
* [CloudFormation and CDK](https://docs.tensor9.com/cloud-adapter-early-access/guides/cloudformation-cdk.md)
* [Serverless Framework and SAM](https://docs.tensor9.com/cloud-adapter-early-access/guides/serverless-sam.md)
* [Crossplane](https://docs.tensor9.com/cloud-adapter-early-access/guides/crossplane.md)
* [Ansible](https://docs.tensor9.com/cloud-adapter-early-access/guides/ansible.md)

### Automation and governance

* [CI/CD automation](https://docs.tensor9.com/cloud-adapter-early-access/guides/ci-cd.md)
* [Security and inventory tools](https://docs.tensor9.com/cloud-adapter-early-access/guides/security-inventory.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.