When making an API request involving integrations, each integration expects its own metadata. The following is a list of metadata required to create and manage each integrations with Apono's API. If a secret is required to connect to a service, it is noted along with the type of secret that can be supplied.
Usage
API
Apono's REST API includes specific metadata for each integration type. For example, if you want to create an integration with Amazon EC2, you would send a POST request to the integrations endpoint. The entry for Amazon EC2 (see below) lists the metadata that must be included. Note that "region" is an object containing two strings and an array of AWS region names.
The complete API request looks like this:
curl --request POST \
--url https://api.apono.io/api/v2/integrations \
--header 'accept: application/json' \
--header 'authorization: Bearer aup_anMt..' \
--header 'content-type: application/json' \
--data '
{
"metadata": {
"name": "Amazon EC2",
"type": "aws-ec2-ssm",
"region": {
"id": "region",
"label": "Region",
"values": ["us-east-1","us-west-1"]
}
"default": ""
}
}
'
If a secret is required to access the service, then this is added to the request data in addition to the metadata:
secret = {
secret_id = "platform:secretmanager:secret/location"
}
Terraform
When adding an Apono-connected resource to the Terraform configuration file, you must add the same metadata listed here for each integration. Continuing with the Amazon EC2 example from above, the following is added to the Terraform configuration file:
resource "apono_integration" "ec2_instance" {
name = "Amazon EC2"
type = "aws-ec2-ssm"
connector_id = "[MY_APONO_CONNECTOR_ID]"
metadata = {
{
"name": "Amazon EC2",
"type": "aws-ec2-ssm",
"region": {
"id": "region",
"label": "Region",
"values": ["us-east-1","us-west-1"]
}
"default": ""
}
}
secret = {
seret_id = "platform:secretmanager:secret/location"
}
}
Amazon Services
Amazon EC2
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Amazon EC2 |
type | string | aws-ec2-ssm |
region | object | AWS regions |
-- id | string | region |
-- label | string | Region |
-- values | array | [region1, region2..] (e.g. us-west-1) |
default | string | "" |
Secret
- Amazon EC2 does not require a secret
Amazon ECR
Metadata
Parameter/Element | Type | Value |
---|---|---|
name | string | Amazon ECR |
type | string | aws-ecr |
region | object | AWS regions |
-- id | string | region |
-- label | string | Region |
-- values | array | [region1, region2..] (e.g. us-west-1) |
default | string | "" |
Secret
- Amazon ECR does not require a secret
Amazon IAM Group
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Amazon IAM Group |
type | string | aws-iam-group |
Secret
- Amazon IAM Group does not require a secret
Amazon IAM Policy
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Amazon IAM Policy |
type | string | aws-iam-policy |
Secret
- Amazon IAM Policy does not require a secret
Amazon IAM Role
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Amazon IAM Role |
type | string | aws-iam-role |
Secret
- Amazon IAM Role does not require a secret
Amazon Lambda
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Amazon Lambda |
type | string | aws-lambda |
region | object | AWS region(s) |
-- id | string | region |
-- label | string | Region |
-- values | array | [region1, region2..] (e.g. us-west-1) |
default | string | "" |
Secret
- Amazon Lambda does not require a secret
Amazon S3
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Amazon S3 |
type | string | aws-s3 |
Secret
- Amazon S3 does not require a secret
Amazon Secrets Manager
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Amazon Secrets Manager |
type | string | aws-secrets-manager |
region | object | AWS regions |
-- id | string | region |
-- label | string | Region |
-- values | array | [region1, region2..] (e.g. us-west-1) |
default | string | "" |
Secret
- Amazon Secrets Manager does not require a secret
Amazon SSM
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Amazon SSM |
type | string | aws-ssm |
(region) | object | AWS regions |
-- id | string | region |
-- label | string | Region |
-- values | array | [region1, region2..] (e.g. us-west-1) |
default | string | "" |
Secret
- Amazon SSM does not require a secret
Amazon IAM Identity Center (SSO)
Metadata
Parameter/Element | Type | Value |
---|---|---|
name | string | Amazon IAM Identity Center (SSO) |
type | string | aws-sso |
portal | object | |
-- id | string | "aws_sso_portal" |
-- label | string | "SSO Portal" |
-- values | array | [] |
default | "" |
Secret
- Amazon IAM Identity Center does not require a secret
Azure Services
Azure AD
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Azure AD |
type | string | azure-ad-idp |
Secret
- Azure AD does not require a secret
Azure IAM
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Azure IAM |
type | string | azure-iam |
subscription | object | |
-- id | string | subscription_id |
-- label | string | Azure Subscription Id |
-- values | array | [] |
default | string | "" |
Secret
- Azure IAM does not require a secret
Azure Resource Group
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Azure IAM |
type | string | azure-iam |
subscription | object | |
-- id | string | subscription_id |
-- label | string | Azure Subscription Id |
-- values | array | [] |
default | string | "" |
Secret
- Azure Resource Group does not require a secret
Azure Storage
Metadata
Parameter | Type | Value |
---|---|---|
name | Azure Storage | |
type | azure-storage | |
subscription | object | |
-- id | string | subscription_id |
-- label | string | Azure Subscription Id |
-- values | array | [] |
default | string | "" |
Secret
- Azure Storage does not require a secret
Elasticsearch
Elasticsearch
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Elasticsearch |
type | string | elasticsearch |
proxy | object | |
-- id | string | proxy_address |
-- label | string | Proxy Address |
-- values | array | [] |
-- default | string | "" |
clusters | object | |
-- id | string | clusters |
-- label | string | Clusters |
-- values | array | [] |
default | string | "" |
Secret
- Elasticsearch does not require a secret
GitHub
GitHub
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Github |
type | string | github |
organization | object | |
-- id | string | org |
-- label | string | Organization |
-- values | array | [] |
-- default | string | "" |
Secret
GitHub requires one of these secrets:
- AWS
- GCP
- Kubernetes
Google Services
Google BigQuery
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Google BigQuery |
type | string | gcp-bigquery |
project | object | |
-- id | string | project_id |
-- label | string | Project ID |
-- values | array | [] |
-- default | string | "" |
dataset | object | |
-- id | string | dataset_id |
-- label | string | Dataset Name |
-- values | array | [] |
-- default | string | "" |
Secret
- Google BigQuery does not require a secret
Google Cloud Spanner
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Google Cloud Spanner |
type | string | gcp-cloud-spanner |
project | object | |
-- id | string | project_id |
-- label | string | Project ID |
-- values | array | [] |
-- default | string | "" |
Secret
- Google Cloud Spanner does not require a secret
Google Cloud SQL - MySQL
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Google Cloud SQL - MySQL |
type | string | ggcp-cloud-sql-mysql |
host name | object | { "id": "hostname", "label": "Hostname", "values": [], "default": "" } |
-- id | string | hostname |
-- label | string | Hostname |
-- values | array | [] |
-- default | string | "" |
port | object | |
-- id | string | port |
-- label | string | Port |
-- values | array | [] |
-- default | string | "3306" |
Secret
Google Cloud SQL - MySQL requires one of these secrets:
- GCP
- Kubernetes
Google Cloud SQL - PostgreSQL
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Google Cloud SQL - PostgreSQL |
type | string | ggcp-cloud-sql-postgresql |
host name | object | |
-- id | string | hostname |
-- label | string | Hostname |
-- values | array | [] |
-- default | string | "" |
port | object | |
-- id | string | port |
-- label | string | Port |
-- values | array | [] |
-- default | string | 3306 |
db name | object | |
-- id | string | dbname |
-- label | string | Database Name |
-- values | array | [] |
-- default | string | "postgres" |
ssl mode | object | |
-- id | string | |
-- label | string | |
-- values | array | [ "disable", "allow", "prefer", "require", "verify-ca", "verify-full" ] |
default | string | disable |
Secret
Google Cloud SQL - PostgreSQL requires a secret of one of these types:
- GCP
- Kubernetes
Google Cloud Storage
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Google Cloud Storage |
type | string | ggcp-cloud-storage |
host name | object | |
-- id | string | hostname |
-- label | string | Hostname |
-- values | array | [] |
-- default | string | "" |
project id | object | |
-- id | string | project_id |
-- label | string | Project ID |
-- values | array | [] |
-- default | string | "" |
Secret
Google Cloud Storage does not require a secret
Google Organization Role (Folder Wide)
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Google Organization Role (Folder Wide) |
type | string | gcp-organization-role-folder-wid |
organization id | object | |
-- id | string | organization_id |
-- label | string | Organization ID |
-- values | array | [] |
-- default | string | "" |
Secret
Google Organization Role does not require a secret
Google Organization Role (Organization Wide)
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Google Organization Role (Organization Wide) |
type | string | gcp-organization-role-organization-wide |
organization id | ||
-- id | string | organization_id |
-- label | string | Organization ID |
-- values | array | [] |
default | string | "" |
Secret
Google Organization Role does not require a secret
Google Organization Role (Project Wide)
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Google Organization Role (Project Wide) |
type | string | gcp-organization-role |
organization id | object | |
-- id | string | organization_id |
-- label | string | Organization ID |
-- values | array | [] |
-- default | string | "" |
Secret
Google Organization Role does not require a secret
Google Role
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Google Role |
type | string | gcp-role |
project id | object | |
-- id | string | project |
-- label | string | Project ID |
-- values | array | [] |
-- default | string | "" |
Secret
Google Role does not require a secret
Google Secret Manager
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Google Secret Manager |
type | string | gcp-secret-manager |
project id | object | |
-- id | string | project_id |
-- label | string | Project ID |
-- values | array | [] |
-- default | string | "" |
Secret
Google Secret Manager does not require a secret
Google Workplace
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Google Workspace |
type | string | gcp-idp |
Secret
Google Workplace does not require a secret
JumpCloud Services
JumpCloud Directory
Metadata
Parameter | Type | Value |
---|---|---|
name | string | JumpCloud Directory |
type | string | jumpcloud-idp |
(api key) | object | |
-- id | string | api_key |
-- label | string | API Key |
-- values | array | [] |
-- default | string | "" |
(manager field name) | object | |
-- id | string | manager_field_name |
-- label | string | Custom Manager Field Name (Optional) |
-- values | array | [] |
-- default | string | "" |
Secret
JumpCloud Directory does not require a secret
Kubernetes
Kubernetes
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Kubernetes |
type | string | k8s-roles |
(server url) | object | |
-- id | string | server_url |
-- label | string | Server URL |
-- values | array | [] |
-- default | string | "" |
certificate authority | object | |
-- id | string | certificate_authority |
-- label | string | Certificate Authority |
-- values | array | [] |
-- default | string | "" |
cluster name | object | |
-- id | string | cluster_name |
-- label | string | kubeconfig Cluster Name |
-- values | array | [] |
-- default | string | "" |
kubernetes api server | object | |
-- id | string | kubeconfig_api_server_url |
-- label | string | kubeconfig Server URL |
-- values | array | [] |
-- default | string | "" |
Secret
Kubernetes requires one of these secrets:
- AWS
- GCP
- Kubernetes
- Azure
MongoDB
MongoDB
Metadata
Parameter | Type | Value |
---|---|---|
name | string | MongoDB |
type | string | mongodb |
host name | object | |
-- id | string | hostname |
-- label | string | Hostname |
-- values | array | [] |
-- default | string | "" |
port | object | |
-- id | string | port |
-- label | string | Port |
-- values | array | [] |
-- default | string | 27017 |
Secret
MongoDB requires one of these secrets:
- AWS
- GCP
- Kubernetes
- Azure
MySQL Services
MySQL
Metadata
Parameter | Type | Value |
---|---|---|
name | string | MySQL |
type | string | mysql |
host name | object | |
-- id | string | hostname |
-- label | string | Hostname |
-- values | [] | |
-- default | string | "" |
port | object | |
-- id | string | port |
-- label | string | Port |
-- values | array | [] |
-- default | string | 3306 |
Secret
MySQL requires one of these secrets:
- AWS
- GCP
- Kubernetes
- Azure
Okta Services
Okta Directory
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Okta Directory |
type | string | okta-idp |
domain | object | |
-- id | string | domain |
-- label | string | Domain |
-- values | array | [] |
-- default | string | "" |
app client id | object | |
-- id | string | app_client_id" |
-- label | string | App Client Id |
-- values | array | [] |
-- default | string | "" |
manager field name | object | |
-- id | string | manager_field_name |
-- label | string | Custom Manager Field Name (Optional) |
-- values | array | [] |
-- default | string | "" |
Secret
Okta Directory does not require a secret
PostgreSQL Services
PostgreSQL
Metadata
Parameter | Type | Value |
---|---|---|
name | string | PostgreSQL |
type | string | postgresql |
host name | object | |
-- id | string | hostname |
-- label | string | Hostname |
-- values | array | [] |
-- default | string | "" |
port | object | |
-- id | string | port |
-- label | string | Port |
-- values | array | [] |
-- default | string | 5432 |
db name | object | |
-- id | string | dbname |
-- label | string | Database Name |
-- values | array | [] |
-- default | string | postgres |
ssl mode | object | |
-- id | string | sslmode |
-- label | string | SSL Mode |
-- values | array | |
default | string | disable |
Secret
PostgreSQL requires one of these secrets:
- AWS
- GCP
- Kubernetes
- Azure
Slack
Slack
Metadata
Parameter | Type | Value |
---|---|---|
name | string | Slack |
type | string | slack |
Secret
Slack does not require a secret