# Cloud\_connectors

## Lists all cloud connectors.

> \*\*API Key Scope\*\*: cloud\_connectors / index  \
> Optional API Key Explicit Scope: cloud\_connectors / get\_secret\_key

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_connectors_index":{"description":"List of cloud connectors.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_connector_collection"}}}}},"schemas":{"cloud_connector_collection":{"type":"object","properties":{"count":{"type":"integer","readOnly":true},"cloud_connectors":{"type":"array","readOnly":true,"items":{"$ref":"#/components/schemas/cloud_connector"}}}},"cloud_connector":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"name":{"type":"string"},"url":{"type":"string"},"provider":{"type":"string","enum":["undefined","generic_s3","amazon_aws_s3","cloudian_hyperstore","scality_ring","dell_emc_ecs","azure","google_cloud_storage","openstack_swift","wasabi","quantum_activescale","datacore_swarm"]},"region":{"type":"string"},"access_key":{"type":"string"},"secret_key":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}}},"parameters":{"limit":{"name":"limit","in":"query","description":"The number of items to display for pagination.","schema":{"type":"integer"}},"offset":{"name":"offset","in":"query","description":"The number of items to skip for pagination.","schema":{"type":"integer"}},"sort_by":{"name":"sort_by","in":"query","description":"Sort results by attribute.\n\nCan sort on multiple attributes, separated by `|`.\nOrder direction can be suffixing the attribute by either `:asc` (default) or `:desc`.","style":"pipeDelimited","schema":{"type":"array","items":{"type":"string"}}},"filter_id":{"name":"id","in":"query","description":"Filter on id","schema":{"type":"string"}},"filter_name":{"name":"name","in":"query","description":"Filter on name","schema":{"type":"string"}},"filter_url":{"name":"url","in":"query","description":"Filter on url","schema":{"type":"string"}},"filter_provider":{"name":"provider","in":"query","description":"Filter on provider","schema":{"type":"string"}},"filter_region":{"name":"region","in":"query","description":"Filter on region","schema":{"type":"string"}},"filter_access_key":{"name":"access_key","in":"query","description":"Filter on access key","schema":{"type":"string"}}}},"paths":{"/cloud_connectors":{"get":{"summary":"Lists all cloud connectors.","tags":["cloud_connectors"],"operationId":"index_cloud_connectors","description":"**API Key Scope**: cloud_connectors / index  \nOptional API Key Explicit Scope: cloud_connectors / get_secret_key","responses":{"200":{"$ref":"#/components/responses/cloud_connectors_index"}},"parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"},{"$ref":"#/components/parameters/sort_by"},{"$ref":"#/components/parameters/filter_id"},{"$ref":"#/components/parameters/filter_name"},{"$ref":"#/components/parameters/filter_url"},{"$ref":"#/components/parameters/filter_provider"},{"$ref":"#/components/parameters/filter_region"},{"$ref":"#/components/parameters/filter_access_key"}]}}}}
```

## Creates a new cloud connector.

> \*\*API Key Scope\*\*: cloud\_connectors / create

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_connectors_show":{"description":"A specific cloud connector.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_connector"}}}},"unprocessable_entity":{"description":"The received resource was not correctly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model_error"}}}}},"schemas":{"cloud_connector":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"name":{"type":"string"},"url":{"type":"string"},"provider":{"type":"string","enum":["undefined","generic_s3","amazon_aws_s3","cloudian_hyperstore","scality_ring","dell_emc_ecs","azure","google_cloud_storage","openstack_swift","wasabi","quantum_activescale","datacore_swarm"]},"region":{"type":"string"},"access_key":{"type":"string"},"secret_key":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}},"model_error":{"type":"object","properties":{"details":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/attribute_error"}},"description":"Parsable objects describing the errors. The key is the invalid attribute name."},"messages":{"type":"array","description":"English description of the errors.","items":{"type":"string"}}}},"attribute_error":{"required":["error"],"type":"object","properties":{"error":{"type":"string"}},"discriminator":{"propertyName":"error"}}},"requestBodies":{"cloud_connector_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_connector"}}},"required":true}}},"paths":{"/cloud_connectors":{"post":{"summary":"Creates a new cloud connector.","operationId":"create_cloud_connector","description":"**API Key Scope**: cloud_connectors / create","tags":["cloud_connectors"],"responses":{"201":{"$ref":"#/components/responses/cloud_connectors_show"},"422":{"$ref":"#/components/responses/unprocessable_entity"}},"requestBody":{"$ref":"#/components/requestBodies/cloud_connector_body"}}}}}
```

## Check result of cloud connector test job.

> \*\*API Key Scope\*\*: cloud\_connectors / test

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_buckets_sync":{"description":"Simple list of cloud buckets.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket_simple_collection"}}}},"active_job_status":{"description":"An active job that may be queued, working, completed or failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/active_job_status"}}}}},"schemas":{"cloud_bucket_simple_collection":{"type":"object","properties":{"cloud_buckets":{"type":"array","readOnly":true,"items":{"$ref":"#/components/schemas/cloud_bucket"}}}},"cloud_bucket":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"cloud_connector_id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer","readOnly":true},"name":{"type":"string","readOnly":true},"file_count":{"type":"integer","readOnly":true,"format":"int64"},"file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"location":{"type":"string","readOnly":true},"price":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}},"active_job_status":{"type":"object","properties":{"job_id":{"type":"string","readOnly":true},"status":{"type":"string","readOnly":true,"enum":["queued","working","completed","failed"]},"progress":{"type":"integer","readOnly":true},"total":{"type":"integer","readOnly":true}}}},"parameters":{"job_id":{"name":"job_id","in":"query","description":"ID of active job","required":true,"schema":{"type":"string"}}}},"paths":{"/cloud_connectors/-/test":{"get":{"summary":"Check result of cloud connector test job.","operationId":"test_result_cloud_connector","tags":["cloud_connectors"],"description":"**API Key Scope**: cloud_connectors / test","responses":{"200":{"$ref":"#/components/responses/cloud_buckets_sync"},"202":{"$ref":"#/components/responses/active_job_status"}},"parameters":[{"$ref":"#/components/parameters/job_id"}]}}}}
```

## Test an unsaved cloud connector.

> \*\*API Key Scope\*\*: cloud\_connectors / test

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"active_job_status":{"description":"An active job that may be queued, working, completed or failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/active_job_status"}}}}},"schemas":{"active_job_status":{"type":"object","properties":{"job_id":{"type":"string","readOnly":true},"status":{"type":"string","readOnly":true,"enum":["queued","working","completed","failed"]},"progress":{"type":"integer","readOnly":true},"total":{"type":"integer","readOnly":true}}},"cloud_connector":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"name":{"type":"string"},"url":{"type":"string"},"provider":{"type":"string","enum":["undefined","generic_s3","amazon_aws_s3","cloudian_hyperstore","scality_ring","dell_emc_ecs","azure","google_cloud_storage","openstack_swift","wasabi","quantum_activescale","datacore_swarm"]},"region":{"type":"string"},"access_key":{"type":"string"},"secret_key":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}}},"requestBodies":{"cloud_connector_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_connector"}}},"required":true}}},"paths":{"/cloud_connectors/-/test":{"put":{"summary":"Test an unsaved cloud connector.","operationId":"test_cloud_connector","description":"**API Key Scope**: cloud_connectors / test","tags":["cloud_connectors"],"responses":{"202":{"$ref":"#/components/responses/active_job_status"}},"requestBody":{"$ref":"#/components/requestBodies/cloud_connector_body"}}}}}
```

## Displays a specific cloud connector.

> \*\*API Key Scope\*\*: cloud\_connectors / show  \
> Optional API Key Explicit Scope: cloud\_connectors / get\_secret\_key

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_connectors_show":{"description":"A specific cloud connector.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_connector"}}}},"not_found":{"description":"The requested resource was not found. The detailed error will be of type `not_found`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model_error"}}}}},"schemas":{"cloud_connector":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"name":{"type":"string"},"url":{"type":"string"},"provider":{"type":"string","enum":["undefined","generic_s3","amazon_aws_s3","cloudian_hyperstore","scality_ring","dell_emc_ecs","azure","google_cloud_storage","openstack_swift","wasabi","quantum_activescale","datacore_swarm"]},"region":{"type":"string"},"access_key":{"type":"string"},"secret_key":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}},"model_error":{"type":"object","properties":{"details":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/attribute_error"}},"description":"Parsable objects describing the errors. The key is the invalid attribute name."},"messages":{"type":"array","description":"English description of the errors.","items":{"type":"string"}}}},"attribute_error":{"required":["error"],"type":"object","properties":{"error":{"type":"string"}},"discriminator":{"propertyName":"error"}}}},"paths":{"/cloud_connectors/{cloud_connector_id}":{"get":{"summary":"Displays a specific cloud connector.","operationId":"show_cloud_connector","description":"**API Key Scope**: cloud_connectors / show  \nOptional API Key Explicit Scope: cloud_connectors / get_secret_key","tags":["cloud_connectors"],"responses":{"200":{"$ref":"#/components/responses/cloud_connectors_show"},"404":{"$ref":"#/components/responses/not_found"}}}}}}
```

## Updates a specific cloud connector.

> \*\*API Key Scope\*\*: cloud\_connectors / update

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_connectors_show":{"description":"A specific cloud connector.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_connector"}}}},"unprocessable_entity":{"description":"The received resource was not correctly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model_error"}}}}},"schemas":{"cloud_connector":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"name":{"type":"string"},"url":{"type":"string"},"provider":{"type":"string","enum":["undefined","generic_s3","amazon_aws_s3","cloudian_hyperstore","scality_ring","dell_emc_ecs","azure","google_cloud_storage","openstack_swift","wasabi","quantum_activescale","datacore_swarm"]},"region":{"type":"string"},"access_key":{"type":"string"},"secret_key":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}},"model_error":{"type":"object","properties":{"details":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/attribute_error"}},"description":"Parsable objects describing the errors. The key is the invalid attribute name."},"messages":{"type":"array","description":"English description of the errors.","items":{"type":"string"}}}},"attribute_error":{"required":["error"],"type":"object","properties":{"error":{"type":"string"}},"discriminator":{"propertyName":"error"}}},"requestBodies":{"cloud_connector_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_connector"}}},"required":true}}},"paths":{"/cloud_connectors/{cloud_connector_id}":{"put":{"summary":"Updates a specific cloud connector.","operationId":"update_cloud_connector","description":"**API Key Scope**: cloud_connectors / update","tags":["cloud_connectors"],"responses":{"200":{"$ref":"#/components/responses/cloud_connectors_show"},"422":{"$ref":"#/components/responses/unprocessable_entity"}},"requestBody":{"$ref":"#/components/requestBodies/cloud_connector_body"}}}}}
```

## Destroys a specific cloud connector.

> \*\*API Key Scope\*\*: cloud\_connectors / destroy

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/cloud_connectors/{cloud_connector_id}":{"delete":{"summary":"Destroys a specific cloud connector.","operationId":"destroy_cloud_connector","description":"**API Key Scope**: cloud_connectors / destroy","tags":["cloud_connectors"],"responses":{"204":{"description":"Cloud connector destroyed."}}}}}}
```
