Created
February 3, 2020 17:53
-
-
Save klaude/6455cc28f1142940617e5006ae50afe7 to your computer and use it in GitHub Desktop.
Swagger specs for StackPath's object storage API
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"swagger": "2.0", | |
"info": { | |
"title": "Object Storage", | |
"version": "1.0.0", | |
"contact": { | |
"name": "StackPath Support", | |
"url": "https://support.stackpath.com/" | |
} | |
}, | |
"host": "gateway.stackpath.com", | |
"schemes": [ | |
"https" | |
], | |
"consumes": [ | |
"application/json" | |
], | |
"produces": [ | |
"application/json" | |
], | |
"paths": { | |
"/storage/v1/stacks/{stack_id}/buckets": { | |
"get": { | |
"summary": "Retrieve all buckets in the storage provider for a given stack", | |
"operationId": "GetBuckets", | |
"responses": { | |
"200": { | |
"description": "", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"pageInfo": { | |
"type": "object", | |
"properties": { | |
"totalCount": { | |
"type": "string", | |
"description": "The total number of items in the dataset" | |
}, | |
"hasPreviousPage": { | |
"type": "boolean", | |
"format": "boolean", | |
"description": "Whether or not a previous page of data exists" | |
}, | |
"hasNextPage": { | |
"type": "boolean", | |
"format": "boolean", | |
"description": "Whether or not another page of data is available" | |
}, | |
"startCursor": { | |
"type": "string", | |
"description": "The cursor for the first item in the set of data returned" | |
}, | |
"endCursor": { | |
"type": "string", | |
"description": "The cursor for the last item in the set of data returned" | |
} | |
}, | |
"description": "Information about a paginated response\n\nThis is modeled after the GraphQL Relay spec to support both cursor based pagination and traditional offset based pagination." | |
}, | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
}, | |
"description": "The requested buckets" | |
} | |
}, | |
"description": "The buckets for the given stack" | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack for which the buckets will be retrieved", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "page_request.first", | |
"description": "The number of items desired.", | |
"in": "query", | |
"required": false, | |
"type": "string" | |
}, | |
{ | |
"name": "page_request.after", | |
"description": "The cursor value after which data will be returned.", | |
"in": "query", | |
"required": false, | |
"type": "string" | |
}, | |
{ | |
"name": "page_request.filter", | |
"description": "SQL-style constraint filters.", | |
"in": "query", | |
"required": false, | |
"type": "string" | |
}, | |
{ | |
"name": "page_request.sort_by", | |
"description": "Sort the response by the given field.", | |
"in": "query", | |
"required": false, | |
"type": "string" | |
} | |
], | |
"tags": [ | |
"Buckets" | |
] | |
}, | |
"post": { | |
"summary": "Create a bucket under a stack", | |
"operationId": "CreateBucket", | |
"responses": { | |
"200": { | |
"description": "", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"bucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
} | |
}, | |
"description": "The bucket created" | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack on which the bucket will be created", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "body", | |
"in": "body", | |
"required": true, | |
"schema": { | |
"type": "object", | |
"properties": { | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket to be created" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region where to create the bucket, defaults to us-east-1" | |
} | |
}, | |
"title": "" | |
} | |
} | |
], | |
"tags": [ | |
"Buckets" | |
] | |
} | |
}, | |
"/storage/v1/stacks/{stack_id}/buckets/{bucket_id}": { | |
"get": { | |
"summary": "Retrieve a bucket in the storage provider for a given stack", | |
"operationId": "GetBucket", | |
"responses": { | |
"200": { | |
"description": "", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"bucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
} | |
}, | |
"description": "The bucket for the given stack" | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack for which the buckets will be retrieved", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "bucket_id", | |
"description": "The ID for the bucket to retrieve", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
} | |
], | |
"tags": [ | |
"Buckets" | |
] | |
}, | |
"delete": { | |
"summary": "Delete a given bucket", | |
"operationId": "DeleteBucket", | |
"responses": { | |
"204": { | |
"description": "No content" | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack in which the bucket belongs", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "bucket_id", | |
"description": "The ID for the bucket to delete", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "force_delete", | |
"description": "Force bucket deletion even if there is contents inside it.", | |
"in": "query", | |
"required": false, | |
"type": "boolean", | |
"format": "boolean" | |
} | |
], | |
"tags": [ | |
"Buckets" | |
] | |
}, | |
"put": { | |
"summary": "Updates the name of a bucket", | |
"operationId": "UpdateBucket", | |
"responses": { | |
"200": { | |
"description": "", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"bucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
} | |
}, | |
"description": "A response of the updated bucket" | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack on which the bucket belongs to", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "bucket_id", | |
"description": "The ID for the bucket to update", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "body", | |
"in": "body", | |
"required": true, | |
"schema": { | |
"type": "object", | |
"properties": { | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
} | |
}, | |
"title": "" | |
} | |
} | |
], | |
"tags": [ | |
"Buckets" | |
] | |
} | |
}, | |
"/storage/v1/stacks/{stack_id}/buckets/{bucket_id}/metrics": { | |
"get": { | |
"summary": "Get all daily utilizations for specific bucket", | |
"description": "When the start & end dates are not provided, the metrics for the last day will be returned.\nThe date range used must be at least a day apart, and only beginning times are allowed (e.g. 2019-01-01T00:00:00)", | |
"operationId": "GetBucketMetrics", | |
"responses": { | |
"200": { | |
"description": "", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"status": { | |
"type": "string", | |
"enum": [ | |
"SUCCESS", | |
"ERROR" | |
], | |
"default": "SUCCESS", | |
"description": "A metrics query's resulting status" | |
}, | |
"data": { | |
"type": "object", | |
"properties": { | |
"matrix": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"description": "Time series data point values" | |
} | |
}, | |
"description": "Time series containing a range of data points over time for each time series" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a range of data points over time for each time series" | |
}, | |
"vector": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"value": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
} | |
}, | |
"description": "Time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a single sample for each time series, all sharing the same timestamp" | |
} | |
}, | |
"description": "The data points in a metrics collection" | |
}, | |
"errorType": { | |
"type": "string", | |
"description": "The type of error encountered when querying for metrics" | |
}, | |
"error": { | |
"type": "string", | |
"description": "The error encountered when querying for metrics" | |
}, | |
"warnings": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
}, | |
"description": "Warnings encountered when querying for metrics" | |
} | |
}, | |
"description": "A collection of metrics" | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack on which the bucket belongs to", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "bucket_id", | |
"description": "The ID for the bucket to retrieve metrics for", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "start_time", | |
"description": "The start date for the range of metrics.", | |
"in": "query", | |
"required": false, | |
"type": "string", | |
"format": "date-time" | |
}, | |
{ | |
"name": "end_time", | |
"description": "The end date for the range of metrics.", | |
"in": "query", | |
"required": false, | |
"type": "string", | |
"format": "date-time" | |
} | |
], | |
"tags": [ | |
"Metrics" | |
] | |
} | |
}, | |
"/storage/v1/stacks/{stack_id}/metrics": { | |
"get": { | |
"summary": "Get all daily utilizations for all buckets on a stack", | |
"description": "When the start & end dates are not provided, the metrics for the last day will be returned.\nThe date range used must be at least a day apart, and only beginning times are allowed (e.g. 2019-01-01T00:00:00)", | |
"operationId": "GetStackMetrics", | |
"responses": { | |
"200": { | |
"description": "", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"status": { | |
"type": "string", | |
"enum": [ | |
"SUCCESS", | |
"ERROR" | |
], | |
"default": "SUCCESS", | |
"description": "A metrics query's resulting status" | |
}, | |
"data": { | |
"type": "object", | |
"properties": { | |
"matrix": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"description": "Time series data point values" | |
} | |
}, | |
"description": "Time series containing a range of data points over time for each time series" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a range of data points over time for each time series" | |
}, | |
"vector": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"value": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
} | |
}, | |
"description": "Time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a single sample for each time series, all sharing the same timestamp" | |
} | |
}, | |
"description": "The data points in a metrics collection" | |
}, | |
"errorType": { | |
"type": "string", | |
"description": "The type of error encountered when querying for metrics" | |
}, | |
"error": { | |
"type": "string", | |
"description": "The error encountered when querying for metrics" | |
}, | |
"warnings": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
}, | |
"description": "Warnings encountered when querying for metrics" | |
} | |
}, | |
"description": "A collection of metrics" | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack to collect metrics on", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "start_time", | |
"description": "The start date for the range of metrics.", | |
"in": "query", | |
"required": false, | |
"type": "string", | |
"format": "date-time" | |
}, | |
{ | |
"name": "end_time", | |
"description": "The end date for the range of metrics.", | |
"in": "query", | |
"required": false, | |
"type": "string", | |
"format": "date-time" | |
} | |
], | |
"tags": [ | |
"Metrics" | |
] | |
} | |
}, | |
"/storage/v1/stacks/{stack_id}/users/{user_id}/credentials": { | |
"get": { | |
"summary": "Get credentials for a given user.", | |
"operationId": "GetCredentials", | |
"responses": { | |
"200": { | |
"description": "", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"credentials": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"accessKey": { | |
"type": "string", | |
"description": "The ID for the access key" | |
} | |
}, | |
"description": "Storage credentials for a user" | |
}, | |
"description": "The list of active credentials on account" | |
} | |
}, | |
"description": "A response with new credentials" | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The stack's ID for which the user belongs to", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "user_id", | |
"description": "The user's ID for which the credentials belong to", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
} | |
], | |
"tags": [ | |
"User Credentials" | |
] | |
} | |
}, | |
"/storage/v1/stacks/{stack_id}/users/{user_id}/credentials/generate": { | |
"post": { | |
"summary": "Generate storage credentials for the given user", | |
"description": "Generate storage credentials for the given user. Users can only have one set of credentials, so calling this method will generate a new set and invalidate any existing ones.", | |
"operationId": "GenerateCredentials", | |
"responses": { | |
"200": { | |
"description": "", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"accessKey": { | |
"type": "string", | |
"description": "The ID for the access key" | |
}, | |
"secretKey": { | |
"type": "string", | |
"description": "The secret key used to sign requests" | |
} | |
}, | |
"description": "A response with new credentials" | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The stack's ID for which the user belongs to", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "user_id", | |
"description": "The user's ID for which the credentials will be generated", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
} | |
], | |
"tags": [ | |
"User Credentials" | |
] | |
} | |
}, | |
"/storage/v1/stacks/{stack_id}/users/{user_id}/credentials/{access_key}": { | |
"delete": { | |
"summary": "Delete provided storage access credentials for the given user", | |
"operationId": "DeleteCredential", | |
"responses": { | |
"204": { | |
"description": "No content" | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The stack's ID for which the user belongs to", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "user_id", | |
"description": "The user's ID for which the credentials will be generated", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
}, | |
{ | |
"name": "access_key", | |
"description": "The credentials access key to be removed", | |
"in": "path", | |
"required": true, | |
"type": "string" | |
} | |
], | |
"tags": [ | |
"User Credentials" | |
] | |
} | |
} | |
}, | |
"definitions": { | |
"DataMatrix": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"description": "Time series data point values" | |
} | |
}, | |
"description": "Time series containing a range of data points over time for each time series" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a range of data points over time for each time series" | |
}, | |
"DataMatrixResult": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"description": "Time series data point values" | |
} | |
}, | |
"description": "Time series containing a range of data points over time for each time series" | |
}, | |
"DataValue": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"DataVector": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"value": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
} | |
}, | |
"description": "Time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"DataVectorResult": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"value": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
} | |
}, | |
"description": "Time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"GetCredentialsResponseCredential": { | |
"type": "object", | |
"properties": { | |
"accessKey": { | |
"type": "string", | |
"description": "The ID for the access key" | |
} | |
}, | |
"description": "Storage credentials for a user" | |
}, | |
"MetricsData": { | |
"type": "object", | |
"properties": { | |
"matrix": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"description": "Time series data point values" | |
} | |
}, | |
"description": "Time series containing a range of data points over time for each time series" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a range of data points over time for each time series" | |
}, | |
"vector": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"value": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
} | |
}, | |
"description": "Time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a single sample for each time series, all sharing the same timestamp" | |
} | |
}, | |
"description": "The data points in a metrics collection" | |
}, | |
"apiStatusDetail": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
}, | |
"paginationPageInfo": { | |
"type": "object", | |
"properties": { | |
"totalCount": { | |
"type": "string", | |
"description": "The total number of items in the dataset" | |
}, | |
"hasPreviousPage": { | |
"type": "boolean", | |
"format": "boolean", | |
"description": "Whether or not a previous page of data exists" | |
}, | |
"hasNextPage": { | |
"type": "boolean", | |
"format": "boolean", | |
"description": "Whether or not another page of data is available" | |
}, | |
"startCursor": { | |
"type": "string", | |
"description": "The cursor for the first item in the set of data returned" | |
}, | |
"endCursor": { | |
"type": "string", | |
"description": "The cursor for the last item in the set of data returned" | |
} | |
}, | |
"description": "Information about a paginated response\n\nThis is modeled after the GraphQL Relay spec to support both cursor based pagination and traditional offset based pagination." | |
}, | |
"paginationPageRequest": { | |
"type": "object", | |
"properties": { | |
"first": { | |
"type": "string", | |
"description": "The number of items desired" | |
}, | |
"after": { | |
"type": "string", | |
"description": "The cursor value after which data will be returned" | |
}, | |
"filter": { | |
"type": "string", | |
"description": "SQL-style constraint filters" | |
}, | |
"sortBy": { | |
"type": "string", | |
"description": "Sort the response by the given field" | |
} | |
}, | |
"description": "Pagination request information\n\nThis is modeled after the GraphQL Relay spec to support both cursor based pagination and traditional offset based pagination." | |
}, | |
"prometheusMetrics": { | |
"type": "object", | |
"properties": { | |
"status": { | |
"type": "string", | |
"enum": [ | |
"SUCCESS", | |
"ERROR" | |
], | |
"default": "SUCCESS", | |
"description": "A metrics query's resulting status" | |
}, | |
"data": { | |
"type": "object", | |
"properties": { | |
"matrix": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"description": "Time series data point values" | |
} | |
}, | |
"description": "Time series containing a range of data points over time for each time series" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a range of data points over time for each time series" | |
}, | |
"vector": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"value": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
} | |
}, | |
"description": "Time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a single sample for each time series, all sharing the same timestamp" | |
} | |
}, | |
"description": "The data points in a metrics collection" | |
}, | |
"errorType": { | |
"type": "string", | |
"description": "The type of error encountered when querying for metrics" | |
}, | |
"error": { | |
"type": "string", | |
"description": "The error encountered when querying for metrics" | |
}, | |
"warnings": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
}, | |
"description": "Warnings encountered when querying for metrics" | |
} | |
}, | |
"description": "A collection of metrics" | |
}, | |
"prometheusMetricsStatus": { | |
"type": "string", | |
"enum": [ | |
"SUCCESS", | |
"ERROR" | |
], | |
"default": "SUCCESS", | |
"description": "A metrics query's resulting status" | |
}, | |
"stackpath.rpc.BadRequest": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"fieldViolations": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"field": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.BadRequest.FieldViolation": { | |
"type": "object", | |
"properties": { | |
"field": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
}, | |
"stackpath.rpc.Help": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"links": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.Help.Link": { | |
"type": "object", | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
} | |
} | |
}, | |
"stackpath.rpc.LocalizedMessage": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"locale": { | |
"type": "string" | |
}, | |
"message": { | |
"type": "string" | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.PreconditionFailure": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"violations": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"subject": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.PreconditionFailure.Violation": { | |
"type": "object", | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"subject": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
}, | |
"stackpath.rpc.QuotaFailure": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"violations": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"subject": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.QuotaFailure.Violation": { | |
"type": "object", | |
"properties": { | |
"subject": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
}, | |
"stackpath.rpc.RequestInfo": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"requestId": { | |
"type": "string" | |
}, | |
"servingData": { | |
"type": "string" | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.ResourceInfo": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"resourceType": { | |
"type": "string" | |
}, | |
"resourceName": { | |
"type": "string" | |
}, | |
"owner": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.RetryInfo": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"retryDelay": { | |
"type": "string" | |
} | |
} | |
} | |
] | |
}, | |
"stackpathapiStatus": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": "@type" | |
} | |
} | |
} | |
}, | |
"storageBucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
}, | |
"storageBucketVisibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"storageCreateBucketRequest": { | |
"type": "object", | |
"properties": { | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket to be created" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region where to create the bucket, defaults to us-east-1" | |
} | |
}, | |
"title": "" | |
}, | |
"storageCreateBucketResponse": { | |
"type": "object", | |
"properties": { | |
"bucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
} | |
}, | |
"description": "The bucket created" | |
}, | |
"storageGenerateCredentialsResponse": { | |
"type": "object", | |
"properties": { | |
"accessKey": { | |
"type": "string", | |
"description": "The ID for the access key" | |
}, | |
"secretKey": { | |
"type": "string", | |
"description": "The secret key used to sign requests" | |
} | |
}, | |
"description": "A response with new credentials" | |
}, | |
"storageGetBucketResponse": { | |
"type": "object", | |
"properties": { | |
"bucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
} | |
}, | |
"description": "The bucket for the given stack" | |
}, | |
"storageGetBucketsResponse": { | |
"type": "object", | |
"properties": { | |
"pageInfo": { | |
"type": "object", | |
"properties": { | |
"totalCount": { | |
"type": "string", | |
"description": "The total number of items in the dataset" | |
}, | |
"hasPreviousPage": { | |
"type": "boolean", | |
"format": "boolean", | |
"description": "Whether or not a previous page of data exists" | |
}, | |
"hasNextPage": { | |
"type": "boolean", | |
"format": "boolean", | |
"description": "Whether or not another page of data is available" | |
}, | |
"startCursor": { | |
"type": "string", | |
"description": "The cursor for the first item in the set of data returned" | |
}, | |
"endCursor": { | |
"type": "string", | |
"description": "The cursor for the last item in the set of data returned" | |
} | |
}, | |
"description": "Information about a paginated response\n\nThis is modeled after the GraphQL Relay spec to support both cursor based pagination and traditional offset based pagination." | |
}, | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
}, | |
"description": "The requested buckets" | |
} | |
}, | |
"description": "The buckets for the given stack" | |
}, | |
"storageGetCredentialsResponse": { | |
"type": "object", | |
"properties": { | |
"credentials": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"accessKey": { | |
"type": "string", | |
"description": "The ID for the access key" | |
} | |
}, | |
"description": "Storage credentials for a user" | |
}, | |
"description": "The list of active credentials on account" | |
} | |
}, | |
"description": "A response with new credentials" | |
}, | |
"storageUpdateBucketRequest": { | |
"type": "object", | |
"properties": { | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
} | |
}, | |
"title": "" | |
}, | |
"storageUpdateBucketResponse": { | |
"type": "object", | |
"properties": { | |
"bucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
} | |
}, | |
"description": "A response of the updated bucket" | |
} | |
}, | |
"securityDefinitions": { | |
"oauth2": { | |
"type": "oauth2", | |
"flow": "application", | |
"tokenUrl": "https://gateway.stackpath.com/identity/v1/oauth2/token" | |
} | |
}, | |
"security": [ | |
{ | |
"oauth2": [] | |
} | |
], | |
"externalDocs": { | |
"description": "The StackPath API Reference", | |
"url": "https://stackpath.dev/reference" | |
}, | |
"x-explorer-enabled": true, | |
"x-proxy-enabled": true, | |
"x-samples-enabled": true, | |
"x-samples-languages": [ | |
"curl", | |
"node", | |
"ruby", | |
"javascript", | |
"python" | |
] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"openapi": "3.0.0", | |
"info": { | |
"title": "Object Storage", | |
"version": "1.0.0", | |
"contact": { | |
"name": "StackPath Support", | |
"url": "https://support.stackpath.com/" | |
} | |
}, | |
"paths": { | |
"/storage/v1/stacks/{stack_id}/buckets": { | |
"get": { | |
"summary": "Retrieve all buckets in the storage provider for a given stack", | |
"operationId": "GetBuckets", | |
"responses": { | |
"200": { | |
"description": "", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"pageInfo": { | |
"type": "object", | |
"properties": { | |
"totalCount": { | |
"type": "string", | |
"description": "The total number of items in the dataset" | |
}, | |
"hasPreviousPage": { | |
"type": "boolean", | |
"format": "boolean", | |
"description": "Whether or not a previous page of data exists" | |
}, | |
"hasNextPage": { | |
"type": "boolean", | |
"format": "boolean", | |
"description": "Whether or not another page of data is available" | |
}, | |
"startCursor": { | |
"type": "string", | |
"description": "The cursor for the first item in the set of data returned" | |
}, | |
"endCursor": { | |
"type": "string", | |
"description": "The cursor for the last item in the set of data returned" | |
} | |
}, | |
"description": "Information about a paginated response\n\nThis is modeled after the GraphQL Relay spec to support both cursor based pagination and traditional offset based pagination." | |
}, | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
}, | |
"description": "The requested buckets" | |
} | |
}, | |
"description": "The buckets for the given stack" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack for which the buckets will be retrieved", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "page_request.first", | |
"description": "The number of items desired.", | |
"in": "query", | |
"required": false, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "page_request.after", | |
"description": "The cursor value after which data will be returned.", | |
"in": "query", | |
"required": false, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "page_request.filter", | |
"description": "SQL-style constraint filters.", | |
"in": "query", | |
"required": false, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "page_request.sort_by", | |
"description": "Sort the response by the given field.", | |
"in": "query", | |
"required": false, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"tags": [ | |
"Buckets" | |
] | |
}, | |
"post": { | |
"summary": "Create a bucket under a stack", | |
"operationId": "CreateBucket", | |
"responses": { | |
"200": { | |
"description": "", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"bucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
} | |
}, | |
"description": "The bucket created" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack on which the bucket will be created", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket to be created" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region where to create the bucket, defaults to us-east-1" | |
} | |
}, | |
"title": "" | |
} | |
} | |
}, | |
"required": true | |
}, | |
"tags": [ | |
"Buckets" | |
] | |
} | |
}, | |
"/storage/v1/stacks/{stack_id}/buckets/{bucket_id}": { | |
"get": { | |
"summary": "Retrieve a bucket in the storage provider for a given stack", | |
"operationId": "GetBucket", | |
"responses": { | |
"200": { | |
"description": "", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"bucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
} | |
}, | |
"description": "The bucket for the given stack" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack for which the buckets will be retrieved", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "bucket_id", | |
"description": "The ID for the bucket to retrieve", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"tags": [ | |
"Buckets" | |
] | |
}, | |
"delete": { | |
"summary": "Delete a given bucket", | |
"operationId": "DeleteBucket", | |
"responses": { | |
"204": { | |
"description": "No content" | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack in which the bucket belongs", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "bucket_id", | |
"description": "The ID for the bucket to delete", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "force_delete", | |
"description": "Force bucket deletion even if there is contents inside it.", | |
"in": "query", | |
"required": false, | |
"schema": { | |
"type": "boolean", | |
"format": "boolean" | |
} | |
} | |
], | |
"tags": [ | |
"Buckets" | |
] | |
}, | |
"put": { | |
"summary": "Updates the name of a bucket", | |
"operationId": "UpdateBucket", | |
"responses": { | |
"200": { | |
"description": "", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"bucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
} | |
}, | |
"description": "A response of the updated bucket" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack on which the bucket belongs to", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "bucket_id", | |
"description": "The ID for the bucket to update", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
} | |
}, | |
"title": "" | |
} | |
} | |
}, | |
"required": true | |
}, | |
"tags": [ | |
"Buckets" | |
] | |
} | |
}, | |
"/storage/v1/stacks/{stack_id}/buckets/{bucket_id}/metrics": { | |
"get": { | |
"summary": "Get all daily utilizations for specific bucket", | |
"description": "When the start & end dates are not provided, the metrics for the last day will be returned.\nThe date range used must be at least a day apart, and only beginning times are allowed (e.g. 2019-01-01T00:00:00)", | |
"operationId": "GetBucketMetrics", | |
"responses": { | |
"200": { | |
"description": "", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"status": { | |
"type": "string", | |
"enum": [ | |
"SUCCESS", | |
"ERROR" | |
], | |
"default": "SUCCESS", | |
"description": "A metrics query's resulting status" | |
}, | |
"data": { | |
"type": "object", | |
"properties": { | |
"matrix": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"description": "Time series data point values" | |
} | |
}, | |
"description": "Time series containing a range of data points over time for each time series" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a range of data points over time for each time series" | |
}, | |
"vector": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"value": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
} | |
}, | |
"description": "Time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a single sample for each time series, all sharing the same timestamp" | |
} | |
}, | |
"description": "The data points in a metrics collection" | |
}, | |
"errorType": { | |
"type": "string", | |
"description": "The type of error encountered when querying for metrics" | |
}, | |
"error": { | |
"type": "string", | |
"description": "The error encountered when querying for metrics" | |
}, | |
"warnings": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
}, | |
"description": "Warnings encountered when querying for metrics" | |
} | |
}, | |
"description": "A collection of metrics" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack on which the bucket belongs to", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "bucket_id", | |
"description": "The ID for the bucket to retrieve metrics for", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "start_time", | |
"description": "The start date for the range of metrics.", | |
"in": "query", | |
"required": false, | |
"schema": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
{ | |
"name": "end_time", | |
"description": "The end date for the range of metrics.", | |
"in": "query", | |
"required": false, | |
"schema": { | |
"type": "string", | |
"format": "date-time" | |
} | |
} | |
], | |
"tags": [ | |
"Metrics" | |
] | |
} | |
}, | |
"/storage/v1/stacks/{stack_id}/metrics": { | |
"get": { | |
"summary": "Get all daily utilizations for all buckets on a stack", | |
"description": "When the start & end dates are not provided, the metrics for the last day will be returned.\nThe date range used must be at least a day apart, and only beginning times are allowed (e.g. 2019-01-01T00:00:00)", | |
"operationId": "GetStackMetrics", | |
"responses": { | |
"200": { | |
"description": "", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"status": { | |
"type": "string", | |
"enum": [ | |
"SUCCESS", | |
"ERROR" | |
], | |
"default": "SUCCESS", | |
"description": "A metrics query's resulting status" | |
}, | |
"data": { | |
"type": "object", | |
"properties": { | |
"matrix": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"description": "Time series data point values" | |
} | |
}, | |
"description": "Time series containing a range of data points over time for each time series" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a range of data points over time for each time series" | |
}, | |
"vector": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"value": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
} | |
}, | |
"description": "Time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a single sample for each time series, all sharing the same timestamp" | |
} | |
}, | |
"description": "The data points in a metrics collection" | |
}, | |
"errorType": { | |
"type": "string", | |
"description": "The type of error encountered when querying for metrics" | |
}, | |
"error": { | |
"type": "string", | |
"description": "The error encountered when querying for metrics" | |
}, | |
"warnings": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
}, | |
"description": "Warnings encountered when querying for metrics" | |
} | |
}, | |
"description": "A collection of metrics" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The ID for the stack to collect metrics on", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "start_time", | |
"description": "The start date for the range of metrics.", | |
"in": "query", | |
"required": false, | |
"schema": { | |
"type": "string", | |
"format": "date-time" | |
} | |
}, | |
{ | |
"name": "end_time", | |
"description": "The end date for the range of metrics.", | |
"in": "query", | |
"required": false, | |
"schema": { | |
"type": "string", | |
"format": "date-time" | |
} | |
} | |
], | |
"tags": [ | |
"Metrics" | |
] | |
} | |
}, | |
"/storage/v1/stacks/{stack_id}/users/{user_id}/credentials": { | |
"get": { | |
"summary": "Get credentials for a given user.", | |
"operationId": "GetCredentials", | |
"responses": { | |
"200": { | |
"description": "", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"credentials": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"accessKey": { | |
"type": "string", | |
"description": "The ID for the access key" | |
} | |
}, | |
"description": "Storage credentials for a user" | |
}, | |
"description": "The list of active credentials on account" | |
} | |
}, | |
"description": "A response with new credentials" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The stack's ID for which the user belongs to", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "user_id", | |
"description": "The user's ID for which the credentials belong to", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"tags": [ | |
"User Credentials" | |
] | |
} | |
}, | |
"/storage/v1/stacks/{stack_id}/users/{user_id}/credentials/generate": { | |
"post": { | |
"summary": "Generate storage credentials for the given user", | |
"description": "Generate storage credentials for the given user. Users can only have one set of credentials, so calling this method will generate a new set and invalidate any existing ones.", | |
"operationId": "GenerateCredentials", | |
"responses": { | |
"200": { | |
"description": "", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"accessKey": { | |
"type": "string", | |
"description": "The ID for the access key" | |
}, | |
"secretKey": { | |
"type": "string", | |
"description": "The secret key used to sign requests" | |
} | |
}, | |
"description": "A response with new credentials" | |
} | |
} | |
} | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The stack's ID for which the user belongs to", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "user_id", | |
"description": "The user's ID for which the credentials will be generated", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"tags": [ | |
"User Credentials" | |
] | |
} | |
}, | |
"/storage/v1/stacks/{stack_id}/users/{user_id}/credentials/{access_key}": { | |
"delete": { | |
"summary": "Delete provided storage access credentials for the given user", | |
"operationId": "DeleteCredential", | |
"responses": { | |
"204": { | |
"description": "No content" | |
}, | |
"401": { | |
"description": "Returned when an unauthorized request is attempted.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"500": { | |
"description": "Internal server error.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"default": { | |
"description": "Default error structure.", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": [ | |
{ | |
"name": "stack_id", | |
"description": "The stack's ID for which the user belongs to", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "user_id", | |
"description": "The user's ID for which the credentials will be generated", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "access_key", | |
"description": "The credentials access key to be removed", | |
"in": "path", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"tags": [ | |
"User Credentials" | |
] | |
} | |
} | |
}, | |
"security": [ | |
{ | |
"oauth2": [] | |
} | |
], | |
"externalDocs": { | |
"description": "The StackPath API Reference", | |
"url": "https://stackpath.dev/reference" | |
}, | |
"x-explorer-enabled": true, | |
"x-proxy-enabled": true, | |
"x-samples-enabled": true, | |
"x-samples-languages": [ | |
"curl", | |
"node", | |
"ruby", | |
"javascript", | |
"python" | |
], | |
"servers": [ | |
{ | |
"url": "https://gateway.stackpath.com" | |
} | |
], | |
"components": { | |
"securitySchemes": { | |
"oauth2": { | |
"type": "oauth2", | |
"flows": { | |
"clientCredentials": { | |
"tokenUrl": "https://gateway.stackpath.com/identity/v1/oauth2/token", | |
"scopes": {} | |
} | |
} | |
} | |
}, | |
"schemas": { | |
"DataMatrix": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"description": "Time series data point values" | |
} | |
}, | |
"description": "Time series containing a range of data points over time for each time series" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a range of data points over time for each time series" | |
}, | |
"DataMatrixResult": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"description": "Time series data point values" | |
} | |
}, | |
"description": "Time series containing a range of data points over time for each time series" | |
}, | |
"DataValue": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"DataVector": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"value": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
} | |
}, | |
"description": "Time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"DataVectorResult": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"value": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
} | |
}, | |
"description": "Time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"GetCredentialsResponseCredential": { | |
"type": "object", | |
"properties": { | |
"accessKey": { | |
"type": "string", | |
"description": "The ID for the access key" | |
} | |
}, | |
"description": "Storage credentials for a user" | |
}, | |
"MetricsData": { | |
"type": "object", | |
"properties": { | |
"matrix": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"description": "Time series data point values" | |
} | |
}, | |
"description": "Time series containing a range of data points over time for each time series" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a range of data points over time for each time series" | |
}, | |
"vector": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"value": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
} | |
}, | |
"description": "Time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a single sample for each time series, all sharing the same timestamp" | |
} | |
}, | |
"description": "The data points in a metrics collection" | |
}, | |
"apiStatusDetail": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
}, | |
"paginationPageInfo": { | |
"type": "object", | |
"properties": { | |
"totalCount": { | |
"type": "string", | |
"description": "The total number of items in the dataset" | |
}, | |
"hasPreviousPage": { | |
"type": "boolean", | |
"format": "boolean", | |
"description": "Whether or not a previous page of data exists" | |
}, | |
"hasNextPage": { | |
"type": "boolean", | |
"format": "boolean", | |
"description": "Whether or not another page of data is available" | |
}, | |
"startCursor": { | |
"type": "string", | |
"description": "The cursor for the first item in the set of data returned" | |
}, | |
"endCursor": { | |
"type": "string", | |
"description": "The cursor for the last item in the set of data returned" | |
} | |
}, | |
"description": "Information about a paginated response\n\nThis is modeled after the GraphQL Relay spec to support both cursor based pagination and traditional offset based pagination." | |
}, | |
"paginationPageRequest": { | |
"type": "object", | |
"properties": { | |
"first": { | |
"type": "string", | |
"description": "The number of items desired" | |
}, | |
"after": { | |
"type": "string", | |
"description": "The cursor value after which data will be returned" | |
}, | |
"filter": { | |
"type": "string", | |
"description": "SQL-style constraint filters" | |
}, | |
"sortBy": { | |
"type": "string", | |
"description": "Sort the response by the given field" | |
} | |
}, | |
"description": "Pagination request information\n\nThis is modeled after the GraphQL Relay spec to support both cursor based pagination and traditional offset based pagination." | |
}, | |
"prometheusMetrics": { | |
"type": "object", | |
"properties": { | |
"status": { | |
"type": "string", | |
"enum": [ | |
"SUCCESS", | |
"ERROR" | |
], | |
"default": "SUCCESS", | |
"description": "A metrics query's resulting status" | |
}, | |
"data": { | |
"type": "object", | |
"properties": { | |
"matrix": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
}, | |
"description": "Time series data point values" | |
} | |
}, | |
"description": "Time series containing a range of data points over time for each time series" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a range of data points over time for each time series" | |
}, | |
"vector": { | |
"type": "object", | |
"properties": { | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"metric": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "The data points' labels" | |
}, | |
"value": { | |
"type": "object", | |
"properties": { | |
"unixTime": { | |
"type": "string", | |
"description": "The time that a data point was recorded" | |
}, | |
"value": { | |
"type": "string", | |
"description": "A data point's value" | |
} | |
}, | |
"description": "An individual metric data point" | |
} | |
}, | |
"description": "Time series containing a single sample for each time series, all sharing the same timestamp" | |
}, | |
"description": "A data point's value" | |
} | |
}, | |
"description": "A set of time series containing a single sample for each time series, all sharing the same timestamp" | |
} | |
}, | |
"description": "The data points in a metrics collection" | |
}, | |
"errorType": { | |
"type": "string", | |
"description": "The type of error encountered when querying for metrics" | |
}, | |
"error": { | |
"type": "string", | |
"description": "The error encountered when querying for metrics" | |
}, | |
"warnings": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
}, | |
"description": "Warnings encountered when querying for metrics" | |
} | |
}, | |
"description": "A collection of metrics" | |
}, | |
"prometheusMetricsStatus": { | |
"type": "string", | |
"enum": [ | |
"SUCCESS", | |
"ERROR" | |
], | |
"default": "SUCCESS", | |
"description": "A metrics query's resulting status" | |
}, | |
"stackpath.rpc.BadRequest": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"fieldViolations": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"field": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.BadRequest.FieldViolation": { | |
"type": "object", | |
"properties": { | |
"field": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
}, | |
"stackpath.rpc.Help": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"links": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.Help.Link": { | |
"type": "object", | |
"properties": { | |
"description": { | |
"type": "string" | |
}, | |
"url": { | |
"type": "string" | |
} | |
} | |
}, | |
"stackpath.rpc.LocalizedMessage": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"locale": { | |
"type": "string" | |
}, | |
"message": { | |
"type": "string" | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.PreconditionFailure": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"violations": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"subject": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.PreconditionFailure.Violation": { | |
"type": "object", | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"subject": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
}, | |
"stackpath.rpc.QuotaFailure": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"violations": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"subject": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.QuotaFailure.Violation": { | |
"type": "object", | |
"properties": { | |
"subject": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
}, | |
"stackpath.rpc.RequestInfo": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"requestId": { | |
"type": "string" | |
}, | |
"servingData": { | |
"type": "string" | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.ResourceInfo": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"resourceType": { | |
"type": "string" | |
}, | |
"resourceName": { | |
"type": "string" | |
}, | |
"owner": { | |
"type": "string" | |
}, | |
"description": { | |
"type": "string" | |
} | |
} | |
} | |
] | |
}, | |
"stackpath.rpc.RetryInfo": { | |
"allOf": [ | |
{ | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
}, | |
{ | |
"type": "object", | |
"properties": { | |
"retryDelay": { | |
"type": "string" | |
} | |
} | |
} | |
] | |
}, | |
"stackpathapiStatus": { | |
"type": "object", | |
"properties": { | |
"code": { | |
"type": "integer", | |
"format": "int32" | |
}, | |
"error": { | |
"type": "string" | |
}, | |
"details": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"@type": { | |
"type": "string" | |
} | |
}, | |
"required": [ | |
"@type" | |
], | |
"discriminator": { | |
"propertyName": "@type" | |
} | |
} | |
} | |
} | |
}, | |
"storageBucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
}, | |
"storageBucketVisibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"storageCreateBucketRequest": { | |
"type": "object", | |
"properties": { | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket to be created" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region where to create the bucket, defaults to us-east-1" | |
} | |
}, | |
"title": "" | |
}, | |
"storageCreateBucketResponse": { | |
"type": "object", | |
"properties": { | |
"bucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
} | |
}, | |
"description": "The bucket created" | |
}, | |
"storageGenerateCredentialsResponse": { | |
"type": "object", | |
"properties": { | |
"accessKey": { | |
"type": "string", | |
"description": "The ID for the access key" | |
}, | |
"secretKey": { | |
"type": "string", | |
"description": "The secret key used to sign requests" | |
} | |
}, | |
"description": "A response with new credentials" | |
}, | |
"storageGetBucketResponse": { | |
"type": "object", | |
"properties": { | |
"bucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
} | |
}, | |
"description": "The bucket for the given stack" | |
}, | |
"storageGetBucketsResponse": { | |
"type": "object", | |
"properties": { | |
"pageInfo": { | |
"type": "object", | |
"properties": { | |
"totalCount": { | |
"type": "string", | |
"description": "The total number of items in the dataset" | |
}, | |
"hasPreviousPage": { | |
"type": "boolean", | |
"format": "boolean", | |
"description": "Whether or not a previous page of data exists" | |
}, | |
"hasNextPage": { | |
"type": "boolean", | |
"format": "boolean", | |
"description": "Whether or not another page of data is available" | |
}, | |
"startCursor": { | |
"type": "string", | |
"description": "The cursor for the first item in the set of data returned" | |
}, | |
"endCursor": { | |
"type": "string", | |
"description": "The cursor for the last item in the set of data returned" | |
} | |
}, | |
"description": "Information about a paginated response\n\nThis is modeled after the GraphQL Relay spec to support both cursor based pagination and traditional offset based pagination." | |
}, | |
"results": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
}, | |
"description": "The requested buckets" | |
} | |
}, | |
"description": "The buckets for the given stack" | |
}, | |
"storageGetCredentialsResponse": { | |
"type": "object", | |
"properties": { | |
"credentials": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"accessKey": { | |
"type": "string", | |
"description": "The ID for the access key" | |
} | |
}, | |
"description": "Storage credentials for a user" | |
}, | |
"description": "The list of active credentials on account" | |
} | |
}, | |
"description": "A response with new credentials" | |
}, | |
"storageUpdateBucketRequest": { | |
"type": "object", | |
"properties": { | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
} | |
}, | |
"title": "" | |
}, | |
"storageUpdateBucketResponse": { | |
"type": "object", | |
"properties": { | |
"bucket": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string", | |
"description": "The ID for the bucket" | |
}, | |
"label": { | |
"type": "string", | |
"description": "The name of the bucket" | |
}, | |
"endpointUrl": { | |
"type": "string", | |
"description": "The URL used to access the bucket" | |
}, | |
"visibility": { | |
"type": "string", | |
"enum": [ | |
"PRIVATE", | |
"PUBLIC" | |
], | |
"default": "PRIVATE", | |
"description": "- PRIVATE: The bucket is private and only accessibly with credentials\n - PUBLIC: The bucket is public and accessible over the internet" | |
}, | |
"createdAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was created" | |
}, | |
"updatedAt": { | |
"type": "string", | |
"format": "date-time", | |
"description": "The date when the bucket was last updated" | |
}, | |
"region": { | |
"type": "string", | |
"description": "The region in which the bucket is created. Available regions are: us-east-1, us-west-1, eu-central-1" | |
} | |
} | |
} | |
}, | |
"description": "A response of the updated bucket" | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment