OpenapiO11y
Connects a new cloud-integration account for the given provider from its posted…
Connects a new cloud-integration account for the given provider from its posted config and credentials, answering with the account and the artifact the…
POST /v1/o11y/cloud_integrations/{cloud_provider}/accounts
| Address | https://api.hanzo.ai/v1/o11y/cloud_integrations/{cloud_provider}/accounts |
| Method | POST |
| Operation | CreateAccount |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Connects a new cloud-integration account for the given provider from its posted config and credentials, answering with the account and the artifact the agent deploys to complete the connection. Admin gate.
Request
18 fields, body application/json (required).
| Field | In | Type | Required | Description |
|---|---|---|---|---|
cloud_provider | path | string | yes | |
config | body | o11y.PostableAccountConfig | — | |
config.AgentVersion | body | string | — | as agent version is common for all providers, we can keep it at top level of this struct |
config.aws | body | o11y.AWSPostableAccountConfig | — | |
config.aws.deploymentRegion | body | string | — | |
config.aws.regions | body | string[] | — | |
config.azure | body | o11y.AzureAccountConfig | — | |
config.azure.deploymentRegion | body | string | — | |
config.azure.resourceGroups | body | string[] | — | |
config.gcp | body | o11y.GCPAccountConfig | — | |
config.gcp.deploymentProjectId | body | string | — | Project ID where central pub/sub for logs exist |
config.gcp.deploymentRegion | body | string | — | Project ID where otel collector will be deployed |
config.gcp.projectIds | body | string[] | — | List of project IDs to monitor |
credentials | body | o11y.Credentials | — | |
credentials.ingestionKey | body | string | — | |
credentials.ingestionUrl | body | string | — | |
credentials.o11yApiKey | body | string | — | PAT |
credentials.o11yApiUrl | body | string | — |
Response
| Status | Body | Meaning |
|---|---|---|
201 | o11y.O11yCreateAccountOut | created |
201 body — 10 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
data | body | o11y.GettableAccountWithConnectionArtifact | — | |
data.connectionArtifact | body | o11y.ConnectionArtifact | — | |
data.connectionArtifact.aws | body | o11y.AWSConnectionArtifact | — | |
data.connectionArtifact.aws.connectionUrl | body | string | — | |
data.connectionArtifact.azure | body | o11y.AzureConnectionArtifact | — | |
data.connectionArtifact.azure.cliCommand | body | string | — | |
data.connectionArtifact.azure.cloudPowerShellCommand | body | string | — | |
data.connectionArtifact.gcp | body | o11y.GCPConnectionArtifact | — | |
data.id | body | any | — | |
status | body | string | — | Status is "success". |
Failure carries the platform error shape — see Errors.
Examples
hanzo o11y cloud_integrations accounts create <cloud_provider>import { Configuration, O11yApi } from 'hanzoai';
const api = new O11yApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.createAccount({ cloud_provider: 'cloud_provider', config: {"AgentVersion":"<AgentVersion>","aws":{"deploymentRegion":"<deploymentRegion>","regions":["<regions>"]},"azure":{"deploymentRegion":"<deploymentRegion>","resourceGroups":["<resourceGroups>"]},"gcp":{"deploymentProjectId":"<deploymentProjectId>","deploymentRegion":"<deploymentRegion>","projectIds":["<projectIds>"]}}, credentials: {"ingestionKey":"<ingestionKey>","ingestionUrl":"<ingestionUrl>","o11yApiKey":"<o11yApiKey>","o11yApiUrl":"<o11yApiUrl>"} });from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import O11yApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = O11yApi(client).create_account(cloud_provider='cloud_provider', config={"AgentVersion":"<AgentVersion>","aws":{"deploymentRegion":"<deploymentRegion>","regions":["<regions>"]},"azure":{"deploymentRegion":"<deploymentRegion>","resourceGroups":["<resourceGroups>"]},"gcp":{"deploymentProjectId":"<deploymentProjectId>","deploymentRegion":"<deploymentRegion>","projectIds":["<projectIds>"]}}, credentials={"ingestionKey":"<ingestionKey>","ingestionUrl":"<ingestionUrl>","o11yApiKey":"<o11yApiKey>","o11yApiUrl":"<o11yApiUrl>"})cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.O11yAPI.CreateAccount(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::apis::{configuration::Configuration, o11y_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = o11y_api::create_account(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.O11yApi;
ApiClient client = new ApiClient();
client.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + System.getenv("HANZO_API_KEY")));
var result = new O11yApi(client).createAccount();curl -X POST https://api.hanzo.ai/v1/o11y/cloud_integrations/<cloud_provider>/accounts \
-H "Authorization: Bearer $HANZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"config": {
"AgentVersion": "<AgentVersion>",
"aws": {
"deploymentRegion": "<deploymentRegion>",
"regions": [
"<regions>"
]
},
"azure": {
"deploymentRegion": "<deploymentRegion>",
"resourceGroups": [
"<resourceGroups>"
]
},
"gcp": {
"deploymentProjectId": "<deploymentProjectId>",
"deploymentRegion": "<deploymentRegion>",
"projectIds": [
"<projectIds>"
]
}
},
"credentials": {
"ingestionKey": "<ingestionKey>",
"ingestionUrl": "<ingestionUrl>",
"o11yApiKey": "<o11yApiKey>",
"o11yApiUrl": "<o11yApiUrl>"
}
}'Tool o11y, op CreateAccount — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Authorization: Bearer $HANZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "o11y",
"arguments": {
"op": "CreateAccount",
"input": {
"cloud_provider": "<cloud_provider>",
"config": {
"AgentVersion": "<AgentVersion>",
"aws": {
"deploymentRegion": "<deploymentRegion>",
"regions": [
"<regions>"
]
},
"azure": {
"deploymentRegion": "<deploymentRegion>",
"resourceGroups": [
"<resourceGroups>"
]
},
"gcp": {
"deploymentProjectId": "<deploymentProjectId>",
"deploymentRegion": "<deploymentRegion>",
"projectIds": [
"<projectIds>"
]
}
},
"credentials": {
"ingestionKey": "<ingestionKey>",
"ingestionUrl": "<ingestionUrl>",
"o11yApiKey": "<o11yApiKey>",
"o11yApiUrl": "<o11yApiUrl>"
}
}
}
}
}'How is this guide?