## 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). ### Parameters - `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]` Body param - `Forwarded param.Field[string]` Header param ### Returns - `type CloudIntegrationNewResponse struct{…}` - `ID string` - `CloudType CloudIntegrationNewResponseCloudType` - `const CloudIntegrationNewResponseCloudTypeAws CloudIntegrationNewResponseCloudType = "AWS"` - `const CloudIntegrationNewResponseCloudTypeAzure CloudIntegrationNewResponseCloudType = "AZURE"` - `const CloudIntegrationNewResponseCloudTypeGoogle CloudIntegrationNewResponseCloudType = "GOOGLE"` - `const CloudIntegrationNewResponseCloudTypeCloudflare CloudIntegrationNewResponseCloudType = "CLOUDFLARE"` - `FriendlyName string` - `LastUpdated string` - `LifecycleState CloudIntegrationNewResponseLifecycleState` - `const CloudIntegrationNewResponseLifecycleStateActive CloudIntegrationNewResponseLifecycleState = "ACTIVE"` - `const CloudIntegrationNewResponseLifecycleStatePendingSetup CloudIntegrationNewResponseLifecycleState = "PENDING_SETUP"` - `const CloudIntegrationNewResponseLifecycleStateRetired CloudIntegrationNewResponseLifecycleState = "RETIRED"` - `State CloudIntegrationNewResponseState` - `const CloudIntegrationNewResponseStateUnspecified CloudIntegrationNewResponseState = "UNSPECIFIED"` - `const CloudIntegrationNewResponseStatePending CloudIntegrationNewResponseState = "PENDING"` - `const CloudIntegrationNewResponseStateDiscovering CloudIntegrationNewResponseState = "DISCOVERING"` - `const CloudIntegrationNewResponseStateFailed CloudIntegrationNewResponseState = "FAILED"` - `const CloudIntegrationNewResponseStateSucceeded CloudIntegrationNewResponseState = "SUCCEEDED"` - `StateV2 CloudIntegrationNewResponseStateV2` - `const CloudIntegrationNewResponseStateV2Unspecified CloudIntegrationNewResponseStateV2 = "UNSPECIFIED"` - `const CloudIntegrationNewResponseStateV2Pending CloudIntegrationNewResponseStateV2 = "PENDING"` - `const CloudIntegrationNewResponseStateV2Discovering CloudIntegrationNewResponseStateV2 = "DISCOVERING"` - `const CloudIntegrationNewResponseStateV2Failed CloudIntegrationNewResponseStateV2 = "FAILED"` - `const CloudIntegrationNewResponseStateV2Succeeded CloudIntegrationNewResponseStateV2 = "SUCCEEDED"` - `AwsArn string` - `AzureSubscriptionID string` - `AzureTenantID string` - `Description string` - `GcpProjectID string` - `GcpServiceAccountEmail string` - `Status CloudIntegrationNewResponseStatus` - `DiscoveryProgress CloudIntegrationNewResponseStatusDiscoveryProgress` - `Done int64` - `Total int64` - `Unit string` - `DiscoveryProgressV2 CloudIntegrationNewResponseStatusDiscoveryProgressV2` - `Done int64` - `Total int64` - `Unit string` - `LastDiscoveryStatus CloudIntegrationNewResponseStatusLastDiscoveryStatus` - `const CloudIntegrationNewResponseStatusLastDiscoveryStatusUnspecified CloudIntegrationNewResponseStatusLastDiscoveryStatus = "UNSPECIFIED"` - `const CloudIntegrationNewResponseStatusLastDiscoveryStatusPending CloudIntegrationNewResponseStatusLastDiscoveryStatus = "PENDING"` - `const CloudIntegrationNewResponseStatusLastDiscoveryStatusDiscovering CloudIntegrationNewResponseStatusLastDiscoveryStatus = "DISCOVERING"` - `const CloudIntegrationNewResponseStatusLastDiscoveryStatusFailed CloudIntegrationNewResponseStatusLastDiscoveryStatus = "FAILED"` - `const CloudIntegrationNewResponseStatusLastDiscoveryStatusSucceeded CloudIntegrationNewResponseStatusLastDiscoveryStatus = "SUCCEEDED"` - `LastDiscoveryStatusV2 CloudIntegrationNewResponseStatusLastDiscoveryStatusV2` - `const CloudIntegrationNewResponseStatusLastDiscoveryStatusV2Unspecified CloudIntegrationNewResponseStatusLastDiscoveryStatusV2 = "UNSPECIFIED"` - `const CloudIntegrationNewResponseStatusLastDiscoveryStatusV2Pending CloudIntegrationNewResponseStatusLastDiscoveryStatusV2 = "PENDING"` - `const CloudIntegrationNewResponseStatusLastDiscoveryStatusV2Discovering CloudIntegrationNewResponseStatusLastDiscoveryStatusV2 = "DISCOVERING"` - `const CloudIntegrationNewResponseStatusLastDiscoveryStatusV2Failed CloudIntegrationNewResponseStatusLastDiscoveryStatusV2 = "FAILED"` - `const CloudIntegrationNewResponseStatusLastDiscoveryStatusV2Succeeded CloudIntegrationNewResponseStatusLastDiscoveryStatusV2 = "SUCCEEDED"` - `Regions []string` - `CredentialsGoodSince string` - `CredentialsMissingSince string` - `CredentialsRejectedSince string` - `DiscoveryMessage string` - `DiscoveryMessageV2 string` - `InUseBy []CloudIntegrationNewResponseStatusInUseBy` - `ID string` - `ClientType CloudIntegrationNewResponseStatusInUseByClientType` - `const CloudIntegrationNewResponseStatusInUseByClientTypeMagicWANCloudOnramp CloudIntegrationNewResponseStatusInUseByClientType = "MAGIC_WAN_CLOUD_ONRAMP"` - `Name string` - `LastDiscoveryCompletedAt string` - `LastDiscoveryCompletedAtV2 string` - `LastDiscoveryStartedAt string` - `LastDiscoveryStartedAtV2 string` - `LastUpdated string` ### Example ```go 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) } ``` #### Response ```json { "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 } ```