Skip to content
Start here

Create a new share resource

client.ResourceSharing.Resources.New(ctx, shareID, params) (*ResourceNewResponse, error)
POST/accounts/{account_id}/shares/{share_id}/resources

Adds a resource to an existing share, making it available to share recipients.

Security

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
ParametersExpand Collapse
shareID string

Share identifier tag.

maxLength32
params ResourceNewParams
AccountID param.Field[string]

Path param: Account identifier.

maxLength32
Meta param.Field[unknown]

Body param: Resource Metadata.

ResourceAccountID param.Field[string]

Body param: Account identifier.

maxLength32
ResourceID param.Field[string]

Body param: Share Resource identifier.

maxLength32
ResourceType param.Field[ResourceNewParamsResourceType]

Body param: Resource Type.

const ResourceNewParamsResourceTypeCustomRuleset ResourceNewParamsResourceType = "custom-ruleset"
const ResourceNewParamsResourceTypeGatewayPolicy ResourceNewParamsResourceType = "gateway-policy"
const ResourceNewParamsResourceTypeGatewayDestinationIP ResourceNewParamsResourceType = "gateway-destination-ip"
const ResourceNewParamsResourceTypeGatewayBlockPageSettings ResourceNewParamsResourceType = "gateway-block-page-settings"
const ResourceNewParamsResourceTypeGatewayExtendedEmailMatching ResourceNewParamsResourceType = "gateway-extended-email-matching"
ReturnsExpand Collapse
type ResourceNewResponse struct{…}
ID string

Share Resource identifier.

maxLength32
Created Time

When the share was created.

formatdate-time
Meta unknown

Resource Metadata.

Modified Time

When the share was modified.

formatdate-time
ResourceAccountID string

Account identifier.

maxLength32
ResourceID string

Share Resource identifier.

maxLength32
ResourceType ResourceNewResponseResourceType

Resource Type.

One of the following:
const ResourceNewResponseResourceTypeCustomRuleset ResourceNewResponseResourceType = "custom-ruleset"
const ResourceNewResponseResourceTypeGatewayPolicy ResourceNewResponseResourceType = "gateway-policy"
const ResourceNewResponseResourceTypeGatewayDestinationIP ResourceNewResponseResourceType = "gateway-destination-ip"
const ResourceNewResponseResourceTypeGatewayBlockPageSettings ResourceNewResponseResourceType = "gateway-block-page-settings"
const ResourceNewResponseResourceTypeGatewayExtendedEmailMatching ResourceNewResponseResourceType = "gateway-extended-email-matching"
ResourceVersion int64

Resource Version.

Status ResourceNewResponseStatus

Resource Status.

One of the following:
const ResourceNewResponseStatusActive ResourceNewResponseStatus = "active"
const ResourceNewResponseStatusDeleting ResourceNewResponseStatus = "deleting"
const ResourceNewResponseStatusDeleted ResourceNewResponseStatus = "deleted"

Create a new share resource

package main

import (
  "context"
  "fmt"

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

func main() {
  client := cloudflare.NewClient(
    option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
    option.WithAPIEmail("user@example.com"),
  )
  resource, err := client.ResourceSharing.Resources.New(
    context.TODO(),
    "3fd85f74b32742f1bff64a85009dda07",
    resource_sharing.ResourceNewParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
      Meta: cloudflare.F[any](map[string]interface{}{
      }),
      ResourceAccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
      ResourceID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
      ResourceType: cloudflare.F(resource_sharing.ResourceNewParamsResourceTypeCustomRuleset),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", resource.ID)
}
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "023e105f4ecef8ad9ca31a8372d0c353",
    "created": "2023-09-21T18:56:32.624632Z",
    "meta": {},
    "modified": "2023-09-21T18:56:32.624632Z",
    "resource_account_id": "023e105f4ecef8ad9ca31a8372d0c353",
    "resource_id": "023e105f4ecef8ad9ca31a8372d0c353",
    "resource_type": "custom-ruleset",
    "resource_version": 0,
    "status": "active"
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "023e105f4ecef8ad9ca31a8372d0c353",
    "created": "2023-09-21T18:56:32.624632Z",
    "meta": {},
    "modified": "2023-09-21T18:56:32.624632Z",
    "resource_account_id": "023e105f4ecef8ad9ca31a8372d0c353",
    "resource_id": "023e105f4ecef8ad9ca31a8372d0c353",
    "resource_type": "custom-ruleset",
    "resource_version": 0,
    "status": "active"
  }
}