Skip to content
Start here

Create Cloud Integration

client.MagicCloudNetworking.CloudIntegrations.New(ctx, params) (*CloudIntegrationNewResponse, error)
POST/accounts/{account_id}/magic/cloud/providers

Create a new Cloud Integration (Closed Beta).

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Magic WAN Write
ParametersExpand Collapse
params CloudIntegrationNewParams
AccountID param.Field[string]

Path param

CloudType param.Field[CloudIntegrationNewParamsCloudType]

Body param

const CloudIntegrationNewParamsCloudTypeAws CloudIntegrationNewParamsCloudType = "AWS"
const CloudIntegrationNewParamsCloudTypeAzure CloudIntegrationNewParamsCloudType = "AZURE"
const CloudIntegrationNewParamsCloudTypeGoogle CloudIntegrationNewParamsCloudType = "GOOGLE"
const CloudIntegrationNewParamsCloudTypeCloudflare CloudIntegrationNewParamsCloudType = "CLOUDFLARE"
FriendlyName param.Field[string]

Body param

Description param.Field[string]optional

Body param

Forwarded param.Field[string]optional

Header param

ReturnsExpand Collapse
type CloudIntegrationNewResponse struct{…}
ID string
formatuuid
CloudType CloudIntegrationNewResponseCloudType
One of the following:
const CloudIntegrationNewResponseCloudTypeAws CloudIntegrationNewResponseCloudType = "AWS"
const CloudIntegrationNewResponseCloudTypeAzure CloudIntegrationNewResponseCloudType = "AZURE"
const CloudIntegrationNewResponseCloudTypeGoogle CloudIntegrationNewResponseCloudType = "GOOGLE"
const CloudIntegrationNewResponseCloudTypeCloudflare CloudIntegrationNewResponseCloudType = "CLOUDFLARE"
FriendlyName string
LastUpdated string
LifecycleState CloudIntegrationNewResponseLifecycleState
One of the following:
const CloudIntegrationNewResponseLifecycleStateActive CloudIntegrationNewResponseLifecycleState = "ACTIVE"
const CloudIntegrationNewResponseLifecycleStatePendingSetup CloudIntegrationNewResponseLifecycleState = "PENDING_SETUP"
const CloudIntegrationNewResponseLifecycleStateRetired CloudIntegrationNewResponseLifecycleState = "RETIRED"
State CloudIntegrationNewResponseState
One of the following:
const CloudIntegrationNewResponseStateUnspecified CloudIntegrationNewResponseState = "UNSPECIFIED"
const CloudIntegrationNewResponseStatePending CloudIntegrationNewResponseState = "PENDING"
const CloudIntegrationNewResponseStateDiscovering CloudIntegrationNewResponseState = "DISCOVERING"
const CloudIntegrationNewResponseStateFailed CloudIntegrationNewResponseState = "FAILED"
const CloudIntegrationNewResponseStateSucceeded CloudIntegrationNewResponseState = "SUCCEEDED"
StateV2 CloudIntegrationNewResponseStateV2
One of the following:
const CloudIntegrationNewResponseStateV2Unspecified CloudIntegrationNewResponseStateV2 = "UNSPECIFIED"
const CloudIntegrationNewResponseStateV2Pending CloudIntegrationNewResponseStateV2 = "PENDING"
const CloudIntegrationNewResponseStateV2Discovering CloudIntegrationNewResponseStateV2 = "DISCOVERING"
const CloudIntegrationNewResponseStateV2Failed CloudIntegrationNewResponseStateV2 = "FAILED"
const CloudIntegrationNewResponseStateV2Succeeded CloudIntegrationNewResponseStateV2 = "SUCCEEDED"
AwsArn stringoptional
AzureSubscriptionID stringoptional
AzureTenantID stringoptional
Description stringoptional
GcpProjectID stringoptional
GcpServiceAccountEmail stringoptional
Status CloudIntegrationNewResponseStatusoptional
DiscoveryProgress CloudIntegrationNewResponseStatusDiscoveryProgress
Done int64
Total int64
Unit string
DiscoveryProgressV2 CloudIntegrationNewResponseStatusDiscoveryProgressV2
Done int64
Total int64
Unit string
LastDiscoveryStatus CloudIntegrationNewResponseStatusLastDiscoveryStatus
One of the following:
const CloudIntegrationNewResponseStatusLastDiscoveryStatusUnspecified CloudIntegrationNewResponseStatusLastDiscoveryStatus = "UNSPECIFIED"
const CloudIntegrationNewResponseStatusLastDiscoveryStatusPending CloudIntegrationNewResponseStatusLastDiscoveryStatus = "PENDING"
const CloudIntegrationNewResponseStatusLastDiscoveryStatusDiscovering CloudIntegrationNewResponseStatusLastDiscoveryStatus = "DISCOVERING"
const CloudIntegrationNewResponseStatusLastDiscoveryStatusFailed CloudIntegrationNewResponseStatusLastDiscoveryStatus = "FAILED"
const CloudIntegrationNewResponseStatusLastDiscoveryStatusSucceeded CloudIntegrationNewResponseStatusLastDiscoveryStatus = "SUCCEEDED"
LastDiscoveryStatusV2 CloudIntegrationNewResponseStatusLastDiscoveryStatusV2
One of the following:
const CloudIntegrationNewResponseStatusLastDiscoveryStatusV2Unspecified CloudIntegrationNewResponseStatusLastDiscoveryStatusV2 = "UNSPECIFIED"
const CloudIntegrationNewResponseStatusLastDiscoveryStatusV2Pending CloudIntegrationNewResponseStatusLastDiscoveryStatusV2 = "PENDING"
const CloudIntegrationNewResponseStatusLastDiscoveryStatusV2Discovering CloudIntegrationNewResponseStatusLastDiscoveryStatusV2 = "DISCOVERING"
const CloudIntegrationNewResponseStatusLastDiscoveryStatusV2Failed CloudIntegrationNewResponseStatusLastDiscoveryStatusV2 = "FAILED"
const CloudIntegrationNewResponseStatusLastDiscoveryStatusV2Succeeded CloudIntegrationNewResponseStatusLastDiscoveryStatusV2 = "SUCCEEDED"
Regions []string
CredentialsGoodSince stringoptional
CredentialsMissingSince stringoptional
CredentialsRejectedSince stringoptional
DiscoveryMessage stringoptional
DiscoveryMessageV2 stringoptional
InUseBy []CloudIntegrationNewResponseStatusInUseByoptional
ID string
formatuuid
ClientType CloudIntegrationNewResponseStatusInUseByClientType
Name string
LastDiscoveryCompletedAt stringoptional
LastDiscoveryCompletedAtV2 stringoptional
LastDiscoveryStartedAt stringoptional
LastDiscoveryStartedAtV2 stringoptional
LastUpdated stringoptional

Create Cloud Integration

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/magic_cloud_networking"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  cloudIntegration, err := client.MagicCloudNetworking.CloudIntegrations.New(context.TODO(), magic_cloud_networking.CloudIntegrationNewParams{
    AccountID: cloudflare.F("account_id"),
    CloudType: cloudflare.F(magic_cloud_networking.CloudIntegrationNewParamsCloudTypeAws),
    FriendlyName: cloudflare.F("friendly_name"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", cloudIntegration.ID)
}
{
  "errors": [
    {
      "code": 1001,
      "message": "message",
      "documentation_url": "documentation_url",
      "meta": {
        "l10n_key": "l10n_key",
        "loggable_error": "loggable_error",
        "template_data": {},
        "trace_id": "trace_id"
      },
      "source": {
        "parameter": "parameter",
        "parameter_value_index": 0,
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1001,
      "message": "message",
      "documentation_url": "documentation_url",
      "meta": {
        "l10n_key": "l10n_key",
        "loggable_error": "loggable_error",
        "template_data": {},
        "trace_id": "trace_id"
      },
      "source": {
        "parameter": "parameter",
        "parameter_value_index": 0,
        "pointer": "pointer"
      }
    }
  ],
  "result": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "cloud_type": "AWS",
    "friendly_name": "friendly_name",
    "last_updated": "last_updated",
    "lifecycle_state": "ACTIVE",
    "state": "UNSPECIFIED",
    "state_v2": "UNSPECIFIED",
    "aws_arn": "aws_arn",
    "azure_subscription_id": "azure_subscription_id",
    "azure_tenant_id": "azure_tenant_id",
    "description": "description",
    "gcp_project_id": "gcp_project_id",
    "gcp_service_account_email": "gcp_service_account_email",
    "status": {
      "discovery_progress": {
        "done": 0,
        "total": 0,
        "unit": "unit"
      },
      "discovery_progress_v2": {
        "done": 0,
        "total": 0,
        "unit": "unit"
      },
      "last_discovery_status": "UNSPECIFIED",
      "last_discovery_status_v2": "UNSPECIFIED",
      "regions": [
        "string"
      ],
      "credentials_good_since": "credentials_good_since",
      "credentials_missing_since": "credentials_missing_since",
      "credentials_rejected_since": "credentials_rejected_since",
      "discovery_message": "discovery_message",
      "discovery_message_v2": "discovery_message_v2",
      "in_use_by": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "client_type": "MAGIC_WAN_CLOUD_ONRAMP",
          "name": "name"
        }
      ],
      "last_discovery_completed_at": "last_discovery_completed_at",
      "last_discovery_completed_at_v2": "last_discovery_completed_at_v2",
      "last_discovery_started_at": "last_discovery_started_at",
      "last_discovery_started_at_v2": "last_discovery_started_at_v2",
      "last_updated": "last_updated"
    }
  },
  "success": true
}
Returns Examples
{
  "errors": [
    {
      "code": 1001,
      "message": "message",
      "documentation_url": "documentation_url",
      "meta": {
        "l10n_key": "l10n_key",
        "loggable_error": "loggable_error",
        "template_data": {},
        "trace_id": "trace_id"
      },
      "source": {
        "parameter": "parameter",
        "parameter_value_index": 0,
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1001,
      "message": "message",
      "documentation_url": "documentation_url",
      "meta": {
        "l10n_key": "l10n_key",
        "loggable_error": "loggable_error",
        "template_data": {},
        "trace_id": "trace_id"
      },
      "source": {
        "parameter": "parameter",
        "parameter_value_index": 0,
        "pointer": "pointer"
      }
    }
  ],
  "result": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "cloud_type": "AWS",
    "friendly_name": "friendly_name",
    "last_updated": "last_updated",
    "lifecycle_state": "ACTIVE",
    "state": "UNSPECIFIED",
    "state_v2": "UNSPECIFIED",
    "aws_arn": "aws_arn",
    "azure_subscription_id": "azure_subscription_id",
    "azure_tenant_id": "azure_tenant_id",
    "description": "description",
    "gcp_project_id": "gcp_project_id",
    "gcp_service_account_email": "gcp_service_account_email",
    "status": {
      "discovery_progress": {
        "done": 0,
        "total": 0,
        "unit": "unit"
      },
      "discovery_progress_v2": {
        "done": 0,
        "total": 0,
        "unit": "unit"
      },
      "last_discovery_status": "UNSPECIFIED",
      "last_discovery_status_v2": "UNSPECIFIED",
      "regions": [
        "string"
      ],
      "credentials_good_since": "credentials_good_since",
      "credentials_missing_since": "credentials_missing_since",
      "credentials_rejected_since": "credentials_rejected_since",
      "discovery_message": "discovery_message",
      "discovery_message_v2": "discovery_message_v2",
      "in_use_by": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "client_type": "MAGIC_WAN_CLOUD_ONRAMP",
          "name": "name"
        }
      ],
      "last_discovery_completed_at": "last_discovery_completed_at",
      "last_discovery_completed_at_v2": "last_discovery_completed_at_v2",
      "last_discovery_started_at": "last_discovery_started_at",
      "last_discovery_started_at_v2": "last_discovery_started_at_v2",
      "last_updated": "last_updated"
    }
  },
  "success": true
}