garage-admin-sdk-generator/python
2022-09-12 17:13:43 +02:00
..
.openapi-generator Add authentication 2022-09-12 17:13:43 +02:00
docs Add authentication 2022-09-12 17:13:43 +02:00
openapi_client Add authentication 2022-09-12 17:13:43 +02:00
test Add Python OpenAPI 2022-09-12 17:02:35 +02:00
.gitignore Add Python OpenAPI 2022-09-12 17:02:35 +02:00
.gitlab-ci.yml Add Python OpenAPI 2022-09-12 17:02:35 +02:00
.openapi-generator-ignore Add Python OpenAPI 2022-09-12 17:02:35 +02:00
.travis.yml Add Python OpenAPI 2022-09-12 17:02:35 +02:00
git_push.sh Add Python OpenAPI 2022-09-12 17:02:35 +02:00
README.md Add authentication 2022-09-12 17:13:43 +02:00
requirements.txt Add Python OpenAPI 2022-09-12 17:02:35 +02:00
setup.cfg Add Python OpenAPI 2022-09-12 17:02:35 +02:00
setup.py Add Python OpenAPI 2022-09-12 17:02:35 +02:00
test-requirements.txt Add Python OpenAPI 2022-09-12 17:02:35 +02:00
tox.ini Add Python OpenAPI 2022-09-12 17:02:35 +02:00

openapi-client

Administrate your Garage cluster programatically, including status, layout, keys, buckets, and maintainance tasks.

Disclaimer: The API is not stable yet, hence its v0 tag. The API can change at any time, and changes can include breaking backward compatibility. Read the changelog and upgrade your scripts before upgrading. Additionnaly, this specification is very early stage and can contain bugs, especially on error return codes/types that are not tested yet. Do not expect a well finished and polished product!

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: v0.7.3
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen

Requirements.

Python >=3.6

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git)

Then import the package:

import openapi_client

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import openapi_client

Getting Started

Please follow the installation procedure and then run the following:


import time
import openapi_client
from pprint import pprint
from openapi_client.api import key_api
from openapi_client.model.key_get_request import KeyGetRequest
from openapi_client.model.key_id_access_key_delete_request import KeyIdAccessKeyDeleteRequest
from openapi_client.model.key_import_post_request import KeyImportPostRequest
from openapi_client.model.key_info import KeyInfo
from openapi_client.model.list_keys200_response_inner import ListKeys200ResponseInner
# Defining the host is optional and defaults to http://localhost:3903/v0
# See configuration.py for a list of all supported configuration parameters.
configuration = openapi_client.Configuration(
    host = "http://localhost:3903/v0"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure Bearer authorization: bearerAuth
configuration = openapi_client.Configuration(
    access_token = 'YOUR_BEARER_TOKEN'
)


# Enter a context with an instance of the API client
with openapi_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = key_api.KeyApi(api_client)
    key_import_post_request = KeyImportPostRequest(
        name="test-key",
        access_key_id="GK31c2f218a2e44f485b94239e",
        secret_access_key="b892c0665f0ada8a4755dae98baa3b133590e11dae3bcc1f9d769d67f16c3835",
    ) # KeyImportPostRequest | Information on the key to import  (optional)

    try:
        # Import an existing key
        api_response = api_instance.key_import_post(key_import_post_request=key_import_post_request)
        pprint(api_response)
    except openapi_client.ApiException as e:
        print("Exception when calling KeyApi->key_import_post: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to http://localhost:3903/v0

Class Method HTTP request Description
KeyApi key_import_post POST /key/import Import an existing key
KeyApi key_post POST /key Create a new API key
KeyApi keyidaccess_key_delete DELETE /key?id={access_key} Delete a key
KeyApi keyidaccess_key_get GET /key?id={access_key} Get key information
KeyApi keyidaccess_key_post POST /key?id={access_key} Update a key
KeyApi keysearchpattern_get GET /key?search={pattern} Select key by pattern
KeyApi list_keys GET /key List all keys
LayoutApi layout_apply_post POST /layout/apply Apply staged layout
LayoutApi layout_get GET /layout Details on the current and staged layout
LayoutApi layout_post POST /layout Send modifications to the cluster layout
LayoutApi layout_revert_post POST /layout/revert Clear staged layout
MembershipApi connect_post POST /connect Connect target node to other Garage nodes
MembershipApi status_get GET /status Status of this node and other nodes in the cluster

Documentation For Models

Documentation For Authorization

bearerAuth

  • Type: Bearer authentication

Author

Notes for Large OpenAPI documents

If the OpenAPI document is large, imports in openapi_client.apis and openapi_client.models may fail with a RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1: Use specific imports for apis and models like:

  • from openapi_client.api.default_api import DefaultApi
  • from openapi_client.model.pet import Pet

Solution 2: Before importing the package, adjust the maximum recursion limit as shown below:

import sys
sys.setrecursionlimit(1500)
import openapi_client
from openapi_client.apis import *
from openapi_client.models import *