## Update a share `client.ResourceSharing.Update(ctx, shareID, params) (*ResourceSharingUpdateResponse, error)` **put** `/accounts/{account_id}/shares/{share_id}` Updating is not immediate, an updated share object with a new status will be returned. ### Parameters - `shareID string` Share identifier tag. - `params ResourceSharingUpdateParams` - `AccountID param.Field[string]` Path param: Account identifier. - `Name param.Field[string]` Body param: The name of the share. ### Returns - `type ResourceSharingUpdateResponse struct{…}` - `ID string` Share identifier tag. - `AccountID string` Account identifier. - `AccountName string` The display name of an account. - `Created Time` When the share was created. - `Modified Time` When the share was modified. - `Name string` The name of the share. - `OrganizationID string` Organization identifier. - `Status ResourceSharingUpdateResponseStatus` - `const ResourceSharingUpdateResponseStatusActive ResourceSharingUpdateResponseStatus = "active"` - `const ResourceSharingUpdateResponseStatusDeleting ResourceSharingUpdateResponseStatus = "deleting"` - `const ResourceSharingUpdateResponseStatusDeleted ResourceSharingUpdateResponseStatus = "deleted"` - `TargetType ResourceSharingUpdateResponseTargetType` - `const ResourceSharingUpdateResponseTargetTypeAccount ResourceSharingUpdateResponseTargetType = "account"` - `const ResourceSharingUpdateResponseTargetTypeOrganization ResourceSharingUpdateResponseTargetType = "organization"` - `AssociatedRecipientCount int64` The number of recipients in the 'associated' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `AssociatingRecipientCount int64` The number of recipients in the 'associating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `DisassociatedRecipientCount int64` The number of recipients in the 'disassociated' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `DisassociatingRecipientCount int64` The number of recipients in the 'disassociating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `Kind ResourceSharingUpdateResponseKind` - `const ResourceSharingUpdateResponseKindSent ResourceSharingUpdateResponseKind = "sent"` - `const ResourceSharingUpdateResponseKindReceived ResourceSharingUpdateResponseKind = "received"` - `Resources []ResourceSharingUpdateResponseResource` A list of resources that are part of the share. This field is only included when requested via the 'include_resources' parameter. - `ID string` Share Resource identifier. - `Created Time` When the share was created. - `Meta unknown` Resource Metadata. - `Modified Time` When the share was modified. - `ResourceAccountID string` Account identifier. - `ResourceID string` Share Resource identifier. - `ResourceType ResourceSharingUpdateResponseResourcesResourceType` Resource Type. - `const ResourceSharingUpdateResponseResourcesResourceTypeCustomRuleset ResourceSharingUpdateResponseResourcesResourceType = "custom-ruleset"` - `const ResourceSharingUpdateResponseResourcesResourceTypeGatewayPolicy ResourceSharingUpdateResponseResourcesResourceType = "gateway-policy"` - `const ResourceSharingUpdateResponseResourcesResourceTypeGatewayDestinationIP ResourceSharingUpdateResponseResourcesResourceType = "gateway-destination-ip"` - `const ResourceSharingUpdateResponseResourcesResourceTypeGatewayBlockPageSettings ResourceSharingUpdateResponseResourcesResourceType = "gateway-block-page-settings"` - `const ResourceSharingUpdateResponseResourcesResourceTypeGatewayExtendedEmailMatching ResourceSharingUpdateResponseResourcesResourceType = "gateway-extended-email-matching"` - `ResourceVersion int64` Resource Version. - `Status ResourceSharingUpdateResponseResourcesStatus` Resource Status. - `const ResourceSharingUpdateResponseResourcesStatusActive ResourceSharingUpdateResponseResourcesStatus = "active"` - `const ResourceSharingUpdateResponseResourcesStatusDeleting ResourceSharingUpdateResponseResourcesStatus = "deleting"` - `const ResourceSharingUpdateResponseResourcesStatusDeleted ResourceSharingUpdateResponseResourcesStatus = "deleted"` ### Example ```go 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"), ) resourceSharing, err := client.ResourceSharing.Update( context.TODO(), "3fd85f74b32742f1bff64a85009dda07", resource_sharing.ResourceSharingUpdateParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), Name: cloudflare.F("My Shared WAF Managed Rule"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", resourceSharing.ID) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "3fd85f74b32742f1bff64a85009dda07", "account_id": "023e105f4ecef8ad9ca31a8372d0c353", "account_name": "Account A", "created": "2023-09-21T18:56:32.624632Z", "modified": "2023-09-21T18:56:32.624632Z", "name": "My Shared WAF Managed Rule", "organization_id": "023e105f4ecef8ad9ca31a8372d0c353", "status": "active", "target_type": "account", "associated_recipient_count": 10, "associating_recipient_count": 1, "disassociated_recipient_count": 0, "disassociating_recipient_count": 0, "kind": "sent", "resources": [ { "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" } ] } } ```