Skip to content
Ona Docs

CreateCustomDomain

client.Organizations.CustomDomains.New(ctx, body) (*OrganizationCustomDomainNewResponse, error)
POST/gitpod.v1.OrganizationService/CreateCustomDomain

Creates a custom domain configuration for an organization.

Use this method to configure custom domains for organization workspaces

Examples

  • Configure AWS custom domain:

    Sets up a custom domain with AWS provider.

    organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047"
    domainName: "workspaces.acme-corp.com"
    provider: CUSTOM_DOMAIN_PROVIDER_AWS
    awsAccountId: "123456789012"
ParametersExpand Collapse
body OrganizationCustomDomainNewParams
DomainName param.Field[string]

domain_name is the custom domain name

maxLength253
minLength4
OrganizationID param.Field[string]

organization_id is the ID of the organization to create the custom domain for

formatuuid
DeprecatedAwsAccountID param.Field[string]Optional

aws_account_id is the AWS account ID (deprecated: use cloud_account_id)

CloudAccountID param.Field[string]Optional

cloud_account_id is the unified cloud account identifier (AWS Account ID or GCP Project ID)

Provider param.Field[CustomDomainProvider]Optional

provider is the cloud provider for this custom domain

ReturnsExpand Collapse
type OrganizationCustomDomainNewResponse struct{…}

CreateCustomDomainResponse is the response message for creating a custom domain

CustomDomain CustomDomain

custom_domain is the created custom domain

ID string

id is the unique identifier of the custom domain

formatuuid
CreatedAt Time

created_at is when the custom domain was created

formatdate-time
DomainName string

domain_name is the custom domain name

maxLength253
minLength4
OrganizationID string

organization_id is the ID of the organization this custom domain belongs to

formatuuid
UpdatedAt Time

updated_at is when the custom domain was last updated

formatdate-time
DeprecatedAwsAccountID stringOptional

aws_account_id is the AWS account ID (deprecated: use cloud_account_id)

CloudAccountID stringOptional

cloud_account_id is the unified cloud account identifier (AWS Account ID or GCP Project ID)

Provider CustomDomainProviderOptional

provider is the cloud provider for this custom domain

One of the following:
const CustomDomainProviderUnspecified CustomDomainProvider = "CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"
const CustomDomainProviderAws CustomDomainProvider = "CUSTOM_DOMAIN_PROVIDER_AWS"
const CustomDomainProviderGcp CustomDomainProvider = "CUSTOM_DOMAIN_PROVIDER_GCP"

CreateCustomDomain

package main

import (
  "context"
  "fmt"

  "github.com/gitpod-io/gitpod-sdk-go"
  "github.com/gitpod-io/gitpod-sdk-go/option"
)

func main() {
  client := gitpod.NewClient(
    option.WithBearerToken("My Bearer Token"),
  )
  customDomain, err := client.Organizations.CustomDomains.New(context.TODO(), gitpod.OrganizationCustomDomainNewParams{
    DomainName: gitpod.F("workspaces.acme-corp.com"),
    OrganizationID: gitpod.F("b0e12f6c-4c67-429d-a4a6-d9838b5da047"),
    AwsAccountID: gitpod.F("123456789012"),
    Provider: gitpod.F(gitpod.CustomDomainProviderAws),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", customDomain.CustomDomain)
}
{
  "customDomain": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "createdAt": "2019-12-27T18:11:19.117Z",
    "domainName": "xxxx",
    "organizationId": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "updatedAt": "2019-12-27T18:11:19.117Z",
    "awsAccountId": "awsAccountId",
    "cloudAccountId": "cloudAccountId",
    "provider": "CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"
  }
}
Returns Examples
{
  "customDomain": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "createdAt": "2019-12-27T18:11:19.117Z",
    "domainName": "xxxx",
    "organizationId": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "updatedAt": "2019-12-27T18:11:19.117Z",
    "awsAccountId": "awsAccountId",
    "cloudAccountId": "cloudAccountId",
    "provider": "CUSTOM_DOMAIN_PROVIDER_UNSPECIFIED"
  }
}