patch storage instance.md
Patch Storage instance
Media API · Storage
PATCH https://app.mk.io/api/v1/projects/{project_name}/media/storage/{storage_name}
Patch a Storage instance.
Only the description, and privateLinkServiceConnection details are patchable.
RBAC Capability Required: infra.storage.update
Authentication
Authorizationheader — Bearer authentication of the formBearer <token>.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
project_name |
string | Yes | — |
storage_name |
string | Yes | — |
Request body
Content type: application/json
spec· object · Optional — The specification of the storage instance.- One of the following variants, selected by
type:- Microsoft.Storage (object)
description· string or null · Optional — Description of the storage.privateLinkServiceConnection· object or null · Optional — Optional settings for a Private Link. Set it to null to remove the Private Link.requestMessage· string · Required · 0-140 characters — A message passed to the owner of the remote resource with this connection request. This field cannot be modified, only set during creation.resourceGroupName· string · Required · 1-90 characters — The name of the resource group containing the storage account This field cannot be modified, only set during creation.storageAccountName· string · Required · 3-24 characters — The name of the storage account. The full Azure ID would be '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}' This field cannot be modified, only set during creation.subscriptionId· string · Required · format: uuid — The ID of the Azure subscription containing the storage account This field cannot be modified, only set during creation.
type· enum · Optional — The type of storage. This field cannot be modified, only set during creation.- Allowed values:
Microsoft.Storage,AWS.S3,Google.Storage
- Allowed values:
- AWS.S3 (object)
description· string or null · Optional — Description of the storage.type· enum · Optional — The type of storage. This field cannot be modified, only set during creation.- Allowed values:
Microsoft.Storage,AWS.S3,Google.Storage
- Allowed values:
- Google.Storage (object)
description· string or null · Optional — Description of the storage.type· enum · Optional — The type of storage. This field cannot be modified, only set during creation.- Allowed values:
Microsoft.Storage,AWS.S3,Google.Storage
- Allowed values:
- Microsoft.Storage (object)
- One of the following variants, selected by
Example request
curl -X PATCH "https://app.mk.io/api/v1/projects/{project_name}/media/storage/{storage_name}" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"spec": {
"type": "Microsoft.Storage",
"description": "Input media files for processing.",
"privateLinkServiceConnection": {
"requestMessage": "string",
"resourceGroupName": "string",
"storageAccountName": "string",
"subscriptionId": "00000000-0000-0000-0000-000000000000"
}
}
}'
Responses
200 — Storage instance successfully updated
kind· string · Optional — The kind of record.metadata· object · Required — Metadata about the storage instance.created· string · Optional · format: date-time — The time when the resource was createdcreatedBy· string · Optional · format: uuid — ID of the user who created the resourcecreatedByEmail· string · Optional — Email of the user who created the resourceid· string · Required · format: uuid — The ID of the resourcename· string · Optional — The name of the resourceupdated· string · Optional · format: date-time — The time when the resource was last updatedupdatedBy· string · Optional · format: uuid — ID of the user who last updated the resourceupdatedByEmail· string · Optional — Email of the user who last updated the resource
spec· object · Required — The specification of the storage instance.- One of the following variants, selected by
type:- Microsoft.Storage (object)
credential· object · Optional — The credential for the Azure Storage AccountsasToken· string · Required · pattern: ^?([a-z]+=[^&]+)(&[a-z]+=[^&]+)+$ — SAS Token for Azure Storage Account, including leading ?signedExpiry· string · Required · format: date-time — The expiry time of the token.signedStart· string or null · Required · format: date-time — The start time of the token.
description· string or null · Required — Description of the storage.privateLinkServiceConnection· object or null · Optional — Optional settings for a Private Link. Set it to null to remove the Private Link.requestMessage· string · Required · 0-140 characters — A message passed to the owner of the remote resource with this connection request. This field cannot be modified, only set during creation.resourceGroupName· string · Required · 1-90 characters — The name of the resource group containing the storage account This field cannot be modified, only set during creation.storageAccountName· string · Required · 3-24 characters — The name of the storage account. The full Azure ID would be '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}' This field cannot be modified, only set during creation.subscriptionId· string · Required · format: uuid — The ID of the Azure subscription containing the storage account This field cannot be modified, only set during creation.
region· string or null · Required — Storage region.type· enum · Required — The type of storage. This field cannot be modified, only set during creation.- Allowed values:
Microsoft.Storage,AWS.S3,Google.Storage
- Allowed values:
url· string · Required — HTTP(S) URL required for access to the storage. This field cannot be modified, only set during creation.
- AWS.S3 (object)
bucketName· string · Required · pattern: ^(?!.*.)[a-z0-9][-a-z0-9.]{1,61}[a-z0-9]$ — The name of the AWS S3 bucket. This field cannot be modified, only set during creation.credential· object · Optional — The credential for the AWS S3 bucket. Required at creation.accessKeyId· string · Required · pattern: ^A[KS]IA[0-9A-Z]{16}$ — The access key ID for the bucket.secretAccessKey· string · Required · pattern: ^[A-Za-z0-9+/=]{40}$ — The secret access key for the bucket.
description· string or null · Required — Description of the storage.region· string or null · Required — Storage region.type· enum · Required — The type of storage. This field cannot be modified, only set during creation.- Allowed values:
Microsoft.Storage,AWS.S3,Google.Storage
- Allowed values:
url· string · Required — The URL of the S3 bucket
- Google.Storage (object)
bucketName· string · Required · 2-256 characters — The name of the Google Storage bucket. This field cannot be modified, only set during creation.credential· object · Optional — The credential for the Google Storage bucket. Required at creation.gac· map from strings to string · Required — Google Application Credentials in JSON format. You can generate this from the command line withgcloud iam service-accounts keys create key.json --iam-account=<service_account>@<project>.iam.gserviceaccount.comOr download it from the GCP console.[any key]· string — map of additional properties
description· string or null · Required — Description of the storage.region· string or null · Required — Storage region.type· enum · Required — The type of storage. This field cannot be modified, only set during creation.- Allowed values:
Microsoft.Storage,AWS.S3,Google.Storage
- Allowed values:
- Microsoft.Storage (object)
- One of the following variants, selected by
status· object · Optional — Additional status information regarding the storage instance.activeCredentialId· string or null · Required · format: uuid — The ID of the active credential for this storage.privateLinkServiceConnectionStatus· enum · Optional — The state of the Azure Private Connection, if enabled.- Allowed values:
Creating,Pending,Ready,Running,Deleting,Deleted
- Allowed values:
Example:
{
"kind": "string",
"metadata": {
"created": "2024-01-01T00:00:00Z",
"createdBy": "00000000-0000-0000-0000-000000000000",
"createdByEmail": "string",
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"updated": "2024-01-01T00:00:00Z",
"updatedBy": "00000000-0000-0000-0000-000000000000",
"updatedByEmail": "string"
},
"spec": {
"type": "Microsoft.Storage",
"credential": {
"sasToken": "?sv=2022-11-02&ss=bfqt&srt=co&sp=rwdlacupiyx&se=2024-11-12T00:05:04Z&st=2024-11-11T16:05:04Z&spr=https&sig=<redacted>",
"signedExpiry": "2024-11-12T00:05:04Z",
"signedStart": "2024-11-11T16:05:04Z"
},
"description": "Input media files for processing.",
"privateLinkServiceConnection": {
"requestMessage": "string",
"resourceGroupName": "string",
"storageAccountName": "string",
"subscriptionId": "00000000-0000-0000-0000-000000000000"
},
"region": "string",
"url": "https://blobsamples.blob.core.windows.net/"
},
"status": {
"activeCredentialId": "00000000-0000-0000-0000-000000000000",
"privateLinkServiceConnectionStatus": "Creating"
}
}
400 — Bad Request
error· object · Required — Pertinent information about the errorcode· string · Required — The error code.detail· string · Required — The error message.extraDetail· map from strings to any · Optional — Extra information regarding this error.[any key]· any — map of additional properties
ref· string · Required — A reference to the request that caused the error.status· integer · Required — The HTTP status code
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
401 — Unauthorized
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
403 — Forbidden
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
404 — Not Found
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
409 — Conflict
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
429 — Too Many Requests
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
500 — Internal Server Error
Example:
{
"error": {
"code": "string",
"detail": "string",
"extraDetail": {
"key": null
}
},
"ref": "string",
"status": 0
}
Source spec: media-api · operationId: [patch]_/api/v1/projects/{project_name}/media/storage/{storage_name}