storages
Creates, updates, deletes, gets or lists a storages resource.
Overview​
| Name | storages |
| Type | Resource |
| Id | ovh.cloud_storage.storages |
Fields​
The following fields are returned by SELECT queries:
- get
- list
successful operation
| Name | Datatype | Description |
|---|---|---|
name | string | Container name |
archive | boolean | Whether this is an archive container or not |
container_type | string | Container type (private, public, static) (wire: containerType) |
cors | array | Origins allowed to make Cross Origin Requests |
objects | array | Objects stored in container |
public | boolean | Public container (DEPRECATED: see containerType) |
region | string | Container region |
static_url | string | Container static URL (wire: staticUrl) |
stored_bytes | integer | Total bytes stored (wire: storedBytes) |
stored_objects | integer | Total objects stored (wire: storedObjects) |
Container
| Name | Datatype | Description |
|---|---|---|
id | string | Storage id |
name | string | Storage name |
archive | boolean | Whether this is an archive container or not |
container_type | string | Container type (private, public, static) (wire: containerType) |
region | string | |
stored_bytes | integer | Total bytes stored (wire: storedBytes) |
stored_objects | integer | Total objects stored (wire: storedObjects) |
Methods​
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | container_id, service_name | no_objects, prefix | Get SWIFT storage container |
list | select | service_name | include_type | Get SWIFT storage containers |
create | insert | service_name, archive, container_name, region | Create SWIFT container | |
update | update | container_id, service_name | Update SWIFT storage container | |
delete | delete | container_id, service_name | recursive | Delete SWIFT container |
access | exec | service_name | Access to SWIFT storage API | |
delete_cors | exec | containerId, origin, service_name | Delete CORS support on SWIFT container | |
cors | exec | containerId, service_name, origin | Add CORS support on SWIFT container | |
public_url | exec | containerId, service_name, expirationDate, objectName | Get a public temporary URL to access one of your SWIFT object | |
static | exec | containerId, service_name | Deploy your SWIFT container files as a static web site | |
user | exec | containerId, service_name, right | Create openstack user with only access to this SWIFT container |
Parameters​
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
api_host | string | The OVHcloud API host. Selected by OVH_ENDPOINT (ovh-eu, ovh-ca or ovh-us; default ovh-eu). (default: api.eu.ovhcloud.com, x-stackQL-envVarSelector: {"envVar":"OVH_ENDPOINT","default":"ovh-eu","values":{"ovh-eu":"api.eu.ovhcloud.com","ovh-ca":"api.ca.ovhcloud.com","ovh-us":"api.us.ovhcloud.com"}}) |
containerId | string | Container ID |
container_id | string | Container ID (wire: containerId) |
origin | string | Delete this origin |
service_name | string | The Public Cloud project ID. Resolved from OVH_CLOUD_PROJECT_SERVICE when set. |
include_type | boolean | Include container type (wire: includeType) |
no_objects | boolean | Do not return container objects (wire: noObjects) |
prefix | string | Filter objects by name prefix |
recursive | boolean | Recursively delete objects and container |
SELECT examples​
- get
- list
Get SWIFT storage container
SELECT
name,
archive,
container_type,
cors,
objects,
public,
region,
static_url,
stored_bytes,
stored_objects
FROM ovh.cloud_storage.storages
WHERE container_id = '{{ container_id }}' -- required
AND service_name = '{{ service_name }}' -- required unless OVH_CLOUD_PROJECT_SERVICE is set
AND no_objects = '{{ no_objects }}'
AND prefix = '{{ prefix }}'
;
Get SWIFT storage containers
SELECT
id,
name,
archive,
container_type,
region,
stored_bytes,
stored_objects
FROM ovh.cloud_storage.storages
WHERE service_name = '{{ service_name }}' -- required unless OVH_CLOUD_PROJECT_SERVICE is set
AND include_type = '{{ include_type }}'
;
INSERT examples​
- create
- Manifest
Create SWIFT container
INSERT INTO ovh.cloud_storage.storages (
archive,
container_name,
region,
service_name
)
SELECT
{{ archive }} /* required */,
'{{ container_name }}' /* required */,
'{{ region }}' /* required */,
'{{ service_name }}'
RETURNING
id,
name,
archive,
container_type,
region,
stored_bytes,
stored_objects
;
# Description fields are for documentation purposes
- name: storages
props:
- name: service_name
value: "{{ service_name }}"
description: Required parameter for the storages resource.
- name: archive
value: {{ archive }}
description: |
Archive container flag
- name: container_name
value: "{{ container_name }}"
description: |
Container name
- name: region
value: "{{ region }}"
description: |
Region
UPDATE examples​
- update
Update SWIFT storage container
UPDATE ovh.cloud_storage.storages
SET
container_type = '{{ container_type }}'
WHERE
container_id = '{{ container_id }}' --required
AND service_name = '{{ service_name }}' --required unless OVH_CLOUD_PROJECT_SERVICE is set;
DELETE examples​
- delete
Delete SWIFT container
DELETE FROM ovh.cloud_storage.storages
WHERE container_id = '{{ container_id }}' --required
AND service_name = '{{ service_name }}' --required unless OVH_CLOUD_PROJECT_SERVICE is set
AND recursive = '{{ recursive }}'
;
Lifecycle Methods​
EXEC variables use wire (API) names.
- access
- delete_cors
- cors
- public_url
- static
- user
Access to SWIFT storage API
EXEC ovh.cloud_storage.storages.access
@service_name='{{ service_name }}' --required unless OVH_CLOUD_PROJECT_SERVICE is set
;
Delete CORS support on SWIFT container
EXEC ovh.cloud_storage.storages.delete_cors
@containerId='{{ containerId }}' --required,
@origin='{{ origin }}' --required,
@service_name='{{ service_name }}' --required unless OVH_CLOUD_PROJECT_SERVICE is set
;
Add CORS support on SWIFT container
EXEC ovh.cloud_storage.storages.cors
@containerId='{{ containerId }}' --required,
@service_name='{{ service_name }}' --required unless OVH_CLOUD_PROJECT_SERVICE is set
@@json=
'{
"origin": "{{ origin }}"
}'
;
Get a public temporary URL to access one of your SWIFT object
EXEC ovh.cloud_storage.storages.public_url
@containerId='{{ containerId }}' --required,
@service_name='{{ service_name }}' --required unless OVH_CLOUD_PROJECT_SERVICE is set
@@json=
'{
"expirationDate": "{{ expirationDate }}",
"objectName": "{{ objectName }}"
}'
;
Deploy your SWIFT container files as a static web site
EXEC ovh.cloud_storage.storages.static
@containerId='{{ containerId }}' --required,
@service_name='{{ service_name }}' --required unless OVH_CLOUD_PROJECT_SERVICE is set
;
Create openstack user with only access to this SWIFT container
EXEC ovh.cloud_storage.storages.user
@containerId='{{ containerId }}' --required,
@service_name='{{ service_name }}' --required unless OVH_CLOUD_PROJECT_SERVICE is set
@@json=
'{
"description": "{{ description }}",
"right": "{{ right }}"
}'
;