Storage

Preview — pending review

This reference is generated from the platform API contract and is still under review. Operations, fields, and descriptions can change before publication.

Get one file share with all detail panels

GET
/scopes/{scopeId}/storage/file-shares/{fileShareId}

Retrieves the full read model behind the file share detail page for a single file share in the active scope: identity and description, protocol + protocolVersion, status, tier, provisioned/used capacity, provisioned IOPS and throughput, encryption flag and KMS key, mount path/UNC, the embedded mount targets (network/subnet/IP/zone), the snapshot list, the access rules (CIDR-based for NFS, AD group/SID-based for SMB), the AD domain for SMB shares, and the per-GB monthly price in hundredths of the currency unit. This one response feeds the Overview, Snapshots and Access tabs. Validation: scopeId must resolve to an accessible scope and fileShareId to a live (non-soft-deleted) share within it — unknown or soft-deleted ids → 404 NOT_FOUND. RBAC: any scope role (owner|admin|contributor|reader|billing) may read. Async & state: Synchronous read; no state change. The detail page subscribes to resource.updated SSE frames with kind "storage.file_share" for live status/capacity patches. Errors: 401 unauthenticated; 403 no role on the scope; 404 unknown scopeId or fileShareId; 500 unexpected backend failure. Idempotency/Concurrency: Safe, cacheable; no idempotency key required. The response carries an ETag usable as If-Match on subsequent mutations of this share.

Authorization

bearerToken
headerAuthorizationBearer <token>

An API token (pc_live_…) or a service-account key (sak_live_…), created in Identity & Access Management and sent as Authorization: Bearer <token>. Requests are rate limited per credential and per tenant: every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and a refused request gets 429 RATE_LIMITED with Retry-After.

Path Parameters

scopeId*string

Opaque ownership+authorization scope resolving to tenant + subscription + project.

fileShareId*string

Identifier of the file share within the scope.

Response Body

The file share detail read model.

application/json
  1. response

Managed NFS/SMB file share read model rendered by the File shares page and the file share detail page.

origin?string

Where the resource was made -- portal for a create on the console, api for an object made straight against the OpenStack API (CLI, Terraform, the Kubernetes cloud provider) that discovery adopted. Informational; nothing behaves differently. Absent from a backend that predates it, which means portal.

Value in"portal""api""system""imported"
id*string

Share identifier (e.g. fs_home_nfs).

name*string

Share name — used in the mount path / UNC name.

description*string

Free-text description of the share's purpose.

protocol*string

Access protocol of the share.

Value in"NFS""SMB"
protocolVersion*string

Concrete protocol dialect (e.g. "NFS 4.1", "SMB 3.1.1").

status*string

Lifecycle status of the share.

Value in"AVAILABLE""CREATING""UPDATING""ERROR"
statusReason*|

Human-readable, customer-facing reason the last lifecycle command on this share failed: the canonical sentence of the failure's class (a provider refusal is summarised, never quoted -- the provider's own text stays operator-only), or the platform's own explanation. Null while healthy, once a later settle clears it, or when the failure carried no detail.

tier*string

Performance tier (Standard general purpose, Premium low-latency SSD, Burst credit-based).

Value in"Standard""Premium""Burst"
provisionedGb*integer

Provisioned capacity in GB (billed capacity; minimum 100).

usedGb*integer

Currently used capacity in GB.

iops*integer

Provisioned IOPS for the tier.

throughputMbps*integer

Provisioned throughput in MB/s for the tier.

encrypted*boolean

Whether data is encrypted at rest (AES-256) and in transit.

kmsKeyId*|

Customer-managed KMS key for encryption; null when encryption is off.

mountPath*string

Base mount path (NFS export host:/path) or UNC name (SMB).

mountTargets*array<>

Network endpoints serving the share.

snapshots*array<>

Point-in-time snapshots of the share, newest first.

accessRules*array<>

Client-access rules (CIDR for NFS, AD group/SID for SMB).

adDomain*|

Active Directory domain for SMB shares; null for NFS shares.

pricePerGbMonthlyCents*integer

Per-GB monthly price in hundredths of the currency unit (an integer, not a Money object); a fixed figure per tier, not the rate billing charges.

createdAt*string

Creation timestamp (ISO 8601).

Formatdate-time
updatedAt*string

Last modification timestamp (ISO 8601).

Formatdate-time
curl -X GET "https://example.com/scopes/string/storage/file-shares/string"
{  "origin": "portal",  "id": "string",  "name": "string",  "description": "string",  "protocol": "NFS",  "protocolVersion": "string",  "status": "AVAILABLE",  "statusReason": "string",  "tier": "Standard",  "provisionedGb": 0,  "usedGb": 0,  "iops": 0,  "throughputMbps": 0,  "encrypted": true,  "kmsKeyId": "string",  "mountPath": "string",  "mountTargets": [    {      "id": "string",      "network": "string",      "subnet": "string",      "ip": "string",      "zone": "string"    }  ],  "snapshots": [    {      "id": "string",      "name": "string",      "sizeGb": 0,      "createdAt": "2019-08-24T14:15:22Z",      "automatic": true    }  ],  "accessRules": [    {      "id": "string",      "source": "string",      "permission": "rw",      "rootSquash": true,      "description": "string"    }  ],  "adDomain": "string",  "pricePerGbMonthlyCents": 0,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z"}