Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects

:pencil: Add and update smithy documentation

Merged Frederico SEQUEIRA requested to merge add_smithy_documentation into main

Files

$version: "2.0"
namespace eu.europa.ec.snet.sys
@tags(["SYS"])
@documentation("Resource - Virtual Machine Domain Names")
resource domainNames {
identifiers: {
id: Ids
}
properties: {
domain_names: Document
assigned_object_id: Ids
assigned_object_type: String
}
read: GetDomainNames
create: CreateDomainNames
update: UpdateDomainNames
delete: DeleteDomainNames
list: ListDomainNames
}
@tags(["SYS"])
@documentation("Show Virtual Machine Domain Names information based on ID")
@readonly
@http(method: "GET", uri: "/api/plugins/sys/DomainNames/{id}/")
operation GetDomainNames {
input := for domainNames {
@required
@httpLabel
$id
}
output := for domainNames {
@required
$id
@required
$assigned_object_id
@required
$assigned_object_type
$domain_names
}
}
@tags(["SYS"])
@documentation("Show Virtual Machine Domain Names information")
@idempotent
@http(method: "POST", uri: "/api/plugins/sys/DomainNames/")
operation CreateDomainNames {
input := for domainNames {
@required
$assigned_object_id
@required
$assigned_object_type
@required
$domain_names
}
output := for domainNames {
@required
$id
@required
$assigned_object_id
@required
$assigned_object_type
@required
$domain_names
}
errors: [NotUnique,WrongAssignedobject]
}
@tags(["SYS"])
@documentation("Update Virtual Machine Domain Names information")
@http(method: "PATCH", uri: "/api/plugins/sys/DomainNames/{id}/")
operation UpdateDomainNames {
input := for domainNames {
@required
@httpLabel
$id
@required
$assigned_object_id
@required
$assigned_object_type
$domain_names
}
errors: [NotUnique,WrongAssignedobject]
}
@tags(["SYS"])
@documentation("Delete Virtual Machine Domain Names information")
@idempotent
@http(method: "DELETE", uri: "/api/plugins/sys/DomainNames/{id}/")
operation DeleteDomainNames {
input := for domainNames {
@required
@httpLabel
$id
}
}
@tags(["SYS"])
@documentation("List Virtual Machine Domain Names Info")
@readonly
@http(method: "GET",uri: "/api/plugins/sys/DomainNames/")
@paginated(inputToken: "next", outputToken: "next", pageSize: "limit", items: "results")
operation ListDomainNames {
input := for domainNames {
@httpQuery("limit")
limit: Integer
@httpQuery("offset")
offset: String
@httpQuery("ordering")
next: String
}
output := for domainNames {
count: Integer
next: String
previous: String
@required
results: DomainNamesList
}
}
@documentation("Unique constraint to prevent duplication of IDs")
list DomainNamesList {
member: VmdomainNames
}
@references(
[
{resource: domainNames}
]
)
structure VmdomainNames for domainNames {
@required
$id
@required
$assigned_object_id
@required
$assigned_object_type
$domain_names
}
Loading