garage-admin-sdk-python/docs/KeyApi.md

504 lines
17 KiB
Markdown
Raw Permalink Normal View History

2022-11-13 13:21:12 +00:00
# garage_admin_sdk.KeyApi
2023-11-22 17:26:20 +00:00
All URIs are relative to *http://localhost:3903/v1*
2022-11-13 13:21:12 +00:00
Method | HTTP request | Description
------------- | ------------- | -------------
2023-11-22 19:48:12 +00:00
[**add_key**](KeyApi.md#add_key) | **POST** /key?list | Create a new API key
[**delete_key**](KeyApi.md#delete_key) | **DELETE** /key | Delete a key
[**get_key**](KeyApi.md#get_key) | **GET** /key | Get key information
2022-11-13 13:21:12 +00:00
[**import_key**](KeyApi.md#import_key) | **POST** /key/import | Import an existing key
2023-11-22 19:48:12 +00:00
[**list_keys**](KeyApi.md#list_keys) | **GET** /key?list | List all keys
[**update_key**](KeyApi.md#update_key) | **POST** /key | Update a key
2022-11-13 13:21:12 +00:00
# **add_key**
> KeyInfo add_key(add_key_request)
Create a new API key
Creates a new API access key.
### Example
* Bearer Authentication (bearerAuth):
```python
import time
import garage_admin_sdk
from garage_admin_sdk.api import key_api
from garage_admin_sdk.model.key_info import KeyInfo
from garage_admin_sdk.model.add_key_request import AddKeyRequest
from pprint import pprint
2023-11-22 17:26:20 +00:00
# Defining the host is optional and defaults to http://localhost:3903/v1
2022-11-13 13:21:12 +00:00
# See configuration.py for a list of all supported configuration parameters.
configuration = garage_admin_sdk.Configuration(
2023-11-22 17:26:20 +00:00
host = "http://localhost:3903/v1"
2022-11-13 13:21:12 +00:00
)
# 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 = garage_admin_sdk.Configuration(
access_token = 'YOUR_BEARER_TOKEN'
)
# Enter a context with an instance of the API client
with garage_admin_sdk.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = key_api.KeyApi(api_client)
add_key_request = AddKeyRequest(
name="test-key",
2023-11-22 17:26:20 +00:00
) # AddKeyRequest | You can set a friendly name for this key. If you don't want to, you can set the name to `null`. *Note: the secret key is returned in the response.*
2022-11-13 13:21:12 +00:00
# example passing only required values which don't have defaults set
try:
# Create a new API key
api_response = api_instance.add_key(add_key_request)
pprint(api_response)
except garage_admin_sdk.ApiException as e:
print("Exception when calling KeyApi->add_key: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
2023-11-22 17:26:20 +00:00
**add_key_request** | [**AddKeyRequest**](AddKeyRequest.md)| You can set a friendly name for this key. If you don't want to, you can set the name to `null`. *Note: the secret key is returned in the response.* |
2022-11-13 13:21:12 +00:00
### Return type
[**KeyInfo**](KeyInfo.md)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**500** | The server can not handle your request. Check your connectivity with the rest of the cluster. | - |
**400** | Invalid syntax or requested change | - |
**200** | The key has been added | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **delete_key**
2023-11-23 07:53:53 +00:00
> delete_key(id)
2022-11-13 13:21:12 +00:00
Delete a key
Delete a key from the cluster. Its access will be removed from all the buckets. Buckets are not automatically deleted and can be dangling. You should manually delete them before.
### Example
* Bearer Authentication (bearerAuth):
```python
import time
import garage_admin_sdk
from garage_admin_sdk.api import key_api
from pprint import pprint
2023-11-22 17:26:20 +00:00
# Defining the host is optional and defaults to http://localhost:3903/v1
2022-11-13 13:21:12 +00:00
# See configuration.py for a list of all supported configuration parameters.
configuration = garage_admin_sdk.Configuration(
2023-11-22 17:26:20 +00:00
host = "http://localhost:3903/v1"
2022-11-13 13:21:12 +00:00
)
# 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 = garage_admin_sdk.Configuration(
access_token = 'YOUR_BEARER_TOKEN'
)
# Enter a context with an instance of the API client
with garage_admin_sdk.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = key_api.KeyApi(api_client)
2023-11-23 07:53:53 +00:00
id = "GK31c2f218a2e44f485b94239e" # str | The exact API access key generated by Garage
2022-11-13 13:21:12 +00:00
# example passing only required values which don't have defaults set
try:
# Delete a key
2023-11-23 07:53:53 +00:00
api_instance.delete_key(id)
2022-11-13 13:21:12 +00:00
except garage_admin_sdk.ApiException as e:
print("Exception when calling KeyApi->delete_key: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
2023-11-23 07:53:53 +00:00
**id** | **str**| The exact API access key generated by Garage |
2022-11-13 13:21:12 +00:00
### Return type
void (empty response body)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**500** | The server can not handle your request. Check your connectivity with the rest of the cluster. | - |
**200** | The key has been deleted | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_key**
2023-11-22 19:48:12 +00:00
> KeyInfo get_key()
2022-11-13 13:21:12 +00:00
Get key information
2023-11-22 19:48:12 +00:00
Return information about a specific key like its identifiers, its permissions and buckets on which it has permissions. You can search by specifying the exact key identifier (`id`) or by specifying a pattern (`search`). For confidentiality reasons, the secret key is not returned by default: you must pass the `showSecretKey` query parameter to get it.
2022-11-13 13:21:12 +00:00
### Example
* Bearer Authentication (bearerAuth):
```python
import time
import garage_admin_sdk
from garage_admin_sdk.api import key_api
from garage_admin_sdk.model.key_info import KeyInfo
from pprint import pprint
2023-11-22 17:26:20 +00:00
# Defining the host is optional and defaults to http://localhost:3903/v1
2022-11-13 13:21:12 +00:00
# See configuration.py for a list of all supported configuration parameters.
configuration = garage_admin_sdk.Configuration(
2023-11-22 17:26:20 +00:00
host = "http://localhost:3903/v1"
2022-11-13 13:21:12 +00:00
)
# 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 = garage_admin_sdk.Configuration(
access_token = 'YOUR_BEARER_TOKEN'
)
# Enter a context with an instance of the API client
with garage_admin_sdk.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = key_api.KeyApi(api_client)
2023-11-22 19:48:12 +00:00
id = "GK31c2f218a2e44f485b94239e" # str | The exact API access key generated by Garage. Incompatible with `search`. (optional)
search = "test-k" # str | A pattern (beginning or full string) corresponding to a key identifier or friendly name. Incompatible with `id`. (optional)
2023-11-22 20:08:14 +00:00
show_secret_key = "true" # str | Wether or not the secret key should be returned in the response (optional) if omitted the server will use the default value of "false"
2022-11-13 13:21:12 +00:00
2023-11-22 17:26:20 +00:00
# example passing only required values which don't have defaults set
# and optional values
try:
# Get key information
2023-11-22 19:48:12 +00:00
api_response = api_instance.get_key(id=id, search=search, show_secret_key=show_secret_key)
2023-11-22 17:26:20 +00:00
pprint(api_response)
except garage_admin_sdk.ApiException as e:
print("Exception when calling KeyApi->get_key: %s\n" % e)
2022-11-13 13:21:12 +00:00
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
2023-11-22 19:48:12 +00:00
**id** | **str**| The exact API access key generated by Garage. Incompatible with `search`. | [optional]
**search** | **str**| A pattern (beginning or full string) corresponding to a key identifier or friendly name. Incompatible with `id`. | [optional]
2023-11-22 20:08:14 +00:00
**show_secret_key** | **str**| Wether or not the secret key should be returned in the response | [optional] if omitted the server will use the default value of "false"
2022-11-13 13:21:12 +00:00
### Return type
[**KeyInfo**](KeyInfo.md)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**500** | The server can not handle your request. Check your connectivity with the rest of the cluster. | - |
**200** | Returns information about the key | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **import_key**
> KeyInfo import_key(import_key_request)
Import an existing key
Imports an existing API key. This feature must only be used for migrations and backup restore. **Do not use it to generate custom key identifiers or you will break your Garage cluster.**
### Example
* Bearer Authentication (bearerAuth):
```python
import time
import garage_admin_sdk
from garage_admin_sdk.api import key_api
from garage_admin_sdk.model.import_key_request import ImportKeyRequest
from garage_admin_sdk.model.key_info import KeyInfo
from pprint import pprint
2023-11-22 17:26:20 +00:00
# Defining the host is optional and defaults to http://localhost:3903/v1
2022-11-13 13:21:12 +00:00
# See configuration.py for a list of all supported configuration parameters.
configuration = garage_admin_sdk.Configuration(
2023-11-22 17:26:20 +00:00
host = "http://localhost:3903/v1"
2022-11-13 13:21:12 +00:00
)
# 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 = garage_admin_sdk.Configuration(
access_token = 'YOUR_BEARER_TOKEN'
)
# Enter a context with an instance of the API client
with garage_admin_sdk.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = key_api.KeyApi(api_client)
import_key_request = ImportKeyRequest(
name="test-key",
access_key_id="GK31c2f218a2e44f485b94239e",
secret_access_key="b892c0665f0ada8a4755dae98baa3b133590e11dae3bcc1f9d769d67f16c3835",
) # ImportKeyRequest | Information on the key to import
# example passing only required values which don't have defaults set
try:
# Import an existing key
api_response = api_instance.import_key(import_key_request)
pprint(api_response)
except garage_admin_sdk.ApiException as e:
print("Exception when calling KeyApi->import_key: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**import_key_request** | [**ImportKeyRequest**](ImportKeyRequest.md)| Information on the key to import |
### Return type
[**KeyInfo**](KeyInfo.md)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**500** | The server can not handle your request. Check your connectivity with the rest of the cluster. | - |
**400** | Invalid syntax or requested change | - |
**200** | The key has been imported into the system | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **list_keys**
> [ListKeys200ResponseInner] list_keys()
List all keys
Returns all API access keys in the cluster.
### Example
* Bearer Authentication (bearerAuth):
```python
import time
import garage_admin_sdk
from garage_admin_sdk.api import key_api
from garage_admin_sdk.model.list_keys200_response_inner import ListKeys200ResponseInner
from pprint import pprint
2023-11-22 17:26:20 +00:00
# Defining the host is optional and defaults to http://localhost:3903/v1
2022-11-13 13:21:12 +00:00
# See configuration.py for a list of all supported configuration parameters.
configuration = garage_admin_sdk.Configuration(
2023-11-22 17:26:20 +00:00
host = "http://localhost:3903/v1"
2022-11-13 13:21:12 +00:00
)
# 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 = garage_admin_sdk.Configuration(
access_token = 'YOUR_BEARER_TOKEN'
)
# Enter a context with an instance of the API client
with garage_admin_sdk.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = key_api.KeyApi(api_client)
# example, this endpoint has no required or optional parameters
try:
# List all keys
api_response = api_instance.list_keys()
pprint(api_response)
except garage_admin_sdk.ApiException as e:
print("Exception when calling KeyApi->list_keys: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**[ListKeys200ResponseInner]**](ListKeys200ResponseInner.md)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**500** | The server can not handle your request. Check your connectivity with the rest of the cluster. | - |
**200** | Returns the key identifier (aka `AWS_ACCESS_KEY_ID`) and its associated, human friendly, name if any (otherwise return an empty string) | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **update_key**
2023-11-23 07:53:53 +00:00
> KeyInfo update_key(id, update_key_request)
2022-11-13 13:21:12 +00:00
Update a key
2023-11-22 17:26:20 +00:00
Updates information about the specified API access key. *Note: the secret key is not returned in the response, `null` is sent instead.*
2022-11-13 13:21:12 +00:00
### Example
* Bearer Authentication (bearerAuth):
```python
import time
import garage_admin_sdk
from garage_admin_sdk.api import key_api
from garage_admin_sdk.model.update_key_request import UpdateKeyRequest
from garage_admin_sdk.model.key_info import KeyInfo
from pprint import pprint
2023-11-22 17:26:20 +00:00
# Defining the host is optional and defaults to http://localhost:3903/v1
2022-11-13 13:21:12 +00:00
# See configuration.py for a list of all supported configuration parameters.
configuration = garage_admin_sdk.Configuration(
2023-11-22 17:26:20 +00:00
host = "http://localhost:3903/v1"
2022-11-13 13:21:12 +00:00
)
# 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 = garage_admin_sdk.Configuration(
access_token = 'YOUR_BEARER_TOKEN'
)
# Enter a context with an instance of the API client
with garage_admin_sdk.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = key_api.KeyApi(api_client)
2023-11-23 07:53:53 +00:00
id = "GK31c2f218a2e44f485b94239e" # str | The exact API access key generated by Garage
2022-11-13 13:21:12 +00:00
update_key_request = UpdateKeyRequest(
name="test-key",
allow=UpdateKeyRequestAllow(
create_bucket=True,
),
deny=UpdateKeyRequestDeny(
create_bucket=True,
),
) # UpdateKeyRequest | For a given key, provide a first set with the permissions to grant, and a second set with the permissions to remove
# example passing only required values which don't have defaults set
try:
# Update a key
2023-11-23 07:53:53 +00:00
api_response = api_instance.update_key(id, update_key_request)
2022-11-13 13:21:12 +00:00
pprint(api_response)
except garage_admin_sdk.ApiException as e:
print("Exception when calling KeyApi->update_key: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
2023-11-23 07:53:53 +00:00
**id** | **str**| The exact API access key generated by Garage |
2022-11-13 13:21:12 +00:00
**update_key_request** | [**UpdateKeyRequest**](UpdateKeyRequest.md)| For a given key, provide a first set with the permissions to grant, and a second set with the permissions to remove |
### Return type
[**KeyInfo**](KeyInfo.md)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**500** | The server can not handle your request. Check your connectivity with the rest of the cluster. | - |
**400** | Invalid syntax or requested change | - |
**200** | Returns information about the key | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)