v1
Double column
API
CLI
JS Client

Cloud Providers /

Create integration

Creates a new integration.

Required permission

Account > Cloud > Integrations > Create

Request body

  • {object}
    • name

      string required
      The name of the cloud provider integration.
      min length
      3
      max length
      39
      pattern
      ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$
    • description

      string
      The description of the integration.
      max length
      200
      pattern
      ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$
    • provider

      string required
      Cloud provider to be used for the selected resource
      one of
      aws, azure, civo, gcp, oci, byok
    • features

      [array]
      • string
        The type of provider integration.
        one of
        byoc, byoc-static-egress, byoc-custom-vpc, cloudfront, self-hosted-registry, route53, self-hosted-logs-metrics, docker-registry-credential
    • credentials

      {object} required
      Cloud provider credential input, required fields dependent on which provider is chosen.
      • keyfileJson

        string
        Contents of a GCP key file.
      • accessKey

        string
        AWS access key.
      • secretKey

        string
        AWS secret key.
      • roleArn

        string
        AWS IAM role ARN.
      • externalId

        string
        AWS shared secret (external id).
      • apiKey

        string
        Civo API key.
      • tenantId

        string
        Directory (tenant) ID
      • clientId

        string
        Application (client) ID
      • objectId

        string
        Object ID
      • secret

        string
        Secret
      • subscriptionId

        string
        Azure Subscription ID
      • region

        string
        OCI Authentication Region
      • tenancyId

        string
        OCI Tenancy ID
      • userId

        string
        User ID
      • fingerprint

        string
        Fingerprint
      • privateKey

        string
        OCI Private Key
      • passphrase

        string
        Passphrase
      • compartmentId

        string
        OCI Compartment ID
    • aws

      {object}
      AWS specific data. Required when `provider` is `aws`.
      • authenticationMode

        string
        The provider authentication mode to use for this integration.
        one of
        accessKey, crossAccountRole
    • gcp

      {object}
      GCP specific data. Required when `provider` is `gcp`.
      • projectId

        string required
        GCP Project ID
      • authenticationMode

        string
        The provider authentication mode to use for this integration.
        one of
        accessKey, crossAccountRole

Response body

  • {object}
    Response object.
    • data

      {object} required
      Result data.
      • id

        string required
        ID of the integration
        pattern
        ^[A-Za-z0-9-]+$
      • name

        string required
        The name of the cloud provider integration.
        min length
        3
        max length
        39
        pattern
        ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$
      • description

        string
        The description of the integration.
        max length
        200
        pattern
        ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$
      • provider

        string required
        Cloud provider to be used for the selected resource
        one of
        aws, azure, civo, gcp, oci, byok
      • features

        [array]
        • string
          The type of provider integration.
          one of
          byoc, byoc-static-egress, byoc-custom-vpc, cloudfront, self-hosted-registry, route53, self-hosted-logs-metrics, docker-registry-credential
      • credentials

        {object} required
        Cloud provider credential input, required fields dependent on which provider is chosen.
        • keyfileJson

          string
          Contents of a GCP key file.
        • accessKey

          string
          AWS access key.
        • secretKey

          string
          AWS secret key.
        • roleArn

          string
          AWS IAM role ARN.
        • externalId

          string
          AWS shared secret (external id).
        • apiKey

          string
          Civo API key.
        • tenantId

          string
          Directory (tenant) ID
        • clientId

          string
          Application (client) ID
        • objectId

          string
          Object ID
        • secret

          string
          Secret
        • subscriptionId

          string
          Azure Subscription ID
        • region

          string
          OCI Authentication Region
        • tenancyId

          string
          OCI Tenancy ID
        • userId

          string
          User ID
        • fingerprint

          string
          Fingerprint
        • privateKey

          string
          OCI Private Key
        • passphrase

          string
          Passphrase
        • compartmentId

          string
          OCI Compartment ID
      • aws

        {object}
        AWS specific data. Required when `provider` is `aws`.
        • authenticationMode

          string
          The provider authentication mode to use for this integration.
          one of
          accessKey, crossAccountRole
      • gcp

        {object}
        GCP specific data. Required when `provider` is `gcp`.
        • projectId

          string required
          GCP Project ID
        • authenticationMode

          string
          The provider authentication mode to use for this integration.
          one of
          accessKey, crossAccountRole
        • serviceAccountEmail

          string
          Service account email that will be used for cross account access.
      • createdAt

        string required
        The time the integration was created.
API
CLI
JS Client

POST /v1/cloud-providers/integrations

Example request

Request body
curl
curl --header "Content-Type: application/json" \
  --header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
  --request POST \
  --data '{"name":"Example Integration","description":"This is a new cloud provider integration.","provider":"gcp","features":["byoc"],"aws":{"authenticationMode":"accessKey"},"gcp":{"authenticationMode":"accessKey"}}' \
  https://api.northflank.com/v1/cloud-providers/integrations

Example response

200 OK

Details about the created integration.

JSON

{
  "data": {
    "id": "example-integration",
    "name": "Example Integration",
    "description": "This is a new cloud provider integration.",
    "provider": "gcp",
    "features": [
      "byoc"
    ],
    "aws": {
      "authenticationMode": "accessKey"
    },
    "gcp": {
      "authenticationMode": "accessKey"
    },
    "createdAt": "2021-01-20T11:19:53.175Z"
  }
}

© 2024 Northflank Ltd. All rights reserved.