Vridlo/api/vridlo.assemblers: Difference between revisions

From ALT Linux Wiki
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
== vridlo.assembler.index ==
== vridlo.assemblers ==


It allows accessing to a list of assemblers, which are presented in the system. Do not poll this method more than once an hour.
It allows accessing to a list of assemblers, which are presented in the system. Do not poll this method more than once an hour.
Added into API v1.0.
Added into API v1.0. It implements operation on the [[Vridlo/types/Assembler|Assembler]] structure.
 
=== Path ===
 
/v1/assemblers
 
=== Methods ===


==== GET ====
=== GET:/v1/assemblers.json ===


Returns a list of assemblers, which are presented in the system. Do not poll this method more than once an hour.
Returns a list of assemblers, which are presented in the system. Do not poll this method more than once an hour.
Added into API v1.0.
Added into API v1.0.


===== Authentication =====
==== Authentication ====


This method requires NO authentication.
This method requires NO authentication.


===== Arguments =====
==== Arguments ====
 
'''NOTE:''' Arguments can be provided as arguments along with headers fields.


* per_page (Optional)
* per_page (Optional)
Line 26: Line 22:
  The page of results to return. If this argument is omitted, it defaults to 1.
  The page of results to return. If this argument is omitted, it defaults to 1.


NOTE: Arguments can be provided as arguments alog with headers fields.
==== Examples ====
===== Example Request Url =====
 
GET:/v1/assemblers.json?name=/Assembler/


===== Example Response =====
===== Example Good Response =====


  [
  [
  {
    {
  "name": "Core Assembler"
      "slug": "ca",
  "host": "assembler.altlinux.org"
      "name": "Core Assembler"
  "source_path_count": 3
      "host": "assembler.altlinux.org"
  "export_path_base": "/export/path/to"
      "source_path_count": 3
  },
      "export_path_base": "/export/path/to"
  {
    },
  "name": "Secondary Assembler"
    {
  "host": "secondary.altlinux.org"
      "slug": "sa",
  "source_path_count": 1
      "name": "Secondary Assembler"
  "export_path_base": "/export/path/to/sec/"
      "host": "secondary.altlinux.org"
  }
      "source_path_count": 1
      "export_path_base": "/export/path/to/sec/"
    }
  ]
  ]
===== Example Bad Response =====
Error response ''416'':
{
  "message": "Error text according the active language",
}


===== Return Codes =====
===== Return Codes =====
Line 62: Line 71:
  The requested service is temporarily unavailable.
  The requested service is temporarily unavailable.


== vridlo.assembler.slug ==
=== POST:/v1/assemblers.json ===


This allows accessing to the specified assember record by <slug> URI-parameter. Added into API v1.0.
Creates the assembler specified by <slug> URI-parameter using he set of properties passed as form data or get parameter array, and returns state of the created record as JSON. Added into API v1.0.


=== Path ===
==== Authentication ====
 
/v1/assemblers/<slug>
 
=== Methods ===
 
==== POST ====
 
Creates the assembler specified by <slug> URI-parameter using he set of properties passed as form data or get parameter array, and returns state of the created record as JSON.
 
===== Authentication =====


This method requires write authentication with write permission to assembler model.
This method requires write authentication with write permission to assembler model.


===== Arguments =====
==== Arguments ====


* slug (Mandatory)
* slug (Mandatory)
Line 91: Line 90:
  File path base for exporting of the source or built RPMs.
  File path base for exporting of the source or built RPMs.


===== Example Response =====
==== Examples ====
===== Example Request Url =====
 
POST:/v1/assemblers.json?name=assembler_name&slug=asse
 
===== Example Request Form =====
 
POST:/v1/assemblers.json
DATA:
{
  "slug": "ca",
  "name": "Core Assembler",
  "host": "assembler.altlinux.org",
  "export_path_base": "/export/path/to",
}
 
===== Example Good Response =====


Good response with created record:
Good response with created record:


  [
  {
  {
   "slug": "ca",
   "slug": "ca",
   "name": "Core Assembler"
   "name": "Core Assembler",
   "host": "assembler.altlinux.org"
   "host": "assembler.altlinux.org",
   "source_path_count": 0
   "source_path_count": 0,
   "export_path_base": "/export/path/to"
   "export_path_base": "/export/path/to",
  }
}
]
 
===== Example Bad Response =====


Error response ''423'':
Error response ''422'':


  [
  {
  {
   "error_code": 3,
   "error_code": 3
  "message": "Error text according the active language",
  }
  }
  ]


===== Return Codes =====
===== Return Codes =====
Line 127: Line 141:
  The Internal Server Error has occurred.
  The Internal Server Error has occurred.


==== GET ====
=== GET:/v1/assemblers/<slug>.json ===


Gets properties of the assembler specified by <slug> URI-parameter, and returns then as JSON. Do not poll this method more than once an hour.
Gets properties of the assembler specified by <slug> URI-parameter, and returns then as JSON. Do not poll this method more than once an hour. Added into API v1.0.


===== Authentication =====
==== Authentication ====


This method requires NO authentication.
This method requires NO authentication.


===== Arguments =====
==== Arguments ====


This method requires NO arguments.
This method requires NO arguments.


===== Example Response =====
==== Examples ====
===== Example Request Url =====
 
GET:/v1/assemblers/ca.json
 
===== Example Good Response =====


Good response:
Good response with the returned record:


  [
  {
  {
   "slug": "ca",
   "slug": "ca",
   "name": "Core Assembler"
   "name": "Core Assembler"
Line 150: Line 168:
   "source_path_count": 3
   "source_path_count": 3
   "export_path_base": "/export/path/to"
   "export_path_base": "/export/path/to"
  }
}
]
 
===== Example Bad Response =====


Error response ''423'':
Error response ''422'':


  [
  {
  {
   "error_code": 3,
   "error_code": 3
  "message": "Error text according the active language",
  }
  }
  ]


===== Return Codes =====
==== Return Codes ====


* '''200''' (''OK'')
* '''200''' (''OK'')
Line 175: Line 193:
  The Internal Server Error has occurred.
  The Internal Server Error has occurred.


==== PUT/PATCH ====
=== PATCH:/v1/assemblers/<slug>.json ===


Sets one or many properties of the assembler specified by <slug> URI-parameter, and returns updated state as JSON.
Sets one or many properties of the assembler specified by <slug> URI-parameter, and returns updated state as JSON. Added into API v1.0.


===== Authentication =====
==== Authentication ====


This method requires write authentication with write permission to assembler model.
This method requires write authentication with write permission to assembler model.


===== Arguments =====
==== Arguments ====
 
'''NOTE:''' Blank fields will be skipped


* slug (Mandatory)
Slug of the assembler. Must be unique per system.
* name (Optional)
* name (Optional)
  Name of the assembler. If presented it must be unique among the assemblers.
  Name of the assembler. If presented it must be unique among the assemblers.
Line 194: Line 212:
  File path base for exporting of the source or built RPMs.
  File path base for exporting of the source or built RPMs.


===== Example Request =====
==== Examples ====
===== Example Request Url =====


PUT:/v1/assemblers/ca?name=Core_Assembler
PATCH:/v1/assemblers/ca.json?name=Core_Assembler


===== Example Response =====
===== Example Request Form =====


Good response:
PATCH:/v1/assemblers/ca.json
DATA:
{
  "name": "Core_Assembler",
}


  [
===== Example Good Response =====
  {
 
  {
   "slug": "ca",
   "slug": "ca",
   "name": "Core Assembler"
   "name": "Core Assembler"
Line 209: Line 233:
   "source_path_count": 3
   "source_path_count": 3
   "export_path_base": "/export/path/to"
   "export_path_base": "/export/path/to"
  }
}
]
 
===== Example Bad Response =====


Error response ''423'':
Error response ''422'':


  [
  {
  {
   "error_code": 3,
   "error_code": 3
  "message": "Error text according the active language",
  }
  }
  ]


===== Return Codes =====
==== Return Codes ====


* '''200''' (''OK'')
* '''200''' (''OK'')
Line 237: Line 261:
  The Internal Server Error has occurred.
  The Internal Server Error has occurred.


==== DELETE ====
=== DELETE:/v1/assemblers/<slug>.json ===


Destroys the assembler specified by <slug> URI-parameter, and returns state of the destroyed record as JSON.
Destroys the assembler specified by <slug> URI-parameter, and returns state of the destroyed record as JSON. Added into API v1.0.


===== Authentication =====
==== Authentication ====


This method requires write authentication with write permission to assembler model.
This method requires write authentication with '''write''' permission token to ''assembler'' model.


===== Arguments =====
==== Arguments ====


This method requires NO arguments.
This method requires NO arguments.


===== Example Response =====
==== Examples ====
===== Example Request Url =====
 
DELETE:/v1/assemblers/ca.json
 
===== Example Good Response =====


Good response returning deleted record:
Good response returning deleted record:


  [
  {
  {
   "slug": "ca",
   "slug": "ca",
   "name": "Core Assembler"
   "name": "Core Assembler"
Line 260: Line 288:
   "source_path_count": 3
   "source_path_count": 3
   "export_path_base": "/export/path/to"
   "export_path_base": "/export/path/to"
  }
}
]
 
===== Example Bad Response =====


Error response ''423'':
Error response ''422'':


  [
  {
  {
   "error_code": 3,
   "error_code": 3
  "message": "Error text according the active language",
  }
  }
  ]


===== Return Codes =====
==== Return Codes ====


* '''200''' (''OK'')
* '''200''' (''OK'')

Latest revision as of 14:09, 3 December 2019

vridlo.assemblers

It allows accessing to a list of assemblers, which are presented in the system. Do not poll this method more than once an hour. Added into API v1.0. It implements operation on the Assembler structure.

GET:/v1/assemblers.json

Returns a list of assemblers, which are presented in the system. Do not poll this method more than once an hour. Added into API v1.0.

Authentication

This method requires NO authentication.

Arguments

NOTE: Arguments can be provided as arguments along with headers fields.
  • per_page (Optional)
Number of items to return per page. If this argument is omitted, it defaults to 10. The maximum allowed value is 50.
  • page (Optional)
The page of results to return. If this argument is omitted, it defaults to 1.

Examples

Example Request Url
GET:/v1/assemblers.json?name=/Assembler/
Example Good Response
[
   {
      "slug": "ca",
      "name": "Core Assembler"
      "host": "assembler.altlinux.org"
      "source_path_count": 3
      "export_path_base": "/export/path/to"
   },
   {
      "slug": "sa",
      "name": "Secondary Assembler"
      "host": "secondary.altlinux.org"
      "source_path_count": 1
      "export_path_base": "/export/path/to/sec/"
   }
]
Example Bad Response

Error response 416:

{
  "message": "Error text according the active language",
}
Return Codes
  • 200 (OK)
The resource list is accessible. Returned data responds to the current state of the resource list, and reading the list is finished.
  • 206 (Partial Content)
The resource list is accessible. Returned data responds to the current state of the resource list, and reading the list is NOT finished yet.
  • 416 (Range Not Satisfiable)
The resource list is accessible. But data can't be returned since range provided don't match the list boundaries.
  • 422.3 (SSL is required)
SSL is required to access the Vridlo API.
  • 500 (Service currently unavailable)
The requested service is temporarily unavailable.

POST:/v1/assemblers.json

Creates the assembler specified by <slug> URI-parameter using he set of properties passed as form data or get parameter array, and returns state of the created record as JSON. Added into API v1.0.

Authentication

This method requires write authentication with write permission to assembler model.

Arguments

  • slug (Mandatory)
Slug of the assembler. Must be unique per system.
  • name (Mandatory)
Name of the assembler. Must be unique among the assemblers.
  • host (Optional)
Host URI of the assembler. If presented it must be unique among the assemblers.
  • export_path_base (Optional)
File path base for exporting of the source or built RPMs.

Examples

Example Request Url
POST:/v1/assemblers.json?name=assembler_name&slug=asse
Example Request Form
POST:/v1/assemblers.json
DATA:
{
  "slug": "ca",
  "name": "Core Assembler",
  "host": "assembler.altlinux.org",
  "export_path_base": "/export/path/to",
}
Example Good Response

Good response with created record:

{
  "slug": "ca",
  "name": "Core Assembler",
  "host": "assembler.altlinux.org",
  "source_path_count": 0,
  "export_path_base": "/export/path/to",
}
Example Bad Response

Error response 422:

{
  "error_code": 3,
  "message": "Error text according the active language",
}
Return Codes
  • 200 (OK)
The resource wasn't found, and was created. Returned data responds to the current state of the resource.
  • 422.3 (SSL is required)
SSL is required to access the Vridlo API.
  • 404 (Not Found)
The record with provided slug is not found.
  • 500 (Internal Server Error)
The Internal Server Error has occurred.

GET:/v1/assemblers/<slug>.json

Gets properties of the assembler specified by <slug> URI-parameter, and returns then as JSON. Do not poll this method more than once an hour. Added into API v1.0.

Authentication

This method requires NO authentication.

Arguments

This method requires NO arguments.

Examples

Example Request Url
GET:/v1/assemblers/ca.json
Example Good Response

Good response with the returned record:

{
  "slug": "ca",
  "name": "Core Assembler"
  "host": "assembler.altlinux.org"
  "source_path_count": 3
  "export_path_base": "/export/path/to"
}
Example Bad Response

Error response 422:

{
  "error_code": 3,
  "message": "Error text according the active language",
}

Return Codes

  • 200 (OK)
The resource was found and is accessible. Returned data responds to the current state of the resource.
  • 422.3 (SSL is required)
SSL is required to access the Vridlo API.
  • 404 (Not Found)
The record with provided slug is not found.
  • 500 (Internal Server Error)
The Internal Server Error has occurred.

PATCH:/v1/assemblers/<slug>.json

Sets one or many properties of the assembler specified by <slug> URI-parameter, and returns updated state as JSON. Added into API v1.0.

Authentication

This method requires write authentication with write permission to assembler model.

Arguments

NOTE: Blank fields will be skipped
  • name (Optional)
Name of the assembler. If presented it must be unique among the assemblers.
  • host (Optional)
Host URI of the assembler. If presented it must be unique among the assemblers.
  • export_path_base (Optional)
File path base for exporting of the source or built RPMs.

Examples

Example Request Url
PATCH:/v1/assemblers/ca.json?name=Core_Assembler
Example Request Form
PATCH:/v1/assemblers/ca.json
DATA:
{
  "name": "Core_Assembler",
}
Example Good Response
{
  "slug": "ca",
  "name": "Core Assembler"
  "host": "assembler.altlinux.org"
  "source_path_count": 3
  "export_path_base": "/export/path/to"
}
Example Bad Response

Error response 422:

{
  "error_code": 3,
  "message": "Error text according the active language",
}

Return Codes

  • 200 (OK)
The resource was found and is accessible. Changes were made on the resource successfully. Returned data responds to the current state of the resource.
  • 204 (No Content)
The resource was found and is accessible. But no changes were made on the resource.
  • 422.3 (SSL is required)
SSL is required to access the Vridlo API.
  • 404 (Not Found)
The record with provided id/slug is not found.
  • 500 (Internal Server Error)
The Internal Server Error has occurred.

DELETE:/v1/assemblers/<slug>.json

Destroys the assembler specified by <slug> URI-parameter, and returns state of the destroyed record as JSON. Added into API v1.0.

Authentication

This method requires write authentication with write permission token to assembler model.

Arguments

This method requires NO arguments.

Examples

Example Request Url
DELETE:/v1/assemblers/ca.json
Example Good Response

Good response returning deleted record:

{
  "slug": "ca",
  "name": "Core Assembler"
  "host": "assembler.altlinux.org"
  "source_path_count": 3
  "export_path_base": "/export/path/to"
}
Example Bad Response

Error response 422:

{
  "error_code": 3,
  "message": "Error text according the active language",
}

Return Codes

  • 200 (OK)
The resource was found and is accessible, and successfully destroyed. Returned data responds to the state of the destroyed resource.
  • 422.3 (SSL is required)
SSL is required to access the Vridlo API.
  • 404 (Not Found)
The record with provided slug is not found.
  • 500 (Internal Server Error)
The Internal Server Error has occurred.