diff --git a/.scribe/endpoints.cache/00.yaml b/.scribe/endpoints.cache/00.yaml index 6c5917c..f61b9b4 100644 --- a/.scribe/endpoints.cache/00.yaml +++ b/.scribe/endpoints.cache/00.yaml @@ -35,7 +35,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -43,7 +43,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -60,7 +60,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6ed1gv5ak6hEPcaV8D3Z4bf' + - 'Bearer ge6ZVa4kfD86hdv5a31EcbP' controller: null method: null route: null @@ -97,7 +97,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -105,7 +105,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -113,7 +113,7 @@ endpoints: name: command description: '' required: true - example: qui + example: itaque type: string enumValues: [] exampleWasSpecified: false @@ -142,7 +142,7 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - command: qui + command: itaque user: root frequency: '* * * * *' fileParameters: [] @@ -157,7 +157,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer VEfc5h3gva68PkZ46Deabd1' + - 'Bearer cdh5bD8gVPkf34e1ZEva6a6' controller: null method: null route: null @@ -194,7 +194,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -204,7 +204,7 @@ endpoints: name: cronJob_id description: 'The ID of the cronJob.' required: true - example: 5 + example: 18 type: integer enumValues: [] exampleWasSpecified: false @@ -212,8 +212,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - cronJob_id: 5 + server_id: 8 + cronJob_id: 18 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -230,7 +230,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 614DaP5vZ6edcaVEgfhk83b' + - 'Bearer fa5VgdkaD8cZ6vh34Pb16eE' controller: null method: null route: null @@ -267,7 +267,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -277,7 +277,7 @@ endpoints: name: cronJob_id description: 'The ID of the cronJob.' required: true - example: 5 + example: 10 type: integer enumValues: [] exampleWasSpecified: false @@ -285,8 +285,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - cronJob_id: 5 + server_id: 8 + cronJob_id: 10 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -295,7 +295,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -303,7 +303,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer gDV6bZ1dEckvf45P86eaha3' + - 'Bearer P8hkva3ZD4fgb166adEVce5' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/01.yaml b/.scribe/endpoints.cache/01.yaml index 8d899d6..63ad01e 100644 --- a/.scribe/endpoints.cache/01.yaml +++ b/.scribe/endpoints.cache/01.yaml @@ -35,7 +35,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -43,7 +43,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -52,7 +52,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"name":"clockman","status":"ready","created_at":null,"updated_at":null},{"id":null,"server_id":null,"name":"wvonrueden","status":"ready","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"name":"amalia38","status":"ready","created_at":null,"updated_at":null},{"id":null,"server_id":null,"name":"troy.rippin","status":"ready","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -60,7 +60,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer efEV4g86bd5PZac6vak3Dh1' + - 'Bearer Z641ebPacDV6f38kEgdah5v' controller: null method: null route: null @@ -97,7 +97,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -105,7 +105,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -113,19 +113,19 @@ endpoints: name: name description: '' required: true - example: nesciunt + example: et type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - name: nesciunt + name: et fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"name":"johanna76","status":"ready","created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"name":"harvey.haskell","status":"ready","created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -133,7 +133,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 3E6VD14dvaekbaZfh6Pg8c5' + - 'Bearer d4gbv56caV3aZ8D1h6kfEPe' controller: null method: null route: null @@ -170,7 +170,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -180,7 +180,7 @@ endpoints: name: id description: 'The ID of the database.' required: true - example: 6 + example: 19 type: integer enumValues: [] exampleWasSpecified: false @@ -188,8 +188,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - id: 6 + server_id: 8 + id: 19 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -198,7 +198,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"name":"chloe.huel","status":"ready","created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"name":"ruthie.koepp","status":"ready","created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -206,7 +206,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer fb5hVc38e1aDP6ZvkgEda46' + - 'Bearer P68VgDcaEZvk63f4b5aed1h' controller: null method: null route: null @@ -243,7 +243,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -253,7 +253,7 @@ endpoints: name: database_id description: 'The ID of the database.' required: true - example: 6 + example: 15 type: integer enumValues: [] exampleWasSpecified: false @@ -261,8 +261,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - database_id: 6 + server_id: 8 + database_id: 15 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -271,7 +271,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -279,7 +279,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer cPVbhaZkfg5aEv46D183ed6' + - 'Bearer DkPc6d1heEv5a8fb4V63agZ' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/02.yaml b/.scribe/endpoints.cache/02.yaml index 1e34d84..99b00e4 100644 --- a/.scribe/endpoints.cache/02.yaml +++ b/.scribe/endpoints.cache/02.yaml @@ -35,7 +35,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -43,7 +43,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -52,7 +52,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"username":"nyasia68","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"username":"madyson20","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"username":"xgaylord","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"username":"una37","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -60,7 +60,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer egc5VaDdvabfP6843k61hZE' + - 'Bearer P4gD36fZeckvVh5ab86Ead1' controller: null method: null route: null @@ -97,7 +97,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -105,7 +105,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -113,7 +113,7 @@ endpoints: name: username description: '' required: true - example: dignissimos + example: consequuntur type: string enumValues: [] exampleWasSpecified: false @@ -123,7 +123,7 @@ endpoints: name: password description: '' required: true - example: OK+XEG2) + example: 'fI/i2.O4u&dla?eXvR2' type: string enumValues: [] exampleWasSpecified: false @@ -140,14 +140,14 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - username: dignissimos - password: OK+XEG2) + username: consequuntur + password: 'fI/i2.O4u&dla?eXvR2' host: '%' fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"username":"amya.nitzsche","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"username":"kari.farrell","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -155,7 +155,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 31hgfcvEb6Pkaa48D6dZ5Ve' + - 'Bearer 5k8Vced1baaE6f4ZvDPgh36' controller: null method: null route: null @@ -192,7 +192,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -202,7 +202,7 @@ endpoints: name: databaseUser_id description: 'The ID of the databaseUser.' required: true - example: 4 + example: 18 type: integer enumValues: [] exampleWasSpecified: false @@ -210,8 +210,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - databaseUser_id: 4 + server_id: 8 + databaseUser_id: 18 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -220,7 +220,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"username":"bergstrom.ericka","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"username":"caterina.mosciski","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -228,7 +228,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer aDv48631h5af6EdkcVbPZeg' + - 'Bearer 3kDveP5V8a6dghfa4E16cbZ' controller: null method: null route: null @@ -265,7 +265,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -283,7 +283,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 databaseUser_id: 4 queryParameters: [] cleanQueryParameters: [] @@ -292,19 +292,19 @@ endpoints: name: databases description: 'Array of database names to link to the user.' required: true - example: accusantium + example: non type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - databases: accusantium + databases: non fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"username":"fmurray","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"username":"kurtis05","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -312,7 +312,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer cf8ZPhV1k3d5DaEva46beg6' + - 'Bearer DgPea43EvV51a866dfbZckh' controller: null method: null route: null @@ -349,7 +349,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -359,7 +359,7 @@ endpoints: name: databaseUser_id description: 'The ID of the databaseUser.' required: true - example: 4 + example: 6 type: integer enumValues: [] exampleWasSpecified: false @@ -367,8 +367,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - databaseUser_id: 4 + server_id: 8 + databaseUser_id: 6 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -377,7 +377,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -385,7 +385,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer hdEvkbaPVf4cZ65a8631eDg' + - 'Bearer 6ackVP8hEZd3164gD5evafb' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/03.yaml b/.scribe/endpoints.cache/03.yaml index 69d289c..ea51adb 100644 --- a/.scribe/endpoints.cache/03.yaml +++ b/.scribe/endpoints.cache/03.yaml @@ -35,7 +35,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -43,7 +43,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -52,7 +52,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":18074,"source":"189.27.156.82","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":41088,"source":"86.177.121.87","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":38781,"source":"79.116.255.150","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":32141,"source":"52.174.114.251","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -60,7 +60,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer vhkc4aPa6ZdeV8D3Ef156gb' + - 'Bearer h3P5gD8E4dkeZ6abac6vfV1' controller: null method: null route: null @@ -97,7 +97,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -105,7 +105,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -113,7 +113,7 @@ endpoints: name: type description: '' required: true - example: allow + example: deny type: string enumValues: - allow @@ -137,7 +137,7 @@ endpoints: name: port description: '' required: true - example: voluptates + example: et type: string enumValues: [] exampleWasSpecified: false @@ -147,7 +147,7 @@ endpoints: name: source description: '' required: true - example: saepe + example: voluptates type: string enumValues: [] exampleWasSpecified: false @@ -164,16 +164,16 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - type: allow + type: deny protocol: udp - port: voluptates - source: saepe + port: et + source: voluptates mask: '0' fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":61992,"source":"47.222.76.48","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":47148,"source":"119.182.8.45","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -181,7 +181,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 1cEb5P66VeDkf8aahg3Zdv4' + - 'Bearer 6a8DVv5k3gZfEe6hb1daPc4' controller: null method: null route: null @@ -218,7 +218,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -228,7 +228,7 @@ endpoints: name: firewallRule_id description: 'The ID of the firewallRule.' required: true - example: 7 + example: 29 type: integer enumValues: [] exampleWasSpecified: false @@ -236,8 +236,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - firewallRule_id: 7 + server_id: 8 + firewallRule_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -246,7 +246,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":43107,"source":"135.73.216.16","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":2317,"source":"44.161.134.114","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -254,7 +254,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6VaPhkD5vd1Z8e6E3cba4gf' + - 'Bearer P4bZdV1geED3kfh568aa6cv' controller: null method: null route: null @@ -291,7 +291,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -301,7 +301,7 @@ endpoints: name: firewallRule_id description: 'The ID of the firewallRule.' required: true - example: 7 + example: 29 type: integer enumValues: [] exampleWasSpecified: false @@ -309,8 +309,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - firewallRule_id: 7 + server_id: 8 + firewallRule_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -319,7 +319,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -327,7 +327,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer v81d5Efch636aVgZebaPkD4' + - 'Bearer Dh3kcaafdg6E5ZvV46ePb81' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/04.yaml b/.scribe/endpoints.cache/04.yaml index 090e430..0165538 100644 --- a/.scribe/endpoints.cache/04.yaml +++ b/.scribe/endpoints.cache/04.yaml @@ -29,7 +29,7 @@ endpoints: responses: - status: 200 - content: '{"success":true,"version":"2.0.0"}' + content: '{"success":true,"version":"2.1.0"}' headers: cache-control: 'no-cache, private' content-type: application/json diff --git a/.scribe/endpoints.cache/05.yaml b/.scribe/endpoints.cache/05.yaml index 24b3e7e..5ef4b6a 100644 --- a/.scribe/endpoints.cache/05.yaml +++ b/.scribe/endpoints.cache/05.yaml @@ -30,7 +30,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":29,"name":"Zachary Lueilwitz","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":30,"name":"Mrs. Kiarra Heller IV","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":3,"name":"Jeffry Dickinson","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":4,"name":"Miss Tianna Dietrich PhD","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -38,7 +38,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer eb14DEPv6cdah65VfZgka38' + - 'Bearer 5DaveP3d6b6khEZVcg4fa18' controller: null method: null route: null @@ -81,7 +81,7 @@ endpoints: responses: - status: 200 - content: '{"id":29,"name":"Hershel Spinka","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":3,"name":"Isidro Franecki","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -89,7 +89,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer V1E3566Pf4gkvh8dDZabeca' + - 'Bearer a6P53EvkcZV6D4ghad1efb8' controller: null method: null route: null @@ -132,7 +132,7 @@ endpoints: responses: - status: 200 - content: '{"id":29,"name":"Emery Kiehn","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":3,"name":"Rhoda Parisian","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -140,7 +140,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer haD6e36VZbkf4P8aEcvd15g' + - 'Bearer v48Ve5ZghdcbE1akP66fD3a' controller: null method: null route: null @@ -182,19 +182,19 @@ endpoints: name: name description: 'The name of the project.' required: true - example: ut + example: ullam type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - name: ut + name: ullam fileParameters: [] responses: - status: 200 - content: '{"id":29,"name":"Mable Prohaska","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":3,"name":"Mr. Dashawn Jacobson Sr.","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -202,7 +202,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer V14kPa5deva8Ebgc36f6hDZ' + - 'Bearer fvEdh3Vgbk56Z4a61eP8caD' controller: null method: null route: null @@ -245,7 +245,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -253,7 +253,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer k1D68d5ePavVZag6h4fb3cE' + - 'Bearer eg4c3vZ1Dhaa68d6PEfk5bV' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/06.yaml b/.scribe/endpoints.cache/06.yaml index dd21f53..ea05e00 100644 --- a/.scribe/endpoints.cache/06.yaml +++ b/.scribe/endpoints.cache/06.yaml @@ -41,7 +41,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Dorthy Toy","ssh_user":"vito","ip":"172.132.95.155","local_ip":"118.57.197.65","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null},{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Carrie Sporer","ssh_user":"vito","ip":"184.242.162.173","local_ip":"135.244.50.22","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Amina DuBuque","ssh_user":"vito","ip":"163.77.69.73","local_ip":"137.139.200.70","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null},{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Floy Cummerata","ssh_user":"vito","ip":"62.53.140.25","local_ip":"34.59.35.195","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -49,7 +49,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 8VE41PdZcvb6kgafD635ahe' + - 'Bearer E81avahec6365dbZfgD4kPV' controller: null method: null route: null @@ -91,7 +91,7 @@ endpoints: name: provider description: 'The server provider type' required: true - example: et + example: iste type: string enumValues: [] exampleWasSpecified: false @@ -101,7 +101,7 @@ endpoints: name: server_provider description: 'If the provider is not custom, the ID of the server provider profile' required: true - example: digitalocean + example: custom type: string enumValues: - custom @@ -116,7 +116,7 @@ endpoints: name: region description: 'Provider region if the provider is not custom' required: true - example: inventore + example: libero type: string enumValues: [] exampleWasSpecified: false @@ -126,7 +126,7 @@ endpoints: name: plan description: 'Provider plan if the provider is not custom' required: true - example: atque + example: ut type: string enumValues: [] exampleWasSpecified: false @@ -136,7 +136,7 @@ endpoints: name: ip description: 'SSH IP address if the provider is custom' required: true - example: quam + example: molestias type: string enumValues: [] exampleWasSpecified: false @@ -146,7 +146,7 @@ endpoints: name: port description: 'SSH Port if the provider is custom' required: true - example: nemo + example: laudantium type: string enumValues: [] exampleWasSpecified: false @@ -156,7 +156,7 @@ endpoints: name: name description: 'The name of the server.' required: true - example: perspiciatis + example: illum type: string enumValues: [] exampleWasSpecified: false @@ -166,24 +166,12 @@ endpoints: name: os description: 'The os of the server' required: true - example: similique + example: autem type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - type: - name: type - description: 'Server type' - required: true - example: regular - type: string - enumValues: - - regular - - database - exampleWasSpecified: false - nullable: false - custom: [] webserver: name: webserver description: 'Web server' @@ -200,7 +188,7 @@ endpoints: name: database description: Database required: true - example: none + example: postgresql12 type: string enumValues: - none @@ -221,7 +209,7 @@ endpoints: name: php description: 'PHP version' required: true - example: '8.1' + example: '7.4' type: string enumValues: - '7.0' @@ -237,23 +225,22 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - provider: et - server_provider: digitalocean - region: inventore - plan: atque - ip: quam - port: nemo - name: perspiciatis - os: similique - type: regular + provider: iste + server_provider: custom + region: libero + plan: ut + ip: molestias + port: laudantium + name: illum + os: autem webserver: none - database: none - php: '8.1' + database: postgresql12 + php: '7.4' fileParameters: [] responses: - status: 200 - content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Flo Beer PhD","ssh_user":"vito","ip":"168.238.14.230","local_ip":"40.232.73.41","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Archibald Nolan","ssh_user":"vito","ip":"226.168.13.177","local_ip":"143.14.43.182","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -261,7 +248,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Z8g36aaV4E1bdcPfehDv65k' + - 'Bearer aad3Pvc4e65DghZVEk8f1b6' controller: null method: null route: null @@ -298,7 +285,7 @@ endpoints: name: id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -306,7 +293,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - id: 3 + id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -315,7 +302,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Stephany Ankunding","ssh_user":"vito","ip":"145.28.94.46","local_ip":"69.133.44.100","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Tevin Sipes","ssh_user":"vito","ip":"61.41.183.152","local_ip":"197.160.239.147","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -323,7 +310,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer adD3EfP5hZ4vgbkV861eca6' + - 'Bearer 5EhD3v6Z8Vdakfg46eP1cab' controller: null method: null route: null @@ -360,7 +347,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -368,7 +355,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -377,7 +364,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -385,7 +372,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer P3ec6aagD4hbdV5fEk168vZ' + - 'Bearer Pc5Da6Vhdk1vag6fE84e3Zb' controller: null method: null route: null @@ -422,7 +409,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -430,7 +417,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -439,7 +426,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -447,7 +434,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer P34ZV6D1bEegdvac8f5kh6a' + - 'Bearer a61v48DfkeEbcg3a6hd5PZV' controller: null method: null route: null @@ -484,7 +471,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -492,7 +479,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -501,7 +488,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -509,7 +496,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer ha6v5V41afkdPgcZbDEe386' + - 'Bearer haE8D6Z6gePk1vadVb53c4f' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/07.yaml b/.scribe/endpoints.cache/07.yaml index 1ecfe23..171502e 100644 --- a/.scribe/endpoints.cache/07.yaml +++ b/.scribe/endpoints.cache/07.yaml @@ -41,7 +41,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":2,"project_id":null,"global":true,"name":"dolor","provider":"digitalocean","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":3,"project_id":null,"global":true,"name":"enim","provider":"digitalocean","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":2,"project_id":null,"global":true,"name":"laudantium","provider":"vultr","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":3,"project_id":null,"global":true,"name":"aut","provider":"aws","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -49,7 +49,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 1a6kb58vEP3fZdVhcea64gD' + - 'Bearer Df16eda8Pa345EkgbZ6cvhV' controller: null method: null route: null @@ -91,7 +91,7 @@ endpoints: name: provider description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' required: true - example: autem + example: voluptatem type: string enumValues: [] exampleWasSpecified: false @@ -101,7 +101,7 @@ endpoints: name: name description: 'The name of the server provider.' required: true - example: enim + example: repellat type: string enumValues: [] exampleWasSpecified: false @@ -111,7 +111,7 @@ endpoints: name: token description: 'The token if provider requires api token' required: true - example: culpa + example: omnis type: string enumValues: [] exampleWasSpecified: false @@ -121,7 +121,7 @@ endpoints: name: key description: 'The key if provider requires key' required: true - example: sit + example: recusandae type: string enumValues: [] exampleWasSpecified: false @@ -131,23 +131,23 @@ endpoints: name: secret description: 'The secret if provider requires key' required: true - example: voluptates + example: in type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - provider: autem - name: enim - token: culpa - key: sit - secret: voluptates + provider: voluptatem + name: repellat + token: omnis + key: recusandae + secret: in fileParameters: [] responses: - status: 200 - content: '{"id":2,"project_id":null,"global":true,"name":"eligendi","provider":"aws","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":2,"project_id":null,"global":true,"name":"quia","provider":"vultr","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -155,7 +155,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer PD3ZcaVdvgfa5k4be8E6h16' + - 'Bearer 8fbgDV6vdhakE1c64e3P5aZ' controller: null method: null route: null @@ -209,7 +209,7 @@ endpoints: responses: - status: 200 - content: '{"id":2,"project_id":null,"global":true,"name":"architecto","provider":"digitalocean","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":2,"project_id":null,"global":true,"name":"ab","provider":"hetzner","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -217,7 +217,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer DP45bg1aEadh8Z6Vke63fcv' + - 'Bearer eVE816Pc4ak3bdfahDZv6g5' controller: null method: null route: null @@ -270,7 +270,7 @@ endpoints: name: name description: 'The name of the server provider.' required: true - example: minus + example: est type: string enumValues: [] exampleWasSpecified: false @@ -280,7 +280,7 @@ endpoints: name: global description: 'Accessible in all projects' required: true - example: false + example: true type: string enumValues: - true @@ -289,13 +289,13 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - name: minus - global: false + name: est + global: true fileParameters: [] responses: - status: 200 - content: '{"id":2,"project_id":null,"global":true,"name":"reiciendis","provider":"hetzner","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":2,"project_id":null,"global":true,"name":"nesciunt","provider":"linode","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -303,7 +303,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer bv1kdegh6fP8V56ZE4acaD3' + - 'Bearer va86keaPDdh3b16Z54EgfcV' controller: null method: null route: null @@ -357,7 +357,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -365,7 +365,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer k6hb43Vf5Z1dv8aaeEDcg6P' + - 'Bearer abv13ag8h5fZ4EPVDe6dc6k' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/08.yaml b/.scribe/endpoints.cache/08.yaml index 56e22d4..4f6802c 100644 --- a/.scribe/endpoints.cache/08.yaml +++ b/.scribe/endpoints.cache/08.yaml @@ -35,7 +35,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -43,7 +43,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -52,7 +52,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"user":null,"name":"Dr. Reanna Braun","created_at":null,"updated_at":null},{"id":null,"user":null,"name":"Norene Fritsch","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"user":null,"name":"Godfrey Mills","created_at":null,"updated_at":null},{"id":null,"user":null,"name":"Donato Streich","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -60,7 +60,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer dV1gcvfZ46Eh8ebaP5Da63k' + - 'Bearer 1gEva8Z6e6abPDhk453fdVc' controller: null method: null route: null @@ -97,7 +97,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -105,7 +105,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -113,7 +113,7 @@ endpoints: name: key_id description: 'The ID of the key.' required: true - example: vero + example: numquam type: string enumValues: [] exampleWasSpecified: false @@ -123,7 +123,7 @@ endpoints: name: name description: 'Key name, required if key_id is not provided.' required: true - example: voluptates + example: alias type: string enumValues: [] exampleWasSpecified: false @@ -133,21 +133,21 @@ endpoints: name: public_key description: 'Public Key, required if key_id is not provided.' required: true - example: dolor + example: voluptate type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - key_id: vero - name: voluptates - public_key: dolor + key_id: numquam + name: alias + public_key: voluptate fileParameters: [] responses: - status: 200 - content: '{"id":null,"user":null,"name":"Sophia D''Amore","created_at":null,"updated_at":null}' + content: '{"id":null,"user":null,"name":"Mr. Stanton Bergnaum","created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -155,7 +155,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer gkadV36a5f8E6vhb14ZceDP' + - 'Bearer V64Z86fEdbavh1PgackDe53' controller: null method: null route: null @@ -192,7 +192,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -202,7 +202,7 @@ endpoints: name: sshKey_id description: 'The ID of the sshKey.' required: true - example: 4 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -210,8 +210,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - sshKey_id: 4 + server_id: 8 + sshKey_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -220,7 +220,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -228,7 +228,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer PfchD4Zge386abadE5kV61v' + - 'Bearer 3deg1vc65k8D6abahfZVPE4' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/09.yaml b/.scribe/endpoints.cache/09.yaml index 782d360..7579ebf 100644 --- a/.scribe/endpoints.cache/09.yaml +++ b/.scribe/endpoints.cache/09.yaml @@ -35,7 +35,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -43,7 +43,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -60,7 +60,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer h6bDec51ak84ZVafgv3PE6d' + - 'Bearer cdhb5VevgkZ6DafP6184a3E' controller: null method: null route: null @@ -97,7 +97,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -107,7 +107,7 @@ endpoints: name: id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -115,8 +115,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - id: 27 + server_id: 8 + id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -133,7 +133,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer da4V3kfgZ6a86PchevED5b1' + - 'Bearer 3vDaE6Pc51Zg8kbheadVf64' controller: null method: null route: null @@ -170,7 +170,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -180,7 +180,7 @@ endpoints: name: service_id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -188,8 +188,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - service_id: 27 + server_id: 8 + service_id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -198,7 +198,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -206,7 +206,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 86fdV5D6gv1E3ekaPZac4hb' + - 'Bearer a6e6Db5VcP314EgZdka8vhf' controller: null method: null route: null @@ -243,7 +243,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -253,7 +253,7 @@ endpoints: name: service_id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -261,8 +261,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - service_id: 27 + server_id: 8 + service_id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -271,7 +271,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -279,7 +279,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer kPZ563E1Vfgh4cbDad8vae6' + - 'Bearer kefg56PEc4a18aDdvVZb3h6' controller: null method: null route: null @@ -316,7 +316,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -326,7 +326,7 @@ endpoints: name: service_id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -334,8 +334,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - service_id: 27 + server_id: 8 + service_id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -344,7 +344,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -352,7 +352,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer fd14PaDb58gchv3ZVeaEk66' + - 'Bearer edhaE164avZ6gbVDPf3k8c5' controller: null method: null route: null @@ -389,7 +389,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -399,7 +399,7 @@ endpoints: name: service_id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -407,8 +407,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - service_id: 27 + server_id: 8 + service_id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -417,7 +417,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -425,7 +425,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Dv1aVe6hZfkagdE356b4cP8' + - 'Bearer D4c1hbfV6Pad68v3gEkaeZ5' controller: null method: null route: null @@ -462,7 +462,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -472,7 +472,7 @@ endpoints: name: service_id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -480,8 +480,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - service_id: 27 + server_id: 8 + service_id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -490,7 +490,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -498,7 +498,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6bdDc4Eah3ZV18kf6Pveag5' + - 'Bearer be41fvh6a8d5PkDVEgZ36ca' controller: null method: null route: null @@ -535,7 +535,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -545,7 +545,7 @@ endpoints: name: service_id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -553,8 +553,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - service_id: 27 + server_id: 8 + service_id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -563,7 +563,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -571,7 +571,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 36kf84v6bVhE5gdPDeZ1caa' + - 'Bearer dcb68hg634P1DaZvef5VakE' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/10.yaml b/.scribe/endpoints.cache/10.yaml index 3acdaf0..d41b986 100644 --- a/.scribe/endpoints.cache/10.yaml +++ b/.scribe/endpoints.cache/10.yaml @@ -35,7 +35,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -43,7 +43,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -52,7 +52,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -60,7 +60,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer gaeE86fd1aZP53Vvc6Dhbk4' + - 'Bearer 3gE54ahkea166PfvbVD8Zdc' controller: null method: null route: null @@ -97,7 +97,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -105,7 +105,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -113,7 +113,7 @@ endpoints: name: type description: '' required: true - example: wordpress + example: php type: string enumValues: - php @@ -121,6 +121,7 @@ endpoints: - phpmyadmin - laravel - wordpress + - load-balancer exampleWasSpecified: false nullable: false custom: [] @@ -128,7 +129,7 @@ endpoints: name: domain description: '' required: true - example: quo + example: rem type: string enumValues: [] exampleWasSpecified: false @@ -139,7 +140,7 @@ endpoints: description: '' required: true example: - - dolorum + - libero type: 'string[]' enumValues: [] exampleWasSpecified: false @@ -169,7 +170,7 @@ endpoints: name: source_control description: 'Source control ID, Required for Sites which support source control' required: true - example: explicabo + example: dolor type: string enumValues: [] exampleWasSpecified: false @@ -215,23 +216,48 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + user: + name: user + description: 'user, to isolate the website under a new user' + required: true + example: vitae + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + method: + name: method + description: 'Load balancer method, Required if the site type is Load balancer' + required: true + example: ip-hash + type: string + enumValues: + - round-robin + - least-connections + - ip-hash + exampleWasSpecified: false + nullable: false + custom: [] cleanBodyParameters: - type: wordpress - domain: quo + type: php + domain: rem aliases: - - dolorum + - libero php_version: '7.4' web_directory: public - source_control: explicabo + source_control: dolor repository: organization/repository branch: main composer: true version: 5.2.1 + user: vitae + method: ip-hash fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -239,7 +265,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer efDd36cab6vZEaV4hkP851g' + - 'Bearer e1V4ga3Pavk6ch6b5E8fZdD' controller: null method: null route: null @@ -276,7 +302,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -286,7 +312,7 @@ endpoints: name: id description: 'The ID of the site.' required: true - example: 8 + example: 26 type: integer enumValues: [] exampleWasSpecified: false @@ -294,8 +320,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - id: 8 + server_id: 8 + id: 26 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -304,7 +330,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -312,7 +338,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer bVkf841ava5gE6DPch36Zde' + - 'Bearer 8gZkEaehfd4v3bac615DVP6' controller: null method: null route: null @@ -349,7 +375,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -359,7 +385,7 @@ endpoints: name: site_id description: 'The ID of the site.' required: true - example: 8 + example: 26 type: integer enumValues: [] exampleWasSpecified: false @@ -367,8 +393,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - site_id: 8 + server_id: 8 + site_id: 26 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -377,7 +403,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -385,7 +411,107 @@ endpoints: auth: - headers - Authorization - - 'Bearer gfVZbEP5Ddah6k13ae6c8v4' + - 'Bearer aadb1h6f6kD4V8vePZgcE35' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/load-balancer' + metadata: + groupName: sites + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: load-balancer + description: 'Update load balancer.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 8 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 26 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 8 + site_id: 26 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + method: + name: method + description: 'Load balancer method, Required if the site type is Load balancer' + required: true + example: least-connections + type: string + enumValues: + - round-robin + - least-connections + - ip-hash + exampleWasSpecified: false + nullable: false + custom: [] + servers: + name: servers + description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)' + required: true + example: + - deleniti + type: 'string[]' + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + method: least-connections + servers: + - deleniti + fileParameters: [] + responses: + - + status: 200 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 5E6hZa64bka1cV3Pdvf8Deg' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/11.yaml b/.scribe/endpoints.cache/11.yaml index 8ee8bed..8b57db2 100644 --- a/.scribe/endpoints.cache/11.yaml +++ b/.scribe/endpoints.cache/11.yaml @@ -41,7 +41,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"Jaiden Kling","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":6,"project_id":null,"global":true,"name":"Ms. Brianne Bosco","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"Mr. Reuben Schimmel","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":6,"project_id":null,"global":true,"name":"Ms. Brandy Mraz V","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -49,7 +49,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer PfaEg1eZh66cd5V4v8bD3ak' + - 'Bearer g4kDa1vV6cdfPe3baZ8h5E6' controller: null method: null route: null @@ -104,7 +104,7 @@ endpoints: name: name description: 'The name of the storage provider.' required: true - example: eos + example: dignissimos type: string enumValues: [] exampleWasSpecified: false @@ -114,7 +114,7 @@ endpoints: name: token description: 'The token if provider requires api token' required: true - example: et + example: voluptates type: string enumValues: [] exampleWasSpecified: false @@ -124,7 +124,7 @@ endpoints: name: url description: 'The URL if the provider is Gitlab and it is self-hosted' required: true - example: 'https://lueilwitz.com/nostrum-et-porro-atque-sint.html' + example: 'https://www.hamill.net/culpa-non-qui-suscipit-dolores-id-aliquam' type: string enumValues: [] exampleWasSpecified: false @@ -134,7 +134,7 @@ endpoints: name: username description: 'The username if the provider is Bitbucket' required: true - example: consectetur + example: nisi type: string enumValues: [] exampleWasSpecified: false @@ -144,7 +144,7 @@ endpoints: name: password description: 'The password if the provider is Bitbucket' required: true - example: 'PL.P?{06\ECi0' + example: W~19Z0 type: string enumValues: [] exampleWasSpecified: false @@ -152,16 +152,16 @@ endpoints: custom: [] cleanBodyParameters: provider: bitbucket - name: eos - token: et - url: 'https://lueilwitz.com/nostrum-et-porro-atque-sint.html' - username: consectetur - password: 'PL.P?{06\ECi0' + name: dignissimos + token: voluptates + url: 'https://www.hamill.net/culpa-non-qui-suscipit-dolores-id-aliquam' + username: nisi + password: W~19Z0 fileParameters: [] responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"Toby Parker","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"Harmony Koss DVM","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -169,7 +169,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer V5Zf3a1ve6d6kP4cbgha8DE' + - 'Bearer fhEkg836V6cbd5ZPva4Dae1' controller: null method: null route: null @@ -206,7 +206,7 @@ endpoints: name: sourceControl_id description: 'The ID of the sourceControl.' required: true - example: 3 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -214,7 +214,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - sourceControl_id: 3 + sourceControl_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -223,7 +223,7 @@ endpoints: responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"Prof. Bartholome Graham IV","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"Martin Welch","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -231,7 +231,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer k1b5hac6veZ36P8gDV4fadE' + - 'Bearer 458gPbv6deEfkcZ13ahaD6V' controller: null method: null route: null @@ -268,7 +268,7 @@ endpoints: name: sourceControl_id description: 'The ID of the sourceControl.' required: true - example: 3 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -276,7 +276,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - sourceControl_id: 3 + sourceControl_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -284,7 +284,7 @@ endpoints: name: name description: 'The name of the storage provider.' required: true - example: quaerat + example: aut type: string enumValues: [] exampleWasSpecified: false @@ -294,7 +294,7 @@ endpoints: name: token description: 'The token if provider requires api token' required: true - example: consectetur + example: repudiandae type: string enumValues: [] exampleWasSpecified: false @@ -304,7 +304,7 @@ endpoints: name: url description: 'The URL if the provider is Gitlab and it is self-hosted' required: true - example: 'http://www.hudson.biz/rerum-voluptatem-debitis-accusamus' + example: 'http://howe.net/eaque-assumenda-voluptatem-quo-libero-eius.html' type: string enumValues: [] exampleWasSpecified: false @@ -314,7 +314,7 @@ endpoints: name: username description: 'The username if the provider is Bitbucket' required: true - example: voluptatem + example: consequatur type: string enumValues: [] exampleWasSpecified: false @@ -324,7 +324,7 @@ endpoints: name: password description: 'The password if the provider is Bitbucket' required: true - example: '\p/el>)3#~E?kI' + example: 'oX/H"pAIt7R2"' type: string enumValues: [] exampleWasSpecified: false @@ -343,17 +343,17 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - name: quaerat - token: consectetur - url: 'http://www.hudson.biz/rerum-voluptatem-debitis-accusamus' - username: voluptatem - password: '\p/el>)3#~E?kI' + name: aut + token: repudiandae + url: 'http://howe.net/eaque-assumenda-voluptatem-quo-libero-eius.html' + username: consequatur + password: 'oX/H"pAIt7R2"' global: false fileParameters: [] responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"Cicero Smitham","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"Miss Dulce Nicolas III","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -361,7 +361,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6dkE6h8a5eg3f14acVvbPDZ' + - 'Bearer De1a4dEaV5v3Zgh8fPk66bc' controller: null method: null route: null @@ -398,7 +398,7 @@ endpoints: name: sourceControl_id description: 'The ID of the sourceControl.' required: true - example: 3 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -406,7 +406,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - sourceControl_id: 3 + sourceControl_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -415,7 +415,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -423,7 +423,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer fb6Zk4EP318eva5hDdcV6ga' + - 'Bearer EZhd63eafgcV4a651PvkDb8' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/12.yaml b/.scribe/endpoints.cache/12.yaml index 3ab9973..9b815fb 100644 --- a/.scribe/endpoints.cache/12.yaml +++ b/.scribe/endpoints.cache/12.yaml @@ -41,7 +41,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":3,"project_id":null,"global":true,"name":"et","provider":"local","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":4,"project_id":null,"global":true,"name":"sed","provider":"local","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"dolorem","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":6,"project_id":null,"global":true,"name":"itaque","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -49,7 +49,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 1dbV3vkh6EPD5g48cafeZ6a' + - 'Bearer D16Vg58E6Pfkh3Zveab4dca' controller: null method: null route: null @@ -91,7 +91,7 @@ endpoints: name: provider description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' required: true - example: quod + example: alias type: string enumValues: [] exampleWasSpecified: false @@ -101,7 +101,7 @@ endpoints: name: name description: 'The name of the storage provider.' required: true - example: commodi + example: explicabo type: string enumValues: [] exampleWasSpecified: false @@ -111,7 +111,7 @@ endpoints: name: token description: 'The token if provider requires api token' required: true - example: ipsum + example: ut type: string enumValues: [] exampleWasSpecified: false @@ -121,7 +121,7 @@ endpoints: name: key description: 'The key if provider requires key' required: true - example: ratione + example: libero type: string enumValues: [] exampleWasSpecified: false @@ -131,23 +131,23 @@ endpoints: name: secret description: 'The secret if provider requires key' required: true - example: iste + example: consequatur type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - provider: quod - name: commodi - token: ipsum - key: ratione - secret: iste + provider: alias + name: explicabo + token: ut + key: libero + secret: consequatur fileParameters: [] responses: - status: 200 - content: '{"id":3,"project_id":null,"global":true,"name":"est","provider":"dropbox","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"quos","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -155,7 +155,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer abehv36kP4D658VafgdZE1c' + - 'Bearer DaZ6d6Eck1bhVe3g4aP85vf' controller: null method: null route: null @@ -192,7 +192,7 @@ endpoints: name: storageProvider_id description: 'The ID of the storageProvider.' required: true - example: 1 + example: 3 type: integer enumValues: [] exampleWasSpecified: false @@ -200,7 +200,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - storageProvider_id: 1 + storageProvider_id: 3 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -209,7 +209,7 @@ endpoints: responses: - status: 200 - content: '{"id":3,"project_id":null,"global":true,"name":"officia","provider":"ftp","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"id","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -217,7 +217,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer bda64P5c1gEDe8V3Z6vhkaf' + - 'Bearer 1dekD4gva56bc683VPEhZfa' controller: null method: null route: null @@ -254,7 +254,7 @@ endpoints: name: storageProvider_id description: 'The ID of the storageProvider.' required: true - example: 1 + example: 3 type: integer enumValues: [] exampleWasSpecified: false @@ -262,7 +262,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - storageProvider_id: 1 + storageProvider_id: 3 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -270,7 +270,7 @@ endpoints: name: name description: 'The name of the storage provider.' required: true - example: iusto + example: sequi type: string enumValues: [] exampleWasSpecified: false @@ -280,7 +280,7 @@ endpoints: name: global description: 'Accessible in all projects' required: true - example: true + example: false type: string enumValues: - true @@ -289,13 +289,13 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - name: iusto - global: true + name: sequi + global: false fileParameters: [] responses: - status: 200 - content: '{"id":3,"project_id":null,"global":true,"name":"rerum","provider":"ftp","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"velit","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -303,7 +303,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer aEP35hVakDdf814eZvg66cb' + - 'Bearer V65g18Pca4v3hDEkbZfe6da' controller: null method: null route: null @@ -340,7 +340,7 @@ endpoints: name: storageProvider_id description: 'The ID of the storageProvider.' required: true - example: 1 + example: 3 type: integer enumValues: [] exampleWasSpecified: false @@ -348,7 +348,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - storageProvider_id: 1 + storageProvider_id: 3 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -357,7 +357,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -365,7 +365,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Dah3PgE5d64fcbe8a16VkvZ' + - 'Bearer 1v6a6efgch3DbZ4aVE5d8kP' controller: null method: null route: null diff --git a/.scribe/endpoints/00.yaml b/.scribe/endpoints/00.yaml index 5c515a7..88bcfcf 100644 --- a/.scribe/endpoints/00.yaml +++ b/.scribe/endpoints/00.yaml @@ -33,7 +33,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -41,7 +41,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -58,7 +58,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6ed1gv5ak6hEPcaV8D3Z4bf' + - 'Bearer ge6ZVa4kfD86hdv5a31EcbP' controller: null method: null route: null @@ -95,7 +95,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -103,7 +103,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -111,7 +111,7 @@ endpoints: name: command description: '' required: true - example: qui + example: itaque type: string enumValues: [] exampleWasSpecified: false @@ -140,7 +140,7 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - command: qui + command: itaque user: root frequency: '* * * * *' fileParameters: [] @@ -155,7 +155,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer VEfc5h3gva68PkZ46Deabd1' + - 'Bearer cdh5bD8gVPkf34e1ZEva6a6' controller: null method: null route: null @@ -192,7 +192,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -202,7 +202,7 @@ endpoints: name: cronJob_id description: 'The ID of the cronJob.' required: true - example: 5 + example: 18 type: integer enumValues: [] exampleWasSpecified: false @@ -210,8 +210,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - cronJob_id: 5 + server_id: 8 + cronJob_id: 18 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -228,7 +228,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 614DaP5vZ6edcaVEgfhk83b' + - 'Bearer fa5VgdkaD8cZ6vh34Pb16eE' controller: null method: null route: null @@ -265,7 +265,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -275,7 +275,7 @@ endpoints: name: cronJob_id description: 'The ID of the cronJob.' required: true - example: 5 + example: 10 type: integer enumValues: [] exampleWasSpecified: false @@ -283,8 +283,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - cronJob_id: 5 + server_id: 8 + cronJob_id: 10 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -293,7 +293,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -301,7 +301,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer gDV6bZ1dEckvf45P86eaha3' + - 'Bearer P8hkva3ZD4fgb166adEVce5' controller: null method: null route: null diff --git a/.scribe/endpoints/01.yaml b/.scribe/endpoints/01.yaml index 709995e..be0a107 100644 --- a/.scribe/endpoints/01.yaml +++ b/.scribe/endpoints/01.yaml @@ -33,7 +33,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -41,7 +41,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -50,7 +50,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"name":"clockman","status":"ready","created_at":null,"updated_at":null},{"id":null,"server_id":null,"name":"wvonrueden","status":"ready","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"name":"amalia38","status":"ready","created_at":null,"updated_at":null},{"id":null,"server_id":null,"name":"troy.rippin","status":"ready","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -58,7 +58,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer efEV4g86bd5PZac6vak3Dh1' + - 'Bearer Z641ebPacDV6f38kEgdah5v' controller: null method: null route: null @@ -95,7 +95,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -103,7 +103,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -111,19 +111,19 @@ endpoints: name: name description: '' required: true - example: nesciunt + example: et type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - name: nesciunt + name: et fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"name":"johanna76","status":"ready","created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"name":"harvey.haskell","status":"ready","created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -131,7 +131,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 3E6VD14dvaekbaZfh6Pg8c5' + - 'Bearer d4gbv56caV3aZ8D1h6kfEPe' controller: null method: null route: null @@ -168,7 +168,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -178,7 +178,7 @@ endpoints: name: id description: 'The ID of the database.' required: true - example: 6 + example: 19 type: integer enumValues: [] exampleWasSpecified: false @@ -186,8 +186,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - id: 6 + server_id: 8 + id: 19 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -196,7 +196,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"name":"chloe.huel","status":"ready","created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"name":"ruthie.koepp","status":"ready","created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -204,7 +204,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer fb5hVc38e1aDP6ZvkgEda46' + - 'Bearer P68VgDcaEZvk63f4b5aed1h' controller: null method: null route: null @@ -241,7 +241,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -251,7 +251,7 @@ endpoints: name: database_id description: 'The ID of the database.' required: true - example: 6 + example: 15 type: integer enumValues: [] exampleWasSpecified: false @@ -259,8 +259,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - database_id: 6 + server_id: 8 + database_id: 15 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -269,7 +269,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -277,7 +277,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer cPVbhaZkfg5aEv46D183ed6' + - 'Bearer DkPc6d1heEv5a8fb4V63agZ' controller: null method: null route: null diff --git a/.scribe/endpoints/02.yaml b/.scribe/endpoints/02.yaml index bc2f663..fa53cc5 100644 --- a/.scribe/endpoints/02.yaml +++ b/.scribe/endpoints/02.yaml @@ -33,7 +33,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -41,7 +41,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -50,7 +50,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"username":"nyasia68","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"username":"madyson20","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"username":"xgaylord","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"username":"una37","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -58,7 +58,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer egc5VaDdvabfP6843k61hZE' + - 'Bearer P4gD36fZeckvVh5ab86Ead1' controller: null method: null route: null @@ -95,7 +95,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -103,7 +103,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -111,7 +111,7 @@ endpoints: name: username description: '' required: true - example: dignissimos + example: consequuntur type: string enumValues: [] exampleWasSpecified: false @@ -121,7 +121,7 @@ endpoints: name: password description: '' required: true - example: OK+XEG2) + example: 'fI/i2.O4u&dla?eXvR2' type: string enumValues: [] exampleWasSpecified: false @@ -138,14 +138,14 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - username: dignissimos - password: OK+XEG2) + username: consequuntur + password: 'fI/i2.O4u&dla?eXvR2' host: '%' fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"username":"amya.nitzsche","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"username":"kari.farrell","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -153,7 +153,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 31hgfcvEb6Pkaa48D6dZ5Ve' + - 'Bearer 5k8Vced1baaE6f4ZvDPgh36' controller: null method: null route: null @@ -190,7 +190,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -200,7 +200,7 @@ endpoints: name: databaseUser_id description: 'The ID of the databaseUser.' required: true - example: 4 + example: 18 type: integer enumValues: [] exampleWasSpecified: false @@ -208,8 +208,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - databaseUser_id: 4 + server_id: 8 + databaseUser_id: 18 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -218,7 +218,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"username":"bergstrom.ericka","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"username":"caterina.mosciski","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -226,7 +226,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer aDv48631h5af6EdkcVbPZeg' + - 'Bearer 3kDveP5V8a6dghfa4E16cbZ' controller: null method: null route: null @@ -263,7 +263,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -281,7 +281,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 databaseUser_id: 4 queryParameters: [] cleanQueryParameters: [] @@ -290,19 +290,19 @@ endpoints: name: databases description: 'Array of database names to link to the user.' required: true - example: accusantium + example: non type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - databases: accusantium + databases: non fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"username":"fmurray","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"username":"kurtis05","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -310,7 +310,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer cf8ZPhV1k3d5DaEva46beg6' + - 'Bearer DgPea43EvV51a866dfbZckh' controller: null method: null route: null @@ -347,7 +347,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -357,7 +357,7 @@ endpoints: name: databaseUser_id description: 'The ID of the databaseUser.' required: true - example: 4 + example: 6 type: integer enumValues: [] exampleWasSpecified: false @@ -365,8 +365,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - databaseUser_id: 4 + server_id: 8 + databaseUser_id: 6 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -375,7 +375,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -383,7 +383,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer hdEvkbaPVf4cZ65a8631eDg' + - 'Bearer 6ackVP8hEZd3164gD5evafb' controller: null method: null route: null diff --git a/.scribe/endpoints/03.yaml b/.scribe/endpoints/03.yaml index 5a756b5..315a923 100644 --- a/.scribe/endpoints/03.yaml +++ b/.scribe/endpoints/03.yaml @@ -33,7 +33,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -41,7 +41,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -50,7 +50,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":18074,"source":"189.27.156.82","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":41088,"source":"86.177.121.87","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":38781,"source":"79.116.255.150","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":32141,"source":"52.174.114.251","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -58,7 +58,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer vhkc4aPa6ZdeV8D3Ef156gb' + - 'Bearer h3P5gD8E4dkeZ6abac6vfV1' controller: null method: null route: null @@ -95,7 +95,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -103,7 +103,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -111,7 +111,7 @@ endpoints: name: type description: '' required: true - example: allow + example: deny type: string enumValues: - allow @@ -135,7 +135,7 @@ endpoints: name: port description: '' required: true - example: voluptates + example: et type: string enumValues: [] exampleWasSpecified: false @@ -145,7 +145,7 @@ endpoints: name: source description: '' required: true - example: saepe + example: voluptates type: string enumValues: [] exampleWasSpecified: false @@ -162,16 +162,16 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - type: allow + type: deny protocol: udp - port: voluptates - source: saepe + port: et + source: voluptates mask: '0' fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":61992,"source":"47.222.76.48","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":47148,"source":"119.182.8.45","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -179,7 +179,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 1cEb5P66VeDkf8aahg3Zdv4' + - 'Bearer 6a8DVv5k3gZfEe6hb1daPc4' controller: null method: null route: null @@ -216,7 +216,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -226,7 +226,7 @@ endpoints: name: firewallRule_id description: 'The ID of the firewallRule.' required: true - example: 7 + example: 29 type: integer enumValues: [] exampleWasSpecified: false @@ -234,8 +234,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - firewallRule_id: 7 + server_id: 8 + firewallRule_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -244,7 +244,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":43107,"source":"135.73.216.16","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"type":"allow","protocol":"tcp","port":2317,"source":"44.161.134.114","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -252,7 +252,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6VaPhkD5vd1Z8e6E3cba4gf' + - 'Bearer P4bZdV1geED3kfh568aa6cv' controller: null method: null route: null @@ -289,7 +289,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -299,7 +299,7 @@ endpoints: name: firewallRule_id description: 'The ID of the firewallRule.' required: true - example: 7 + example: 29 type: integer enumValues: [] exampleWasSpecified: false @@ -307,8 +307,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - firewallRule_id: 7 + server_id: 8 + firewallRule_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -317,7 +317,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -325,7 +325,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer v81d5Efch636aVgZebaPkD4' + - 'Bearer Dh3kcaafdg6E5ZvV46ePb81' controller: null method: null route: null diff --git a/.scribe/endpoints/04.yaml b/.scribe/endpoints/04.yaml index 6143e7b..601f95e 100644 --- a/.scribe/endpoints/04.yaml +++ b/.scribe/endpoints/04.yaml @@ -27,7 +27,7 @@ endpoints: responses: - status: 200 - content: '{"success":true,"version":"2.0.0"}' + content: '{"success":true,"version":"2.1.0"}' headers: cache-control: 'no-cache, private' content-type: application/json diff --git a/.scribe/endpoints/05.yaml b/.scribe/endpoints/05.yaml index 8e1970e..4736657 100644 --- a/.scribe/endpoints/05.yaml +++ b/.scribe/endpoints/05.yaml @@ -28,7 +28,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":29,"name":"Zachary Lueilwitz","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":30,"name":"Mrs. Kiarra Heller IV","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":3,"name":"Jeffry Dickinson","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":4,"name":"Miss Tianna Dietrich PhD","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -36,7 +36,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer eb14DEPv6cdah65VfZgka38' + - 'Bearer 5DaveP3d6b6khEZVcg4fa18' controller: null method: null route: null @@ -79,7 +79,7 @@ endpoints: responses: - status: 200 - content: '{"id":29,"name":"Hershel Spinka","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":3,"name":"Isidro Franecki","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -87,7 +87,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer V1E3566Pf4gkvh8dDZabeca' + - 'Bearer a6P53EvkcZV6D4ghad1efb8' controller: null method: null route: null @@ -130,7 +130,7 @@ endpoints: responses: - status: 200 - content: '{"id":29,"name":"Emery Kiehn","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":3,"name":"Rhoda Parisian","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -138,7 +138,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer haD6e36VZbkf4P8aEcvd15g' + - 'Bearer v48Ve5ZghdcbE1akP66fD3a' controller: null method: null route: null @@ -180,19 +180,19 @@ endpoints: name: name description: 'The name of the project.' required: true - example: ut + example: ullam type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - name: ut + name: ullam fileParameters: [] responses: - status: 200 - content: '{"id":29,"name":"Mable Prohaska","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":3,"name":"Mr. Dashawn Jacobson Sr.","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -200,7 +200,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer V14kPa5deva8Ebgc36f6hDZ' + - 'Bearer fvEdh3Vgbk56Z4a61eP8caD' controller: null method: null route: null @@ -243,7 +243,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -251,7 +251,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer k1D68d5ePavVZag6h4fb3cE' + - 'Bearer eg4c3vZ1Dhaa68d6PEfk5bV' controller: null method: null route: null diff --git a/.scribe/endpoints/06.yaml b/.scribe/endpoints/06.yaml index bb1e5a7..9d76857 100644 --- a/.scribe/endpoints/06.yaml +++ b/.scribe/endpoints/06.yaml @@ -39,7 +39,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Dorthy Toy","ssh_user":"vito","ip":"172.132.95.155","local_ip":"118.57.197.65","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null},{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Carrie Sporer","ssh_user":"vito","ip":"184.242.162.173","local_ip":"135.244.50.22","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Amina DuBuque","ssh_user":"vito","ip":"163.77.69.73","local_ip":"137.139.200.70","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null},{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Floy Cummerata","ssh_user":"vito","ip":"62.53.140.25","local_ip":"34.59.35.195","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -47,7 +47,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 8VE41PdZcvb6kgafD635ahe' + - 'Bearer E81avahec6365dbZfgD4kPV' controller: null method: null route: null @@ -89,7 +89,7 @@ endpoints: name: provider description: 'The server provider type' required: true - example: et + example: iste type: string enumValues: [] exampleWasSpecified: false @@ -99,7 +99,7 @@ endpoints: name: server_provider description: 'If the provider is not custom, the ID of the server provider profile' required: true - example: digitalocean + example: custom type: string enumValues: - custom @@ -114,7 +114,7 @@ endpoints: name: region description: 'Provider region if the provider is not custom' required: true - example: inventore + example: libero type: string enumValues: [] exampleWasSpecified: false @@ -124,7 +124,7 @@ endpoints: name: plan description: 'Provider plan if the provider is not custom' required: true - example: atque + example: ut type: string enumValues: [] exampleWasSpecified: false @@ -134,7 +134,7 @@ endpoints: name: ip description: 'SSH IP address if the provider is custom' required: true - example: quam + example: molestias type: string enumValues: [] exampleWasSpecified: false @@ -144,7 +144,7 @@ endpoints: name: port description: 'SSH Port if the provider is custom' required: true - example: nemo + example: laudantium type: string enumValues: [] exampleWasSpecified: false @@ -154,7 +154,7 @@ endpoints: name: name description: 'The name of the server.' required: true - example: perspiciatis + example: illum type: string enumValues: [] exampleWasSpecified: false @@ -164,24 +164,12 @@ endpoints: name: os description: 'The os of the server' required: true - example: similique + example: autem type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - type: - name: type - description: 'Server type' - required: true - example: regular - type: string - enumValues: - - regular - - database - exampleWasSpecified: false - nullable: false - custom: [] webserver: name: webserver description: 'Web server' @@ -198,7 +186,7 @@ endpoints: name: database description: Database required: true - example: none + example: postgresql12 type: string enumValues: - none @@ -219,7 +207,7 @@ endpoints: name: php description: 'PHP version' required: true - example: '8.1' + example: '7.4' type: string enumValues: - '7.0' @@ -235,23 +223,22 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - provider: et - server_provider: digitalocean - region: inventore - plan: atque - ip: quam - port: nemo - name: perspiciatis - os: similique - type: regular + provider: iste + server_provider: custom + region: libero + plan: ut + ip: molestias + port: laudantium + name: illum + os: autem webserver: none - database: none - php: '8.1' + database: postgresql12 + php: '7.4' fileParameters: [] responses: - status: 200 - content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Flo Beer PhD","ssh_user":"vito","ip":"168.238.14.230","local_ip":"40.232.73.41","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Archibald Nolan","ssh_user":"vito","ip":"226.168.13.177","local_ip":"143.14.43.182","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -259,7 +246,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Z8g36aaV4E1bdcPfehDv65k' + - 'Bearer aad3Pvc4e65DghZVEk8f1b6' controller: null method: null route: null @@ -296,7 +283,7 @@ endpoints: name: id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -304,7 +291,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - id: 3 + id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -313,7 +300,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Stephany Ankunding","ssh_user":"vito","ip":"145.28.94.46","local_ip":"69.133.44.100","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Tevin Sipes","ssh_user":"vito","ip":"61.41.183.152","local_ip":"197.160.239.147","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -321,7 +308,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer adD3EfP5hZ4vgbkV861eca6' + - 'Bearer 5EhD3v6Z8Vdakfg46eP1cab' controller: null method: null route: null @@ -358,7 +345,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -366,7 +353,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -375,7 +362,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -383,7 +370,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer P3ec6aagD4hbdV5fEk168vZ' + - 'Bearer Pc5Da6Vhdk1vag6fE84e3Zb' controller: null method: null route: null @@ -420,7 +407,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -428,7 +415,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -437,7 +424,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -445,7 +432,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer P34ZV6D1bEegdvac8f5kh6a' + - 'Bearer a61v48DfkeEbcg3a6hd5PZV' controller: null method: null route: null @@ -482,7 +469,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -490,7 +477,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -499,7 +486,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -507,7 +494,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer ha6v5V41afkdPgcZbDEe386' + - 'Bearer haE8D6Z6gePk1vadVb53c4f' controller: null method: null route: null diff --git a/.scribe/endpoints/07.yaml b/.scribe/endpoints/07.yaml index d49ccd1..67173a8 100644 --- a/.scribe/endpoints/07.yaml +++ b/.scribe/endpoints/07.yaml @@ -39,7 +39,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":2,"project_id":null,"global":true,"name":"dolor","provider":"digitalocean","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":3,"project_id":null,"global":true,"name":"enim","provider":"digitalocean","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":2,"project_id":null,"global":true,"name":"laudantium","provider":"vultr","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":3,"project_id":null,"global":true,"name":"aut","provider":"aws","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -47,7 +47,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 1a6kb58vEP3fZdVhcea64gD' + - 'Bearer Df16eda8Pa345EkgbZ6cvhV' controller: null method: null route: null @@ -89,7 +89,7 @@ endpoints: name: provider description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' required: true - example: autem + example: voluptatem type: string enumValues: [] exampleWasSpecified: false @@ -99,7 +99,7 @@ endpoints: name: name description: 'The name of the server provider.' required: true - example: enim + example: repellat type: string enumValues: [] exampleWasSpecified: false @@ -109,7 +109,7 @@ endpoints: name: token description: 'The token if provider requires api token' required: true - example: culpa + example: omnis type: string enumValues: [] exampleWasSpecified: false @@ -119,7 +119,7 @@ endpoints: name: key description: 'The key if provider requires key' required: true - example: sit + example: recusandae type: string enumValues: [] exampleWasSpecified: false @@ -129,23 +129,23 @@ endpoints: name: secret description: 'The secret if provider requires key' required: true - example: voluptates + example: in type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - provider: autem - name: enim - token: culpa - key: sit - secret: voluptates + provider: voluptatem + name: repellat + token: omnis + key: recusandae + secret: in fileParameters: [] responses: - status: 200 - content: '{"id":2,"project_id":null,"global":true,"name":"eligendi","provider":"aws","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":2,"project_id":null,"global":true,"name":"quia","provider":"vultr","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -153,7 +153,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer PD3ZcaVdvgfa5k4be8E6h16' + - 'Bearer 8fbgDV6vdhakE1c64e3P5aZ' controller: null method: null route: null @@ -207,7 +207,7 @@ endpoints: responses: - status: 200 - content: '{"id":2,"project_id":null,"global":true,"name":"architecto","provider":"digitalocean","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":2,"project_id":null,"global":true,"name":"ab","provider":"hetzner","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -215,7 +215,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer DP45bg1aEadh8Z6Vke63fcv' + - 'Bearer eVE816Pc4ak3bdfahDZv6g5' controller: null method: null route: null @@ -268,7 +268,7 @@ endpoints: name: name description: 'The name of the server provider.' required: true - example: minus + example: est type: string enumValues: [] exampleWasSpecified: false @@ -278,7 +278,7 @@ endpoints: name: global description: 'Accessible in all projects' required: true - example: false + example: true type: string enumValues: - true @@ -287,13 +287,13 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - name: minus - global: false + name: est + global: true fileParameters: [] responses: - status: 200 - content: '{"id":2,"project_id":null,"global":true,"name":"reiciendis","provider":"hetzner","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":2,"project_id":null,"global":true,"name":"nesciunt","provider":"linode","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -301,7 +301,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer bv1kdegh6fP8V56ZE4acaD3' + - 'Bearer va86keaPDdh3b16Z54EgfcV' controller: null method: null route: null @@ -355,7 +355,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -363,7 +363,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer k6hb43Vf5Z1dv8aaeEDcg6P' + - 'Bearer abv13ag8h5fZ4EPVDe6dc6k' controller: null method: null route: null diff --git a/.scribe/endpoints/08.yaml b/.scribe/endpoints/08.yaml index ab3a743..4e35b56 100644 --- a/.scribe/endpoints/08.yaml +++ b/.scribe/endpoints/08.yaml @@ -33,7 +33,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -41,7 +41,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -50,7 +50,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"user":null,"name":"Dr. Reanna Braun","created_at":null,"updated_at":null},{"id":null,"user":null,"name":"Norene Fritsch","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"user":null,"name":"Godfrey Mills","created_at":null,"updated_at":null},{"id":null,"user":null,"name":"Donato Streich","created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -58,7 +58,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer dV1gcvfZ46Eh8ebaP5Da63k' + - 'Bearer 1gEva8Z6e6abPDhk453fdVc' controller: null method: null route: null @@ -95,7 +95,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -103,7 +103,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -111,7 +111,7 @@ endpoints: name: key_id description: 'The ID of the key.' required: true - example: vero + example: numquam type: string enumValues: [] exampleWasSpecified: false @@ -121,7 +121,7 @@ endpoints: name: name description: 'Key name, required if key_id is not provided.' required: true - example: voluptates + example: alias type: string enumValues: [] exampleWasSpecified: false @@ -131,21 +131,21 @@ endpoints: name: public_key description: 'Public Key, required if key_id is not provided.' required: true - example: dolor + example: voluptate type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - key_id: vero - name: voluptates - public_key: dolor + key_id: numquam + name: alias + public_key: voluptate fileParameters: [] responses: - status: 200 - content: '{"id":null,"user":null,"name":"Sophia D''Amore","created_at":null,"updated_at":null}' + content: '{"id":null,"user":null,"name":"Mr. Stanton Bergnaum","created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -153,7 +153,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer gkadV36a5f8E6vhb14ZceDP' + - 'Bearer V64Z86fEdbavh1PgackDe53' controller: null method: null route: null @@ -190,7 +190,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -200,7 +200,7 @@ endpoints: name: sshKey_id description: 'The ID of the sshKey.' required: true - example: 4 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -208,8 +208,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - sshKey_id: 4 + server_id: 8 + sshKey_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -218,7 +218,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -226,7 +226,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer PfchD4Zge386abadE5kV61v' + - 'Bearer 3deg1vc65k8D6abahfZVPE4' controller: null method: null route: null diff --git a/.scribe/endpoints/09.yaml b/.scribe/endpoints/09.yaml index 2596c65..4e76b2f 100644 --- a/.scribe/endpoints/09.yaml +++ b/.scribe/endpoints/09.yaml @@ -33,7 +33,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -41,7 +41,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -58,7 +58,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer h6bDec51ak84ZVafgv3PE6d' + - 'Bearer cdhb5VevgkZ6DafP6184a3E' controller: null method: null route: null @@ -95,7 +95,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -105,7 +105,7 @@ endpoints: name: id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -113,8 +113,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - id: 27 + server_id: 8 + id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -131,7 +131,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer da4V3kfgZ6a86PchevED5b1' + - 'Bearer 3vDaE6Pc51Zg8kbheadVf64' controller: null method: null route: null @@ -168,7 +168,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -178,7 +178,7 @@ endpoints: name: service_id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -186,8 +186,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - service_id: 27 + server_id: 8 + service_id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -196,7 +196,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -204,7 +204,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 86fdV5D6gv1E3ekaPZac4hb' + - 'Bearer a6e6Db5VcP314EgZdka8vhf' controller: null method: null route: null @@ -241,7 +241,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -251,7 +251,7 @@ endpoints: name: service_id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -259,8 +259,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - service_id: 27 + server_id: 8 + service_id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -269,7 +269,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -277,7 +277,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer kPZ563E1Vfgh4cbDad8vae6' + - 'Bearer kefg56PEc4a18aDdvVZb3h6' controller: null method: null route: null @@ -314,7 +314,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -324,7 +324,7 @@ endpoints: name: service_id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -332,8 +332,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - service_id: 27 + server_id: 8 + service_id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -342,7 +342,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -350,7 +350,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer fd14PaDb58gchv3ZVeaEk66' + - 'Bearer edhaE164avZ6gbVDPf3k8c5' controller: null method: null route: null @@ -387,7 +387,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -397,7 +397,7 @@ endpoints: name: service_id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -405,8 +405,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - service_id: 27 + server_id: 8 + service_id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -415,7 +415,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -423,7 +423,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Dv1aVe6hZfkagdE356b4cP8' + - 'Bearer D4c1hbfV6Pad68v3gEkaeZ5' controller: null method: null route: null @@ -460,7 +460,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -470,7 +470,7 @@ endpoints: name: service_id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -478,8 +478,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - service_id: 27 + server_id: 8 + service_id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -488,7 +488,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -496,7 +496,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6bdDc4Eah3ZV18kf6Pveag5' + - 'Bearer be41fvh6a8d5PkDVEgZ36ca' controller: null method: null route: null @@ -533,7 +533,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -543,7 +543,7 @@ endpoints: name: service_id description: 'The ID of the service.' required: true - example: 27 + example: 53 type: integer enumValues: [] exampleWasSpecified: false @@ -551,8 +551,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - service_id: 27 + server_id: 8 + service_id: 53 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -561,7 +561,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -569,7 +569,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 36kf84v6bVhE5gdPDeZ1caa' + - 'Bearer dcb68hg634P1DaZvef5VakE' controller: null method: null route: null diff --git a/.scribe/endpoints/10.yaml b/.scribe/endpoints/10.yaml index 86e64e9..8d756c8 100644 --- a/.scribe/endpoints/10.yaml +++ b/.scribe/endpoints/10.yaml @@ -33,7 +33,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -41,7 +41,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -50,7 +50,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -58,7 +58,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer gaeE86fd1aZP53Vvc6Dhbk4' + - 'Bearer 3gE54ahkea166PfvbVD8Zdc' controller: null method: null route: null @@ -95,7 +95,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -103,7 +103,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 + server_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -111,7 +111,7 @@ endpoints: name: type description: '' required: true - example: wordpress + example: php type: string enumValues: - php @@ -119,6 +119,7 @@ endpoints: - phpmyadmin - laravel - wordpress + - load-balancer exampleWasSpecified: false nullable: false custom: [] @@ -126,7 +127,7 @@ endpoints: name: domain description: '' required: true - example: quo + example: rem type: string enumValues: [] exampleWasSpecified: false @@ -137,7 +138,7 @@ endpoints: description: '' required: true example: - - dolorum + - libero type: 'string[]' enumValues: [] exampleWasSpecified: false @@ -167,7 +168,7 @@ endpoints: name: source_control description: 'Source control ID, Required for Sites which support source control' required: true - example: explicabo + example: dolor type: string enumValues: [] exampleWasSpecified: false @@ -213,23 +214,48 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + user: + name: user + description: 'user, to isolate the website under a new user' + required: true + example: vitae + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + method: + name: method + description: 'Load balancer method, Required if the site type is Load balancer' + required: true + example: ip-hash + type: string + enumValues: + - round-robin + - least-connections + - ip-hash + exampleWasSpecified: false + nullable: false + custom: [] cleanBodyParameters: - type: wordpress - domain: quo + type: php + domain: rem aliases: - - dolorum + - libero php_version: '7.4' web_directory: public - source_control: explicabo + source_control: dolor repository: organization/repository branch: main composer: true version: 5.2.1 + user: vitae + method: ip-hash fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -237,7 +263,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer efDd36cab6vZEaV4hkP851g' + - 'Bearer e1V4ga3Pavk6ch6b5E8fZdD' controller: null method: null route: null @@ -274,7 +300,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -284,7 +310,7 @@ endpoints: name: id description: 'The ID of the site.' required: true - example: 8 + example: 26 type: integer enumValues: [] exampleWasSpecified: false @@ -292,8 +318,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - id: 8 + server_id: 8 + id: 26 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -302,7 +328,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"progress":100,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -310,7 +336,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer bVkf841ava5gE6DPch36Zde' + - 'Bearer 8gZkEaehfd4v3bac615DVP6' controller: null method: null route: null @@ -347,7 +373,7 @@ endpoints: name: server_id description: 'The ID of the server.' required: true - example: 3 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -357,7 +383,7 @@ endpoints: name: site_id description: 'The ID of the site.' required: true - example: 8 + example: 26 type: integer enumValues: [] exampleWasSpecified: false @@ -365,8 +391,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 3 - site_id: 8 + server_id: 8 + site_id: 26 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -375,7 +401,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -383,7 +409,107 @@ endpoints: auth: - headers - Authorization - - 'Bearer gfVZbEP5Ddah6k13ae6c8v4' + - 'Bearer aadb1h6f6kD4V8vePZgcE35' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/load-balancer' + metadata: + groupName: sites + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: load-balancer + description: 'Update load balancer.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 8 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 26 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 8 + site_id: 26 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + method: + name: method + description: 'Load balancer method, Required if the site type is Load balancer' + required: true + example: least-connections + type: string + enumValues: + - round-robin + - least-connections + - ip-hash + exampleWasSpecified: false + nullable: false + custom: [] + servers: + name: servers + description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)' + required: true + example: + - deleniti + type: 'string[]' + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + method: least-connections + servers: + - deleniti + fileParameters: [] + responses: + - + status: 200 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 5E6hZa64bka1cV3Pdvf8Deg' controller: null method: null route: null diff --git a/.scribe/endpoints/11.yaml b/.scribe/endpoints/11.yaml index a2f3c03..735c4de 100644 --- a/.scribe/endpoints/11.yaml +++ b/.scribe/endpoints/11.yaml @@ -39,7 +39,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"Jaiden Kling","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":6,"project_id":null,"global":true,"name":"Ms. Brianne Bosco","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"Mr. Reuben Schimmel","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":6,"project_id":null,"global":true,"name":"Ms. Brandy Mraz V","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -47,7 +47,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer PfaEg1eZh66cd5V4v8bD3ak' + - 'Bearer g4kDa1vV6cdfPe3baZ8h5E6' controller: null method: null route: null @@ -102,7 +102,7 @@ endpoints: name: name description: 'The name of the storage provider.' required: true - example: eos + example: dignissimos type: string enumValues: [] exampleWasSpecified: false @@ -112,7 +112,7 @@ endpoints: name: token description: 'The token if provider requires api token' required: true - example: et + example: voluptates type: string enumValues: [] exampleWasSpecified: false @@ -122,7 +122,7 @@ endpoints: name: url description: 'The URL if the provider is Gitlab and it is self-hosted' required: true - example: 'https://lueilwitz.com/nostrum-et-porro-atque-sint.html' + example: 'https://www.hamill.net/culpa-non-qui-suscipit-dolores-id-aliquam' type: string enumValues: [] exampleWasSpecified: false @@ -132,7 +132,7 @@ endpoints: name: username description: 'The username if the provider is Bitbucket' required: true - example: consectetur + example: nisi type: string enumValues: [] exampleWasSpecified: false @@ -142,7 +142,7 @@ endpoints: name: password description: 'The password if the provider is Bitbucket' required: true - example: 'PL.P?{06\ECi0' + example: W~19Z0 type: string enumValues: [] exampleWasSpecified: false @@ -150,16 +150,16 @@ endpoints: custom: [] cleanBodyParameters: provider: bitbucket - name: eos - token: et - url: 'https://lueilwitz.com/nostrum-et-porro-atque-sint.html' - username: consectetur - password: 'PL.P?{06\ECi0' + name: dignissimos + token: voluptates + url: 'https://www.hamill.net/culpa-non-qui-suscipit-dolores-id-aliquam' + username: nisi + password: W~19Z0 fileParameters: [] responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"Toby Parker","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"Harmony Koss DVM","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -167,7 +167,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer V5Zf3a1ve6d6kP4cbgha8DE' + - 'Bearer fhEkg836V6cbd5ZPva4Dae1' controller: null method: null route: null @@ -204,7 +204,7 @@ endpoints: name: sourceControl_id description: 'The ID of the sourceControl.' required: true - example: 3 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -212,7 +212,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - sourceControl_id: 3 + sourceControl_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -221,7 +221,7 @@ endpoints: responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"Prof. Bartholome Graham IV","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"Martin Welch","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -229,7 +229,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer k1b5hac6veZ36P8gDV4fadE' + - 'Bearer 458gPbv6deEfkcZ13ahaD6V' controller: null method: null route: null @@ -266,7 +266,7 @@ endpoints: name: sourceControl_id description: 'The ID of the sourceControl.' required: true - example: 3 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -274,7 +274,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - sourceControl_id: 3 + sourceControl_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -282,7 +282,7 @@ endpoints: name: name description: 'The name of the storage provider.' required: true - example: quaerat + example: aut type: string enumValues: [] exampleWasSpecified: false @@ -292,7 +292,7 @@ endpoints: name: token description: 'The token if provider requires api token' required: true - example: consectetur + example: repudiandae type: string enumValues: [] exampleWasSpecified: false @@ -302,7 +302,7 @@ endpoints: name: url description: 'The URL if the provider is Gitlab and it is self-hosted' required: true - example: 'http://www.hudson.biz/rerum-voluptatem-debitis-accusamus' + example: 'http://howe.net/eaque-assumenda-voluptatem-quo-libero-eius.html' type: string enumValues: [] exampleWasSpecified: false @@ -312,7 +312,7 @@ endpoints: name: username description: 'The username if the provider is Bitbucket' required: true - example: voluptatem + example: consequatur type: string enumValues: [] exampleWasSpecified: false @@ -322,7 +322,7 @@ endpoints: name: password description: 'The password if the provider is Bitbucket' required: true - example: '\p/el>)3#~E?kI' + example: 'oX/H"pAIt7R2"' type: string enumValues: [] exampleWasSpecified: false @@ -341,17 +341,17 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - name: quaerat - token: consectetur - url: 'http://www.hudson.biz/rerum-voluptatem-debitis-accusamus' - username: voluptatem - password: '\p/el>)3#~E?kI' + name: aut + token: repudiandae + url: 'http://howe.net/eaque-assumenda-voluptatem-quo-libero-eius.html' + username: consequatur + password: 'oX/H"pAIt7R2"' global: false fileParameters: [] responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"Cicero Smitham","provider":"github","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"Miss Dulce Nicolas III","provider":"github","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -359,7 +359,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6dkE6h8a5eg3f14acVvbPDZ' + - 'Bearer De1a4dEaV5v3Zgh8fPk66bc' controller: null method: null route: null @@ -396,7 +396,7 @@ endpoints: name: sourceControl_id description: 'The ID of the sourceControl.' required: true - example: 3 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -404,7 +404,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - sourceControl_id: 3 + sourceControl_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -413,7 +413,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -421,7 +421,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer fb6Zk4EP318eva5hDdcV6ga' + - 'Bearer EZhd63eafgcV4a651PvkDb8' controller: null method: null route: null diff --git a/.scribe/endpoints/12.yaml b/.scribe/endpoints/12.yaml index 86b5451..1e497a2 100644 --- a/.scribe/endpoints/12.yaml +++ b/.scribe/endpoints/12.yaml @@ -39,7 +39,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":3,"project_id":null,"global":true,"name":"et","provider":"local","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"},{"id":4,"project_id":null,"global":true,"name":"sed","provider":"local","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"dolorem","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":6,"project_id":null,"global":true,"name":"itaque","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -47,7 +47,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 1dbV3vkh6EPD5g48cafeZ6a' + - 'Bearer D16Vg58E6Pfkh3Zveab4dca' controller: null method: null route: null @@ -89,7 +89,7 @@ endpoints: name: provider description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' required: true - example: quod + example: alias type: string enumValues: [] exampleWasSpecified: false @@ -99,7 +99,7 @@ endpoints: name: name description: 'The name of the storage provider.' required: true - example: commodi + example: explicabo type: string enumValues: [] exampleWasSpecified: false @@ -109,7 +109,7 @@ endpoints: name: token description: 'The token if provider requires api token' required: true - example: ipsum + example: ut type: string enumValues: [] exampleWasSpecified: false @@ -119,7 +119,7 @@ endpoints: name: key description: 'The key if provider requires key' required: true - example: ratione + example: libero type: string enumValues: [] exampleWasSpecified: false @@ -129,23 +129,23 @@ endpoints: name: secret description: 'The secret if provider requires key' required: true - example: iste + example: consequatur type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - provider: quod - name: commodi - token: ipsum - key: ratione - secret: iste + provider: alias + name: explicabo + token: ut + key: libero + secret: consequatur fileParameters: [] responses: - status: 200 - content: '{"id":3,"project_id":null,"global":true,"name":"est","provider":"dropbox","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"quos","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -153,7 +153,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer abehv36kP4D658VafgdZE1c' + - 'Bearer DaZ6d6Eck1bhVe3g4aP85vf' controller: null method: null route: null @@ -190,7 +190,7 @@ endpoints: name: storageProvider_id description: 'The ID of the storageProvider.' required: true - example: 1 + example: 3 type: integer enumValues: [] exampleWasSpecified: false @@ -198,7 +198,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - storageProvider_id: 1 + storageProvider_id: 3 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -207,7 +207,7 @@ endpoints: responses: - status: 200 - content: '{"id":3,"project_id":null,"global":true,"name":"officia","provider":"ftp","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"id","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -215,7 +215,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer bda64P5c1gEDe8V3Z6vhkaf' + - 'Bearer 1dekD4gva56bc683VPEhZfa' controller: null method: null route: null @@ -252,7 +252,7 @@ endpoints: name: storageProvider_id description: 'The ID of the storageProvider.' required: true - example: 1 + example: 3 type: integer enumValues: [] exampleWasSpecified: false @@ -260,7 +260,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - storageProvider_id: 1 + storageProvider_id: 3 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -268,7 +268,7 @@ endpoints: name: name description: 'The name of the storage provider.' required: true - example: iusto + example: sequi type: string enumValues: [] exampleWasSpecified: false @@ -278,7 +278,7 @@ endpoints: name: global description: 'Accessible in all projects' required: true - example: true + example: false type: string enumValues: - true @@ -287,13 +287,13 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - name: iusto - global: true + name: sequi + global: false fileParameters: [] responses: - status: 200 - content: '{"id":3,"project_id":null,"global":true,"name":"rerum","provider":"ftp","created_at":"2024-11-01T15:40:48.000000Z","updated_at":"2024-11-01T15:40:48.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"velit","provider":"s3","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}' headers: [] description: '' custom: [] @@ -301,7 +301,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer aEP35hVakDdf814eZvg66cb' + - 'Bearer V65g18Pca4v3hDEkbZfe6da' controller: null method: null route: null @@ -338,7 +338,7 @@ endpoints: name: storageProvider_id description: 'The ID of the storageProvider.' required: true - example: 1 + example: 3 type: integer enumValues: [] exampleWasSpecified: false @@ -346,7 +346,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - storageProvider_id: 1 + storageProvider_id: 3 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -355,7 +355,7 @@ endpoints: responses: - status: 204 - content: 'null' + content: null headers: [] description: '' custom: [] @@ -363,7 +363,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Dah3PgE5d64fcbe8a16VkvZ' + - 'Bearer 1v6a6efgch3DbZ4aVE5d8kP' controller: null method: null route: null diff --git a/app/Actions/SSL/CreateSSL.php b/app/Actions/SSL/CreateSSL.php index ebe2861..08215b1 100644 --- a/app/Actions/SSL/CreateSSL.php +++ b/app/Actions/SSL/CreateSSL.php @@ -46,7 +46,6 @@ public function create(Site $site, array $input): void $ssl->status = SslStatus::CREATED; $ssl->save(); $webserver->updateVHost($site); - $site->type()->edit(); })->catch(function () use ($ssl) { $ssl->status = SslStatus::FAILED; $ssl->save(); diff --git a/app/Actions/Server/EditServer.php b/app/Actions/Server/EditServer.php index b37b647..dd7f0f5 100755 --- a/app/Actions/Server/EditServer.php +++ b/app/Actions/Server/EditServer.php @@ -24,6 +24,9 @@ public function edit(Server $server, array $input): Server } $server->ip = $input['ip']; } + if (isset($input['local_ip'])) { + $server->local_ip = $input['local_ip']; + } if (isset($input['port'])) { if ($server->port !== $input['port']) { $checkConnection = true; @@ -52,6 +55,10 @@ public static function rules(Server $server): array new RestrictedIPAddressesRule, Rule::unique('servers')->where('project_id', $server->project_id)->ignore($server->id), ], + 'local_ip' => [ + 'string', + Rule::unique('servers')->where('project_id', $server->project_id)->ignore($server->id), + ], 'port' => [ 'integer', 'min:1', diff --git a/app/Actions/Site/UpdateLoadBalancer.php b/app/Actions/Site/UpdateLoadBalancer.php new file mode 100644 index 0000000..e237eb3 --- /dev/null +++ b/app/Actions/Site/UpdateLoadBalancer.php @@ -0,0 +1,63 @@ +loadBalancerServers()->delete(); + + foreach ($input['servers'] as $server) { + $loadBalancerServer = new LoadBalancerServer([ + 'load_balancer_id' => $site->id, + 'ip' => $server['server'], + 'port' => $server['port'], + 'weight' => $server['weight'], + 'backup' => (bool) $server['backup'], + ]); + $loadBalancerServer->save(); + } + + $site->webserver()->updateVHost($site); + } + + public static function rules(Site $site): array + { + return [ + 'servers' => [ + 'required', + 'array', + ], + 'servers.*.server' => [ + 'required', + Rule::exists('servers', 'local_ip') + ->where('project_id', $site->project->id), + ], + 'servers.*.port' => [ + 'required', + 'numeric', + 'min:1', + 'max:65535', + ], + 'servers.*.weight' => [ + 'nullable', + 'numeric', + 'min:0', + ], + 'servers.*.backup' => [ + 'required', + 'boolean', + ], + 'method' => [ + 'required', + Rule::in(LoadBalancerMethod::all()), + ], + ]; + } +} diff --git a/app/Enums/LoadBalancerMethod.php b/app/Enums/LoadBalancerMethod.php new file mode 100644 index 0000000..3e1072f --- /dev/null +++ b/app/Enums/LoadBalancerMethod.php @@ -0,0 +1,16 @@ +authorize('view', [$site, $server]); $this->validateRoute($project, $server, $site); - return new ServerResource($server); + return new SiteResource($site); } #[Delete('{site}', name: 'api.projects.servers.sites.delete', middleware: 'ability:write')] @@ -93,6 +95,24 @@ public function delete(Project $project, Server $server, Site $site) return response()->noContent(); } + #[Post('{site}/load-balancer', name: 'api.projects.servers.sites.load-balancer', middleware: 'ability:write')] + #[Endpoint(title: 'load-balancer', description: 'Update load balancer.')] + #[BodyParam(name: 'method', description: 'Load balancer method, Required if the site type is Load balancer', enum: [LoadBalancerMethod::ROUND_ROBIN, LoadBalancerMethod::LEAST_CONNECTIONS, LoadBalancerMethod::IP_HASH])] + #[BodyParam(name: 'servers', type: 'array', description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)')] + #[Response(status: 200)] + public function updateLoadBalancer(Request $request, Project $project, Server $server, Site $site): SiteResource + { + $this->authorize('update', [$site, $server]); + + $this->validateRoute($project, $server, $site); + + $this->validate($request, UpdateLoadBalancer::rules($site)); + + app(UpdateLoadBalancer::class)->update($site, $request->all()); + + return new SiteResource($site); + } + private function validateRoute(Project $project, Server $server, ?Site $site = null): void { if ($project->id !== $server->project_id) { diff --git a/app/Models/LoadBalancerServer.php b/app/Models/LoadBalancerServer.php new file mode 100644 index 0000000..30076f6 --- /dev/null +++ b/app/Models/LoadBalancerServer.php @@ -0,0 +1,44 @@ + 'integer', + 'port' => 'integer', + 'weight' => 'integer', + 'backup' => 'boolean', + ]; + + public function loadBalancer(): BelongsTo + { + return $this->belongsTo(Site::class, 'load_balancer_id'); + } + + public function server(): ?Server + { + return $this->loadBalancer->project->servers()->where('local_ip', $this->ip)->first(); + } +} diff --git a/app/Models/Site.php b/app/Models/Site.php index de7da74..d36e0df 100755 --- a/app/Models/Site.php +++ b/app/Models/Site.php @@ -16,6 +16,7 @@ use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\Relations\MorphToMany; +use Illuminate\Support\Collection; use Illuminate\Support\Str; /** @@ -47,6 +48,7 @@ * @property ?Ssl $activeSsl * @property string $ssh_key_name * @property ?SourceControl $sourceControl + * @property Collection $loadBalancerServers * * @TODO: Add nodejs_version column */ @@ -332,4 +334,9 @@ public function webserver(): Webserver return $webserver; } + + public function loadBalancerServers(): HasMany + { + return $this->hasMany(LoadBalancerServer::class, 'load_balancer_id'); + } } diff --git a/app/SiteTypes/AbstractSiteType.php b/app/SiteTypes/AbstractSiteType.php index f07aae9..ab41e57 100755 --- a/app/SiteTypes/AbstractSiteType.php +++ b/app/SiteTypes/AbstractSiteType.php @@ -34,7 +34,7 @@ public function data(array $input): array public function editRules(array $input): array { - return []; + return $this->createRules($input); } protected function progress(int $percentage): void diff --git a/app/SiteTypes/LoadBalancer.php b/app/SiteTypes/LoadBalancer.php new file mode 100755 index 0000000..8396ff9 --- /dev/null +++ b/app/SiteTypes/LoadBalancer.php @@ -0,0 +1,58 @@ + [ + 'required', + Rule::in(LoadBalancerMethod::all()), + ], + ]; + } + + public function data(array $input): array + { + return [ + 'method' => $input['method'] ?? LoadBalancerMethod::ROUND_ROBIN, + ]; + } + + /** + * @throws SSHError + */ + public function install(): void + { + $this->isolate(); + + /** @var Webserver $webserver */ + $webserver = $this->site->server->webserver()->handler(); + $webserver->createVHost($this->site); + } + + public function edit(): void + { + // + } +} diff --git a/app/Web/Pages/Servers/Sites/Index.php b/app/Web/Pages/Servers/Sites/Index.php index 37bbf72..2a4de06 100644 --- a/app/Web/Pages/Servers/Sites/Index.php +++ b/app/Web/Pages/Servers/Sites/Index.php @@ -3,6 +3,7 @@ namespace App\Web\Pages\Servers\Sites; use App\Actions\Site\CreateSite; +use App\Enums\LoadBalancerMethod; use App\Enums\SiteType; use App\Models\Site; use App\Models\SourceControl; @@ -133,6 +134,17 @@ protected function getHeaderActions(): array ->rules(fn (Get $get) => CreateSite::rules($this->server, $get())['version']), // WordPress $this->wordpressFields(), + // Load Balancer + Select::make('method') + ->label('Balancing Method') + ->validationAttribute('Balancing Method') + ->options( + collect(LoadBalancerMethod::all()) + ->mapWithKeys(fn ($method) => [$method => $method]) + ) + ->visible(fn (Get $get) => $get('type') === SiteType::LOAD_BALANCER) + ->rules(fn (Get $get) => CreateSite::rules($this->server, $get())['method'] ?? []), + // User TextInput::make('user') ->label('User') ->placeholder('vito') diff --git a/app/Web/Pages/Servers/Sites/View.php b/app/Web/Pages/Servers/Sites/View.php index b1c462f..d431a96 100644 --- a/app/Web/Pages/Servers/Sites/View.php +++ b/app/Web/Pages/Servers/Sites/View.php @@ -7,6 +7,7 @@ use App\Actions\Site\UpdateDeploymentScript; use App\Actions\Site\UpdateEnv; use App\Enums\SiteFeature; +use App\Enums\SiteType; use App\Web\Fields\CodeEditorField; use Filament\Actions\Action; use Filament\Actions\ActionGroup; @@ -58,6 +59,10 @@ public function getWidgets(): array if (in_array(SiteFeature::DEPLOYMENT, $this->site->type()->supportedFeatures())) { $widgets[] = [Widgets\DeploymentsList::class, ['site' => $this->site]]; } + + if ($this->site->type === SiteType::LOAD_BALANCER) { + $widgets[] = [Widgets\LoadBalancerServers::class, ['site' => $this->site]]; + } } return $widgets; diff --git a/app/Web/Pages/Servers/Sites/Widgets/LoadBalancerServers.php b/app/Web/Pages/Servers/Sites/Widgets/LoadBalancerServers.php new file mode 100644 index 0000000..faddf48 --- /dev/null +++ b/app/Web/Pages/Servers/Sites/Widgets/LoadBalancerServers.php @@ -0,0 +1,141 @@ +setLoadBalancerServers(); + if (empty($this->servers)) { + $this->servers = [ + [ + 'server' => null, + 'port' => 80, + 'weight' => null, + 'backup' => false, + ], + ]; + } + $this->method = $this->site->type_data['method'] ?? LoadBalancerMethod::ROUND_ROBIN; + } + + #[On('load-balancer-updated')] + public function setLoadBalancerServers(): void + { + $this->servers = $this->site->loadBalancerServers->map(function (LoadBalancerServer $server) { + return [ + 'server' => $server->ip, + 'port' => $server->port, + 'weight' => $server->weight, + 'backup' => $server->backup, + ]; + })->toArray(); + } + + public function form(Form $form): Form + { + return $form + ->schema([ + Section::make() + ->heading('Load Balancer Servers') + ->description('You can add or remove servers from the load balancer here') + ->columns(3) + ->schema([ + Select::make('method') + ->label('Balancing Method') + ->validationAttribute('Balancing Method') + ->options( + collect(LoadBalancerMethod::all()) + ->mapWithKeys(fn ($method) => [$method => $method]) + ) + ->rules(UpdateLoadBalancer::rules($this->site)['method']), + Repeater::make('servers') + ->schema([ + Select::make('server') + ->placeholder('Select a server') + ->searchable() + ->required() + ->rules(UpdateLoadBalancer::rules($this->site)['servers.*.server']) + ->options(function () { + return $this->site->project->servers() + ->where('id', '!=', $this->site->server_id) + ->get() + ->mapWithKeys(function ($server) { + return [$server->local_ip => $server->name.' ('.$server->local_ip.')']; + }); + }), + TextInput::make('port') + ->default(80) + ->required() + ->rules(UpdateLoadBalancer::rules($this->site)['servers.*.port']), + TextInput::make('weight') + ->rules(UpdateLoadBalancer::rules($this->site)['servers.*.weight']), + Toggle::make('backup') + ->label('Backup') + ->inline(false) + ->default(false), + ]) + ->columnSpan(3) + ->live() + ->reorderable(false) + ->columns(4) + ->reorderableWithDragAndDrop(false) + ->addActionLabel('Add Server'), + ]) + ->footerActions([ + Action::make('save') + ->label('Save') + ->action(fn () => $this->save()), + ]), + ]); + } + + public function save(): void + { + $this->authorize('update', [$this->site, $this->site->server]); + + $this->validate(); + + run_action($this, function () { + app(UpdateLoadBalancer::class)->update($this->site, [ + 'method' => $this->method, + 'servers' => $this->servers, + ]); + + $this->dispatch('load-balancer-updated'); + + Notification::make() + ->success() + ->title('Load balancer updated!') + ->send(); + }); + } +} diff --git a/app/Web/Pages/Servers/Widgets/UpdateServerInfo.php b/app/Web/Pages/Servers/Widgets/UpdateServerInfo.php index bd2c71f..7482170 100644 --- a/app/Web/Pages/Servers/Widgets/UpdateServerInfo.php +++ b/app/Web/Pages/Servers/Widgets/UpdateServerInfo.php @@ -27,6 +27,8 @@ class UpdateServerInfo extends Widget implements HasForms public string $ip; + public ?string $local_ip; + public string $port; public function mount(Server $server): void @@ -34,6 +36,7 @@ public function mount(Server $server): void $this->server = $server; $this->name = $server->name; $this->ip = $server->ip; + $this->local_ip = $server->local_ip; $this->port = $server->port; } @@ -52,6 +55,10 @@ public function form(Form $form): Form TextInput::make('ip') ->label('IP Address') ->rules(EditServer::rules($this->server)['ip']), + TextInput::make('local_ip') + ->label('Local Network IP Address') + ->placeholder('10.0.0.1') + ->rules(EditServer::rules($this->server)['local_ip']), TextInput::make('port') ->label('Port') ->rules(EditServer::rules($this->server)['port']), diff --git a/config/core.php b/config/core.php index 9c5a9fd..ad7a747 100755 --- a/config/core.php +++ b/config/core.php @@ -431,6 +431,7 @@ \App\Enums\SiteType::LARAVEL, \App\Enums\SiteType::WORDPRESS, \App\Enums\SiteType::PHPMYADMIN, + \App\Enums\SiteType::LOAD_BALANCER, ], 'site_types_class' => [ \App\Enums\SiteType::PHP => \App\SiteTypes\PHPSite::class, @@ -438,6 +439,7 @@ \App\Enums\SiteType::LARAVEL => \App\SiteTypes\Laravel::class, \App\Enums\SiteType::WORDPRESS => \App\SiteTypes\Wordpress::class, \App\Enums\SiteType::PHPMYADMIN => \App\SiteTypes\PHPMyAdmin::class, + \App\Enums\SiteType::LOAD_BALANCER => \App\SiteTypes\LoadBalancer::class, ], /* diff --git a/database/factories/LoadBalancerServerFactory.php b/database/factories/LoadBalancerServerFactory.php new file mode 100644 index 0000000..fb09f9d --- /dev/null +++ b/database/factories/LoadBalancerServerFactory.php @@ -0,0 +1,25 @@ + $this->faker->randomNumber(), // + 'ip' => $this->faker->ipv4(), + 'port' => $this->faker->randomNumber(), + 'weight' => $this->faker->randomNumber(), + 'backup' => $this->faker->boolean(), + 'created_at' => Carbon::now(), + 'updated_at' => Carbon::now(), + ]; + } +} diff --git a/database/migrations/2025_01_29_230359_create_load_balancer_servers_table.php b/database/migrations/2025_01_29_230359_create_load_balancer_servers_table.php new file mode 100644 index 0000000..518987a --- /dev/null +++ b/database/migrations/2025_01_29_230359_create_load_balancer_servers_table.php @@ -0,0 +1,26 @@ +id(); + $table->unsignedBigInteger('load_balancer_id'); + $table->string('ip'); + $table->integer('port'); + $table->integer('weight')->nullable(); + $table->boolean('backup'); + $table->timestamps(); + }); + } + + public function down(): void + { + Schema::dropIfExists('load_balancer_servers'); + } +}; diff --git a/public/api-docs/collection.json b/public/api-docs/collection.json index 9ad91e1..9837de7 100644 --- a/public/api-docs/collection.json +++ b/public/api-docs/collection.json @@ -10,7 +10,7 @@ ], "info": { "name": "API Documentation", - "_postman_id": "a41cda01-38ef-4ec3-8538-037284060387", + "_postman_id": "c9ba8a9b-023e-481f-a881-1f6cbf138017", "description": "VitoDeploy's API documentation.", "schema": "https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json" }, @@ -37,7 +37,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -83,7 +83,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -101,7 +101,7 @@ ], "body": { "mode": "raw", - "raw": "{\"command\":\"qui\",\"user\":\"root\",\"frequency\":\"* * * * *\"}" + "raw": "{\"command\":\"itaque\",\"user\":\"root\",\"frequency\":\"* * * * *\"}" }, "description": "Create a new cron job." }, @@ -132,13 +132,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "cronJob_id", "key": "cronJob_id", - "value": "5", + "value": "18", "description": "The ID of the cronJob." } ] @@ -184,13 +184,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "cronJob_id", "key": "cronJob_id", - "value": "5", + "value": "10", "description": "The ID of the cronJob." } ] @@ -213,7 +213,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -242,7 +242,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -265,7 +265,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":null,\"server_id\":null,\"username\":\"nyasia68\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null},{\"id\":null,\"server_id\":null,\"username\":\"madyson20\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":null,\"server_id\":null,\"username\":\"xgaylord\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null},{\"id\":null,\"server_id\":null,\"username\":\"una37\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -288,7 +288,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -306,7 +306,7 @@ ], "body": { "mode": "raw", - "raw": "{\"username\":\"dignissimos\",\"password\":\"OK+XEG2)\",\"host\":\"%\"}" + "raw": "{\"username\":\"consequuntur\",\"password\":\"fI\\\/i2.O4u&dla?eXvR2\",\"host\":\"%\"}" }, "description": "Create a new database user." }, @@ -314,7 +314,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"username\":\"amya.nitzsche\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"username\":\"kari.farrell\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -337,13 +337,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "databaseUser_id", "key": "databaseUser_id", - "value": "4", + "value": "18", "description": "The ID of the databaseUser." } ] @@ -366,7 +366,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"username\":\"bergstrom.ericka\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"username\":\"caterina.mosciski\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -389,7 +389,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { @@ -413,7 +413,7 @@ ], "body": { "mode": "raw", - "raw": "{\"databases\":\"accusantium\"}" + "raw": "{\"databases\":\"non\"}" }, "description": "Link to databases" }, @@ -421,7 +421,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"username\":\"fmurray\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"username\":\"kurtis05\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -444,13 +444,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "databaseUser_id", "key": "databaseUser_id", - "value": "4", + "value": "6", "description": "The ID of the databaseUser." } ] @@ -473,7 +473,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -502,7 +502,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -525,7 +525,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":null,\"server_id\":null,\"name\":\"clockman\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null},{\"id\":null,\"server_id\":null,\"name\":\"wvonrueden\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":null,\"server_id\":null,\"name\":\"amalia38\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null},{\"id\":null,\"server_id\":null,\"name\":\"troy.rippin\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -548,7 +548,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -566,7 +566,7 @@ ], "body": { "mode": "raw", - "raw": "{\"name\":\"nesciunt\"}" + "raw": "{\"name\":\"et\"}" }, "description": "Create a new database." }, @@ -574,7 +574,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"name\":\"johanna76\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"name\":\"harvey.haskell\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -597,13 +597,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "id", "key": "id", - "value": "6", + "value": "19", "description": "The ID of the database." } ] @@ -626,7 +626,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"name\":\"chloe.huel\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"name\":\"ruthie.koepp\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -649,13 +649,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "database_id", "key": "database_id", - "value": "6", + "value": "15", "description": "The ID of the database." } ] @@ -678,7 +678,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -707,7 +707,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -730,7 +730,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":null,\"server_id\":null,\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":18074,\"source\":\"189.27.156.82\",\"mask\":24,\"note\":\"test\",\"status\":null,\"created_at\":null,\"updated_at\":null},{\"id\":null,\"server_id\":null,\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":41088,\"source\":\"86.177.121.87\",\"mask\":24,\"note\":\"test\",\"status\":null,\"created_at\":null,\"updated_at\":null}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":null,\"server_id\":null,\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":38781,\"source\":\"79.116.255.150\",\"mask\":24,\"note\":\"test\",\"status\":null,\"created_at\":null,\"updated_at\":null},{\"id\":null,\"server_id\":null,\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":32141,\"source\":\"52.174.114.251\",\"mask\":24,\"note\":\"test\",\"status\":null,\"created_at\":null,\"updated_at\":null}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -753,7 +753,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -771,7 +771,7 @@ ], "body": { "mode": "raw", - "raw": "{\"type\":\"allow\",\"protocol\":\"udp\",\"port\":\"voluptates\",\"source\":\"saepe\",\"mask\":\"0\"}" + "raw": "{\"type\":\"deny\",\"protocol\":\"udp\",\"port\":\"et\",\"source\":\"voluptates\",\"mask\":\"0\"}" }, "description": "Create a new firewall rule." }, @@ -779,7 +779,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":61992,\"source\":\"47.222.76.48\",\"mask\":24,\"note\":\"test\",\"status\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":47148,\"source\":\"119.182.8.45\",\"mask\":24,\"note\":\"test\",\"status\":null,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -802,13 +802,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "firewallRule_id", "key": "firewallRule_id", - "value": "7", + "value": "29", "description": "The ID of the firewallRule." } ] @@ -831,7 +831,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":43107,\"source\":\"135.73.216.16\",\"mask\":24,\"note\":\"test\",\"status\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":2317,\"source\":\"44.161.134.114\",\"mask\":24,\"note\":\"test\",\"status\":null,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -854,13 +854,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "firewallRule_id", "key": "firewallRule_id", - "value": "7", + "value": "29", "description": "The ID of the firewallRule." } ] @@ -883,7 +883,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -945,7 +945,7 @@ } ], "code": 200, - "body": "{\"success\":true,\"version\":\"2.0.0\"}", + "body": "{\"success\":true,\"version\":\"2.1.0\"}", "name": "" } ] @@ -983,7 +983,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":29,\"name\":\"Zachary Lueilwitz\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"},{\"id\":30,\"name\":\"Mrs. Kiarra Heller IV\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":3,\"name\":\"Jeffry Dickinson\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"},{\"id\":4,\"name\":\"Miss Tianna Dietrich PhD\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -1018,7 +1018,7 @@ { "header": [], "code": 200, - "body": "{\"id\":29,\"name\":\"Hershel Spinka\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}", + "body": "{\"id\":3,\"name\":\"Isidro Franecki\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}", "name": "" } ] @@ -1058,7 +1058,7 @@ { "header": [], "code": 200, - "body": "{\"id\":29,\"name\":\"Emery Kiehn\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}", + "body": "{\"id\":3,\"name\":\"Rhoda Parisian\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}", "name": "" } ] @@ -1093,7 +1093,7 @@ ], "body": { "mode": "raw", - "raw": "{\"name\":\"ut\"}" + "raw": "{\"name\":\"ullam\"}" }, "description": "Update project." }, @@ -1101,7 +1101,7 @@ { "header": [], "code": 200, - "body": "{\"id\":29,\"name\":\"Mable Prohaska\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}", + "body": "{\"id\":3,\"name\":\"Mr. Dashawn Jacobson Sr.\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}", "name": "" } ] @@ -1141,7 +1141,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -1187,7 +1187,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":2,\"project_id\":null,\"global\":true,\"name\":\"dolor\",\"provider\":\"digitalocean\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"},{\"id\":3,\"project_id\":null,\"global\":true,\"name\":\"enim\",\"provider\":\"digitalocean\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":2,\"project_id\":null,\"global\":true,\"name\":\"laudantium\",\"provider\":\"vultr\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"},{\"id\":3,\"project_id\":null,\"global\":true,\"name\":\"aut\",\"provider\":\"aws\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -1222,7 +1222,7 @@ ], "body": { "mode": "raw", - "raw": "{\"provider\":\"autem\",\"name\":\"enim\",\"token\":\"culpa\",\"key\":\"sit\",\"secret\":\"voluptates\"}" + "raw": "{\"provider\":\"voluptatem\",\"name\":\"repellat\",\"token\":\"omnis\",\"key\":\"recusandae\",\"secret\":\"in\"}" }, "description": "" }, @@ -1230,7 +1230,7 @@ { "header": [], "code": 200, - "body": "{\"id\":2,\"project_id\":null,\"global\":true,\"name\":\"eligendi\",\"provider\":\"aws\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}", + "body": "{\"id\":2,\"project_id\":null,\"global\":true,\"name\":\"quia\",\"provider\":\"vultr\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}", "name": "" } ] @@ -1276,7 +1276,7 @@ { "header": [], "code": 200, - "body": "{\"id\":2,\"project_id\":null,\"global\":true,\"name\":\"architecto\",\"provider\":\"digitalocean\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}", + "body": "{\"id\":2,\"project_id\":null,\"global\":true,\"name\":\"ab\",\"provider\":\"hetzner\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}", "name": "" } ] @@ -1317,7 +1317,7 @@ ], "body": { "mode": "raw", - "raw": "{\"name\":\"minus\",\"global\":false}" + "raw": "{\"name\":\"est\",\"global\":true}" }, "description": "" }, @@ -1325,7 +1325,7 @@ { "header": [], "code": 200, - "body": "{\"id\":2,\"project_id\":null,\"global\":true,\"name\":\"reiciendis\",\"provider\":\"hetzner\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}", + "body": "{\"id\":2,\"project_id\":null,\"global\":true,\"name\":\"nesciunt\",\"provider\":\"linode\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}", "name": "" } ] @@ -1371,7 +1371,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -1417,7 +1417,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Dorthy Toy\",\"ssh_user\":\"vito\",\"ip\":\"172.132.95.155\",\"local_ip\":\"118.57.197.65\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null},{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Carrie Sporer\",\"ssh_user\":\"vito\",\"ip\":\"184.242.162.173\",\"local_ip\":\"135.244.50.22\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Amina DuBuque\",\"ssh_user\":\"vito\",\"ip\":\"163.77.69.73\",\"local_ip\":\"137.139.200.70\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null},{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Floy Cummerata\",\"ssh_user\":\"vito\",\"ip\":\"62.53.140.25\",\"local_ip\":\"34.59.35.195\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -1452,7 +1452,7 @@ ], "body": { "mode": "raw", - "raw": "{\"provider\":\"et\",\"server_provider\":\"digitalocean\",\"region\":\"inventore\",\"plan\":\"atque\",\"ip\":\"quam\",\"port\":\"nemo\",\"name\":\"perspiciatis\",\"os\":\"similique\",\"type\":\"regular\",\"webserver\":\"none\",\"database\":\"none\",\"php\":\"8.1\"}" + "raw": "{\"provider\":\"iste\",\"server_provider\":\"custom\",\"region\":\"libero\",\"plan\":\"ut\",\"ip\":\"molestias\",\"port\":\"laudantium\",\"name\":\"illum\",\"os\":\"autem\",\"webserver\":\"none\",\"database\":\"postgresql12\",\"php\":\"7.4\"}" }, "description": "Create a new server." }, @@ -1460,7 +1460,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Flo Beer PhD\",\"ssh_user\":\"vito\",\"ip\":\"168.238.14.230\",\"local_ip\":\"40.232.73.41\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Archibald Nolan\",\"ssh_user\":\"vito\",\"ip\":\"226.168.13.177\",\"local_ip\":\"143.14.43.182\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -1483,7 +1483,7 @@ { "id": "id", "key": "id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -1506,7 +1506,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Stephany Ankunding\",\"ssh_user\":\"vito\",\"ip\":\"145.28.94.46\",\"local_ip\":\"69.133.44.100\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Tevin Sipes\",\"ssh_user\":\"vito\",\"ip\":\"61.41.183.152\",\"local_ip\":\"197.160.239.147\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -1529,7 +1529,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -1552,7 +1552,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -1575,7 +1575,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -1598,7 +1598,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -1621,7 +1621,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -1644,7 +1644,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -1673,7 +1673,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -1719,13 +1719,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "id", "key": "id", - "value": "27", + "value": "53", "description": "The ID of the service." } ] @@ -1771,13 +1771,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "service_id", "key": "service_id", - "value": "27", + "value": "53", "description": "The ID of the service." } ] @@ -1800,7 +1800,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -1823,13 +1823,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "service_id", "key": "service_id", - "value": "27", + "value": "53", "description": "The ID of the service." } ] @@ -1852,7 +1852,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -1875,13 +1875,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "service_id", "key": "service_id", - "value": "27", + "value": "53", "description": "The ID of the service." } ] @@ -1904,7 +1904,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -1927,13 +1927,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "service_id", "key": "service_id", - "value": "27", + "value": "53", "description": "The ID of the service." } ] @@ -1956,7 +1956,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -1979,13 +1979,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "service_id", "key": "service_id", - "value": "27", + "value": "53", "description": "The ID of the service." } ] @@ -2008,7 +2008,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -2031,13 +2031,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "service_id", "key": "service_id", - "value": "27", + "value": "53", "description": "The ID of the service." } ] @@ -2060,7 +2060,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -2089,7 +2089,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -2112,7 +2112,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":null,\"server_id\":null,\"source_control_id\":null,\"type\":\"laravel\",\"type_data\":null,\"domain\":\"test.com\",\"aliases\":null,\"web_directory\":\"\\\/\",\"path\":\"\\\/home\",\"php_version\":\"8.2\",\"repository\":null,\"branch\":\"main\",\"status\":\"ready\",\"port\":null,\"progress\":100,\"created_at\":null,\"updated_at\":null},{\"id\":null,\"server_id\":null,\"source_control_id\":null,\"type\":\"laravel\",\"type_data\":null,\"domain\":\"test.com\",\"aliases\":null,\"web_directory\":\"\\\/\",\"path\":\"\\\/home\",\"php_version\":\"8.2\",\"repository\":null,\"branch\":\"main\",\"status\":\"ready\",\"port\":null,\"progress\":100,\"created_at\":null,\"updated_at\":null}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":null,\"server_id\":null,\"source_control_id\":null,\"type\":\"laravel\",\"type_data\":null,\"domain\":\"test.com\",\"aliases\":null,\"web_directory\":\"\\\/\",\"path\":\"\\\/home\",\"php_version\":\"8.2\",\"repository\":null,\"branch\":\"main\",\"status\":\"ready\",\"port\":null,\"user\":\"vito\",\"progress\":100,\"created_at\":null,\"updated_at\":null},{\"id\":null,\"server_id\":null,\"source_control_id\":null,\"type\":\"laravel\",\"type_data\":null,\"domain\":\"test.com\",\"aliases\":null,\"web_directory\":\"\\\/\",\"path\":\"\\\/home\",\"php_version\":\"8.2\",\"repository\":null,\"branch\":\"main\",\"status\":\"ready\",\"port\":null,\"user\":\"vito\",\"progress\":100,\"created_at\":null,\"updated_at\":null}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -2135,7 +2135,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -2153,7 +2153,7 @@ ], "body": { "mode": "raw", - "raw": "{\"type\":\"wordpress\",\"domain\":\"quo\",\"aliases\":[\"dolorum\"],\"php_version\":\"7.4\",\"web_directory\":\"public\",\"source_control\":\"explicabo\",\"repository\":\"organization\\\/repository\",\"branch\":\"main\",\"composer\":true,\"version\":\"5.2.1\"}" + "raw": "{\"type\":\"php\",\"domain\":\"rem\",\"aliases\":[\"libero\"],\"php_version\":\"7.4\",\"web_directory\":\"public\",\"source_control\":\"dolor\",\"repository\":\"organization\\\/repository\",\"branch\":\"main\",\"composer\":true,\"version\":\"5.2.1\",\"user\":\"vitae\",\"method\":\"ip-hash\"}" }, "description": "Create a new site." }, @@ -2161,7 +2161,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"source_control_id\":null,\"type\":\"laravel\",\"type_data\":null,\"domain\":\"test.com\",\"aliases\":null,\"web_directory\":\"\\\/\",\"path\":\"\\\/home\",\"php_version\":\"8.2\",\"repository\":null,\"branch\":\"main\",\"status\":\"ready\",\"port\":null,\"progress\":100,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"source_control_id\":null,\"type\":\"laravel\",\"type_data\":null,\"domain\":\"test.com\",\"aliases\":null,\"web_directory\":\"\\\/\",\"path\":\"\\\/home\",\"php_version\":\"8.2\",\"repository\":null,\"branch\":\"main\",\"status\":\"ready\",\"port\":null,\"user\":\"vito\",\"progress\":100,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -2184,13 +2184,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "id", "key": "id", - "value": "8", + "value": "26", "description": "The ID of the site." } ] @@ -2213,7 +2213,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"source_control_id\":null,\"type\":\"laravel\",\"type_data\":null,\"domain\":\"test.com\",\"aliases\":null,\"web_directory\":\"\\\/\",\"path\":\"\\\/home\",\"php_version\":\"8.2\",\"repository\":null,\"branch\":\"main\",\"status\":\"ready\",\"port\":null,\"progress\":100,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"source_control_id\":null,\"type\":\"laravel\",\"type_data\":null,\"domain\":\"test.com\",\"aliases\":null,\"web_directory\":\"\\\/\",\"path\":\"\\\/home\",\"php_version\":\"8.2\",\"repository\":null,\"branch\":\"main\",\"status\":\"ready\",\"port\":null,\"user\":\"vito\",\"progress\":100,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -2236,13 +2236,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "site_id", "key": "site_id", - "value": "8", + "value": "26", "description": "The ID of the site." } ] @@ -2265,7 +2265,62 @@ { "header": [], "code": 204, - "body": "null", + "body": null, + "name": "" + } + ] + }, + { + "name": "load-balancer", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/projects\/:project_id\/servers\/:server_id\/sites\/:site_id\/load-balancer", + "query": [], + "raw": "{{baseUrl}}\/api\/projects\/:project_id\/servers\/:server_id\/sites\/:site_id\/load-balancer", + "variable": [ + { + "id": "project_id", + "key": "project_id", + "value": "1", + "description": "The ID of the project." + }, + { + "id": "server_id", + "key": "server_id", + "value": "8", + "description": "The ID of the server." + }, + { + "id": "site_id", + "key": "site_id", + "value": "26", + "description": "The ID of the site." + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"method\":\"least-connections\",\"servers\":[\"deleniti\"]}" + }, + "description": "Update load balancer." + }, + "response": [ + { + "header": [], + "code": 200, + "body": null, "name": "" } ] @@ -2311,7 +2366,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Jaiden Kling\",\"provider\":\"github\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"},{\"id\":6,\"project_id\":null,\"global\":true,\"name\":\"Ms. Brianne Bosco\",\"provider\":\"github\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Mr. Reuben Schimmel\",\"provider\":\"github\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"},{\"id\":6,\"project_id\":null,\"global\":true,\"name\":\"Ms. Brandy Mraz V\",\"provider\":\"github\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -2346,7 +2401,7 @@ ], "body": { "mode": "raw", - "raw": "{\"provider\":\"bitbucket\",\"name\":\"eos\",\"token\":\"et\",\"url\":\"https:\\\/\\\/lueilwitz.com\\\/nostrum-et-porro-atque-sint.html\",\"username\":\"consectetur\",\"password\":\"PL.P?{06\\\\ECi0\"}" + "raw": "{\"provider\":\"bitbucket\",\"name\":\"dignissimos\",\"token\":\"voluptates\",\"url\":\"https:\\\/\\\/www.hamill.net\\\/culpa-non-qui-suscipit-dolores-id-aliquam\",\"username\":\"nisi\",\"password\":\"W~19Z0\"}" }, "description": "" }, @@ -2354,7 +2409,7 @@ { "header": [], "code": 200, - "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Toby Parker\",\"provider\":\"github\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}", + "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Harmony Koss DVM\",\"provider\":\"github\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}", "name": "" } ] @@ -2377,7 +2432,7 @@ { "id": "sourceControl_id", "key": "sourceControl_id", - "value": "3", + "value": "1", "description": "The ID of the sourceControl." } ] @@ -2400,7 +2455,7 @@ { "header": [], "code": 200, - "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Prof. Bartholome Graham IV\",\"provider\":\"github\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}", + "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Martin Welch\",\"provider\":\"github\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}", "name": "" } ] @@ -2423,7 +2478,7 @@ { "id": "sourceControl_id", "key": "sourceControl_id", - "value": "3", + "value": "1", "description": "The ID of the sourceControl." } ] @@ -2441,7 +2496,7 @@ ], "body": { "mode": "raw", - "raw": "{\"name\":\"quaerat\",\"token\":\"consectetur\",\"url\":\"http:\\\/\\\/www.hudson.biz\\\/rerum-voluptatem-debitis-accusamus\",\"username\":\"voluptatem\",\"password\":\"\\\\p\\\/el>)3#~E?kI\",\"global\":false}" + "raw": "{\"name\":\"aut\",\"token\":\"repudiandae\",\"url\":\"http:\\\/\\\/howe.net\\\/eaque-assumenda-voluptatem-quo-libero-eius.html\",\"username\":\"consequatur\",\"password\":\"oX\\\/H\\\"pAIt7R2\\\"\",\"global\":false}" }, "description": "" }, @@ -2449,7 +2504,7 @@ { "header": [], "code": 200, - "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Cicero Smitham\",\"provider\":\"github\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}", + "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Miss Dulce Nicolas III\",\"provider\":\"github\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}", "name": "" } ] @@ -2472,7 +2527,7 @@ { "id": "sourceControl_id", "key": "sourceControl_id", - "value": "3", + "value": "1", "description": "The ID of the sourceControl." } ] @@ -2495,7 +2550,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -2524,7 +2579,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -2547,7 +2602,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":null,\"user\":null,\"name\":\"Dr. Reanna Braun\",\"created_at\":null,\"updated_at\":null},{\"id\":null,\"user\":null,\"name\":\"Norene Fritsch\",\"created_at\":null,\"updated_at\":null}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":null,\"user\":null,\"name\":\"Godfrey Mills\",\"created_at\":null,\"updated_at\":null},{\"id\":null,\"user\":null,\"name\":\"Donato Streich\",\"created_at\":null,\"updated_at\":null}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -2570,7 +2625,7 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." } ] @@ -2588,7 +2643,7 @@ ], "body": { "mode": "raw", - "raw": "{\"key_id\":\"vero\",\"name\":\"voluptates\",\"public_key\":\"dolor\"}" + "raw": "{\"key_id\":\"numquam\",\"name\":\"alias\",\"public_key\":\"voluptate\"}" }, "description": "Deploy ssh key to server." }, @@ -2596,7 +2651,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"user\":null,\"name\":\"Sophia D'Amore\",\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"user\":null,\"name\":\"Mr. Stanton Bergnaum\",\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -2619,13 +2674,13 @@ { "id": "server_id", "key": "server_id", - "value": "3", + "value": "8", "description": "The ID of the server." }, { "id": "sshKey_id", "key": "sshKey_id", - "value": "4", + "value": "1", "description": "The ID of the sshKey." } ] @@ -2648,7 +2703,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] @@ -2694,7 +2749,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":3,\"project_id\":null,\"global\":true,\"name\":\"et\",\"provider\":\"local\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"},{\"id\":4,\"project_id\":null,\"global\":true,\"name\":\"sed\",\"provider\":\"local\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"dolorem\",\"provider\":\"s3\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"},{\"id\":6,\"project_id\":null,\"global\":true,\"name\":\"itaque\",\"provider\":\"s3\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}],\"links\":{\"first\":\"\\\/?page=1\",\"last\":\"\\\/?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"links\":[{\"url\":null,\"label\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -2729,7 +2784,7 @@ ], "body": { "mode": "raw", - "raw": "{\"provider\":\"quod\",\"name\":\"commodi\",\"token\":\"ipsum\",\"key\":\"ratione\",\"secret\":\"iste\"}" + "raw": "{\"provider\":\"alias\",\"name\":\"explicabo\",\"token\":\"ut\",\"key\":\"libero\",\"secret\":\"consequatur\"}" }, "description": "" }, @@ -2737,7 +2792,7 @@ { "header": [], "code": 200, - "body": "{\"id\":3,\"project_id\":null,\"global\":true,\"name\":\"est\",\"provider\":\"dropbox\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}", + "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"quos\",\"provider\":\"s3\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}", "name": "" } ] @@ -2760,7 +2815,7 @@ { "id": "storageProvider_id", "key": "storageProvider_id", - "value": "1", + "value": "3", "description": "The ID of the storageProvider." } ] @@ -2783,7 +2838,7 @@ { "header": [], "code": 200, - "body": "{\"id\":3,\"project_id\":null,\"global\":true,\"name\":\"officia\",\"provider\":\"ftp\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}", + "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"id\",\"provider\":\"s3\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}", "name": "" } ] @@ -2806,7 +2861,7 @@ { "id": "storageProvider_id", "key": "storageProvider_id", - "value": "1", + "value": "3", "description": "The ID of the storageProvider." } ] @@ -2824,7 +2879,7 @@ ], "body": { "mode": "raw", - "raw": "{\"name\":\"iusto\",\"global\":true}" + "raw": "{\"name\":\"sequi\",\"global\":false}" }, "description": "" }, @@ -2832,7 +2887,7 @@ { "header": [], "code": 200, - "body": "{\"id\":3,\"project_id\":null,\"global\":true,\"name\":\"rerum\",\"provider\":\"ftp\",\"created_at\":\"2024-11-01T15:40:48.000000Z\",\"updated_at\":\"2024-11-01T15:40:48.000000Z\"}", + "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"velit\",\"provider\":\"s3\",\"created_at\":\"2025-01-30T22:42:49.000000Z\",\"updated_at\":\"2025-01-30T22:42:49.000000Z\"}", "name": "" } ] @@ -2855,7 +2910,7 @@ { "id": "storageProvider_id", "key": "storageProvider_id", - "value": "1", + "value": "3", "description": "The ID of the storageProvider." } ] @@ -2878,7 +2933,7 @@ { "header": [], "code": 204, - "body": "null", + "body": null, "name": "" } ] diff --git a/public/api-docs/index.html b/public/api-docs/index.html index aba20d2..a1d7c9a 100644 --- a/public/api-docs/index.html +++ b/public/api-docs/index.html @@ -31,9 +31,9 @@ var useCsrf = Boolean(); var csrfUrl = "/sanctum/csrf-cookie"; - + - + @@ -273,6 +273,9 @@
  • delete +
  • +
  • + load-balancer
  • @@ -345,7 +348,7 @@ @@ -384,7 +387,7 @@

    li
    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3/cron-jobs" \
    +    --get "https://your-vito-url/api/projects/1/servers/8/cron-jobs" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -392,7 +395,7 @@

    li
    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/cron-jobs';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/cron-jobs';
     $response = $client->get(
         $url,
         [
    @@ -409,7 +412,7 @@ 

    li
    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/cron-jobs"
    +    "https://your-vito-url/api/projects/1/servers/8/cron-jobs"
     );
     
     const headers = {
    @@ -587,10 +590,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    @@ -608,12 +611,12 @@

    c
    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/cron-jobs" \
    +    "https://your-vito-url/api/projects/1/servers/8/cron-jobs" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json" \
         --data "{
    -    \"command\": \"qui\",
    +    \"command\": \"itaque\",
         \"user\": \"root\",
         \"frequency\": \"* * * * *\"
     }"
    @@ -622,7 +625,7 @@ 

    c
    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/cron-jobs';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/cron-jobs';
     $response = $client->post(
         $url,
         [
    @@ -632,7 +635,7 @@ 

    c 'Accept' => 'application/json', ], 'json' => [ - 'command' => 'qui', + 'command' => 'itaque', 'user' => 'root', 'frequency' => '* * * * *', ], @@ -644,7 +647,7 @@

    c
    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/cron-jobs"
    +    "https://your-vito-url/api/projects/1/servers/8/cron-jobs"
     );
     
     const headers = {
    @@ -654,7 +657,7 @@ 

    c }; let body = { - "command": "qui", + "command": "itaque", "user": "root", "frequency": "* * * * *" }; @@ -783,10 +786,10 @@

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    Body Parameters

    @@ -795,10 +798,10 @@

    Body Parameters

     
    -

    Example: qui

    +

    Example: itaque

    user   @@ -840,7 +843,7 @@

    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3/cron-jobs/5" \
    +    --get "https://your-vito-url/api/projects/1/servers/8/cron-jobs/18" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"

    @@ -848,7 +851,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/cron-jobs/5';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/cron-jobs/18';
     $response = $client->get(
         $url,
         [
    @@ -865,7 +868,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/cron-jobs/5"
    +    "https://your-vito-url/api/projects/1/servers/8/cron-jobs/18"
     );
     
     const headers = {
    @@ -997,10 +1000,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    cronJob_id   @@ -1008,10 +1011,10 @@

    URL Parameters

     
    -

    The ID of the cronJob. Example: 5

    +

    The ID of the cronJob. Example: 18

    @@ -1029,7 +1032,7 @@

    curl --request DELETE \
    -    "https://your-vito-url/api/projects/1/servers/3/cron-jobs/5" \
    +    "https://your-vito-url/api/projects/1/servers/8/cron-jobs/10" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"

    @@ -1037,7 +1040,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/cron-jobs/5';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/cron-jobs/10';
     $response = $client->delete(
         $url,
         [
    @@ -1054,7 +1057,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/cron-jobs/5"
    +    "https://your-vito-url/api/projects/1/servers/8/cron-jobs/10"
     );
     
     const headers = {
    @@ -1176,10 +1179,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    cronJob_id   @@ -1187,10 +1190,10 @@

    URL Parameters

     
    -

    The ID of the cronJob. Example: 5

    +

    The ID of the cronJob. Example: 10

    @@ -1212,7 +1215,7 @@

    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3/database-users" \
    +    --get "https://your-vito-url/api/projects/1/servers/8/database-users" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -1220,7 +1223,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/database-users';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/database-users';
     $response = $client->get(
         $url,
         [
    @@ -1237,7 +1240,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/database-users"
    +    "https://your-vito-url/api/projects/1/servers/8/database-users"
     );
     
     const headers = {
    @@ -1264,7 +1267,7 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    @@ -1436,13 +1439,13 @@

    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/database-users" \
    +    "https://your-vito-url/api/projects/1/servers/8/database-users" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json" \
         --data "{
    -    \"username\": \"dignissimos\",
    -    \"password\": \"OK+XEG2)\",
    +    \"username\": \"consequuntur\",
    +    \"password\": \"fI\\/i2.O4u&dla?eXvR2\",
         \"host\": \"%\"
     }"
     
    @@ -1450,7 +1453,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/database-users';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/database-users';
     $response = $client->post(
         $url,
         [
    @@ -1460,8 +1463,8 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/database-users"
    +    "https://your-vito-url/api/projects/1/servers/8/database-users"
     );
     
     const headers = {
    @@ -1482,8 +1485,8 @@ 

    { "id": null, "server_id": null, - "username": "amya.nitzsche", + "username": "kari.farrell", "databases": [], "host": "%", "status": null, @@ -1611,10 +1614,10 @@

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    Body Parameters

    @@ -1623,10 +1626,10 @@

    Body Parameters

     
    -

    Example: dignissimos

    +

    Example: consequuntur

    password   @@ -1634,10 +1637,10 @@

    Body Parameters

     
    -

    Example: OK+XEG2)

    +

    Example: fI/i2.O4u&dla?eXvR2

    host   @@ -1666,7 +1669,7 @@

    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3/database-users/4" \
    +    --get "https://your-vito-url/api/projects/1/servers/8/database-users/18" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"

    @@ -1674,7 +1677,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/database-users/4';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/database-users/18';
     $response = $client->get(
         $url,
         [
    @@ -1691,7 +1694,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/database-users/4"
    +    "https://your-vito-url/api/projects/1/servers/8/database-users/18"
     );
     
     const headers = {
    @@ -1716,7 +1719,7 @@ 

    { "id": null, "server_id": null, - "username": "bergstrom.ericka", + "username": "caterina.mosciski", "databases": [], "host": "%", "status": null, @@ -1823,10 +1826,10 @@

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    databaseUser_id   @@ -1834,10 +1837,10 @@

    URL Parameters

     
    -

    The ID of the databaseUser. Example: 4

    +

    The ID of the databaseUser. Example: 18

    @@ -1855,19 +1858,19 @@

    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/database-users/4/link" \
    +    "https://your-vito-url/api/projects/1/servers/8/database-users/4/link" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json" \
         --data "{
    -    \"databases\": \"accusantium\"
    +    \"databases\": \"non\"
     }"
     
    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/database-users/4/link';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/database-users/4/link';
     $response = $client->post(
         $url,
         [
    @@ -1877,7 +1880,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/database-users/4/link"
    +    "https://your-vito-url/api/projects/1/servers/8/database-users/4/link"
     );
     
     const headers = {
    @@ -1897,7 +1900,7 @@ 

    { "id": null, "server_id": null, - "username": "fmurray", + "username": "kurtis05", "databases": [], "host": "%", "status": null, @@ -2024,10 +2027,10 @@

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    databaseUser_id   @@ -2047,10 +2050,10 @@

    Body Parameters

     
    -

    Array of database names to link to the user. Example: accusantium

    +

    Array of database names to link to the user. Example: non

    @@ -2068,7 +2071,7 @@

    curl --request DELETE \
    -    "https://your-vito-url/api/projects/1/servers/3/database-users/4" \
    +    "https://your-vito-url/api/projects/1/servers/8/database-users/6" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -2076,7 +2079,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/database-users/4';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/database-users/6';
     $response = $client->delete(
         $url,
         [
    @@ -2093,7 +2096,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/database-users/4"
    +    "https://your-vito-url/api/projects/1/servers/8/database-users/6"
     );
     
     const headers = {
    @@ -2215,10 +2218,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    databaseUser_id   @@ -2226,10 +2229,10 @@

    URL Parameters

     
    -

    The ID of the databaseUser. Example: 4

    +

    The ID of the databaseUser. Example: 6

    @@ -2251,7 +2254,7 @@

    li
    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3/databases" \
    +    --get "https://your-vito-url/api/projects/1/servers/8/databases" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -2259,7 +2262,7 @@

    li
    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/databases';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/databases';
     $response = $client->get(
         $url,
         [
    @@ -2276,7 +2279,7 @@ 

    li
    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/databases"
    +    "https://your-vito-url/api/projects/1/servers/8/databases"
     );
     
     const headers = {
    @@ -2303,7 +2306,7 @@ 

    li { "id": null, "server_id": null, - "name": "clockman", + "name": "amalia38", "status": "ready", "created_at": null, "updated_at": null @@ -2311,7 +2314,7 @@

    li { "id": null, "server_id": null, - "name": "wvonrueden", + "name": "troy.rippin", "status": "ready", "created_at": null, "updated_at": null @@ -2450,10 +2453,10 @@

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    @@ -2471,19 +2474,19 @@

    c
    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/databases" \
    +    "https://your-vito-url/api/projects/1/servers/8/databases" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json" \
         --data "{
    -    \"name\": \"nesciunt\"
    +    \"name\": \"et\"
     }"
     
    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/databases';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/databases';
     $response = $client->post(
         $url,
         [
    @@ -2493,7 +2496,7 @@ 

    c 'Accept' => 'application/json', ], 'json' => [ - 'name' => 'nesciunt', + 'name' => 'et', ], ] ); @@ -2503,7 +2506,7 @@

    c
    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/databases"
    +    "https://your-vito-url/api/projects/1/servers/8/databases"
     );
     
     const headers = {
    @@ -2513,7 +2516,7 @@ 

    c }; let body = { - "name": "nesciunt" + "name": "et" }; fetch(url, { @@ -2533,7 +2536,7 @@

    c { "id": null, "server_id": null, - "name": "johanna76", + "name": "harvey.haskell", "status": "ready", "created_at": null, "updated_at": null @@ -2638,10 +2641,10 @@

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    Body Parameters

    @@ -2650,10 +2653,10 @@

    Body Parameters

     
    -

    Example: nesciunt

    +

    Example: et

    @@ -2671,7 +2674,7 @@

    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3/databases/6" \
    +    --get "https://your-vito-url/api/projects/1/servers/8/databases/19" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"

    @@ -2679,7 +2682,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/databases/6';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/databases/19';
     $response = $client->get(
         $url,
         [
    @@ -2696,7 +2699,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/databases/6"
    +    "https://your-vito-url/api/projects/1/servers/8/databases/19"
     );
     
     const headers = {
    @@ -2721,7 +2724,7 @@ 

    { "id": null, "server_id": null, - "name": "chloe.huel", + "name": "ruthie.koepp", "status": "ready", "created_at": null, "updated_at": null @@ -2826,10 +2829,10 @@

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    id   @@ -2837,10 +2840,10 @@

    URL Parameters

     
    -

    The ID of the database. Example: 6

    +

    The ID of the database. Example: 19

    @@ -2858,7 +2861,7 @@

    curl --request DELETE \
    -    "https://your-vito-url/api/projects/1/servers/3/databases/6" \
    +    "https://your-vito-url/api/projects/1/servers/8/databases/15" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -2866,7 +2869,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/databases/6';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/databases/15';
     $response = $client->delete(
         $url,
         [
    @@ -2883,7 +2886,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/databases/6"
    +    "https://your-vito-url/api/projects/1/servers/8/databases/15"
     );
     
     const headers = {
    @@ -3005,10 +3008,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    database_id   @@ -3016,10 +3019,10 @@

    URL Parameters

     
    -

    The ID of the database. Example: 6

    +

    The ID of the database. Example: 15

    @@ -3041,7 +3044,7 @@

    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3/firewall-rules" \
    +    --get "https://your-vito-url/api/projects/1/servers/8/firewall-rules" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -3049,7 +3052,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/firewall-rules';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/firewall-rules';
     $response = $client->get(
         $url,
         [
    @@ -3066,7 +3069,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/firewall-rules"
    +    "https://your-vito-url/api/projects/1/servers/8/firewall-rules"
     );
     
     const headers = {
    @@ -3095,8 +3098,8 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    @@ -3271,15 +3274,15 @@

    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/firewall-rules" \
    +    "https://your-vito-url/api/projects/1/servers/8/firewall-rules" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json" \
         --data "{
    -    \"type\": \"allow\",
    +    \"type\": \"deny\",
         \"protocol\": \"udp\",
    -    \"port\": \"voluptates\",
    -    \"source\": \"saepe\",
    +    \"port\": \"et\",
    +    \"source\": \"voluptates\",
         \"mask\": \"0\"
     }"
     
    @@ -3287,7 +3290,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/firewall-rules';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/firewall-rules';
     $response = $client->post(
         $url,
         [
    @@ -3297,10 +3300,10 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/firewall-rules"
    +    "https://your-vito-url/api/projects/1/servers/8/firewall-rules"
     );
     
     const headers = {
    @@ -3321,10 +3324,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    Body Parameters

    @@ -3467,10 +3470,10 @@

    Body Parameters

     
    -

    Example: allow

    +

    Example: deny

    Must be one of:
    • allow
    • deny
    @@ -3493,10 +3496,10 @@

    Body Parameters

     
    -

    Example: voluptates

    +

    Example: et

    source   @@ -3504,10 +3507,10 @@

    Body Parameters

     
    -

    Example: saepe

    +

    Example: voluptates

    mask   @@ -3536,7 +3539,7 @@

    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3/firewall-rules/7" \
    +    --get "https://your-vito-url/api/projects/1/servers/8/firewall-rules/29" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"

    @@ -3544,7 +3547,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/firewall-rules/7';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/firewall-rules/29';
     $response = $client->get(
         $url,
         [
    @@ -3561,7 +3564,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/firewall-rules/7"
    +    "https://your-vito-url/api/projects/1/servers/8/firewall-rules/29"
     );
     
     const headers = {
    @@ -3588,8 +3591,8 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    firewallRule_id   @@ -3707,10 +3710,10 @@

    URL Parameters

     
    -

    The ID of the firewallRule. Example: 7

    +

    The ID of the firewallRule. Example: 29

    @@ -3728,7 +3731,7 @@

    curl --request DELETE \
    -    "https://your-vito-url/api/projects/1/servers/3/firewall-rules/7" \
    +    "https://your-vito-url/api/projects/1/servers/8/firewall-rules/29" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -3736,7 +3739,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/firewall-rules/7';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/firewall-rules/29';
     $response = $client->delete(
         $url,
         [
    @@ -3753,7 +3756,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/firewall-rules/7"
    +    "https://your-vito-url/api/projects/1/servers/8/firewall-rules/29"
     );
     
     const headers = {
    @@ -3875,10 +3878,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    firewallRule_id   @@ -3886,10 +3889,10 @@

    URL Parameters

     
    -

    The ID of the firewallRule. Example: 7

    +

    The ID of the firewallRule. Example: 29

    @@ -3965,7 +3968,7 @@

    health-check

    { "success": true, - "version": "2.0.0" + "version": "2.1.0" }
    @@ -4108,16 +4111,16 @@

    list

    { "data": [ { - "id": 29, - "name": "Zachary Lueilwitz", - "created_at": "2024-11-01T15:40:48.000000Z", - "updated_at": "2024-11-01T15:40:48.000000Z" + "id": 3, + "name": "Jeffry Dickinson", + "created_at": "2025-01-30T22:42:49.000000Z", + "updated_at": "2025-01-30T22:42:49.000000Z" }, { - "id": 30, - "name": "Mrs. Kiarra Heller IV", - "created_at": "2024-11-01T15:40:48.000000Z", - "updated_at": "2024-11-01T15:40:48.000000Z" + "id": 4, + "name": "Miss Tianna Dietrich PhD", + "created_at": "2025-01-30T22:42:49.000000Z", + "updated_at": "2025-01-30T22:42:49.000000Z" } ], "links": { @@ -4311,10 +4314,10 @@

    create

     
     {
    -    "id": 29,
    -    "name": "Hershel Spinka",
    -    "created_at": "2024-11-01T15:40:48.000000Z",
    -    "updated_at": "2024-11-01T15:40:48.000000Z"
    +    "id": 3,
    +    "name": "Isidro Franecki",
    +    "created_at": "2025-01-30T22:42:49.000000Z",
    +    "updated_at": "2025-01-30T22:42:49.000000Z"
     }
      
    @@ -4474,10 +4477,10 @@

    show

     
     {
    -    "id": 29,
    -    "name": "Emery Kiehn",
    -    "created_at": "2024-11-01T15:40:48.000000Z",
    -    "updated_at": "2024-11-01T15:40:48.000000Z"
    +    "id": 3,
    +    "name": "Rhoda Parisian",
    +    "created_at": "2025-01-30T22:42:49.000000Z",
    +    "updated_at": "2025-01-30T22:42:49.000000Z"
     }
      
    @@ -4594,7 +4597,7 @@

    update

    --header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ - \"name\": \"ut\" + \"name\": \"ullam\" }"

    @@ -4611,7 +4614,7 @@

    update

    'Accept' => 'application/json', ], 'json' => [ - 'name' => 'ut', + 'name' => 'ullam', ], ] ); @@ -4631,7 +4634,7 @@

    update

    }; let body = { - "name": "ut" + "name": "ullam" }; fetch(url, { @@ -4649,10 +4652,10 @@

    update

     
     {
    -    "id": 29,
    -    "name": "Mable Prohaska",
    -    "created_at": "2024-11-01T15:40:48.000000Z",
    -    "updated_at": "2024-11-01T15:40:48.000000Z"
    +    "id": 3,
    +    "name": "Mr. Dashawn Jacobson Sr.",
    +    "created_at": "2025-01-30T22:42:49.000000Z",
    +    "updated_at": "2025-01-30T22:42:49.000000Z"
     }
      
    @@ -4755,10 +4758,10 @@

    Body Parameters

     
    -

    The name of the project. Example: ut

    +

    The name of the project. Example: ullam

    @@ -4990,19 +4993,19 @@

    list

    create< --header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ - \"provider\": \"autem\", - \"name\": \"enim\", - \"token\": \"culpa\", - \"key\": \"sit\", - \"secret\": \"voluptates\" + \"provider\": \"voluptatem\", + \"name\": \"repellat\", + \"token\": \"omnis\", + \"key\": \"recusandae\", + \"secret\": \"in\" }"

    @@ -5174,11 +5177,11 @@

    create< 'Accept' => 'application/json', ], 'json' => [ - 'provider' => 'autem', - 'name' => 'enim', - 'token' => 'culpa', - 'key' => 'sit', - 'secret' => 'voluptates', + 'provider' => 'voluptatem', + 'name' => 'repellat', + 'token' => 'omnis', + 'key' => 'recusandae', + 'secret' => 'in', ], ] ); @@ -5198,11 +5201,11 @@

    create< }; let body = { - "provider": "autem", - "name": "enim", - "token": "culpa", - "key": "sit", - "secret": "voluptates" + "provider": "voluptatem", + "name": "repellat", + "token": "omnis", + "key": "recusandae", + "secret": "in" }; fetch(url, { @@ -5223,10 +5226,10 @@

    create< "id": 2, "project_id": null, "global": true, - "name": "eligendi", - "provider": "aws", - "created_at": "2024-11-01T15:40:48.000000Z", - "updated_at": "2024-11-01T15:40:48.000000Z" + "name": "quia", + "provider": "vultr", + "created_at": "2025-01-30T22:42:49.000000Z", + "updated_at": "2025-01-30T22:42:49.000000Z" }

    @@ -5329,10 +5332,10 @@

    Body Parameters

     
    -

    The provider (aws, linode, hetzner, digitalocean, vultr, ...) Example: autem

    +

    The provider (aws, linode, hetzner, digitalocean, vultr, ...) Example: voluptatem

    name   @@ -5340,10 +5343,10 @@

    Body Parameters

     
    -

    The name of the server provider. Example: enim

    +

    The name of the server provider. Example: repellat

    token   @@ -5351,10 +5354,10 @@

    Body Parameters

     
    -

    The token if provider requires api token Example: culpa

    +

    The token if provider requires api token Example: omnis

    key   @@ -5362,10 +5365,10 @@

    Body Parameters

     
    -

    The key if provider requires key Example: sit

    +

    The key if provider requires key Example: recusandae

    secret   @@ -5373,10 +5376,10 @@

    Body Parameters

     
    -

    The secret if provider requires key Example: voluptates

    +

    The secret if provider requires key Example: in

    @@ -5445,10 +5448,10 @@

    @@ -5594,8 +5597,8 @@

    Body Parameters

     
    -

    The name of the server provider. Example: minus

    +

    The name of the server provider. Example: est

    global   @@ -5768,7 +5771,7 @@

    Body Parameters

    value="" data-component="body">
    -

    Accessible in all projects Example: false

    +

    Accessible in all projects Example: true

    Must be one of:
    • 1
    @@ -6014,10 +6017,10 @@

    list

    "project_id": null, "user_id": null, "provider_id": null, - "name": "Dorthy Toy", + "name": "Amina DuBuque", "ssh_user": "vito", - "ip": "172.132.95.155", - "local_ip": "118.57.197.65", + "ip": "163.77.69.73", + "local_ip": "137.139.200.70", "port": 22, "os": "ubuntu_22", "type": "regular", @@ -6041,10 +6044,10 @@

    list

    "project_id": null, "user_id": null, "provider_id": null, - "name": "Carrie Sporer", + "name": "Floy Cummerata", "ssh_user": "vito", - "ip": "184.242.162.173", - "local_ip": "135.244.50.22", + "ip": "62.53.140.25", + "local_ip": "34.59.35.195", "port": 22, "os": "ubuntu_22", "type": "regular", @@ -6212,18 +6215,17 @@

    create

    --header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ - \"provider\": \"et\", - \"server_provider\": \"digitalocean\", - \"region\": \"inventore\", - \"plan\": \"atque\", - \"ip\": \"quam\", - \"port\": \"nemo\", - \"name\": \"perspiciatis\", - \"os\": \"similique\", - \"type\": \"regular\", + \"provider\": \"iste\", + \"server_provider\": \"custom\", + \"region\": \"libero\", + \"plan\": \"ut\", + \"ip\": \"molestias\", + \"port\": \"laudantium\", + \"name\": \"illum\", + \"os\": \"autem\", \"webserver\": \"none\", - \"database\": \"none\", - \"php\": \"8.1\" + \"database\": \"postgresql12\", + \"php\": \"7.4\" }"

    @@ -6240,18 +6242,17 @@

    create

    'Accept' => 'application/json', ], 'json' => [ - 'provider' => 'et', - 'server_provider' => 'digitalocean', - 'region' => 'inventore', - 'plan' => 'atque', - 'ip' => 'quam', - 'port' => 'nemo', - 'name' => 'perspiciatis', - 'os' => 'similique', - 'type' => 'regular', + 'provider' => 'iste', + 'server_provider' => 'custom', + 'region' => 'libero', + 'plan' => 'ut', + 'ip' => 'molestias', + 'port' => 'laudantium', + 'name' => 'illum', + 'os' => 'autem', 'webserver' => 'none', - 'database' => 'none', - 'php' => '8.1', + 'database' => 'postgresql12', + 'php' => '7.4', ], ] ); @@ -6271,18 +6272,17 @@

    create

    }; let body = { - "provider": "et", - "server_provider": "digitalocean", - "region": "inventore", - "plan": "atque", - "ip": "quam", - "port": "nemo", - "name": "perspiciatis", - "os": "similique", - "type": "regular", + "provider": "iste", + "server_provider": "custom", + "region": "libero", + "plan": "ut", + "ip": "molestias", + "port": "laudantium", + "name": "illum", + "os": "autem", "webserver": "none", - "database": "none", - "php": "8.1" + "database": "postgresql12", + "php": "7.4" }; fetch(url, { @@ -6304,10 +6304,10 @@

    create

    "project_id": null, "user_id": null, "provider_id": null, - "name": "Flo Beer PhD", + "name": "Archibald Nolan", "ssh_user": "vito", - "ip": "168.238.14.230", - "local_ip": "40.232.73.41", + "ip": "226.168.13.177", + "local_ip": "143.14.43.182", "port": 22, "os": "ubuntu_22", "type": "regular", @@ -6427,10 +6427,10 @@

    Body Parameters

     
    -

    The server provider type Example: et

    +

    The server provider type Example: iste

    server_provider   @@ -6438,10 +6438,10 @@

    Body Parameters

     
    -

    If the provider is not custom, the ID of the server provider profile Example: digitalocean

    +

    If the provider is not custom, the ID of the server provider profile Example: custom

    Must be one of:
    • custom
    • hetzner
    • digitalocean
    • linode
    • vultr
    @@ -6451,10 +6451,10 @@

    Body Parameters

     
    -

    Provider region if the provider is not custom Example: inventore

    +

    Provider region if the provider is not custom Example: libero

    plan   @@ -6462,10 +6462,10 @@

    Body Parameters

     
    -

    Provider plan if the provider is not custom Example: atque

    +

    Provider plan if the provider is not custom Example: ut

    ip   @@ -6473,10 +6473,10 @@

    Body Parameters

     
    -

    SSH IP address if the provider is custom Example: quam

    +

    SSH IP address if the provider is custom Example: molestias

    port   @@ -6484,10 +6484,10 @@

    Body Parameters

     
    -

    SSH Port if the provider is custom Example: nemo

    +

    SSH Port if the provider is custom Example: laudantium

    name   @@ -6495,10 +6495,10 @@

    Body Parameters

     
    -

    The name of the server. Example: perspiciatis

    +

    The name of the server. Example: illum

    os   @@ -6506,23 +6506,10 @@

    Body Parameters

     
    -

    The os of the server Example: similique

    -
    -
    - type   -string  -   - -
    -

    Server type Example: regular

    -Must be one of: -
    • regular
    • database
    +

    The os of the server Example: autem

    webserver   @@ -6543,10 +6530,10 @@

    Body Parameters

     
    -

    Database Example: none

    +

    Database Example: postgresql12

    Must be one of:
    • none
    • mysql57
    • mysql80
    • mariadb103
    • mariadb104
    • mariadb103
    • postgresql12
    • postgresql13
    • postgresql14
    • postgresql15
    • postgresql16
    @@ -6556,10 +6543,10 @@

    Body Parameters

     
    -

    PHP version Example: 8.1

    +

    PHP version Example: 7.4

    Must be one of:
    • 7.0
    • 7.1
    • 7.2
    • 7.3
    • 7.4
    • 8.0
    • 8.1
    • 8.2
    • 8.3
    @@ -6579,7 +6566,7 @@

    show

    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3" \
    +    --get "https://your-vito-url/api/projects/1/servers/8" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -6587,7 +6574,7 @@

    show

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3';
    +$url = 'https://your-vito-url/api/projects/1/servers/8';
     $response = $client->get(
         $url,
         [
    @@ -6604,7 +6591,7 @@ 

    show

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3"
    +    "https://your-vito-url/api/projects/1/servers/8"
     );
     
     const headers = {
    @@ -6631,10 +6618,10 @@ 

    show

    "project_id": null, "user_id": null, "provider_id": null, - "name": "Stephany Ankunding", + "name": "Tevin Sipes", "ssh_user": "vito", - "ip": "145.28.94.46", - "local_ip": "69.133.44.100", + "ip": "61.41.183.152", + "local_ip": "197.160.239.147", "port": 22, "os": "ubuntu_22", "type": "regular", @@ -6753,10 +6740,10 @@

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    @@ -6774,7 +6761,7 @@

    reboot
    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/reboot" \
    +    "https://your-vito-url/api/projects/1/servers/8/reboot" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -6782,7 +6769,7 @@

    reboot
    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/reboot';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/reboot';
     $response = $client->post(
         $url,
         [
    @@ -6799,7 +6786,7 @@ 

    reboot
    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/reboot"
    +    "https://your-vito-url/api/projects/1/servers/8/reboot"
     );
     
     const headers = {
    @@ -6921,10 +6908,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    @@ -6942,7 +6929,7 @@

    upgra
    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/upgrade" \
    +    "https://your-vito-url/api/projects/1/servers/8/upgrade" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -6950,7 +6937,7 @@

    upgra
    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/upgrade';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/upgrade';
     $response = $client->post(
         $url,
         [
    @@ -6967,7 +6954,7 @@ 

    upgra
    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/upgrade"
    +    "https://your-vito-url/api/projects/1/servers/8/upgrade"
     );
     
     const headers = {
    @@ -7089,10 +7076,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    @@ -7110,7 +7097,7 @@

    delete

    curl --request DELETE \
    -    "https://your-vito-url/api/projects/1/servers/3" \
    +    "https://your-vito-url/api/projects/1/servers/8" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -7118,7 +7105,7 @@

    delete

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3';
    +$url = 'https://your-vito-url/api/projects/1/servers/8';
     $response = $client->delete(
         $url,
         [
    @@ -7135,7 +7122,7 @@ 

    delete

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3"
    +    "https://your-vito-url/api/projects/1/servers/8"
     );
     
     const headers = {
    @@ -7257,10 +7244,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    @@ -7282,7 +7269,7 @@

    list
    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3/services" \
    +    --get "https://your-vito-url/api/projects/1/servers/8/services" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -7290,7 +7277,7 @@

    list
    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/services';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/services';
     $response = $client->get(
         $url,
         [
    @@ -7307,7 +7294,7 @@ 

    list
    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/services"
    +    "https://your-vito-url/api/projects/1/servers/8/services"
     );
     
     const headers = {
    @@ -7491,10 +7478,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    @@ -7512,7 +7499,7 @@

    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3/services/27" \
    +    --get "https://your-vito-url/api/projects/1/servers/8/services/53" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"

    @@ -7520,7 +7507,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/services/27';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/services/53';
     $response = $client->get(
         $url,
         [
    @@ -7537,7 +7524,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/services/27"
    +    "https://your-vito-url/api/projects/1/servers/8/services/53"
     );
     
     const headers = {
    @@ -7672,10 +7659,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    id   @@ -7683,10 +7670,10 @@

    URL Parameters

     
    -

    The ID of the service. Example: 27

    +

    The ID of the service. Example: 53

    @@ -7704,7 +7691,7 @@

    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/services/27/start" \
    +    "https://your-vito-url/api/projects/1/servers/8/services/53/start" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"

    @@ -7712,7 +7699,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/services/27/start';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/services/53/start';
     $response = $client->post(
         $url,
         [
    @@ -7729,7 +7716,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/services/27/start"
    +    "https://your-vito-url/api/projects/1/servers/8/services/53/start"
     );
     
     const headers = {
    @@ -7851,10 +7838,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    service_id   @@ -7862,10 +7849,10 @@

    URL Parameters

     
    -

    The ID of the service. Example: 27

    +

    The ID of the service. Example: 53

    @@ -7883,7 +7870,7 @@

    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/services/27/stop" \
    +    "https://your-vito-url/api/projects/1/servers/8/services/53/stop" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"

    @@ -7891,7 +7878,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/services/27/stop';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/services/53/stop';
     $response = $client->post(
         $url,
         [
    @@ -7908,7 +7895,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/services/27/stop"
    +    "https://your-vito-url/api/projects/1/servers/8/services/53/stop"
     );
     
     const headers = {
    @@ -8030,10 +8017,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    service_id   @@ -8041,10 +8028,10 @@

    URL Parameters

     
    -

    The ID of the service. Example: 27

    +

    The ID of the service. Example: 53

    @@ -8062,7 +8049,7 @@

    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/services/27/restart" \
    +    "https://your-vito-url/api/projects/1/servers/8/services/53/restart" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -8070,7 +8057,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/services/27/restart';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/services/53/restart';
     $response = $client->post(
         $url,
         [
    @@ -8087,7 +8074,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/services/27/restart"
    +    "https://your-vito-url/api/projects/1/servers/8/services/53/restart"
     );
     
     const headers = {
    @@ -8209,10 +8196,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    service_id   @@ -8220,10 +8207,10 @@

    URL Parameters

     
    -

    The ID of the service. Example: 27

    +

    The ID of the service. Example: 53

    @@ -8241,7 +8228,7 @@

    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/services/27/enable" \
    +    "https://your-vito-url/api/projects/1/servers/8/services/53/enable" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -8249,7 +8236,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/services/27/enable';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/services/53/enable';
     $response = $client->post(
         $url,
         [
    @@ -8266,7 +8253,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/services/27/enable"
    +    "https://your-vito-url/api/projects/1/servers/8/services/53/enable"
     );
     
     const headers = {
    @@ -8388,10 +8375,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    service_id   @@ -8399,10 +8386,10 @@

    URL Parameters

     
    -

    The ID of the service. Example: 27

    +

    The ID of the service. Example: 53

    @@ -8420,7 +8407,7 @@

    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/services/27/disable" \
    +    "https://your-vito-url/api/projects/1/servers/8/services/53/disable" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -8428,7 +8415,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/services/27/disable';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/services/53/disable';
     $response = $client->post(
         $url,
         [
    @@ -8445,7 +8432,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/services/27/disable"
    +    "https://your-vito-url/api/projects/1/servers/8/services/53/disable"
     );
     
     const headers = {
    @@ -8567,10 +8554,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    service_id   @@ -8578,10 +8565,10 @@

    URL Parameters

     
    -

    The ID of the service. Example: 27

    +

    The ID of the service. Example: 53

    @@ -8599,7 +8586,7 @@

    curl --request DELETE \
    -    "https://your-vito-url/api/projects/1/servers/3/services/27" \
    +    "https://your-vito-url/api/projects/1/servers/8/services/53" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -8607,7 +8594,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/services/27';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/services/53';
     $response = $client->delete(
         $url,
         [
    @@ -8624,7 +8611,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/services/27"
    +    "https://your-vito-url/api/projects/1/servers/8/services/53"
     );
     
     const headers = {
    @@ -8746,10 +8733,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    service_id   @@ -8757,10 +8744,10 @@

    URL Parameters

     
    -

    The ID of the service. Example: 27

    +

    The ID of the service. Example: 53

    @@ -8782,7 +8769,7 @@

    list

    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3/sites" \
    +    --get "https://your-vito-url/api/projects/1/servers/8/sites" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -8790,7 +8777,7 @@

    list

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/sites';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/sites';
     $response = $client->get(
         $url,
         [
    @@ -8807,7 +8794,7 @@ 

    list

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/sites"
    +    "https://your-vito-url/api/projects/1/servers/8/sites"
     );
     
     const headers = {
    @@ -8846,6 +8833,7 @@ 

    list

    "branch": "main", "status": "ready", "port": null, + "user": "vito", "progress": 100, "created_at": null, "updated_at": null @@ -8865,6 +8853,7 @@

    list

    "branch": "main", "status": "ready", "port": null, + "user": "vito", "progress": 100, "created_at": null, "updated_at": null @@ -9003,10 +8992,10 @@

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    @@ -9024,30 +9013,32 @@

    create
    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/sites" \
    +    "https://your-vito-url/api/projects/1/servers/8/sites" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json" \
         --data "{
    -    \"type\": \"wordpress\",
    -    \"domain\": \"quo\",
    +    \"type\": \"php\",
    +    \"domain\": \"rem\",
         \"aliases\": [
    -        \"dolorum\"
    +        \"libero\"
         ],
         \"php_version\": \"7.4\",
         \"web_directory\": \"public\",
    -    \"source_control\": \"explicabo\",
    +    \"source_control\": \"dolor\",
         \"repository\": \"organization\\/repository\",
         \"branch\": \"main\",
         \"composer\": true,
    -    \"version\": \"5.2.1\"
    +    \"version\": \"5.2.1\",
    +    \"user\": \"vitae\",
    +    \"method\": \"ip-hash\"
     }"
     

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/sites';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/sites';
     $response = $client->post(
         $url,
         [
    @@ -9057,18 +9048,20 @@ 

    createcreate
    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/sites"
    +    "https://your-vito-url/api/projects/1/servers/8/sites"
     );
     
     const headers = {
    @@ -9088,18 +9081,20 @@ 

    createcreateURL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    Body Parameters

    @@ -9247,12 +9243,12 @@

    Body Parameters

     
    -

    Example: wordpress

    +

    Example: php

    Must be one of: -
    • php
    • php-blank
    • phpmyadmin
    • laravel
    • wordpress
    +
    • php
    • php-blank
    • phpmyadmin
    • laravel
    • wordpress
    • load-balancer
    domain   @@ -9260,10 +9256,10 @@

    Body Parameters

     
    -

    Example: quo

    +

    Example: rem

    aliases   @@ -9306,10 +9302,10 @@

    Body Parameters

     
    -

    Source control ID, Required for Sites which support source control Example: explicabo

    +

    Source control ID, Required for Sites which support source control Example: dolor

    repository   @@ -9364,6 +9360,30 @@

    Body Parameters

    data-component="body">

    Version, if the site type requires a version like PHPMyAdmin Example: 5.2.1

    +
    +
    + user   +string  +   + +
    +

    user, to isolate the website under a new user Example: vitae

    +
    +
    + method   +string  +   + +
    +

    Load balancer method, Required if the site type is Load balancer Example: ip-hash

    +Must be one of: +
    • round-robin
    • least-connections
    • ip-hash
    @@ -9381,7 +9401,7 @@

    show<
    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3/sites/8" \
    +    --get "https://your-vito-url/api/projects/1/servers/8/sites/26" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -9389,7 +9409,7 @@

    show<
    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/sites/8';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/sites/26';
     $response = $client->get(
         $url,
         [
    @@ -9406,7 +9426,7 @@ 

    show<
    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/sites/8"
    +    "https://your-vito-url/api/projects/1/servers/8/sites/26"
     );
     
     const headers = {
    @@ -9443,6 +9463,7 @@ 

    show< "branch": "main", "status": "ready", "port": null, + "user": "vito", "progress": 100, "created_at": null, "updated_at": null @@ -9547,10 +9568,10 @@

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    id   @@ -9558,10 +9579,10 @@

    URL Parameters

     
    -

    The ID of the site. Example: 8

    +

    The ID of the site. Example: 26

    @@ -9579,7 +9600,7 @@

    curl --request DELETE \
    -    "https://your-vito-url/api/projects/1/servers/3/sites/8" \
    +    "https://your-vito-url/api/projects/1/servers/8/sites/26" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"

    @@ -9587,7 +9608,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/sites/8';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/sites/26';
     $response = $client->delete(
         $url,
         [
    @@ -9604,7 +9625,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/sites/8"
    +    "https://your-vito-url/api/projects/1/servers/8/sites/26"
     );
     
     const headers = {
    @@ -9726,10 +9747,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    site_id   @@ -9737,12 +9758,240 @@

    URL Parameters

      +
    +

    The ID of the site. Example: 26

    +
    + + +

    load-balancer

    + +

    +requires authentication +

    + +

    Update load balancer.

    + + +
    Example request:
    + + +
    +
    curl --request POST \
    +    "https://your-vito-url/api/projects/1/servers/8/sites/26/load-balancer" \
    +    --header "Authorization: Bearer YOUR-API-KEY" \
    +    --header "Content-Type: application/json" \
    +    --header "Accept: application/json" \
    +    --data "{
    +    \"method\": \"least-connections\",
    +    \"servers\": [
    +        \"deleniti\"
    +    ]
    +}"
    +
    + + +
    +
    $client = new \GuzzleHttp\Client();
    +$url = 'https://your-vito-url/api/projects/1/servers/8/sites/26/load-balancer';
    +$response = $client->post(
    +    $url,
    +    [
    +        'headers' => [
    +            'Authorization' => 'Bearer YOUR-API-KEY',
    +            'Content-Type' => 'application/json',
    +            'Accept' => 'application/json',
    +        ],
    +        'json' => [
    +            'method' => 'least-connections',
    +            'servers' => [
    +                'deleniti',
    +            ],
    +        ],
    +    ]
    +);
    +$body = $response->getBody();
    +print_r(json_decode((string) $body));
    + + +
    +
    const url = new URL(
    +    "https://your-vito-url/api/projects/1/servers/8/sites/26/load-balancer"
    +);
    +
    +const headers = {
    +    "Authorization": "Bearer YOUR-API-KEY",
    +    "Content-Type": "application/json",
    +    "Accept": "application/json",
    +};
    +
    +let body = {
    +    "method": "least-connections",
    +    "servers": [
    +        "deleniti"
    +    ]
    +};
    +
    +fetch(url, {
    +    method: "POST",
    +    headers,
    +    body: JSON.stringify(body),
    +}).then(response => response.json());
    + +
    + + +
    +

    Example response (200):

    +
    +
    +
    +
    + 
    +
    + + +
    +

    + Request    + +    + +

    +

    + POST + api/projects/{project_id}/servers/{server_id}/sites/{site_id}/load-balancer +

    +

    Headers

    +
    + Authorization   +  +   + +
    +

    Example: Bearer YOUR-API-KEY

    +
    +
    + Content-Type   +  +   + +
    +

    Example: application/json

    +
    +
    + Accept   +  +   + +
    +

    Example: application/json

    +
    +

    URL Parameters

    +
    + project_id   +integer  +   + +
    +

    The ID of the project. Example: 1

    +
    +
    + server_id   +integer  +   +
    -

    The ID of the site. Example: 8

    +

    The ID of the server. Example: 8

    -
    +
    + site_id   +integer  +   + +
    +

    The ID of the site. Example: 26

    +
    +

    Body Parameters

    +
    + method   +string  +   + +
    +

    Load balancer method, Required if the site type is Load balancer Example: least-connections

    +Must be one of: +
    • round-robin
    • least-connections
    • ip-hash
    +
    +
    + servers   +string[]  +   + + +
    +

    Array of servers including server, port, weight, backup. (server is the local IP of the server)

    +
    +

    source-controls

    @@ -9815,19 +10064,19 @@

    list

    "id": 5, "project_id": null, "global": true, - "name": "Jaiden Kling", + "name": "Mr. Reuben Schimmel", "provider": "github", - "created_at": "2024-11-01T15:40:48.000000Z", - "updated_at": "2024-11-01T15:40:48.000000Z" + "created_at": "2025-01-30T22:42:49.000000Z", + "updated_at": "2025-01-30T22:42:49.000000Z" }, { "id": 6, "project_id": null, "global": true, - "name": "Ms. Brianne Bosco", + "name": "Ms. Brandy Mraz V", "provider": "github", - "created_at": "2024-11-01T15:40:48.000000Z", - "updated_at": "2024-11-01T15:40:48.000000Z" + "created_at": "2025-01-30T22:42:49.000000Z", + "updated_at": "2025-01-30T22:42:49.000000Z" } ], "links": { @@ -9979,11 +10228,11 @@

    create

    @@ -10001,11 +10250,11 @@

    createcreatecreate

    @@ -10170,10 +10419,10 @@

    Body Parameters

     
    -

    The name of the storage provider. Example: eos

    +

    The name of the storage provider. Example: dignissimos

    token   @@ -10181,10 +10430,10 @@

    Body Parameters

     
    -

    The token if provider requires api token Example: et

    +

    The token if provider requires api token Example: voluptates

    url   @@ -10192,10 +10441,10 @@

    Body Parameters

     
    -

    The URL if the provider is Gitlab and it is self-hosted Example: https://lueilwitz.com/nostrum-et-porro-atque-sint.html

    +

    The URL if the provider is Gitlab and it is self-hosted Example: https://www.hamill.net/culpa-non-qui-suscipit-dolores-id-aliquam

    username   @@ -10203,10 +10452,10 @@

    Body Parameters

     
    -

    The username if the provider is Bitbucket Example: consectetur

    +

    The username if the provider is Bitbucket Example: nisi

    password   @@ -10214,10 +10463,10 @@

    Body Parameters

     
    -

    The password if the provider is Bitbucket Example: PL.P?{06\ECi0

    +

    The password if the provider is Bitbucket Example: W~19Z0

    @@ -10235,7 +10484,7 @@

    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/source-controls/3" \
    +    --get "https://your-vito-url/api/projects/1/source-controls/1" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -10243,7 +10492,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/source-controls/3';
    +$url = 'https://your-vito-url/api/projects/1/source-controls/1';
     $response = $client->get(
         $url,
         [
    @@ -10260,7 +10509,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/source-controls/3"
    +    "https://your-vito-url/api/projects/1/source-controls/1"
     );
     
     const headers = {
    @@ -10286,10 +10535,10 @@ 

    URL Parameters

     
    -

    The ID of the sourceControl. Example: 3

    +

    The ID of the sourceControl. Example: 1

    @@ -10412,16 +10661,16 @@

    curl --request PUT \
    -    "https://your-vito-url/api/projects/1/source-controls/3" \
    +    "https://your-vito-url/api/projects/1/source-controls/1" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json" \
         --data "{
    -    \"name\": \"quaerat\",
    -    \"token\": \"consectetur\",
    -    \"url\": \"http:\\/\\/www.hudson.biz\\/rerum-voluptatem-debitis-accusamus\",
    -    \"username\": \"voluptatem\",
    -    \"password\": \"\\\\p\\/el>)3#~E?kI\",
    +    \"name\": \"aut\",
    +    \"token\": \"repudiandae\",
    +    \"url\": \"http:\\/\\/howe.net\\/eaque-assumenda-voluptatem-quo-libero-eius.html\",
    +    \"username\": \"consequatur\",
    +    \"password\": \"oX\\/H\\\"pAIt7R2\\\"\",
         \"global\": false
     }"
     
    @@ -10429,7 +10678,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/source-controls/3';
    +$url = 'https://your-vito-url/api/projects/1/source-controls/1';
     $response = $client->put(
         $url,
         [
    @@ -10439,11 +10688,11 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/source-controls/3"
    +    "https://your-vito-url/api/projects/1/source-controls/1"
     );
     
     const headers = {
    @@ -10464,11 +10713,11 @@ 

    URL Parameters

     
    -

    The ID of the sourceControl. Example: 3

    +

    The ID of the sourceControl. Example: 1

    Body Parameters

    @@ -10607,10 +10856,10 @@

    Body Parameters

     
    -

    The name of the storage provider. Example: quaerat

    +

    The name of the storage provider. Example: aut

    token   @@ -10618,10 +10867,10 @@

    Body Parameters

     
    -

    The token if provider requires api token Example: consectetur

    +

    The token if provider requires api token Example: repudiandae

    url   @@ -10629,10 +10878,10 @@

    Body Parameters

     
    -

    The URL if the provider is Gitlab and it is self-hosted Example: http://www.hudson.biz/rerum-voluptatem-debitis-accusamus

    +

    The URL if the provider is Gitlab and it is self-hosted Example: http://howe.net/eaque-assumenda-voluptatem-quo-libero-eius.html

    username   @@ -10640,10 +10889,10 @@

    Body Parameters

     
    -

    The username if the provider is Bitbucket Example: voluptatem

    +

    The username if the provider is Bitbucket Example: consequatur

    password   @@ -10651,10 +10900,10 @@

    Body Parameters

     
    -

    The password if the provider is Bitbucket Example: \p/el>)3#~E?kI

    +

    The password if the provider is Bitbucket Example: oX/H"pAIt7R2"

    global   @@ -10685,7 +10934,7 @@

    curl --request DELETE \
    -    "https://your-vito-url/api/projects/1/source-controls/3" \
    +    "https://your-vito-url/api/projects/1/source-controls/1" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"

    @@ -10693,7 +10942,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/source-controls/3';
    +$url = 'https://your-vito-url/api/projects/1/source-controls/1';
     $response = $client->delete(
         $url,
         [
    @@ -10710,7 +10959,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/source-controls/3"
    +    "https://your-vito-url/api/projects/1/source-controls/1"
     );
     
     const headers = {
    @@ -10832,10 +11081,10 @@ 

    URL Parameters

     
    -

    The ID of the sourceControl. Example: 3

    +

    The ID of the sourceControl. Example: 1

    @@ -10857,7 +11106,7 @@

    list
    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/servers/3/ssh-keys" \
    +    --get "https://your-vito-url/api/projects/1/servers/8/ssh-keys" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -10865,7 +11114,7 @@

    list
    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/ssh-keys';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/ssh-keys';
     $response = $client->get(
         $url,
         [
    @@ -10882,7 +11131,7 @@ 

    list
    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/ssh-keys"
    +    "https://your-vito-url/api/projects/1/servers/8/ssh-keys"
     );
     
     const headers = {
    @@ -10909,14 +11158,14 @@ 

    list { "id": null, "user": null, - "name": "Dr. Reanna Braun", + "name": "Godfrey Mills", "created_at": null, "updated_at": null }, { "id": null, "user": null, - "name": "Norene Fritsch", + "name": "Donato Streich", "created_at": null, "updated_at": null } @@ -11054,10 +11303,10 @@

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    @@ -11075,21 +11324,21 @@

    cre
    curl --request POST \
    -    "https://your-vito-url/api/projects/1/servers/3/ssh-keys" \
    +    "https://your-vito-url/api/projects/1/servers/8/ssh-keys" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json" \
         --data "{
    -    \"key_id\": \"vero\",
    -    \"name\": \"voluptates\",
    -    \"public_key\": \"dolor\"
    +    \"key_id\": \"numquam\",
    +    \"name\": \"alias\",
    +    \"public_key\": \"voluptate\"
     }"
     
    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/ssh-keys';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/ssh-keys';
     $response = $client->post(
         $url,
         [
    @@ -11099,9 +11348,9 @@ 

    cre 'Accept' => 'application/json', ], 'json' => [ - 'key_id' => 'vero', - 'name' => 'voluptates', - 'public_key' => 'dolor', + 'key_id' => 'numquam', + 'name' => 'alias', + 'public_key' => 'voluptate', ], ] ); @@ -11111,7 +11360,7 @@

    cre
    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/ssh-keys"
    +    "https://your-vito-url/api/projects/1/servers/8/ssh-keys"
     );
     
     const headers = {
    @@ -11121,9 +11370,9 @@ 

    cre }; let body = { - "key_id": "vero", - "name": "voluptates", - "public_key": "dolor" + "key_id": "numquam", + "name": "alias", + "public_key": "voluptate" }; fetch(url, { @@ -11143,7 +11392,7 @@

    cre { "id": null, "user": null, - "name": "Sophia D'Amore", + "name": "Mr. Stanton Bergnaum", "created_at": null, "updated_at": null } @@ -11247,10 +11496,10 @@

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    Body Parameters

    @@ -11259,10 +11508,10 @@

    Body Parameters

     
    -

    The ID of the key. Example: vero

    +

    The ID of the key. Example: numquam

    name   @@ -11270,10 +11519,10 @@

    Body Parameters

     
    -

    Key name, required if key_id is not provided. Example: voluptates

    +

    Key name, required if key_id is not provided. Example: alias

    public_key   @@ -11281,10 +11530,10 @@

    Body Parameters

     
    -

    Public Key, required if key_id is not provided. Example: dolor

    +

    Public Key, required if key_id is not provided. Example: voluptate

    @@ -11302,7 +11551,7 @@

    curl --request DELETE \
    -    "https://your-vito-url/api/projects/1/servers/3/ssh-keys/4" \
    +    "https://your-vito-url/api/projects/1/servers/8/ssh-keys/1" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"

    @@ -11310,7 +11559,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/servers/3/ssh-keys/4';
    +$url = 'https://your-vito-url/api/projects/1/servers/8/ssh-keys/1';
     $response = $client->delete(
         $url,
         [
    @@ -11327,7 +11576,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/servers/3/ssh-keys/4"
    +    "https://your-vito-url/api/projects/1/servers/8/ssh-keys/1"
     );
     
     const headers = {
    @@ -11449,10 +11698,10 @@ 

    URL Parameters

     
    -

    The ID of the server. Example: 3

    +

    The ID of the server. Example: 8

    sshKey_id   @@ -11460,10 +11709,10 @@

    URL Parameters

     
    -

    The ID of the sshKey. Example: 4

    +

    The ID of the sshKey. Example: 1

    @@ -11535,22 +11784,22 @@

    list{ "data": [ { - "id": 3, + "id": 5, "project_id": null, "global": true, - "name": "et", - "provider": "local", - "created_at": "2024-11-01T15:40:48.000000Z", - "updated_at": "2024-11-01T15:40:48.000000Z" + "name": "dolorem", + "provider": "s3", + "created_at": "2025-01-30T22:42:49.000000Z", + "updated_at": "2025-01-30T22:42:49.000000Z" }, { - "id": 4, + "id": 6, "project_id": null, "global": true, - "name": "sed", - "provider": "local", - "created_at": "2024-11-01T15:40:48.000000Z", - "updated_at": "2024-11-01T15:40:48.000000Z" + "name": "itaque", + "provider": "s3", + "created_at": "2025-01-30T22:42:49.000000Z", + "updated_at": "2025-01-30T22:42:49.000000Z" } ], "links": { @@ -11701,11 +11950,11 @@

    creat --header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ - \"provider\": \"quod\", - \"name\": \"commodi\", - \"token\": \"ipsum\", - \"key\": \"ratione\", - \"secret\": \"iste\" + \"provider\": \"alias\", + \"name\": \"explicabo\", + \"token\": \"ut\", + \"key\": \"libero\", + \"secret\": \"consequatur\" }"

    @@ -11722,11 +11971,11 @@

    creat 'Accept' => 'application/json', ], 'json' => [ - 'provider' => 'quod', - 'name' => 'commodi', - 'token' => 'ipsum', - 'key' => 'ratione', - 'secret' => 'iste', + 'provider' => 'alias', + 'name' => 'explicabo', + 'token' => 'ut', + 'key' => 'libero', + 'secret' => 'consequatur', ], ] ); @@ -11746,11 +11995,11 @@

    creat }; let body = { - "provider": "quod", - "name": "commodi", - "token": "ipsum", - "key": "ratione", - "secret": "iste" + "provider": "alias", + "name": "explicabo", + "token": "ut", + "key": "libero", + "secret": "consequatur" }; fetch(url, { @@ -11768,13 +12017,13 @@

    creat
     
     {
    -    "id": 3,
    +    "id": 5,
         "project_id": null,
         "global": true,
    -    "name": "est",
    -    "provider": "dropbox",
    -    "created_at": "2024-11-01T15:40:48.000000Z",
    -    "updated_at": "2024-11-01T15:40:48.000000Z"
    +    "name": "quos",
    +    "provider": "s3",
    +    "created_at": "2025-01-30T22:42:49.000000Z",
    +    "updated_at": "2025-01-30T22:42:49.000000Z"
     }
      
    @@ -11877,10 +12126,10 @@

    Body Parameters

     
    -

    The provider (aws, linode, hetzner, digitalocean, vultr, ...) Example: quod

    +

    The provider (aws, linode, hetzner, digitalocean, vultr, ...) Example: alias

    name   @@ -11888,10 +12137,10 @@

    Body Parameters

     
    -

    The name of the storage provider. Example: commodi

    +

    The name of the storage provider. Example: explicabo

    token   @@ -11899,10 +12148,10 @@

    Body Parameters

     
    -

    The token if provider requires api token Example: ipsum

    +

    The token if provider requires api token Example: ut

    key   @@ -11910,10 +12159,10 @@

    Body Parameters

     
    -

    The key if provider requires key Example: ratione

    +

    The key if provider requires key Example: libero

    secret   @@ -11921,10 +12170,10 @@

    Body Parameters

     
    -

    The secret if provider requires key Example: iste

    +

    The secret if provider requires key Example: consequatur

    @@ -11942,7 +12191,7 @@

    curl --request GET \
    -    --get "https://your-vito-url/api/projects/1/storage-providers/1" \
    +    --get "https://your-vito-url/api/projects/1/storage-providers/3" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -11950,7 +12199,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/storage-providers/1';
    +$url = 'https://your-vito-url/api/projects/1/storage-providers/3';
     $response = $client->get(
         $url,
         [
    @@ -11967,7 +12216,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/storage-providers/1"
    +    "https://your-vito-url/api/projects/1/storage-providers/3"
     );
     
     const headers = {
    @@ -11990,13 +12239,13 @@ 

    { - "id": 3, + "id": 5, "project_id": null, "global": true, - "name": "officia", - "provider": "ftp", - "created_at": "2024-11-01T15:40:48.000000Z", - "updated_at": "2024-11-01T15:40:48.000000Z" + "name": "id", + "provider": "s3", + "created_at": "2025-01-30T22:42:49.000000Z", + "updated_at": "2025-01-30T22:42:49.000000Z" }

    @@ -12098,10 +12347,10 @@

    URL Parameters

     
    -

    The ID of the storageProvider. Example: 1

    +

    The ID of the storageProvider. Example: 3

    @@ -12119,20 +12368,20 @@

    curl --request PUT \
    -    "https://your-vito-url/api/projects/1/storage-providers/1" \
    +    "https://your-vito-url/api/projects/1/storage-providers/3" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json" \
         --data "{
    -    \"name\": \"iusto\",
    -    \"global\": true
    +    \"name\": \"sequi\",
    +    \"global\": false
     }"
     
    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/storage-providers/1';
    +$url = 'https://your-vito-url/api/projects/1/storage-providers/3';
     $response = $client->put(
         $url,
         [
    @@ -12142,8 +12391,8 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/storage-providers/1"
    +    "https://your-vito-url/api/projects/1/storage-providers/3"
     );
     
     const headers = {
    @@ -12163,8 +12412,8 @@ 

    { - "id": 3, + "id": 5, "project_id": null, "global": true, - "name": "rerum", - "provider": "ftp", - "created_at": "2024-11-01T15:40:48.000000Z", - "updated_at": "2024-11-01T15:40:48.000000Z" + "name": "velit", + "provider": "s3", + "created_at": "2025-01-30T22:42:49.000000Z", + "updated_at": "2025-01-30T22:42:49.000000Z" }

    @@ -12290,10 +12539,10 @@

    URL Parameters

     
    -

    The ID of the storageProvider. Example: 1

    +

    The ID of the storageProvider. Example: 3

    Body Parameters

    @@ -12302,10 +12551,10 @@

    Body Parameters

     
    -

    The name of the storage provider. Example: iusto

    +

    The name of the storage provider. Example: sequi

    global   @@ -12316,7 +12565,7 @@

    Body Parameters

    value="" data-component="body">
    -

    Accessible in all projects Example: true

    +

    Accessible in all projects Example: false

    Must be one of:
    • 1
    @@ -12336,7 +12585,7 @@

    curl --request DELETE \
    -    "https://your-vito-url/api/projects/1/storage-providers/1" \
    +    "https://your-vito-url/api/projects/1/storage-providers/3" \
         --header "Authorization: Bearer YOUR-API-KEY" \
         --header "Content-Type: application/json" \
         --header "Accept: application/json"
    @@ -12344,7 +12593,7 @@

    $client = new \GuzzleHttp\Client();
    -$url = 'https://your-vito-url/api/projects/1/storage-providers/1';
    +$url = 'https://your-vito-url/api/projects/1/storage-providers/3';
     $response = $client->delete(
         $url,
         [
    @@ -12361,7 +12610,7 @@ 

    const url = new URL(
    -    "https://your-vito-url/api/projects/1/storage-providers/1"
    +    "https://your-vito-url/api/projects/1/storage-providers/3"
     );
     
     const headers = {
    @@ -12483,10 +12732,10 @@ 

    URL Parameters

     
    -

    The ID of the storageProvider. Example: 1

    +

    The ID of the storageProvider. Example: 3

    diff --git a/public/api-docs/js/theme-default-4.38.0.js b/public/api-docs/js/theme-default-4.39.0.js similarity index 100% rename from public/api-docs/js/theme-default-4.38.0.js rename to public/api-docs/js/theme-default-4.39.0.js diff --git a/public/api-docs/js/tryitout-4.38.0.js b/public/api-docs/js/tryitout-4.39.0.js similarity index 100% rename from public/api-docs/js/tryitout-4.38.0.js rename to public/api-docs/js/tryitout-4.39.0.js diff --git a/public/api-docs/openapi.yaml b/public/api-docs/openapi.yaml index 18b53ad..b29eba2 100644 --- a/public/api-docs/openapi.yaml +++ b/public/api-docs/openapi.yaml @@ -241,7 +241,7 @@ paths: command: type: string description: '' - example: qui + example: itaque nullable: false user: type: string @@ -273,7 +273,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -349,7 +349,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -357,7 +357,7 @@ paths: in: path name: cronJob_id description: 'The ID of the cronJob.' - example: 5 + example: 18 required: true schema: type: integer @@ -379,7 +379,7 @@ paths: - id: null server_id: null - username: nyasia68 + username: xgaylord databases: [] host: '%' status: null @@ -388,7 +388,7 @@ paths: - id: null server_id: null - username: madyson20 + username: una37 databases: [] host: '%' status: null @@ -427,7 +427,7 @@ paths: - id: null server_id: null - username: nyasia68 + username: xgaylord databases: [] host: '%' status: null @@ -436,7 +436,7 @@ paths: - id: null server_id: null - username: madyson20 + username: una37 databases: [] host: '%' status: null @@ -453,7 +453,7 @@ paths: example: null username: type: string - example: nyasia68 + example: xgaylord databases: type: array example: [] @@ -552,7 +552,7 @@ paths: example: id: null server_id: null - username: amya.nitzsche + username: kari.farrell databases: [] host: '%' status: null @@ -567,7 +567,7 @@ paths: example: null username: type: string - example: amya.nitzsche + example: kari.farrell databases: type: array example: [] @@ -595,12 +595,12 @@ paths: username: type: string description: '' - example: dignissimos + example: consequuntur nullable: false password: type: string description: '' - example: OK+XEG2) + example: 'fI/i2.O4u&dla?eXvR2' nullable: false host: type: string @@ -624,7 +624,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -644,7 +644,7 @@ paths: example: id: null server_id: null - username: bergstrom.ericka + username: caterina.mosciski databases: [] host: '%' status: null @@ -659,7 +659,7 @@ paths: example: null username: type: string - example: bergstrom.ericka + example: caterina.mosciski databases: type: array example: [] @@ -700,7 +700,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -708,7 +708,7 @@ paths: in: path name: databaseUser_id description: 'The ID of the databaseUser.' - example: 4 + example: 18 required: true schema: type: integer @@ -728,7 +728,7 @@ paths: example: id: null server_id: null - username: fmurray + username: kurtis05 databases: [] host: '%' status: null @@ -743,7 +743,7 @@ paths: example: null username: type: string - example: fmurray + example: kurtis05 databases: type: array example: [] @@ -771,7 +771,7 @@ paths: databases: type: string description: 'Array of database names to link to the user.' - example: accusantium + example: non nullable: false required: - databases @@ -788,7 +788,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -818,14 +818,14 @@ paths: - id: null server_id: null - name: clockman + name: amalia38 status: ready created_at: null updated_at: null - id: null server_id: null - name: wvonrueden + name: troy.rippin status: ready created_at: null updated_at: null @@ -862,14 +862,14 @@ paths: - id: null server_id: null - name: clockman + name: amalia38 status: ready created_at: null updated_at: null - id: null server_id: null - name: wvonrueden + name: troy.rippin status: ready created_at: null updated_at: null @@ -884,7 +884,7 @@ paths: example: null name: type: string - example: clockman + example: amalia38 status: type: string example: ready @@ -977,7 +977,7 @@ paths: example: id: null server_id: null - name: johanna76 + name: harvey.haskell status: ready created_at: null updated_at: null @@ -990,7 +990,7 @@ paths: example: null name: type: string - example: johanna76 + example: harvey.haskell status: type: string example: ready @@ -1012,7 +1012,7 @@ paths: name: type: string description: '' - example: nesciunt + example: et nullable: false required: - name @@ -1029,7 +1029,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -1049,7 +1049,7 @@ paths: example: id: null server_id: null - name: chloe.huel + name: ruthie.koepp status: ready created_at: null updated_at: null @@ -1062,7 +1062,7 @@ paths: example: null name: type: string - example: chloe.huel + example: ruthie.koepp status: type: string example: ready @@ -1087,7 +1087,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -1095,7 +1095,7 @@ paths: in: path name: id description: 'The ID of the database.' - example: 6 + example: 19 required: true schema: type: integer @@ -1123,7 +1123,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -1131,7 +1131,7 @@ paths: in: path name: database_id description: 'The ID of the database.' - example: 6 + example: 15 required: true schema: type: integer @@ -1155,8 +1155,8 @@ paths: server_id: null type: allow protocol: tcp - port: 18074 - source: 189.27.156.82 + port: 38781 + source: 79.116.255.150 mask: 24 note: test status: null @@ -1167,8 +1167,8 @@ paths: server_id: null type: allow protocol: tcp - port: 41088 - source: 86.177.121.87 + port: 32141 + source: 52.174.114.251 mask: 24 note: test status: null @@ -1209,8 +1209,8 @@ paths: server_id: null type: allow protocol: tcp - port: 18074 - source: 189.27.156.82 + port: 38781 + source: 79.116.255.150 mask: 24 note: test status: null @@ -1221,8 +1221,8 @@ paths: server_id: null type: allow protocol: tcp - port: 41088 - source: 86.177.121.87 + port: 32141 + source: 52.174.114.251 mask: 24 note: test status: null @@ -1245,10 +1245,10 @@ paths: example: tcp port: type: integer - example: 18074 + example: 38781 source: type: string - example: 189.27.156.82 + example: 79.116.255.150 mask: type: integer example: 24 @@ -1349,8 +1349,8 @@ paths: server_id: null type: allow protocol: tcp - port: 61992 - source: 47.222.76.48 + port: 47148 + source: 119.182.8.45 mask: 24 note: test status: null @@ -1371,10 +1371,10 @@ paths: example: tcp port: type: integer - example: 61992 + example: 47148 source: type: string - example: 47.222.76.48 + example: 119.182.8.45 mask: type: integer example: 24 @@ -1402,7 +1402,7 @@ paths: type: type: string description: '' - example: allow + example: deny nullable: false enum: - allow @@ -1418,12 +1418,12 @@ paths: port: type: string description: '' - example: voluptates + example: et nullable: false source: type: string description: '' - example: saepe + example: voluptates nullable: false mask: type: string @@ -1449,7 +1449,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -1471,8 +1471,8 @@ paths: server_id: null type: allow protocol: tcp - port: 43107 - source: 135.73.216.16 + port: 2317 + source: 44.161.134.114 mask: 24 note: test status: null @@ -1493,10 +1493,10 @@ paths: example: tcp port: type: integer - example: 43107 + example: 2317 source: type: string - example: 135.73.216.16 + example: 44.161.134.114 mask: type: integer example: 24 @@ -1537,7 +1537,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -1545,7 +1545,7 @@ paths: in: path name: firewallRule_id description: 'The ID of the firewallRule.' - example: 7 + example: 29 required: true schema: type: integer @@ -1564,14 +1564,14 @@ paths: type: object example: success: true - version: 2.0.0 + version: 2.1.0 properties: success: type: boolean example: true version: type: string - example: 2.0.0 + example: 2.1.0 tags: - general security: [] @@ -1591,15 +1591,15 @@ paths: example: data: - - id: 29 - name: 'Zachary Lueilwitz' - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + id: 3 + name: 'Jeffry Dickinson' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' - - id: 30 - name: 'Mrs. Kiarra Heller IV' - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + id: 4 + name: 'Miss Tianna Dietrich PhD' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' links: first: '/?page=1' last: '/?page=1' @@ -1631,30 +1631,30 @@ paths: type: array example: - - id: 29 - name: 'Zachary Lueilwitz' - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + id: 3 + name: 'Jeffry Dickinson' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' - - id: 30 - name: 'Mrs. Kiarra Heller IV' - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + id: 4 + name: 'Miss Tianna Dietrich PhD' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' items: type: object properties: id: type: integer - example: 29 + example: 3 name: type: string - example: 'Zachary Lueilwitz' + example: 'Jeffry Dickinson' created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' links: type: object properties: @@ -1736,23 +1736,23 @@ paths: schema: type: object example: - id: 29 - name: 'Hershel Spinka' - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + id: 3 + name: 'Isidro Franecki' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' properties: id: type: integer - example: 29 + example: 3 name: type: string - example: 'Hershel Spinka' + example: 'Isidro Franecki' created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' tags: - projects requestBody: @@ -1783,23 +1783,23 @@ paths: schema: type: object example: - id: 29 - name: 'Emery Kiehn' - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + id: 3 + name: 'Rhoda Parisian' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' properties: id: type: integer - example: 29 + example: 3 name: type: string - example: 'Emery Kiehn' + example: 'Rhoda Parisian' created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' tags: - projects put: @@ -1815,23 +1815,23 @@ paths: schema: type: object example: - id: 29 - name: 'Mable Prohaska' - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + id: 3 + name: 'Mr. Dashawn Jacobson Sr.' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' properties: id: type: integer - example: 29 + example: 3 name: type: string - example: 'Mable Prohaska' + example: 'Mr. Dashawn Jacobson Sr.' created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' tags: - projects requestBody: @@ -1844,7 +1844,7 @@ paths: name: type: string description: 'The name of the project.' - example: ut + example: ullam nullable: false required: - name @@ -1896,18 +1896,18 @@ paths: id: 2 project_id: null global: true - name: dolor - provider: digitalocean - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: laudantium + provider: vultr + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' - id: 3 project_id: null global: true - name: enim - provider: digitalocean - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: aut + provider: aws + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' links: first: '/?page=1' last: '/?page=1' @@ -1942,18 +1942,18 @@ paths: id: 2 project_id: null global: true - name: dolor - provider: digitalocean - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: laudantium + provider: vultr + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' - id: 3 project_id: null global: true - name: enim - provider: digitalocean - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: aut + provider: aws + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' items: type: object properties: @@ -1968,16 +1968,16 @@ paths: example: true name: type: string - example: dolor + example: laudantium provider: type: string - example: digitalocean + example: vultr created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' links: type: object properties: @@ -2062,10 +2062,10 @@ paths: id: 2 project_id: null global: true - name: eligendi - provider: aws - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: quia + provider: vultr + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' properties: id: type: integer @@ -2078,16 +2078,16 @@ paths: example: true name: type: string - example: eligendi + example: quia provider: type: string - example: aws + example: vultr created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' tags: - server-providers requestBody: @@ -2100,27 +2100,27 @@ paths: provider: type: string description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' - example: autem + example: voluptatem nullable: false name: type: string description: 'The name of the server provider.' - example: enim + example: repellat nullable: false token: type: string description: 'The token if provider requires api token' - example: culpa + example: omnis nullable: false key: type: string description: 'The key if provider requires key' - example: sit + example: recusandae nullable: false secret: type: string description: 'The secret if provider requires key' - example: voluptates + example: in nullable: false required: - provider @@ -2154,10 +2154,10 @@ paths: id: 2 project_id: null global: true - name: architecto - provider: digitalocean - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: ab + provider: hetzner + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' properties: id: type: integer @@ -2170,16 +2170,16 @@ paths: example: true name: type: string - example: architecto + example: ab provider: type: string - example: digitalocean + example: hetzner created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' tags: - server-providers put: @@ -2198,10 +2198,10 @@ paths: id: 2 project_id: null global: true - name: reiciendis - provider: hetzner - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: nesciunt + provider: linode + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' properties: id: type: integer @@ -2214,16 +2214,16 @@ paths: example: true name: type: string - example: reiciendis + example: nesciunt provider: type: string - example: hetzner + example: linode created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' tags: - server-providers requestBody: @@ -2236,12 +2236,12 @@ paths: name: type: string description: 'The name of the server provider.' - example: minus + example: est nullable: false global: type: string description: 'Accessible in all projects' - example: false + example: true nullable: false enum: - true @@ -2296,10 +2296,10 @@ paths: project_id: null user_id: null provider_id: null - name: 'Dorthy Toy' + name: 'Amina DuBuque' ssh_user: vito - ip: 172.132.95.155 - local_ip: 118.57.197.65 + ip: 163.77.69.73 + local_ip: 137.139.200.70 port: 22 os: ubuntu_22 type: regular @@ -2322,10 +2322,10 @@ paths: project_id: null user_id: null provider_id: null - name: 'Carrie Sporer' + name: 'Floy Cummerata' ssh_user: vito - ip: 184.242.162.173 - local_ip: 135.244.50.22 + ip: 62.53.140.25 + local_ip: 34.59.35.195 port: 22 os: ubuntu_22 type: regular @@ -2378,10 +2378,10 @@ paths: project_id: null user_id: null provider_id: null - name: 'Dorthy Toy' + name: 'Amina DuBuque' ssh_user: vito - ip: 172.132.95.155 - local_ip: 118.57.197.65 + ip: 163.77.69.73 + local_ip: 137.139.200.70 port: 22 os: ubuntu_22 type: regular @@ -2404,10 +2404,10 @@ paths: project_id: null user_id: null provider_id: null - name: 'Carrie Sporer' + name: 'Floy Cummerata' ssh_user: vito - ip: 184.242.162.173 - local_ip: 135.244.50.22 + ip: 62.53.140.25 + local_ip: 34.59.35.195 port: 22 os: ubuntu_22 type: regular @@ -2442,16 +2442,16 @@ paths: example: null name: type: string - example: 'Dorthy Toy' + example: 'Amina DuBuque' ssh_user: type: string example: vito ip: type: string - example: 172.132.95.155 + example: 163.77.69.73 local_ip: type: string - example: 118.57.197.65 + example: 137.139.200.70 port: type: integer example: 22 @@ -2588,10 +2588,10 @@ paths: project_id: null user_id: null provider_id: null - name: 'Flo Beer PhD' + name: 'Archibald Nolan' ssh_user: vito - ip: 168.238.14.230 - local_ip: 40.232.73.41 + ip: 226.168.13.177 + local_ip: 143.14.43.182 port: 22 os: ubuntu_22 type: regular @@ -2624,16 +2624,16 @@ paths: example: null name: type: string - example: 'Flo Beer PhD' + example: 'Archibald Nolan' ssh_user: type: string example: vito ip: type: string - example: 168.238.14.230 + example: 226.168.13.177 local_ip: type: string - example: 40.232.73.41 + example: 143.14.43.182 port: type: integer example: 22 @@ -2697,12 +2697,12 @@ paths: provider: type: string description: 'The server provider type' - example: et + example: iste nullable: false server_provider: type: string description: 'If the provider is not custom, the ID of the server provider profile' - example: digitalocean + example: custom nullable: false enum: - custom @@ -2713,41 +2713,33 @@ paths: region: type: string description: 'Provider region if the provider is not custom' - example: inventore + example: libero nullable: false plan: type: string description: 'Provider plan if the provider is not custom' - example: atque + example: ut nullable: false ip: type: string description: 'SSH IP address if the provider is custom' - example: quam + example: molestias nullable: false port: type: string description: 'SSH Port if the provider is custom' - example: nemo + example: laudantium nullable: false name: type: string description: 'The name of the server.' - example: perspiciatis + example: illum nullable: false os: type: string description: 'The os of the server' - example: similique + example: autem nullable: false - type: - type: string - description: 'Server type' - example: regular - nullable: false - enum: - - regular - - database webserver: type: string description: 'Web server' @@ -2759,7 +2751,7 @@ paths: database: type: string description: Database - example: none + example: postgresql12 nullable: false enum: - none @@ -2776,7 +2768,7 @@ paths: php: type: string description: 'PHP version' - example: '8.1' + example: '7.4' nullable: false enum: - '7.0' @@ -2797,7 +2789,6 @@ paths: - port - name - os - - type - webserver - database - php @@ -2828,10 +2819,10 @@ paths: project_id: null user_id: null provider_id: null - name: 'Stephany Ankunding' + name: 'Tevin Sipes' ssh_user: vito - ip: 145.28.94.46 - local_ip: 69.133.44.100 + ip: 61.41.183.152 + local_ip: 197.160.239.147 port: 22 os: ubuntu_22 type: regular @@ -2864,16 +2855,16 @@ paths: example: null name: type: string - example: 'Stephany Ankunding' + example: 'Tevin Sipes' ssh_user: type: string example: vito ip: type: string - example: 145.28.94.46 + example: 61.41.183.152 local_ip: type: string - example: 69.133.44.100 + example: 197.160.239.147 port: type: integer example: 22 @@ -2940,7 +2931,7 @@ paths: in: path name: id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -2968,7 +2959,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -2996,7 +2987,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -3024,7 +3015,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -3238,7 +3229,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -3316,7 +3307,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -3324,7 +3315,7 @@ paths: in: path name: id description: 'The ID of the service.' - example: 27 + example: 53 required: true schema: type: integer @@ -3352,7 +3343,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -3360,7 +3351,7 @@ paths: in: path name: service_id description: 'The ID of the service.' - example: 27 + example: 53 required: true schema: type: integer @@ -3388,7 +3379,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -3396,7 +3387,7 @@ paths: in: path name: service_id description: 'The ID of the service.' - example: 27 + example: 53 required: true schema: type: integer @@ -3424,7 +3415,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -3432,7 +3423,7 @@ paths: in: path name: service_id description: 'The ID of the service.' - example: 27 + example: 53 required: true schema: type: integer @@ -3460,7 +3451,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -3468,7 +3459,7 @@ paths: in: path name: service_id description: 'The ID of the service.' - example: 27 + example: 53 required: true schema: type: integer @@ -3496,7 +3487,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -3504,7 +3495,7 @@ paths: in: path name: service_id description: 'The ID of the service.' - example: 27 + example: 53 required: true schema: type: integer @@ -3532,7 +3523,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -3540,7 +3531,7 @@ paths: in: path name: service_id description: 'The ID of the service.' - example: 27 + example: 53 required: true schema: type: integer @@ -3574,6 +3565,7 @@ paths: branch: main status: ready port: null + user: vito progress: 100 created_at: null updated_at: null @@ -3592,6 +3584,7 @@ paths: branch: main status: ready port: null + user: vito progress: 100 created_at: null updated_at: null @@ -3640,6 +3633,7 @@ paths: branch: main status: ready port: null + user: vito progress: 100 created_at: null updated_at: null @@ -3658,6 +3652,7 @@ paths: branch: main status: ready port: null + user: vito progress: 100 created_at: null updated_at: null @@ -3706,6 +3701,9 @@ paths: port: type: string example: null + user: + type: string + example: vito progress: type: integer example: 100 @@ -3810,6 +3808,7 @@ paths: branch: main status: ready port: null + user: vito progress: 100 created_at: null updated_at: null @@ -3856,6 +3855,9 @@ paths: port: type: string example: null + user: + type: string + example: vito progress: type: integer example: 100 @@ -3877,7 +3879,7 @@ paths: type: type: string description: '' - example: wordpress + example: php nullable: false enum: - php @@ -3885,16 +3887,17 @@ paths: - phpmyadmin - laravel - wordpress + - load-balancer domain: type: string description: '' - example: quo + example: rem nullable: false aliases: type: array description: '' example: - - dolorum + - libero items: type: string php_version: @@ -3910,7 +3913,7 @@ paths: source_control: type: string description: 'Source control ID, Required for Sites which support source control' - example: explicabo + example: dolor nullable: false repository: type: string @@ -3932,6 +3935,20 @@ paths: description: 'Version, if the site type requires a version like PHPMyAdmin' example: 5.2.1 nullable: false + user: + type: string + description: 'user, to isolate the website under a new user' + example: vitae + nullable: false + method: + type: string + description: 'Load balancer method, Required if the site type is Load balancer' + example: ip-hash + nullable: false + enum: + - round-robin + - least-connections + - ip-hash required: - type - domain @@ -3943,6 +3960,8 @@ paths: - branch - composer - version + - user + - method parameters: - in: path @@ -3956,7 +3975,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -3988,6 +4007,7 @@ paths: branch: main status: ready port: null + user: vito progress: 100 created_at: null updated_at: null @@ -4034,6 +4054,9 @@ paths: port: type: string example: null + user: + type: string + example: vito progress: type: integer example: 100 @@ -4058,7 +4081,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -4066,7 +4089,7 @@ paths: in: path name: id description: 'The ID of the site.' - example: 8 + example: 26 required: true schema: type: integer @@ -4094,7 +4117,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -4102,10 +4125,77 @@ paths: in: path name: site_id description: 'The ID of the site.' + example: 26 + required: true + schema: + type: integer + '/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/load-balancer': + post: + summary: load-balancer + operationId: loadBalancer + description: 'Update load balancer.' + parameters: [] + responses: + 200: + description: '' + content: + application/json: + schema: + type: object + nullable: true + tags: + - sites + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + method: + type: string + description: 'Load balancer method, Required if the site type is Load balancer' + example: least-connections + nullable: false + enum: + - round-robin + - least-connections + - ip-hash + servers: + type: array + description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)' + example: + - deleniti + items: + type: string + required: + - method + - servers + parameters: + - + in: path + name: project_id + description: 'The ID of the project.' + example: 1 + required: true + schema: + type: integer + - + in: path + name: server_id + description: 'The ID of the server.' example: 8 required: true schema: type: integer + - + in: path + name: site_id + description: 'The ID of the site.' + example: 26 + required: true + schema: + type: integer '/api/projects/{project_id}/source-controls': get: summary: list @@ -4125,18 +4215,18 @@ paths: id: 5 project_id: null global: true - name: 'Jaiden Kling' + name: 'Mr. Reuben Schimmel' provider: github - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' - id: 6 project_id: null global: true - name: 'Ms. Brianne Bosco' + name: 'Ms. Brandy Mraz V' provider: github - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' links: first: '/?page=1' last: '/?page=1' @@ -4171,18 +4261,18 @@ paths: id: 5 project_id: null global: true - name: 'Jaiden Kling' + name: 'Mr. Reuben Schimmel' provider: github - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' - id: 6 project_id: null global: true - name: 'Ms. Brianne Bosco' + name: 'Ms. Brandy Mraz V' provider: github - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' items: type: object properties: @@ -4197,16 +4287,16 @@ paths: example: true name: type: string - example: 'Jaiden Kling' + example: 'Mr. Reuben Schimmel' provider: type: string example: github created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' links: type: object properties: @@ -4291,10 +4381,10 @@ paths: id: 5 project_id: null global: true - name: 'Toby Parker' + name: 'Harmony Koss DVM' provider: github - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' properties: id: type: integer @@ -4307,16 +4397,16 @@ paths: example: true name: type: string - example: 'Toby Parker' + example: 'Harmony Koss DVM' provider: type: string example: github created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' tags: - source-controls requestBody: @@ -4338,27 +4428,27 @@ paths: name: type: string description: 'The name of the storage provider.' - example: eos + example: dignissimos nullable: false token: type: string description: 'The token if provider requires api token' - example: et + example: voluptates nullable: false url: type: string description: 'The URL if the provider is Gitlab and it is self-hosted' - example: 'https://lueilwitz.com/nostrum-et-porro-atque-sint.html' + example: 'https://www.hamill.net/culpa-non-qui-suscipit-dolores-id-aliquam' nullable: false username: type: string description: 'The username if the provider is Bitbucket' - example: consectetur + example: nisi nullable: false password: type: string description: 'The password if the provider is Bitbucket' - example: 'PL.P?{06\ECi0' + example: W~19Z0 nullable: false required: - provider @@ -4393,10 +4483,10 @@ paths: id: 5 project_id: null global: true - name: 'Prof. Bartholome Graham IV' + name: 'Martin Welch' provider: github - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' properties: id: type: integer @@ -4409,16 +4499,16 @@ paths: example: true name: type: string - example: 'Prof. Bartholome Graham IV' + example: 'Martin Welch' provider: type: string example: github created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' tags: - source-controls put: @@ -4437,10 +4527,10 @@ paths: id: 5 project_id: null global: true - name: 'Cicero Smitham' + name: 'Miss Dulce Nicolas III' provider: github - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' properties: id: type: integer @@ -4453,16 +4543,16 @@ paths: example: true name: type: string - example: 'Cicero Smitham' + example: 'Miss Dulce Nicolas III' provider: type: string example: github created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' tags: - source-controls requestBody: @@ -4475,27 +4565,27 @@ paths: name: type: string description: 'The name of the storage provider.' - example: quaerat + example: aut nullable: false token: type: string description: 'The token if provider requires api token' - example: consectetur + example: repudiandae nullable: false url: type: string description: 'The URL if the provider is Gitlab and it is self-hosted' - example: 'http://www.hudson.biz/rerum-voluptatem-debitis-accusamus' + example: 'http://howe.net/eaque-assumenda-voluptatem-quo-libero-eius.html' nullable: false username: type: string description: 'The username if the provider is Bitbucket' - example: voluptatem + example: consequatur nullable: false password: type: string description: 'The password if the provider is Bitbucket' - example: '\p/el>)3#~E?kI' + example: 'oX/H"pAIt7R2"' nullable: false global: type: string @@ -4535,7 +4625,7 @@ paths: in: path name: sourceControl_id description: 'The ID of the sourceControl.' - example: 3 + example: 1 required: true schema: type: integer @@ -4557,13 +4647,13 @@ paths: - id: null user: null - name: 'Dr. Reanna Braun' + name: 'Godfrey Mills' created_at: null updated_at: null - id: null user: null - name: 'Norene Fritsch' + name: 'Donato Streich' created_at: null updated_at: null links: @@ -4599,13 +4689,13 @@ paths: - id: null user: null - name: 'Dr. Reanna Braun' + name: 'Godfrey Mills' created_at: null updated_at: null - id: null user: null - name: 'Norene Fritsch' + name: 'Donato Streich' created_at: null updated_at: null items: @@ -4619,7 +4709,7 @@ paths: example: null name: type: string - example: 'Dr. Reanna Braun' + example: 'Godfrey Mills' created_at: type: string example: null @@ -4709,7 +4799,7 @@ paths: example: id: null user: null - name: "Sophia D'Amore" + name: 'Mr. Stanton Bergnaum' created_at: null updated_at: null properties: @@ -4721,7 +4811,7 @@ paths: example: null name: type: string - example: "Sophia D'Amore" + example: 'Mr. Stanton Bergnaum' created_at: type: string example: null @@ -4740,17 +4830,17 @@ paths: key_id: type: string description: 'The ID of the key.' - example: vero + example: numquam nullable: false name: type: string description: 'Key name, required if key_id is not provided.' - example: voluptates + example: alias nullable: false public_key: type: string description: 'Public Key, required if key_id is not provided.' - example: dolor + example: voluptate nullable: false required: - key_id @@ -4769,7 +4859,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -4797,7 +4887,7 @@ paths: in: path name: server_id description: 'The ID of the server.' - example: 3 + example: 8 required: true schema: type: integer @@ -4805,7 +4895,7 @@ paths: in: path name: sshKey_id description: 'The ID of the sshKey.' - example: 4 + example: 1 required: true schema: type: integer @@ -4825,21 +4915,21 @@ paths: example: data: - - id: 3 + id: 5 project_id: null global: true - name: et - provider: local - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: dolorem + provider: s3 + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' - - id: 4 + id: 6 project_id: null global: true - name: sed - provider: local - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: itaque + provider: s3 + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' links: first: '/?page=1' last: '/?page=1' @@ -4871,27 +4961,27 @@ paths: type: array example: - - id: 3 + id: 5 project_id: null global: true - name: et - provider: local - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: dolorem + provider: s3 + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' - - id: 4 + id: 6 project_id: null global: true - name: sed - provider: local - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: itaque + provider: s3 + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' items: type: object properties: id: type: integer - example: 3 + example: 5 project_id: type: string example: null @@ -4900,16 +4990,16 @@ paths: example: true name: type: string - example: et + example: dolorem provider: type: string - example: local + example: s3 created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' links: type: object properties: @@ -4991,17 +5081,17 @@ paths: schema: type: object example: - id: 3 + id: 5 project_id: null global: true - name: est - provider: dropbox - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: quos + provider: s3 + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' properties: id: type: integer - example: 3 + example: 5 project_id: type: string example: null @@ -5010,16 +5100,16 @@ paths: example: true name: type: string - example: est + example: quos provider: type: string - example: dropbox + example: s3 created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' tags: - storage-providers requestBody: @@ -5032,27 +5122,27 @@ paths: provider: type: string description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' - example: quod + example: alias nullable: false name: type: string description: 'The name of the storage provider.' - example: commodi + example: explicabo nullable: false token: type: string description: 'The token if provider requires api token' - example: ipsum + example: ut nullable: false key: type: string description: 'The key if provider requires key' - example: ratione + example: libero nullable: false secret: type: string description: 'The secret if provider requires key' - example: iste + example: consequatur nullable: false required: - provider @@ -5083,17 +5173,17 @@ paths: schema: type: object example: - id: 3 + id: 5 project_id: null global: true - name: officia - provider: ftp - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: id + provider: s3 + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' properties: id: type: integer - example: 3 + example: 5 project_id: type: string example: null @@ -5102,16 +5192,16 @@ paths: example: true name: type: string - example: officia + example: id provider: type: string - example: ftp + example: s3 created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' tags: - storage-providers put: @@ -5127,17 +5217,17 @@ paths: schema: type: object example: - id: 3 + id: 5 project_id: null global: true - name: rerum - provider: ftp - created_at: '2024-11-01T15:40:48.000000Z' - updated_at: '2024-11-01T15:40:48.000000Z' + name: velit + provider: s3 + created_at: '2025-01-30T22:42:49.000000Z' + updated_at: '2025-01-30T22:42:49.000000Z' properties: id: type: integer - example: 3 + example: 5 project_id: type: string example: null @@ -5146,16 +5236,16 @@ paths: example: true name: type: string - example: rerum + example: velit provider: type: string - example: ftp + example: s3 created_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' updated_at: type: string - example: '2024-11-01T15:40:48.000000Z' + example: '2025-01-30T22:42:49.000000Z' tags: - storage-providers requestBody: @@ -5168,12 +5258,12 @@ paths: name: type: string description: 'The name of the storage provider.' - example: iusto + example: sequi nullable: false global: type: string description: 'Accessible in all projects' - example: true + example: false nullable: false enum: - true @@ -5204,7 +5294,7 @@ paths: in: path name: storageProvider_id description: 'The ID of the storageProvider.' - example: 1 + example: 3 required: true schema: type: integer diff --git a/resources/svg/load-balancer.svg b/resources/svg/load-balancer.svg new file mode 100644 index 0000000..3cd94d9 --- /dev/null +++ b/resources/svg/load-balancer.svg @@ -0,0 +1,12 @@ + + + + + + + diff --git a/resources/views/ssh/services/webserver/nginx/vhost.blade.php b/resources/views/ssh/services/webserver/nginx/vhost.blade.php index 4e8ca00..f81ce8b 100755 --- a/resources/views/ssh/services/webserver/nginx/vhost.blade.php +++ b/resources/views/ssh/services/webserver/nginx/vhost.blade.php @@ -6,6 +6,27 @@ } @endif +@if ($site->type === \App\Enums\SiteType::LOAD_BALANCER) + upstream backend { + @switch($site->type_data['method'] ?? \App\Enums\LoadBalancerMethod::ROUND_ROBIN) + @case(\App\Enums\LoadBalancerMethod::LEAST_CONNECTIONS) + least_conn; + @break + @case(\App\Enums\LoadBalancerMethod::IP_HASH) + ip_hash; + @break + @default + @endswitch + @if ($site->loadBalancerServers()->count() > 0) + @foreach($site->loadBalancerServers as $server) + server {{ $server->ip }}:{{ $server->port }} {{ $server->backup ? 'backup' : '' }} {{ $server->weight ? 'weight='.$server->weight : '' }}; + @endforeach + @else + server 127.0.0.1; + @endif + } +@endif + server { @if (!$site->activeSsl || !$site->force_ssl) listen 80; @@ -26,18 +47,7 @@ charset utf-8; - @if ($site->port) - location / { - try_files $uri $uri/ /index.html; - } - location / { - proxy_pass http://127.0.0.1:{{ $site->port }}/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_set_header X-Forwarded-For $remote_addr; - } - @elseif ($site->php_version) + @if ($site->type()->language() === 'php') @php $phpSocket = 'unix:/var/run/php/php-fpm.sock'; if ($site->isIsolated()) { @@ -55,6 +65,16 @@ } @endif + @if ($site->type === \App\Enums\SiteType::LOAD_BALANCER) + location / { + proxy_pass http://backend$request_uri; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + @endif + location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } diff --git a/tests/Feature/API/SitesTest.php b/tests/Feature/API/SitesTest.php index 2439aa9..1a6134b 100644 --- a/tests/Feature/API/SitesTest.php +++ b/tests/Feature/API/SitesTest.php @@ -2,18 +2,29 @@ namespace Tests\Feature\API; +use App\Enums\LoadBalancerMethod; use App\Enums\SourceControl; use App\Facades\SSH; +use App\Models\Server; use App\Models\Site; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Facades\Http; use Laravel\Sanctum\Sanctum; use Tests\TestCase; +use Tests\Traits\PrepareLoadBalancer; class SitesTest extends TestCase { + use PrepareLoadBalancer; use RefreshDatabase; + protected function setUp(): void + { + parent::setUp(); + + $this->prepare(); + } + /** * @dataProvider create_data */ @@ -67,6 +78,26 @@ public function test_see_sites_list(): void ]); } + public function test_see_site(): void + { + Sanctum::actingAs($this->user, ['read', 'write']); + + /** @var Site $site */ + $site = Site::factory()->create([ + 'server_id' => $this->server->id, + ]); + + $this->json('GET', route('api.projects.servers.sites.show', [ + 'project' => $this->server->project, + 'server' => $this->server, + 'site' => $site, + ])) + ->assertSuccessful() + ->assertJsonFragment([ + 'domain' => $site->domain, + ]); + } + public function test_delete_site(): void { SSH::fake(); @@ -87,6 +118,54 @@ public function test_delete_site(): void ->assertNoContent(); } + public function test_update_load_balancer(): void + { + SSH::fake(); + + Sanctum::actingAs($this->user, ['read', 'write']); + + $servers = Server::query()->where('id', '!=', $this->server->id)->get(); + $this->assertEquals(2, $servers->count()); + + $this->json('POST', route('api.projects.servers.sites.load-balancer', [ + 'project' => $this->server->project, + 'server' => $this->server, + 'site' => $this->site, + ]), [ + 'method' => LoadBalancerMethod::ROUND_ROBIN, + 'servers' => [ + [ + 'server' => $servers[0]->local_ip, + 'port' => 80, + 'weight' => 1, + 'backup' => false, + ], + [ + 'server' => $servers[1]->local_ip, + 'port' => 80, + 'weight' => 1, + 'backup' => false, + ], + ], + ]) + ->assertSuccessful(); + + $this->assertDatabaseHas('load_balancer_servers', [ + 'load_balancer_id' => $this->site->id, + 'ip' => $servers[0]->local_ip, + 'port' => 80, + 'weight' => 1, + 'backup' => false, + ]); + $this->assertDatabaseHas('load_balancer_servers', [ + 'load_balancer_id' => $this->site->id, + 'ip' => $servers[1]->local_ip, + 'port' => 80, + 'weight' => 1, + 'backup' => false, + ]); + } + public static function create_data(): array { return \Tests\Feature\SitesTest::create_data(); diff --git a/tests/Feature/LoadBalancerTest.php b/tests/Feature/LoadBalancerTest.php new file mode 100644 index 0000000..1361975 --- /dev/null +++ b/tests/Feature/LoadBalancerTest.php @@ -0,0 +1,90 @@ +prepare(); + } + + public function test_visit_load_balancer_servers(): void + { + $this->actingAs($this->user); + + $this->get( + View::getUrl([ + 'server' => $this->server, + 'site' => $this->site, + ]) + ) + ->assertSuccessful() + ->assertSee($this->site->domain) + ->assertSee('Load Balancer Servers'); + } + + public function test_update_load_balancer_servers() + { + SSH::fake(); + + $this->actingAs($this->user); + + $servers = Server::query()->where('id', '!=', $this->server->id)->get(); + $this->assertEquals(2, $servers->count()); + + Livewire::test(LoadBalancerServers::class, [ + 'site' => $this->site, + ]) + ->assertFormExists() + ->fillForm([ + 'method' => LoadBalancerMethod::ROUND_ROBIN, + 'servers' => [ + [ + 'server' => $servers[0]->local_ip, + 'port' => 80, + 'weight' => 1, + 'backup' => false, + ], + [ + 'server' => $servers[1]->local_ip, + 'port' => 80, + 'weight' => 1, + 'backup' => false, + ], + ], + ]) + ->call('save') + ->assertSuccessful(); + + $this->assertDatabaseHas('load_balancer_servers', [ + 'load_balancer_id' => $this->site->id, + 'ip' => $servers[0]->local_ip, + 'port' => 80, + 'weight' => 1, + 'backup' => false, + ]); + $this->assertDatabaseHas('load_balancer_servers', [ + 'load_balancer_id' => $this->site->id, + 'ip' => $servers[1]->local_ip, + 'port' => 80, + 'weight' => 1, + 'backup' => false, + ]); + } +} diff --git a/tests/Feature/SitesTest.php b/tests/Feature/SitesTest.php index 43a15fe..0363326 100644 --- a/tests/Feature/SitesTest.php +++ b/tests/Feature/SitesTest.php @@ -2,6 +2,7 @@ namespace Tests\Feature; +use App\Enums\LoadBalancerMethod; use App\Enums\SiteStatus; use App\Enums\SiteType; use App\Enums\SourceControl; @@ -418,6 +419,15 @@ public static function create_data(): array 'user' => 'example', ], ], + [ + [ + 'type' => SiteType::LOAD_BALANCER, + 'domain' => 'example.com', + 'aliases' => ['www.example.com'], + 'user' => 'example', + 'method' => LoadBalancerMethod::ROUND_ROBIN, + ], + ], ]; } diff --git a/tests/Traits/PrepareLoadBalancer.php b/tests/Traits/PrepareLoadBalancer.php new file mode 100644 index 0000000..1b006ae --- /dev/null +++ b/tests/Traits/PrepareLoadBalancer.php @@ -0,0 +1,47 @@ +site->type = SiteType::LOAD_BALANCER; + $this->site->type_data = [ + 'method' => LoadBalancerMethod::ROUND_ROBIN, + ]; + $this->site->save(); + + $servers = Server::factory(2)->create([ + 'user_id' => $this->user->id, + 'project_id' => $this->user->current_project_id, + ]); + foreach ($servers as $server) { + $server->type()->createServices([ + 'webserver' => Webserver::NGINX, + 'database' => Database::NONE, + 'php' => PHP::NONE, + ]); + $server->services()->update([ + 'status' => ServiceStatus::READY, + ]); + Site::factory()->create([ + 'domain' => 'vito.test', + 'aliases' => ['www.vito.test'], + 'server_id' => $server->id, + 'type' => SiteType::PHP_BLANK, + 'path' => '/home/vito/vito.test', + 'web_directory' => '', + ]); + } + } +}