From f10cd39b6a317e30b0658da032f65ef1bbdc433d Mon Sep 17 00:00:00 2001 From: Frederico Sequeira <frederico.sequeira@ext.ec.europa.eu> Date: Tue, 7 Jan 2025 15:28:52 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20Add=20and=20update=20smithy=20do?= =?UTF-8?q?cumentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/definition/models/domainNames.smithy | 157 +++++++++++++++ .../models/providerCredentials.smithy | 176 +++++++++++++++++ .../models/providerTypeExtraConfig.smithy | 168 ++++++++++++++++ docs/definition/models/sys.smithy | 2 +- .../models/virtualMachineMaintenance.smithy | 20 +- .../models/virtualMachineType.smithy | 10 +- .../models/vmAssignedExtraConfig.smithy | 179 ++++++++++++++++++ .../vmAssignedVirtualMachineType.smithy | 168 ++++++++++++++++ docs/definition/models/webhooksettings.smithy | 147 ++++++++++++++ 9 files changed, 1011 insertions(+), 16 deletions(-) create mode 100644 docs/definition/models/domainNames.smithy create mode 100644 docs/definition/models/providerCredentials.smithy create mode 100644 docs/definition/models/providerTypeExtraConfig.smithy create mode 100644 docs/definition/models/vmAssignedExtraConfig.smithy create mode 100644 docs/definition/models/vmAssignedVirtualMachineType.smithy create mode 100644 docs/definition/models/webhooksettings.smithy diff --git a/docs/definition/models/domainNames.smithy b/docs/definition/models/domainNames.smithy new file mode 100644 index 0000000..57dce0e --- /dev/null +++ b/docs/definition/models/domainNames.smithy @@ -0,0 +1,157 @@ +$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 +} + diff --git a/docs/definition/models/providerCredentials.smithy b/docs/definition/models/providerCredentials.smithy new file mode 100644 index 0000000..2ee9b09 --- /dev/null +++ b/docs/definition/models/providerCredentials.smithy @@ -0,0 +1,176 @@ +$version: "2.0" + +namespace eu.europa.ec.snet.sys + +@tags(["SYS"]) +@documentation("Resource - Provider Credentials") +resource providerCredentials { + identifiers: { + id: Ids + } + properties: { + assigned_object_type_id: Ids + assigned_object_id: String + provider_url: String + provider_name: String + provider_password_vault_url: String + + } + read: GetProviderCredentials + create: CreateProviderCredentials + update: UpdateProviderCredentials + delete: DeleteProviderCredentials + list: ListProviderCredentials +} + + +@tags(["SYS"]) +@documentation("Show Provider Credentials based on ID") +@readonly +@http(method: "GET", uri: "/api/plugins/sys/ProviderCredentials/{id}/") +operation GetProviderCredentials { + input := for providerCredentials { + @required + @httpLabel + $id + } + + output := for providerCredentials { + @required + $assigned_object_type_id + @required + $assigned_object_id + @required + $provider_url + @required + $provider_name + @required + $provider_password_vault_url + } +} + +@tags(["SYS"]) +@documentation("Show Provider Credentials information") +@idempotent +@http(method: "POST", uri: "/api/plugins/sys/ProviderCredentials/") +operation CreateProviderCredentials { + input := for providerCredentials { + + @required + $assigned_object_type_id + @required + $assigned_object_id + @required + $provider_url + @required + $provider_name + @required + $provider_password_vault_url + } + + output := for providerCredentials { + @required + $id + @required + $assigned_object_type_id + @required + $assigned_object_id + @required + $provider_url + @required + $provider_name + @required + $provider_password_vault_url + } + + errors: [NotUnique,WrongAssignedobject] +} + + +@tags(["SYS"]) +@documentation("Update Provider Credentials") +@http(method: "PATCH", uri: "/api/plugins/sys/ProviderCredentials/{id}/") +operation UpdateProviderCredentials { + input := for providerCredentials { + @required + @httpLabel + $id + @required + $assigned_object_type_id + @required + $assigned_object_id + @required + $provider_url + @required + $provider_name + @required + $provider_password_vault_url + } + + errors: [NotUnique,WrongAssignedobject] +} + + +@tags(["SYS"]) +@documentation("Delete Provider Credentials") +@idempotent +@http(method: "DELETE", uri: "/api/plugins/sys/ProviderCredentials/{id}/") +operation DeleteProviderCredentials { + input := for providerCredentials { + @required + @httpLabel + $id + } +} + +@tags(["SYS"]) +@documentation("List Provider Credentials") +@readonly +@http(method: "GET",uri: "/api/plugins/sys/ProviderCredentials/") +@paginated(inputToken: "next", outputToken: "next", pageSize: "limit", items: "results") +operation ListProviderCredentials { + input := for providerCredentials { + @httpQuery("limit") + limit: Integer + @httpQuery("offset") + offset: String + @httpQuery("ordering") + next: String + } + + output := for providerCredentials { + count: Integer + next: String + previous: String + @required + results: ProviderCredentialsList + } +} + +@documentation("Unique constraint to prevent duplication of IDs") +@uniqueItems +list ProviderCredentialsList { + + member: ProviderCredentialsSummary +} +@references( +[ + {resource: providerCredentials} +] +) +structure ProviderCredentialsSummary for providerCredentials { + @required + $id + + @required + $assigned_object_type_id + @required + $assigned_object_id + @required + $provider_url + @required + $provider_name + @required + $provider_password_vault_url +} + diff --git a/docs/definition/models/providerTypeExtraConfig.smithy b/docs/definition/models/providerTypeExtraConfig.smithy new file mode 100644 index 0000000..4f06599 --- /dev/null +++ b/docs/definition/models/providerTypeExtraConfig.smithy @@ -0,0 +1,168 @@ +$version: "2.0" + +namespace eu.europa.ec.snet.sys + +@tags(["SYS"]) +@documentation("Resource - Provider Type Extra Config") +resource providerTypeExtraConfig { + identifiers: { + id: Ids + } + properties: { + extra_config_description: String + extra_config_structure: String + assigned_object_id: Ids + assigned_object_type: String + + } + read: GetproviderTypeExtraConfig + create: CreateproviderTypeExtraConfig + update: UpdateproviderTypeExtraConfig + delete: DeleteproviderTypeExtraConfig + list: ListproviderTypeExtraConfig +} + + +@tags(["SYS"]) +@documentation("Show Provider Type Extra Config based on ID") +@readonly +@http(method: "GET", uri: "/api/plugins/sys/ExtraConfig/{id}/") +operation GetproviderTypeExtraConfig { + input := for providerTypeExtraConfig { + @required + @httpLabel + $id + } + + output := for providerTypeExtraConfig { + @required + $id + @required + $assigned_object_id + @required + $assigned_object_type + @required + $extra_config_structure + + $extra_config_description + } +} + +@tags(["SYS"]) +@documentation("Show Provider Type Extra Config information") +@idempotent +@http(method: "POST", uri: "/api/plugins/sys/ExtraConfig/") +operation CreateproviderTypeExtraConfig { + input := for providerTypeExtraConfig { + + @required + $assigned_object_id + @required + $assigned_object_type + @required + $extra_config_structure + + $extra_config_description + } + + output := for providerTypeExtraConfig { + @required + $id + @required + $assigned_object_id + @required + $assigned_object_type + @required + $extra_config_structure + + $extra_config_description + } + + errors: [NotUnique,WrongAssignedobject] +} + + +@tags(["SYS"]) +@documentation("Update Provider Type Extra Config") +@http(method: "PATCH", uri: "/api/plugins/sys/ExtraConfig/{id}/") +operation UpdateproviderTypeExtraConfig { + input := for providerTypeExtraConfig { + @required + @httpLabel + $id + + @required + $assigned_object_id + @required + $assigned_object_type + @required + $extra_config_structure + + $extra_config_description + } + + errors: [NotUnique,WrongAssignedobject] +} + + +@tags(["SYS"]) +@documentation("Delete Provider Type Extra Config") +@idempotent +@http(method: "DELETE", uri: "/api/plugins/sys/ExtraConfig/{id}/") +operation DeleteproviderTypeExtraConfig { + input := for providerTypeExtraConfig { + @required + @httpLabel + $id + } +} + +@tags(["SYS"]) +@documentation("List Provider Type Extra Config") +@readonly +@http(method: "GET",uri: "/api/plugins/sys/ExtraConfig/") +@paginated(inputToken: "next", outputToken: "next", pageSize: "limit", items: "results") +operation ListproviderTypeExtraConfig { + input := for providerTypeExtraConfig { + @httpQuery("limit") + limit: Integer + @httpQuery("offset") + offset: String + @httpQuery("ordering") + next: String + } + + output := for providerTypeExtraConfig { + count: Integer + next: String + previous: String + @required + results: ProviderTypeExtraConfigList + } +} + +@documentation("Unique constraint to prevent duplication of IDs") +@uniqueItems +list ProviderTypeExtraConfigList { + + member: ProviderTypeExtraConfigSummary +} +@references( +[ + {resource: providerTypeExtraConfig} +] +) +structure ProviderTypeExtraConfigSummary for providerTypeExtraConfig { + @required + $id + + @required + $assigned_object_id + @required + $assigned_object_type + @required + $extra_config_structure + + $extra_config_description +} + diff --git a/docs/definition/models/sys.smithy b/docs/definition/models/sys.smithy index ea7bf6d..f680893 100644 --- a/docs/definition/models/sys.smithy +++ b/docs/definition/models/sys.smithy @@ -9,7 +9,7 @@ use aws.protocols#restJson1 @restJson1 service sys { version: "0.0.1", - resources: [vmMaintenance,vmType] + resources: [vmMaintenance,vmType,vmAssignmentType,providerCredentials,domainNames,providerTypeExtraConfig,vmAssignmentExtraConfig,webhookSettings] } diff --git a/docs/definition/models/virtualMachineMaintenance.smithy b/docs/definition/models/virtualMachineMaintenance.smithy index 3a036ec..25fead0 100644 --- a/docs/definition/models/virtualMachineMaintenance.smithy +++ b/docs/definition/models/virtualMachineMaintenance.smithy @@ -23,9 +23,9 @@ resource vmMaintenance { @tags(["SYS"]) -@documentation("Show Virtual Machine Maintenance s information based on ID") +@documentation("Show Virtual Machine Maintenance information based on ID") @readonly -@http(method: "GET", uri: "/api/plugins/sys/vm_maintenance/{id}/") +@http(method: "GET", uri: "/api/plugins/sys/VmMaintenance/{id}/") operation GetVmMaintenance { input := for vmMaintenance { @required @@ -46,9 +46,9 @@ operation GetVmMaintenance { } @tags(["SYS"]) -@documentation("Show Virtual Machine Maintenance s information") +@documentation("Show Virtual Machine Maintenance information") @idempotent -@http(method: "POST", uri: "/api/plugins/sys/vm_maintenance/") +@http(method: "POST", uri: "/api/plugins/sys/VmMaintenance/") operation CreateVmMaintenance { input := for vmMaintenance { @@ -76,8 +76,8 @@ operation CreateVmMaintenance { @tags(["SYS"]) -@documentation("Update Virtual Machine Maintenance s information") -@http(method: "PATCH", uri: "/api/plugins/sys/vm_maintenance/{id}/") +@documentation("Update Virtual Machine Maintenance information") +@http(method: "PATCH", uri: "/api/plugins/sys/VmMaintenance/{id}/") operation UpdateVmMaintenance { input := for vmMaintenance { @required @@ -97,9 +97,9 @@ operation UpdateVmMaintenance { @tags(["SYS"]) -@documentation("Delete Virtual Machine Maintenance s information") +@documentation("Delete Virtual Machine Maintenance information") @idempotent -@http(method: "DELETE", uri: "/api/plugins/sys/vm_maintenance/{id}/") +@http(method: "DELETE", uri: "/api/plugins/sys/VmMaintenance/{id}/") operation DeleteVmMaintenance { input := for vmMaintenance { @required @@ -110,9 +110,9 @@ operation DeleteVmMaintenance { @tags(["SYS"]) -@documentation("List Virtual Machine Maintenance s Info") +@documentation("List Virtual Machine Maintenance Info") @readonly -@http(method: "GET",uri: "/api/plugins/sys/vm_maintenance/") +@http(method: "GET",uri: "/api/plugins/sys/VmMaintenance/") @paginated(inputToken: "next", outputToken: "next", pageSize: "limit", items: "results") operation ListVmMaintenance { input := for vmMaintenance { diff --git a/docs/definition/models/virtualMachineType.smithy b/docs/definition/models/virtualMachineType.smithy index 62aa4b7..90ce66a 100644 --- a/docs/definition/models/virtualMachineType.smithy +++ b/docs/definition/models/virtualMachineType.smithy @@ -26,7 +26,7 @@ resource vmType { @tags(["SYS"]) @documentation("Show Virtual Machine Type based on ID") @readonly -@http(method: "GET", uri: "/api/plugins/sys/vm_type/{id}/") +@http(method: "GET", uri: "/api/plugins/sys/VmType/{id}/") operation GetvmType { input := for vmType { @required @@ -51,7 +51,7 @@ operation GetvmType { @tags(["SYS"]) @documentation("Show Virtual Machine Type information") @idempotent -@http(method: "POST", uri: "/api/plugins/sys/vm_type/") +@http(method: "POST", uri: "/api/plugins/sys/VmType/") operation CreatevmType { input := for vmType { @@ -84,7 +84,7 @@ operation CreatevmType { @tags(["SYS"]) @documentation("Update Virtual Machine Type") -@http(method: "PATCH", uri: "/api/plugins/sys/vm_type/{id}/") +@http(method: "PATCH", uri: "/api/plugins/sys/VmType/{id}/") operation UpdatevmType { input := for vmType { @required @@ -108,7 +108,7 @@ operation UpdatevmType { @tags(["SYS"]) @documentation("Delete Virtual Machine Type") @idempotent -@http(method: "DELETE", uri: "/api/plugins/sys/vm_type/{id}/") +@http(method: "DELETE", uri: "/api/plugins/sys/VmType/{id}/") operation DeletevmType { input := for vmType { @required @@ -120,7 +120,7 @@ operation DeletevmType { @tags(["SYS"]) @documentation("List Virtual Machine Type") @readonly -@http(method: "GET",uri: "/api/plugins/sys/vm_type/") +@http(method: "GET",uri: "/api/plugins/sys/VmType/") @paginated(inputToken: "next", outputToken: "next", pageSize: "limit", items: "results") operation ListvmType { input := for vmType { diff --git a/docs/definition/models/vmAssignedExtraConfig.smithy b/docs/definition/models/vmAssignedExtraConfig.smithy new file mode 100644 index 0000000..da4e885 --- /dev/null +++ b/docs/definition/models/vmAssignedExtraConfig.smithy @@ -0,0 +1,179 @@ +$version: "2.0" + +namespace eu.europa.ec.snet.sys + +@tags(["SYS"]) +@documentation("Resource - VM Assigned Extra Config") +resource vmAssignmentExtraConfig { + identifiers: { + id: Ids + } + properties: { + provider_type_extra_config_id: Ids + provider_type_extra_config_assignment_desc: String + extra_config_values: String + assigned_object_id: Ids + assigned_object_type: String + + } + read: GetvmAssignmentExtraConfig + create: CreatevmAssignmentExtraConfig + update: UpdatevmAssignmentExtraConfig + delete: DeletevmAssignmentExtraConfig + list: ListvmAssignmentExtraConfig +} + + +@tags(["SYS"]) +@documentation("Show VM Assigned Extra Config based on ID") +@readonly +@http(method: "GET", uri: "/api/plugins/sys/AssignedExtraConfig/{id}/") +operation GetvmAssignmentExtraConfig { + input := for vmAssignmentExtraConfig { + @required + @httpLabel + $id + } + + output := for vmAssignmentExtraConfig { + @required + $id + @required + $assigned_object_id + @required + $assigned_object_type + @required + $provider_type_extra_config_id + @required + $extra_config_values + + $provider_type_extra_config_assignment_desc + } +} + +@tags(["SYS"]) +@documentation("Show VM Assigned Extra Config information") +@idempotent +@http(method: "POST", uri: "/api/plugins/sys/AssignedExtraConfig/") +operation CreatevmAssignmentExtraConfig { + input := for vmAssignmentExtraConfig { + + @required + $assigned_object_id + @required + $assigned_object_type + @required + $provider_type_extra_config_id + @required + $extra_config_values + + $provider_type_extra_config_assignment_desc + } + + output := for vmAssignmentExtraConfig { + @required + $id + @required + $assigned_object_id + @required + $assigned_object_type + @required + $provider_type_extra_config_id + @required + $extra_config_values + + $provider_type_extra_config_assignment_desc + } + + errors: [NotUnique,WrongAssignedobject] +} + + +@tags(["SYS"]) +@documentation("Update VM Assigned Extra Config") +@http(method: "PATCH", uri: "/api/plugins/sys/AssignedExtraConfig/{id}/") +operation UpdatevmAssignmentExtraConfig { + input := for vmAssignmentExtraConfig { + @required + @httpLabel + $id + + @required + $assigned_object_id + @required + $assigned_object_type + @required + $provider_type_extra_config_id + @required + $extra_config_values + + $provider_type_extra_config_assignment_desc + } + + errors: [NotUnique,WrongAssignedobject] +} + + +@tags(["SYS"]) +@documentation("Delete VM Assigned Extra Config") +@idempotent +@http(method: "DELETE", uri: "/api/plugins/sys/AssignedExtraConfig/{id}/") +operation DeletevmAssignmentExtraConfig { + input := for vmAssignmentExtraConfig { + @required + @httpLabel + $id + } +} + +@tags(["SYS"]) +@documentation("List VM Assigned Extra Config") +@readonly +@http(method: "GET",uri: "/api/plugins/sys/AssignedExtraConfig/") +@paginated(inputToken: "next", outputToken: "next", pageSize: "limit", items: "results") +operation ListvmAssignmentExtraConfig { + input := for vmAssignmentExtraConfig { + @httpQuery("limit") + limit: Integer + @httpQuery("offset") + offset: String + @httpQuery("ordering") + next: String + } + + output := for vmAssignmentExtraConfig { + count: Integer + next: String + previous: String + @required + results: vmAssignmentExtraConfigList + } +} + +@documentation("Unique constraint to prevent duplication of IDs") +@uniqueItems +list vmAssignmentExtraConfigList { + + member: vmAssignmentExtraConfigSummary +} +@references( +[ + {resource: vmAssignmentExtraConfig} +] +) +structure vmAssignmentExtraConfigSummary for vmAssignmentExtraConfig { + @required + $id + + @required + $assigned_object_id + @required + $assigned_object_type + @required + $provider_type_extra_config_id + @required + $extra_config_values + + $provider_type_extra_config_assignment_desc +} + diff --git a/docs/definition/models/vmAssignedVirtualMachineType.smithy b/docs/definition/models/vmAssignedVirtualMachineType.smithy new file mode 100644 index 0000000..11aa2d5 --- /dev/null +++ b/docs/definition/models/vmAssignedVirtualMachineType.smithy @@ -0,0 +1,168 @@ +$version: "2.0" + +namespace eu.europa.ec.snet.sys + +@tags(["SYS"]) +@documentation("Resource - VM Assigned VM Assigned Virtual Machine Type") +resource vmAssignmentType { + identifiers: { + id: Ids + } + properties: { + virtual_machine_type_assignment_id: Ids + virtual_machine_type_assignment_desc: String + assigned_object_id: Ids + assigned_object_type: String + + } + read: GetvmAssignmentType + create: CreatevmAssignmentType + update: UpdatevmAssignmentType + delete: DeletevmAssignmentType + list: ListvmAssignmentType +} + + +@tags(["SYS"]) +@documentation("Show VM Assigned Virtual Machine Type based on ID") +@readonly +@http(method: "GET", uri: "/api/plugins/sys/AssignedVmType/{id}/") +operation GetvmAssignmentType { + input := for vmAssignmentType { + @required + @httpLabel + $id + } + + output := for vmAssignmentType { + @required + $id + @required + $assigned_object_id + @required + $assigned_object_type + @required + $virtual_machine_type_assignment_id + + $virtual_machine_type_assignment_desc + } +} + +@tags(["SYS"]) +@documentation("Show VM Assigned Virtual Machine Type information") +@idempotent +@http(method: "POST", uri: "/api/plugins/sys/AssignedVmType/") +operation CreatevmAssignmentType { + input := for vmAssignmentType { + + @required + $assigned_object_id + @required + $assigned_object_type + @required + $virtual_machine_type_assignment_id + + $virtual_machine_type_assignment_desc + } + + output := for vmAssignmentType { + @required + $id + @required + $assigned_object_id + @required + $assigned_object_type + @required + $virtual_machine_type_assignment_id + + $virtual_machine_type_assignment_desc + } + + errors: [NotUnique,WrongAssignedobject] +} + + +@tags(["SYS"]) +@documentation("Update VM Assigned Virtual Machine Type") +@http(method: "PATCH", uri: "/api/plugins/sys/AssignedVmType/{id}/") +operation UpdatevmAssignmentType { + input := for vmAssignmentType { + @required + @httpLabel + $id + + @required + $assigned_object_id + @required + $assigned_object_type + @required + $virtual_machine_type_assignment_id + + $virtual_machine_type_assignment_desc + } + + errors: [NotUnique,WrongAssignedobject] +} + + +@tags(["SYS"]) +@documentation("Delete VM Assigned Virtual Machine Type") +@idempotent +@http(method: "DELETE", uri: "/api/plugins/sys/AssignedVmType/{id}/") +operation DeletevmAssignmentType { + input := for vmAssignmentType { + @required + @httpLabel + $id + } +} + +@tags(["SYS"]) +@documentation("List VM Assigned Virtual Machine Type") +@readonly +@http(method: "GET",uri: "/api/plugins/sys/AssignedVmType/") +@paginated(inputToken: "next", outputToken: "next", pageSize: "limit", items: "results") +operation ListvmAssignmentType { + input := for vmAssignmentType { + @httpQuery("limit") + limit: Integer + @httpQuery("offset") + offset: String + @httpQuery("ordering") + next: String + } + + output := for vmAssignmentType { + count: Integer + next: String + previous: String + @required + results: vmAssignmentTypeList + } +} + +@documentation("Unique constraint to prevent duplication of IDs") +@uniqueItems +list vmAssignmentTypeList { + + member: vmAssignmentTypeSummary +} +@references( +[ + {resource: vmAssignmentType} +] +) +structure vmAssignmentTypeSummary for vmAssignmentType { + @required + $id + + @required + $assigned_object_id + @required + $assigned_object_type + @required + $virtual_machine_type_assignment_id + + $virtual_machine_type_assignment_desc +} + diff --git a/docs/definition/models/webhooksettings.smithy b/docs/definition/models/webhooksettings.smithy new file mode 100644 index 0000000..79b6c73 --- /dev/null +++ b/docs/definition/models/webhooksettings.smithy @@ -0,0 +1,147 @@ +$version: "2.0" + +namespace eu.europa.ec.snet.sys + +@tags(["SYS"]) +@documentation("Resource - Webhook Settings") +resource webhookSettings { + identifiers: { + id: Ids + } + properties: { + payload_url: Url + http_content_type: String + + } + read: GetwebhookSettings + create: CreatewebhookSettings + update: UpdatewebhookSettings + delete: DeletewebhookSettings + list: ListwebhookSettings +} + + +@tags(["SYS"]) +@documentation("Show Webhook Settings based on ID") +@readonly +@http(method: "GET", uri: "/api/plugins/sys/WebhookSettings/{id}/") +operation GetwebhookSettings { + input := for webhookSettings { + @required + @httpLabel + $id + } + + output := for webhookSettings { + @required + $id + @required + $payload_url + @required + $http_content_type + + } +} + +@tags(["SYS"]) +@documentation("Show Webhook Settings information") +@idempotent +@http(method: "POST", uri: "/api/plugins/sys/WebhookSettings/") +operation CreatewebhookSettings { + input := for webhookSettings { + + @required + $payload_url + @required + $http_content_type + } + + output := for webhookSettings { + @required + $id + @required + $payload_url + @required + $http_content_type + } + + errors: [NotUnique,WrongAssignedobject] +} + + +@tags(["SYS"]) +@documentation("Update Webhook Settings") +@http(method: "PATCH", uri: "/api/plugins/sys/WebhookSettings/{id}/") +operation UpdatewebhookSettings { + input := for webhookSettings { + @required + @httpLabel + $id + + @required + $payload_url + @required + $http_content_type + } + + errors: [NotUnique,WrongAssignedobject] +} + + +@tags(["SYS"]) +@documentation("Delete Webhook Settings") +@idempotent +@http(method: "DELETE", uri: "/api/plugins/sys/WebhookSettings/{id}/") +operation DeletewebhookSettings { + input := for webhookSettings { + @required + @httpLabel + $id + } +} + +@tags(["SYS"]) +@documentation("List Webhook Settings") +@readonly +@http(method: "GET",uri: "/api/plugins/sys/WebhookSettings/") +@paginated(inputToken: "next", outputToken: "next", pageSize: "limit", items: "results") +operation ListwebhookSettings { + input := for webhookSettings { + @httpQuery("limit") + limit: Integer + @httpQuery("offset") + offset: String + @httpQuery("ordering") + next: String + } + + output := for webhookSettings { + count: Integer + next: String + previous: String + @required + results: WebhookSettingsList + } +} + +@documentation("Unique constraint to prevent duplication of IDs") +@uniqueItems +list WebhookSettingsList { + + member: WebhookSettingsSummary +} +@references( +[ + {resource: webhookSettings} +] +) +structure WebhookSettingsSummary for webhookSettings { + @required + $id + + @required + $payload_url + @required + $http_content_type +} + -- GitLab