Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Definitions Update album #1130

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Definitions Update album
cibot committed Dec 23, 2024
commit 8a711dfeed968a7803d1225d029fc187381153eb
267 changes: 267 additions & 0 deletions alsdkdefs/apis/album/album.v1.yaml
Original file line number Diff line number Diff line change
@@ -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'

2,319 changes: 2,319 additions & 0 deletions alsdkdefs/apis/album/api/album.v1.html

Large diffs are not rendered by default.

Empty file.
51 changes: 51 additions & 0 deletions alsdkdefs/apis/album/parameters.yaml
Original file line number Diff line number Diff line change
@@ -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'
48 changes: 48 additions & 0 deletions alsdkdefs/apis/album/responses.yaml
Original file line number Diff line number Diff line change
@@ -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'
79 changes: 79 additions & 0 deletions alsdkdefs/apis/album/schemas.yaml
Original file line number Diff line number Diff line change
@@ -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