diff --git a/alsdkdefs/apis/album/album.v1.yaml b/alsdkdefs/apis/album/album.v1.yaml new file mode 100644 index 0000000..bd726c8 --- /dev/null +++ b/alsdkdefs/apis/album/album.v1.yaml @@ -0,0 +1,267 @@ +openapi: 3.0.1 +info: + title: Album API + contact: + email: support@alertlogic.com + name: Alert Logic Support + url: https://support.alertlogic.com + x-alertlogic-iws-service: + type: public + description: |- + AMI sharing service + version: 1.0.0 +servers: + - url: https://api.cloudinsight.alertlogic.com + x-alertlogic-session-endpoint: true + description: production (US) + - url: https://api.cloudinsight.alertlogic.co.uk + description: production (UK) + x-alertlogic-session-endpoint: true + - url: https://api.product.dev.alertlogic.com + description: integration +paths: + /album/v1/images: + get: + operationId: get_current_images + tags: + - GET + summary: Get current images + description: |- + Returns a list of current images. + parameters: + - $ref: 'parameters.yaml#/query_product_type' + - $ref: 'parameters.yaml#/query_platform_type' + responses: + '200': + $ref: 'responses.yaml#/get_current_images' + + /album/v1/images/{platform_type}/{product_type}: + post: + operationId: add_new_images_and_create_version_set + tags: + - POST + summary: Add new images + description: |- + Add a new version of images. + parameters: + - $ref: 'parameters.yaml#/path_platform_type' + - $ref: 'parameters.yaml#/path_product_type' + requestBody: + content: + application/json: + schema: + $ref: 'schemas.yaml#/ami_record_ref' + examples: + ami_record: + summary: Request for adding ami records + description: |- + An array of records that will be added to the db, + this will also put all ami in the request under a single version. + value: + [ + { + "image_id": "ami-11111111111111111", + "region": "us-east-1", + "description": "text" + } + ] + responses: + '202': + $ref: 'responses.yaml#/accepted' + '400': + $ref: 'responses.yaml#/bad_request' + + /album/v1/images/{platform_type}/{product_type}/{version}: + post: + operationId: add_new_images_to_existing_version_set + tags: + - POST + summary: Add new images to existing version set + description: |- + Add a new image to an existing version set. + parameters: + - $ref: 'parameters.yaml#/path_platform_type' + - $ref: 'parameters.yaml#/path_product_type' + - $ref: 'parameters.yaml#/path_version' + requestBody: + content: + application/json: + schema: + $ref: 'schemas.yaml#/ami_record_ref' + examples: + ami_record: + summary: Request for adding image records to existing version set + description: |- + An array of records that will be added to the db for the specific version set, + this can be used to add a new region ami. + value: + { + "image_id": "ami-11111111111111111", + "region": "us-east-1", + "description": "text" + } + + responses: + '202': + $ref: 'responses.yaml#/accepted' + '400': + $ref: 'responses.yaml#/bad_request' + put: + operationId: modify_image_record + tags: + - PUT + summary: Modify a record within existing version set + description: |- + Modify a image record within a existing version set. + parameters: + - $ref: 'parameters.yaml#/path_platform_type' + - $ref: 'parameters.yaml#/path_product_type' + - $ref: 'parameters.yaml#/path_version' + requestBody: + content: + application/json: + schema: + $ref: 'schemas.yaml#/ami_record_ref' + examples: + ami_record: + summary: Request for modifying a record within existing version set + description: The record with specified image_id will be modified with the new values. + value: + { + "image_id": "ami-11111111111111111", + "region": "us-east-1", + "description": "text" + } + responses: + '202': + $ref: 'responses.yaml#/accepted' + '400': + $ref: 'responses.yaml#/bad_request' + '404': + $ref: 'responses.yaml#/not_found' + delete: + operationId: delete_image_record + tags: + - DELETE + summary: Delete a record within existing version set + description: |- + Delete a image record within a existing version set. + parameters: + - $ref: 'parameters.yaml#/path_platform_type' + - $ref: 'parameters.yaml#/path_product_type' + - $ref: 'parameters.yaml#/path_version' + requestBody: + content: + application/json: + schema: + $ref: 'schemas.yaml#/ami_record_ref' + examples: + ami_record: + summary: Request for delete a record within existing version set + description: The record with specified image_id will be deleted from the version set. + value: + { + "image_id": "ami-11111111111111111", + } + responses: + '202': + $ref: 'responses.yaml#/accepted' + '400': + $ref: 'responses.yaml#/bad_request' + '404': + $ref: 'responses.yaml#/not_found' + + /album/v1/images/{platform_type}/{product_type}/{version}/enable: + post: + operationId: enable_image_records_version_set + tags: + - POST + summary: Enable a specific version set of images + description: |- + Enable a specific version set of images. + parameters: + - $ref: 'parameters.yaml#/path_platform_type' + - $ref: 'parameters.yaml#/path_product_type' + - $ref: 'parameters.yaml#/path_version' + responses: + '200': + $ref: 'responses.yaml#/accepted' + '404': + $ref: 'responses.yaml#/not_found' + + /album/v1/all/images: + get: + operationId: get_all_images + tags: + - GET + summary: Get all images + description: |- + Returns a list of all image records, including their ami name and description. + responses: + '200': + $ref: 'responses.yaml#/get_all_images' + + /album/v1/all/images/{image_id}: + get: + operationId: get_image + tags: + - GET + summary: Get specified image + description: |- + Returns single image record, including their ami name and description. + parameters: + - $ref: 'parameters.yaml#/path_image_id' + responses: + '200': + $ref: 'responses.yaml#/get_image' + '404': + $ref: 'responses.yaml#/not_found' + + /album/v1/all/images/{image_id}/product_type: + get: + operationId: get_image_product_type + tags: + - GET + summary: Get specified image's product type + description: |- + Returns product type for specified image id. + parameters: + - $ref: 'parameters.yaml#/path_image_id' + responses: + '200': + $ref: 'responses.yaml#/get_image_product_type' + '404': + $ref: 'responses.yaml#/not_found' + + /album/v1/shares/{platform_type}/{platform_id}: + put: + operationId: add_launch_permission + tags: + - PUT + summary: Add launch permission + description: |- + Adds launch permission for the current images the the specified platform account. + parameters: + - $ref: 'parameters.yaml#/path_platform_type' + - $ref: 'parameters.yaml#/path_platform_id' + responses: + '204': + $ref: 'responses.yaml#/no_content' + '404': + $ref: 'responses.yaml#/not_found' + delete: + operationId: remove_launch_permission + tags: + - DELETE + summary: Remove launch permission + description: |- + Remove launch permission for the current images the the specified platform account. + parameters: + - $ref: 'parameters.yaml#/path_platform_type' + - $ref: 'parameters.yaml#/path_image_id' + responses: + '204': + $ref: 'responses.yaml#/no_content' + '404': + $ref: 'responses.yaml#/not_found' + diff --git a/alsdkdefs/apis/album/api/album.v1.html b/alsdkdefs/apis/album/api/album.v1.html new file mode 100644 index 0000000..ae1a0ce --- /dev/null +++ b/alsdkdefs/apis/album/api/album.v1.html @@ -0,0 +1,2319 @@ + + + + + + Album API + + + + + + + + + +

Album API (1.0.0)

Download OpenAPI specification:Download

AMI sharing service

+

GET

Get current images

Returns a list of current images.

+
query Parameters
product_type
string (product_type)
Enum: "ids" "scan" "wsm"

Product Type

+
platform_type
string (platform_type)
Value: "aws"

Platform Type

+

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all images

Returns a list of all image records, including their ami name and description.

+

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get specified image

Returns single image record, including their ami name and description.

+
path Parameters
image_id
required
string (schemas_image_id)
Example: ami-11111111111111111

Responses

Response samples

Content type
application/json
{
  • "type": null,
  • "properties": null
}

Get specified image's product type

Returns product type for specified image id.

+
path Parameters
image_id
required
string (schemas_image_id)
Example: ami-11111111111111111

Responses

Response samples

Content type
application/json
"ids"

POST

Add new images

Add a new version of images.

+
path Parameters
platform_type
required
string (platform_type)
Value: "aws"

platform type

+
product_type
required
string (product_type)
Enum: "ids" "scan" "wsm"

product type

+
Request Body schema: application/json
version
string (version) non-empty

Version set of the image

+
ami_name
string (ami_name) non-empty

Description for the image

+
creation_time
integer (creation_time) >= 0

Timestamp of AMI creation

+
description
string (description)

Description for the image

+
product_type
string (definitions-product_type)
Enum: "ids" "scan" "wsm"

Product type

+
platform_type
required
string (definitions-platform_type)
Value: "aws"

Platform type

+
Array of objects (image_array) >= 0 items
enabled_on
integer (enabled_on) >= 0

Timestamp for when the image is enabled

+

Responses

Request samples

Content type
application/json

An array of records that will be added to the db, +this will also put all ami in the request under a single version.

+
[
  • {
    }
]

Add new images to existing version set

Add a new image to an existing version set.

+
path Parameters
platform_type
required
string (platform_type)
Value: "aws"

platform type

+
product_type
required
string (product_type)
Enum: "ids" "scan" "wsm"

product type

+
version
required
string (schemas_version)
Request Body schema: application/json
version
string (version) non-empty

Version set of the image

+
ami_name
string (ami_name) non-empty

Description for the image

+
creation_time
integer (creation_time) >= 0

Timestamp of AMI creation

+
description
string (description)

Description for the image

+
product_type
string (definitions-product_type)
Enum: "ids" "scan" "wsm"

Product type

+
platform_type
required
string (definitions-platform_type)
Value: "aws"

Platform type

+
Array of objects (image_array) >= 0 items
enabled_on
integer (enabled_on) >= 0

Timestamp for when the image is enabled

+

Responses

Request samples

Content type
application/json

An array of records that will be added to the db for the specific version set, +this can be used to add a new region ami.

+
{
  • "image_id": "ami-11111111111111111",
  • "region": "us-east-1",
  • "description": "text"
}

Enable a specific version set of images

Enable a specific version set of images.

+
path Parameters
platform_type
required
string (platform_type)
Value: "aws"

platform type

+
product_type
required
string (product_type)
Enum: "ids" "scan" "wsm"

product type

+
version
required
string (schemas_version)

Responses

PUT

Modify a record within existing version set

Modify a image record within a existing version set.

+
path Parameters
platform_type
required
string (platform_type)
Value: "aws"

platform type

+
product_type
required
string (product_type)
Enum: "ids" "scan" "wsm"

product type

+
version
required
string (schemas_version)
Request Body schema: application/json
version
string (version) non-empty

Version set of the image

+
ami_name
string (ami_name) non-empty

Description for the image

+
creation_time
integer (creation_time) >= 0

Timestamp of AMI creation

+
description
string (description)

Description for the image

+
product_type
string (definitions-product_type)
Enum: "ids" "scan" "wsm"

Product type

+
platform_type
required
string (definitions-platform_type)
Value: "aws"

Platform type

+
Array of objects (image_array) >= 0 items
enabled_on
integer (enabled_on) >= 0

Timestamp for when the image is enabled

+

Responses

Request samples

Content type
application/json

The record with specified image_id will be modified with the new values.

+
{
  • "image_id": "ami-11111111111111111",
  • "region": "us-east-1",
  • "description": "text"
}

Add launch permission

Adds launch permission for the current images the the specified platform account.

+
path Parameters
platform_type
required
string (platform_type)
Value: "aws"

platform type

+
platform_id
required
string (platform_id)
Example: 0000-0000-0000

Responses

DELETE

Delete a record within existing version set

Delete a image record within a existing version set.

+
path Parameters
platform_type
required
string (platform_type)
Value: "aws"

platform type

+
product_type
required
string (product_type)
Enum: "ids" "scan" "wsm"

product type

+
version
required
string (schemas_version)
Request Body schema: application/json
version
string (version) non-empty

Version set of the image

+
ami_name
string (ami_name) non-empty

Description for the image

+
creation_time
integer (creation_time) >= 0

Timestamp of AMI creation

+
description
string (description)

Description for the image

+
product_type
string (definitions-product_type)
Enum: "ids" "scan" "wsm"

Product type

+
platform_type
required
string (definitions-platform_type)
Value: "aws"

Platform type

+
Array of objects (image_array) >= 0 items
enabled_on
integer (enabled_on) >= 0

Timestamp for when the image is enabled

+

Responses

Request samples

Content type
application/json

The record with specified image_id will be deleted from the version set.

+
{
  • "image_id": "ami-11111111111111111"
}

Remove launch permission

Remove launch permission for the current images the the specified platform account.

+
path Parameters
platform_type
required
string (platform_type)
Value: "aws"

platform type

+
image_id
required
string (schemas_image_id)
Example: ami-11111111111111111

Responses

+ + + + \ No newline at end of file diff --git a/alsdkdefs/apis/album/example.yaml b/alsdkdefs/apis/album/example.yaml new file mode 100644 index 0000000..e69de29 diff --git a/alsdkdefs/apis/album/parameters.yaml b/alsdkdefs/apis/album/parameters.yaml new file mode 100644 index 0000000..631442c --- /dev/null +++ b/alsdkdefs/apis/album/parameters.yaml @@ -0,0 +1,51 @@ + +query_product_type: + name: product_type + required: false + description: Product Type + in: query + schema: + $ref: 'schemas.yaml#/product_type' + +query_platform_type: + name: platform_type + required: false + description: Platform Type + in: query + schema: + $ref: 'schemas.yaml#/platform_type' + +path_image_id: + name: image_id + required: true + in: path + schema: + $ref: 'schemas.yaml#/image_id' + +path_platform_id: + name: platform_id + required: true + in: path + schema: + $ref: 'schemas.yaml#/platform_id' + +path_product_type: + name: product_type + required: true + in: path + schema: + $ref: 'schemas.yaml#/product_type' + +path_platform_type: + name: platform_type + required: true + in: path + schema: + $ref: 'schemas.yaml#/platform_type' + +path_version: + name: version + required: true + in: path + schema: + $ref: 'schemas.yaml#/version' diff --git a/alsdkdefs/apis/album/responses.yaml b/alsdkdefs/apis/album/responses.yaml new file mode 100644 index 0000000..79acda5 --- /dev/null +++ b/alsdkdefs/apis/album/responses.yaml @@ -0,0 +1,48 @@ + +get_current_images: + description: 'OK' + content: + application/json: + schema: + $ref: 'schemas.yaml#/current_images' + +get_all_images: + description: 'OK' + content: + application/json: + schema: + $ref: 'schemas.yaml#/all_images' + +get_image: + description: 'OK' + content: + application/json: + schema: + properties: + $ref: 'schemas.yaml#/image' + +get_image_product_type: + description: 'OK' + content: + application/json: + schema: + $ref: 'schemas.yaml#/product_type' + +add_new_images_and_create_version_set: + description: 'OK' + content: + application/json: + schema: + $ref: 'schemas.yaml#/version' + +no_content: + description: 'Successful No Content' + +not_found: + description: 'Not Found' + +accepted: + description: 'Post Successful' + +bad_request: + description: 'Bad Request' diff --git a/alsdkdefs/apis/album/schemas.yaml b/alsdkdefs/apis/album/schemas.yaml new file mode 100644 index 0000000..de624e8 --- /dev/null +++ b/alsdkdefs/apis/album/schemas.yaml @@ -0,0 +1,79 @@ + + +ami_record_ref: + $ref: '../../priv/schemas/api.json#/definitions/image_set' + +current_images: + type: array + items: + type: object + properties: + type: + type: string + example: aws + product: + type: string + example: ids + images: + type: array + items: + type: object + properties: + image_id: + type: string + example: ami-11111111111111111 + region: + type: string + example: us-east-1 + +all_images: + type: array + items: + type: object + properties: + image_id: + type: string + example: ami-11111111111111111 + region: + type: string + example: us-east-1 + +image: + type: object + properties: + image_id: + type: string + example: ami-11111111111111111 + region: + type: string + example: us-east-1 + +image_id: + type: string + example: ami-11111111111111111 + +region: + type: string + example: us-east-1 + +version: + type: string + +product_type: + type: string + description: product type + enum: + - ids + - scan + - wsm + +platform_type: + type: string + description: platform type + enum: + - aws + +platform_id: + type: string + example: 0000-0000-0000 +