Skip to main content
A newer release of this product is available.

Modify a hook source

Contributors

PUT /accounts/{account_id}/core/v1/hookSources/{hookSource_id}

Replaces the entire stored resource with the supplied JSON request body while preserving key values that are not user-modifiable.

Side Effects

  • Updating an existing source hook will immediately impact any future snapshots of applications that have matching execution hooks that use the updated source hook resource.

  • The MD5 checksum is computed on the value of the "source" field and set as the value of the "sourceMD5Checksum" field.

Parameters

Name Type In Required Description

account_id

string

path

True

ID of the containing account resource

  • example: {{.Account}}

hookSource_id

string

path

True

ID of the hookSource collection to list

Request Body

Replaces the entire stored resource with the supplied JSON request body while preserving key values that are not user-modifiable.

Side Effects

  • Updating an existing source hook will immediately impact any future snapshots of applications that have matching execution hooks that use the updated source hook resource.

  • The MD5 checksum is computed on the value of the "source" field and set as the value of the "sourceMD5Checksum" field.

Name Type Required Description

type

string

True

Media type of the resource. Defined values are:

  • "application/astra-hookSource"

version

string

True

Version of the resource. Defined values are:

  • "1.0"

id

string

False

Globally unique identifier of the resource. Defined values are:

  • Conforms to the UUIDv4 Schema

name

string

False

JSON string containing a user-specified name for the resource. Defined values are:

  • Minimum length: 1

  • Maximum length: 63 The name is required to be unique within all hook source resources.

private

string

False

JSON string indicating whether the source field will be exposed in APIs or be intentionally left blank. Defined values are:

  • "true" - The source value is private and will not be exposed through the API.

  • "false" - The source value is not private and will be exposed through the API.

preloaded

string

False

JSON string that indicates whether the source was preloaded. Defined values are:

  • "true" - The source was preloaded.

  • "false" - The source was not preloaded. Preloaded hook source resources are read only.

sourceType

string

False

JSON string defining the hook source type. Defined values are:

  • "script" - Shell script. The plaintext source must not contain binary data or carriage-return characters, otherwise, an error is returned.

source

string

False

JSON string containing the script to be run in base64 format. Defined values are:

  • Minimum length: 0

  • Maximum length: 131072

  • Conforms to the base64 Encoded Data Schema The maximum size of a source value is 128 KiB when encoded using base64.

sourceMD5Checksum

string

False

JSON string containing the MD5 checksum computed for the value of the "source" key. Defined values are:

  • Defined regex is: "^([0-9a-fA-F]){32}$"

description

string

False

JSON string containing a user-specified description of the hook source. Defined values are:

  • Minimum length: 0

  • Maximum length: 511

metadata

type_astra_metadata_update

False

Client and service-specified metadata associated with the resource. Defined values are:

  • Conforms to the Astra Metadata Schema If not specified on create, a metadata object will be created with no labels. If not specified on update, the metadata object's labels, creationTimestamp and createdBy, will be preserved without modification.

Example request
{
  "type": "application/astra-hookSource",
  "version": "1.0",
  "source": "ZWNobyAiVkhKaGJuTWdVbWxuYUhSeklRPT0iIHwgYmFzZTY0IC1k",
  "description": "Pre and post hook script for order processing v2"
}

Response

Status: 204, Indicates if the hookSource resource was updated.

Response

Status: 401, Unauthorized
Name Type Required Description

type

string

True

title

string

True

detail

string

False

status

string

True

correlationID

string

False

Example response
{
  "type": "https://astra.netapp.io/problems/3",
  "title": "Missing bearer token",
  "detail": "The request is missing the required bearer token.",
  "status": "401"
}

Response

Status: 400, Bad request
Name Type Required Description

type

string

True

title

string

True

detail

string

False

status

string

True

correlationID

string

False

invalidFields

array[invalidFields]

False

List of invalid request body fields

Example response
{
  "type": "https://astra.netapp.io/problems/5",
  "title": "Invalid query parameters",
  "detail": "The supplied query parameters are invalid.",
  "status": "400"
}

Response

Status: 409, Conflict
Name Type Required Description

type

string

True

title

string

True

detail

string

False

status

string

True

correlationID

string

False

invalidFields

array[invalidFields]

False

List of invalid request body fields

Example response
{
  "type": "https://astra.netapp.io/problems/10",
  "title": "JSON resource conflict",
  "detail": "The request body JSON contains a field that conflicts with an idempotent value.",
  "status": "409"
}

Response

Status: 403, Forbidden
Name Type Required Description

type

string

True

title

string

True

detail

string

False

status

string

True

correlationID

string

False

Example response
{
  "type": "https://astra.netapp.io/problems/11",
  "title": "Operation not permitted",
  "detail": "The requested operation isn't permitted.",
  "status": "403"
}

Error

Status: 404, Not found
Name Type Required Description

type

string

True

title

string

True

detail

string

False

status

string

True

correlationID

string

False

Example error response
{
  "type": "https://astra.netapp.io/problems/1",
  "title": "Resource not found",
  "detail": "The resource specified in the request URI wasn't found.",
  "status": "404"
}

Definitions

See Definitions

type_astra_label

Name Type Required Description

name

string

True

value

string

True

type_astra_metadata_update

Client and service-specified metadata associated with the resource. Defined values are:

  • Conforms to the Astra Metadata Schema If not specified on create, a metadata object will be created with no labels. If not specified on update, the metadata object's labels, creationTimestamp and createdBy, will be preserved without modification.

Name Type Required Description

labels

array[type_astra_label]

False

creationTimestamp

string

False

modificationTimestamp

string

False

createdBy

string

False

modifiedBy

string

False

invalidParams

Name Type Required Description

name

string

True

Name of the invalid query parameter

reason

string

True

Reason why the query parameter is invalid

invalidFields

Name Type Required Description

name

string

True

Name of the invalid request body field

reason

string

True

Reason why the request body field is invalid