# Origin Cloud Regions ## List origin cloud region mappings `client.Cache.OriginCloudRegions.List(ctx, query) (*OriginCloudRegionListResponse, error)` **get** `/zones/{zone_id}/cache/origin_cloud_regions` Returns all IP-to-cloud-region mappings configured for the zone. Each mapping tells Cloudflare which cloud vendor and region hosts the origin at that IP, enabling the edge to route via the nearest Tiered Cache upper-tier co-located with that cloud provider. Returns an empty array when no mappings exist. ### Parameters - `query OriginCloudRegionListParams` - `ZoneID param.Field[string]` Identifier. ### Returns - `type OriginCloudRegionListResponse struct{…}` Response result for a list of origin cloud region mappings. - `ID OriginCloudRegionListResponseID` - `const OriginCloudRegionListResponseIDOriginPublicCloudRegion OriginCloudRegionListResponseID = "origin_public_cloud_region"` - `Editable bool` Whether the setting can be modified by the current user. - `Value []OriginCloudRegion` - `OriginIP string` The origin IP address (IPv4 or IPv6, canonicalized). - `Region string` Cloud vendor region identifier. - `Vendor OriginCloudRegionVendor` Cloud vendor hosting the origin. - `const OriginCloudRegionVendorAws OriginCloudRegionVendor = "aws"` - `const OriginCloudRegionVendorAzure OriginCloudRegionVendor = "azure"` - `const OriginCloudRegionVendorGcp OriginCloudRegionVendor = "gcp"` - `const OriginCloudRegionVendorOci OriginCloudRegionVendor = "oci"` - `ModifiedOn Time` Time this mapping was last modified. - `ModifiedOn Time` Time the mapping set was last modified. Null when no mappings exist. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cache" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) originCloudRegions, err := client.Cache.OriginCloudRegions.List(context.TODO(), cache.OriginCloudRegionListParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", originCloudRegions.ID) } ``` #### Response ```json { "errors": [], "messages": [], "result": { "editable": true, "id": "origin_public_cloud_region", "modified_on": null, "value": [] }, "success": true } ``` ## Create an origin cloud region mapping `client.Cache.OriginCloudRegions.New(ctx, params) (*OriginCloudRegionNewResponse, error)` **post** `/zones/{zone_id}/cache/origin_cloud_regions` Adds a single IP-to-cloud-region mapping for the zone. The IP must be a valid IPv4 or IPv6 address and is normalized to canonical form before storage (RFC 5952 for IPv6). Returns 400 (code 1145) if a mapping for that IP already exists — use PATCH to update an existing entry. The vendor and region are validated against the list from `GET /zones/{zone_id}/cache/origin_cloud_regions/supported_regions`. ### Parameters - `params OriginCloudRegionNewParams` - `ZoneID param.Field[string]` Path param: Identifier. - `IP param.Field[string]` Body param: Origin IP address (IPv4 or IPv6). Normalized to canonical form before storage (RFC 5952 for IPv6). - `Region param.Field[string]` Body param: Cloud vendor region identifier. Must be a valid region for the specified vendor as returned by the supported_regions endpoint. - `Vendor param.Field[OriginCloudRegionNewParamsVendor]` Body param: Cloud vendor hosting the origin. Must be one of the supported vendors. - `const OriginCloudRegionNewParamsVendorAws OriginCloudRegionNewParamsVendor = "aws"` - `const OriginCloudRegionNewParamsVendorAzure OriginCloudRegionNewParamsVendor = "azure"` - `const OriginCloudRegionNewParamsVendorGcp OriginCloudRegionNewParamsVendor = "gcp"` - `const OriginCloudRegionNewParamsVendorOci OriginCloudRegionNewParamsVendor = "oci"` ### Returns - `type OriginCloudRegionNewResponse struct{…}` Response result for a single origin cloud region mapping. - `ID OriginCloudRegionNewResponseID` - `const OriginCloudRegionNewResponseIDOriginPublicCloudRegion OriginCloudRegionNewResponseID = "origin_public_cloud_region"` - `Editable bool` Whether the setting can be modified by the current user. - `Value OriginCloudRegion` A single origin IP-to-cloud-region mapping. - `OriginIP string` The origin IP address (IPv4 or IPv6, canonicalized). - `Region string` Cloud vendor region identifier. - `Vendor OriginCloudRegionVendor` Cloud vendor hosting the origin. - `const OriginCloudRegionVendorAws OriginCloudRegionVendor = "aws"` - `const OriginCloudRegionVendorAzure OriginCloudRegionVendor = "azure"` - `const OriginCloudRegionVendorGcp OriginCloudRegionVendor = "gcp"` - `const OriginCloudRegionVendorOci OriginCloudRegionVendor = "oci"` - `ModifiedOn Time` Time this mapping was last modified. - `ModifiedOn Time` Time the mapping was last modified. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cache" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) originCloudRegion, err := client.Cache.OriginCloudRegions.New(context.TODO(), cache.OriginCloudRegionNewParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), IP: cloudflare.F("192.0.2.1"), Region: cloudflare.F("us-east-1"), Vendor: cloudflare.F(cache.OriginCloudRegionNewParamsVendorAws), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", originCloudRegion.ID) } ``` #### Response ```json { "errors": [], "messages": [], "result": { "editable": true, "id": "origin_public_cloud_region", "modified_on": "2026-03-01T12:00:00Z", "value": { "modified_on": "2026-03-01T12:00:00Z", "origin-ip": "192.0.2.1", "region": "us-east-1", "vendor": "aws" } }, "success": true } ``` ## Create or update an origin cloud region mapping `client.Cache.OriginCloudRegions.Edit(ctx, params) (*OriginCloudRegionEditResponse, error)` **patch** `/zones/{zone_id}/cache/origin_cloud_regions` Adds or updates a single IP-to-cloud-region mapping for the zone. Unlike POST, this operation is idempotent — if a mapping for the IP already exists it is overwritten. Returns the complete updated list of all mappings for the zone. Returns 403 (code 1164) when the zone has reached the limit of 3,500 IP mappings. ### Parameters - `params OriginCloudRegionEditParams` - `ZoneID param.Field[string]` Path param: Identifier. - `IP param.Field[string]` Body param: Origin IP address (IPv4 or IPv6). Normalized to canonical form before storage (RFC 5952 for IPv6). - `Region param.Field[string]` Body param: Cloud vendor region identifier. Must be a valid region for the specified vendor as returned by the supported_regions endpoint. - `Vendor param.Field[OriginCloudRegionEditParamsVendor]` Body param: Cloud vendor hosting the origin. Must be one of the supported vendors. - `const OriginCloudRegionEditParamsVendorAws OriginCloudRegionEditParamsVendor = "aws"` - `const OriginCloudRegionEditParamsVendorAzure OriginCloudRegionEditParamsVendor = "azure"` - `const OriginCloudRegionEditParamsVendorGcp OriginCloudRegionEditParamsVendor = "gcp"` - `const OriginCloudRegionEditParamsVendorOci OriginCloudRegionEditParamsVendor = "oci"` ### Returns - `type OriginCloudRegionEditResponse struct{…}` Response result for a list of origin cloud region mappings. - `ID OriginCloudRegionEditResponseID` - `const OriginCloudRegionEditResponseIDOriginPublicCloudRegion OriginCloudRegionEditResponseID = "origin_public_cloud_region"` - `Editable bool` Whether the setting can be modified by the current user. - `Value []OriginCloudRegion` - `OriginIP string` The origin IP address (IPv4 or IPv6, canonicalized). - `Region string` Cloud vendor region identifier. - `Vendor OriginCloudRegionVendor` Cloud vendor hosting the origin. - `const OriginCloudRegionVendorAws OriginCloudRegionVendor = "aws"` - `const OriginCloudRegionVendorAzure OriginCloudRegionVendor = "azure"` - `const OriginCloudRegionVendorGcp OriginCloudRegionVendor = "gcp"` - `const OriginCloudRegionVendorOci OriginCloudRegionVendor = "oci"` - `ModifiedOn Time` Time this mapping was last modified. - `ModifiedOn Time` Time the mapping set was last modified. Null when no mappings exist. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cache" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Cache.OriginCloudRegions.Edit(context.TODO(), cache.OriginCloudRegionEditParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), IP: cloudflare.F("2001:db8::1"), Region: cloudflare.F("us-central1"), Vendor: cloudflare.F(cache.OriginCloudRegionEditParamsVendorGcp), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ID) } ``` #### Response ```json { "errors": [], "messages": [], "result": { "editable": true, "id": "origin_public_cloud_region", "modified_on": "2026-03-01T12:00:00Z", "value": [ { "modified_on": "2026-03-01T12:00:00Z", "origin-ip": "192.0.2.1", "region": "us-east-1", "vendor": "aws" }, { "modified_on": "2026-03-01T12:00:00Z", "origin-ip": "2001:db8::1", "region": "us-central1", "vendor": "gcp" } ] }, "success": true } ``` ## Get an origin cloud region mapping `client.Cache.OriginCloudRegions.Get(ctx, originIP, query) (*OriginCloudRegionGetResponse, error)` **get** `/zones/{zone_id}/cache/origin_cloud_regions/{origin_ip}` Returns the cloud region mapping for a single origin IP address. The IP path parameter is normalized before lookup (RFC 5952 for IPv6). Returns 404 (code 1142) if the zone has no mappings or if the specified IP has no mapping. ### Parameters - `originIP string` - `query OriginCloudRegionGetParams` - `ZoneID param.Field[string]` Identifier. ### Returns - `type OriginCloudRegionGetResponse struct{…}` Response result for a single origin cloud region mapping. - `ID OriginCloudRegionGetResponseID` - `const OriginCloudRegionGetResponseIDOriginPublicCloudRegion OriginCloudRegionGetResponseID = "origin_public_cloud_region"` - `Editable bool` Whether the setting can be modified by the current user. - `Value OriginCloudRegion` A single origin IP-to-cloud-region mapping. - `OriginIP string` The origin IP address (IPv4 or IPv6, canonicalized). - `Region string` Cloud vendor region identifier. - `Vendor OriginCloudRegionVendor` Cloud vendor hosting the origin. - `const OriginCloudRegionVendorAws OriginCloudRegionVendor = "aws"` - `const OriginCloudRegionVendorAzure OriginCloudRegionVendor = "azure"` - `const OriginCloudRegionVendorGcp OriginCloudRegionVendor = "gcp"` - `const OriginCloudRegionVendorOci OriginCloudRegionVendor = "oci"` - `ModifiedOn Time` Time this mapping was last modified. - `ModifiedOn Time` Time the mapping was last modified. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cache" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) originCloudRegion, err := client.Cache.OriginCloudRegions.Get( context.TODO(), "192.0.2.1", cache.OriginCloudRegionGetParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", originCloudRegion.ID) } ``` #### Response ```json { "errors": [], "messages": [], "result": { "editable": true, "id": "origin_public_cloud_region", "modified_on": "2026-03-01T12:00:00Z", "value": { "modified_on": "2026-03-01T12:00:00Z", "origin-ip": "192.0.2.1", "region": "us-east-1", "vendor": "aws" } }, "success": true } ``` ## Delete an origin cloud region mapping `client.Cache.OriginCloudRegions.Delete(ctx, originIP, body) (*OriginCloudRegionDeleteResponse, error)` **delete** `/zones/{zone_id}/cache/origin_cloud_regions/{origin_ip}` Removes the cloud region mapping for a single origin IP address. The IP path parameter is normalized before lookup. Returns the deleted entry on success. Returns 404 (code 1163) if no mapping exists for the specified IP. When the last mapping for the zone is removed the underlying rule record is also deleted. ### Parameters - `originIP string` - `body OriginCloudRegionDeleteParams` - `ZoneID param.Field[string]` Identifier. ### Returns - `type OriginCloudRegionDeleteResponse struct{…}` Response result for a single origin cloud region mapping. - `ID OriginCloudRegionDeleteResponseID` - `const OriginCloudRegionDeleteResponseIDOriginPublicCloudRegion OriginCloudRegionDeleteResponseID = "origin_public_cloud_region"` - `Editable bool` Whether the setting can be modified by the current user. - `Value OriginCloudRegion` A single origin IP-to-cloud-region mapping. - `OriginIP string` The origin IP address (IPv4 or IPv6, canonicalized). - `Region string` Cloud vendor region identifier. - `Vendor OriginCloudRegionVendor` Cloud vendor hosting the origin. - `const OriginCloudRegionVendorAws OriginCloudRegionVendor = "aws"` - `const OriginCloudRegionVendorAzure OriginCloudRegionVendor = "azure"` - `const OriginCloudRegionVendorGcp OriginCloudRegionVendor = "gcp"` - `const OriginCloudRegionVendorOci OriginCloudRegionVendor = "oci"` - `ModifiedOn Time` Time this mapping was last modified. - `ModifiedOn Time` Time the mapping was last modified. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cache" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) originCloudRegion, err := client.Cache.OriginCloudRegions.Delete( context.TODO(), "192.0.2.1", cache.OriginCloudRegionDeleteParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", originCloudRegion.ID) } ``` #### Response ```json { "errors": [], "messages": [], "result": { "editable": true, "id": "origin_public_cloud_region", "modified_on": "2026-03-01T12:00:00Z", "value": { "modified_on": "2026-03-01T12:00:00Z", "origin-ip": "192.0.2.1", "region": "us-east-1", "vendor": "aws" } }, "success": true } ``` ## Batch create or update origin cloud region mappings `client.Cache.OriginCloudRegions.BulkEdit(ctx, params) (*OriginCloudRegionBulkEditResponse, error)` **patch** `/zones/{zone_id}/cache/origin_cloud_regions/batch` Adds or updates up to 100 IP-to-cloud-region mappings in a single request. Each item is validated independently — valid items are applied and invalid items are returned in the `failed` array. The vendor and region for every item are validated against the list from `GET /zones/{zone_id}/cache/origin_cloud_regions/supported_regions`. ### Parameters - `params OriginCloudRegionBulkEditParams` - `ZoneID param.Field[string]` Path param: Identifier. - `Body param.Field[[]OriginCloudRegionBulkEditParamsBody]` Body param - `IP string` Origin IP address (IPv4 or IPv6). Normalized to canonical form before storage (RFC 5952 for IPv6). - `Region string` Cloud vendor region identifier. Must be a valid region for the specified vendor as returned by the supported_regions endpoint. - `Vendor OriginCloudRegionBulkEditParamsBodyVendor` Cloud vendor hosting the origin. Must be one of the supported vendors. - `const OriginCloudRegionBulkEditParamsBodyVendorAws OriginCloudRegionBulkEditParamsBodyVendor = "aws"` - `const OriginCloudRegionBulkEditParamsBodyVendorAzure OriginCloudRegionBulkEditParamsBodyVendor = "azure"` - `const OriginCloudRegionBulkEditParamsBodyVendorGcp OriginCloudRegionBulkEditParamsBodyVendor = "gcp"` - `const OriginCloudRegionBulkEditParamsBodyVendorOci OriginCloudRegionBulkEditParamsBodyVendor = "oci"` ### Returns - `type OriginCloudRegionBulkEditResponse struct{…}` Response result for a batch origin cloud region operation. - `ID OriginCloudRegionBulkEditResponseID` - `const OriginCloudRegionBulkEditResponseIDOriginPublicCloudRegion OriginCloudRegionBulkEditResponseID = "origin_public_cloud_region"` - `Editable bool` Whether the setting can be modified by the current user. - `Value OriginCloudRegionBulkEditResponseValue` - `Failed []OriginCloudRegionBulkEditResponseValueFailed` Items that could not be applied, with error details. - `OriginIP string` The origin IP address for this item. - `Error string` Error message explaining why the item failed. Present only on failed items. - `Region string` Cloud vendor region identifier. Present on succeeded items for patch operations. - `Vendor string` Cloud vendor identifier. Present on succeeded items for patch operations. - `Succeeded []OriginCloudRegionBulkEditResponseValueSucceeded` Items that were successfully applied. - `OriginIP string` The origin IP address for this item. - `Error string` Error message explaining why the item failed. Present only on failed items. - `Region string` Cloud vendor region identifier. Present on succeeded items for patch operations. - `Vendor string` Cloud vendor identifier. Present on succeeded items for patch operations. - `ModifiedOn Time` Time the mapping set was last modified. Null when no items were successfully applied. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cache" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Cache.OriginCloudRegions.BulkEdit(context.TODO(), cache.OriginCloudRegionBulkEditParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), Body: []cache.OriginCloudRegionBulkEditParamsBody{cache.OriginCloudRegionBulkEditParamsBody{ IP: cloudflare.F("192.0.2.1"), Region: cloudflare.F("us-east-1"), Vendor: cloudflare.F(cache.OriginCloudRegionBulkEditParamsBodyVendorAws), }, cache.OriginCloudRegionBulkEditParamsBody{ IP: cloudflare.F("2001:db8::1"), Region: cloudflare.F("us-central1"), Vendor: cloudflare.F(cache.OriginCloudRegionBulkEditParamsBodyVendorGcp), }}, }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ID) } ``` #### Response ```json { "errors": [], "messages": [], "result": { "editable": true, "id": "origin_public_cloud_region", "modified_on": "2026-03-01T12:00:00Z", "value": { "failed": [], "succeeded": [ { "origin-ip": "192.0.2.1", "region": "us-east-1", "vendor": "aws" }, { "origin-ip": "2001:db8::1", "region": "us-central1", "vendor": "gcp" } ] } }, "success": true } ``` ## Batch delete origin cloud region mappings `client.Cache.OriginCloudRegions.BulkDelete(ctx, body) (*OriginCloudRegionBulkDeleteResponse, error)` **delete** `/zones/{zone_id}/cache/origin_cloud_regions/batch` Removes up to 100 IP-to-cloud-region mappings in a single request. Each IP is validated independently — successfully deleted items are returned in the `succeeded` array and IPs that could not be found or are invalid are returned in the `failed` array. ### Parameters - `body OriginCloudRegionBulkDeleteParams` - `ZoneID param.Field[string]` Identifier. ### Returns - `type OriginCloudRegionBulkDeleteResponse struct{…}` Response result for a batch origin cloud region operation. - `ID OriginCloudRegionBulkDeleteResponseID` - `const OriginCloudRegionBulkDeleteResponseIDOriginPublicCloudRegion OriginCloudRegionBulkDeleteResponseID = "origin_public_cloud_region"` - `Editable bool` Whether the setting can be modified by the current user. - `Value OriginCloudRegionBulkDeleteResponseValue` - `Failed []OriginCloudRegionBulkDeleteResponseValueFailed` Items that could not be applied, with error details. - `OriginIP string` The origin IP address for this item. - `Error string` Error message explaining why the item failed. Present only on failed items. - `Region string` Cloud vendor region identifier. Present on succeeded items for patch operations. - `Vendor string` Cloud vendor identifier. Present on succeeded items for patch operations. - `Succeeded []OriginCloudRegionBulkDeleteResponseValueSucceeded` Items that were successfully applied. - `OriginIP string` The origin IP address for this item. - `Error string` Error message explaining why the item failed. Present only on failed items. - `Region string` Cloud vendor region identifier. Present on succeeded items for patch operations. - `Vendor string` Cloud vendor identifier. Present on succeeded items for patch operations. - `ModifiedOn Time` Time the mapping set was last modified. Null when no items were successfully applied. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cache" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Cache.OriginCloudRegions.BulkDelete(context.TODO(), cache.OriginCloudRegionBulkDeleteParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ID) } ``` #### Response ```json { "errors": [], "messages": [], "result": { "editable": true, "id": "origin_public_cloud_region", "modified_on": "2026-03-01T12:00:00Z", "value": { "failed": [], "succeeded": [ { "origin-ip": "192.0.2.1", "region": "us-east-1", "vendor": "aws" }, { "origin-ip": "2001:db8::1", "region": "us-central1", "vendor": "gcp" } ] } }, "success": true } ``` ## List supported cloud vendors and regions `client.Cache.OriginCloudRegions.SupportedRegions(ctx, query) (*OriginCloudRegionSupportedRegionsResponse, error)` **get** `/zones/{zone_id}/cache/origin_cloud_regions/supported_regions` Returns the cloud vendors and regions that are valid values for origin cloud region mappings. Each region includes the Tiered Cache upper-tier colocation codes that will be used for cache routing when a mapping targeting that region is active. Requires the zone to have Tiered Cache enabled. ### Parameters - `query OriginCloudRegionSupportedRegionsParams` - `ZoneID param.Field[string]` Identifier. ### Returns - `type OriginCloudRegionSupportedRegionsResponse struct{…}` Cloud vendors and their supported regions for origin cloud region mappings. - `ObtainedCodes bool` Whether Cloudflare airport codes (IATA colo identifiers) were successfully resolved for the `upper_tier_colos` field on each region. When `false`, the `upper_tier_colos` arrays may be empty or incomplete. - `Vendors map[string, []OriginCloudRegionSupportedRegionsResponseVendor]` Map of vendor name to list of supported regions. - `Name string` Cloud vendor region identifier. - `UpperTierColos []string` Cloudflare Tiered Cache upper-tier colocation codes co-located with this cloud region. Requests from zones with a matching origin mapping will be routed through these colos. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cache" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Cache.OriginCloudRegions.SupportedRegions(context.TODO(), cache.OriginCloudRegionSupportedRegionsParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ObtainedCodes) } ``` #### Response ```json { "errors": [], "messages": [], "result": { "obtained_codes": true, "vendors": { "aws": [ { "name": "us-east-1", "upper_tier_colos": [ "IAD", "EWR" ] }, { "name": "us-west-2", "upper_tier_colos": [ "SEA" ] } ], "gcp": [ { "name": "us-central1", "upper_tier_colos": [ "ORD" ] } ] } }, "success": true } ``` ## Domain Types ### Origin Cloud Region - `type OriginCloudRegion struct{…}` A single origin IP-to-cloud-region mapping. - `OriginIP string` The origin IP address (IPv4 or IPv6, canonicalized). - `Region string` Cloud vendor region identifier. - `Vendor OriginCloudRegionVendor` Cloud vendor hosting the origin. - `const OriginCloudRegionVendorAws OriginCloudRegionVendor = "aws"` - `const OriginCloudRegionVendorAzure OriginCloudRegionVendor = "azure"` - `const OriginCloudRegionVendorGcp OriginCloudRegionVendor = "gcp"` - `const OriginCloudRegionVendorOci OriginCloudRegionVendor = "oci"` - `ModifiedOn Time` Time this mapping was last modified.