Metadata-Version: 2.4
Name: ionoscloud_container_registry
Version: 2.0.0
Summary: Container Registry service
License: NoLicense
License-File: LICENSE
Keywords: OpenAPI,OpenAPI-Generator,Container Registry service
Author: IONOS Cloud Support
Author-email: support@cloud.ionos.com
Requires-Python: >=3.9,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: pydantic (>=2)
Requires-Dist: python-dateutil (>=2.8.2)
Requires-Dist: typing-extensions (>=4.7.1)
Requires-Dist: urllib3 (>=2.1.0,<3.0.0)
Project-URL: Repository, https://github.com/ionos-cloud/sdk-python
Description-Content-Type: text/markdown

# ionoscloud-container-registry
## Overview
Container Registry service enables IONOS clients to manage docker and OCI
compliant registries for use by their managed Kubernetes clusters. Use a
Container Registry to ensure you have a privately accessed registry to
efficiently support image pulls.
## Changelog
### 1.1.0
 - Added new endpoints for Repositories
 - Added new endpoints for Artifacts
 - Added new endpoints for Vulnerabilities
 - Added registry vulnerabilityScanning feature
### 1.2.0
 - Added registry `apiSubnetAllowList`
### 1.2.1
 - Amended `apiSubnetAllowList` Regex


This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.2.1
- Package version: 2.0.0
- Generator version: 7.13.0-SNAPSHOT
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

## Requirements.

Python 3.9+

## Installation & Usage
### pip install

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

```sh
pip install git+https://github.com/ionos-cloud/sdk-python.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/ionos-cloud/sdk-python.git`)

Then import the package:
```python
import ionoscloud_container_registry
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import ionoscloud_container_registry
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import ionoscloud_container_registry
from ionoscloud_container_registry.rest import ApiException
from pprint import pprint
import os

# Defining the host is optional and defaults to https://api.ionos.com/containerregistries
# See configuration.py for a list of all supported configuration parameters.
configuration = ionoscloud_container_registry.Configuration(
    host = "https://api.ionos.com/containerregistries"
)

# 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 API key authorization: tokenAuth
configuration.api_key['tokenAuth'] = os.environ["API_KEY"]

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['tokenAuth'] = 'Bearer'


# Enter a context with an instance of the API client
with ionoscloud_container_registry.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = ionoscloud_container_registry.ArtifactsApi(api_client)
    registry_id = '1e41a73c-59d0-5507-86dd-fa2fc2501cfd' # str | The ID (UUID) of the Registry.
    offset = 0 # int | The first element (of the total list of elements) to include in the response. Use together with limit for pagination. (optional) (default to 0)
    limit = 100 # int | The maximum number of elements to return. Use together with offset for pagination. (optional) (default to 100)
    filter_vulnerability_id = 'filter_vulnerability_id_example' # str | Filter resources by vulnerabilityId. (optional)
    order_by = -pullCount # str | The field to order the results by. If not provided, the results will be ordered by the default field. (optional) (default to -pullCount)

    try:
        # Retrieve all Artifacts by Registry
        api_response = api_instance.registries_artifacts_get(registry_id, offset=offset, limit=limit, filter_vulnerability_id=filter_vulnerability_id, order_by=order_by)
        print("The response of ArtifactsApi->registries_artifacts_get:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling ArtifactsApi->registries_artifacts_get: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *https://api.ionos.com/containerregistries*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*ArtifactsApi* | [**registries_artifacts_get**](docs/api/ArtifactsApi.md#registries_artifacts_get) | **GET** /registries/{registryId}/artifacts | Retrieve all Artifacts by Registry
*ArtifactsApi* | [**registries_repositories_artifacts_find_by_digest**](docs/api/ArtifactsApi.md#registries_repositories_artifacts_find_by_digest) | **GET** /registries/{registryId}/repositories/{repositoryName}/artifacts/{digest} | Retrieve Artifact
*ArtifactsApi* | [**registries_repositories_artifacts_get**](docs/api/ArtifactsApi.md#registries_repositories_artifacts_get) | **GET** /registries/{registryId}/repositories/{repositoryName}/artifacts | Retrieve all Artifacts by Repository
*ArtifactsApi* | [**registries_repositories_artifacts_vulnerabilities_get**](docs/api/ArtifactsApi.md#registries_repositories_artifacts_vulnerabilities_get) | **GET** /registries/{registryId}/repositories/{repositoryName}/artifacts/{digest}/vulnerabilities | Retrieve all Vulnerabilities
*LocationsApi* | [**locations_get**](docs/api/LocationsApi.md#locations_get) | **GET** /locations | Get container registry locations
*NamesApi* | [**names_check_usage**](docs/api/NamesApi.md#names_check_usage) | **HEAD** /names/{name} | Get container registry name availability
*RegistriesApi* | [**registries_delete**](docs/api/RegistriesApi.md#registries_delete) | **DELETE** /registries/{registryId} | Delete registry
*RegistriesApi* | [**registries_find_by_id**](docs/api/RegistriesApi.md#registries_find_by_id) | **GET** /registries/{registryId} | Get a registry
*RegistriesApi* | [**registries_get**](docs/api/RegistriesApi.md#registries_get) | **GET** /registries | List all container registries
*RegistriesApi* | [**registries_patch**](docs/api/RegistriesApi.md#registries_patch) | **PATCH** /registries/{registryId} | Update the properties of a registry
*RegistriesApi* | [**registries_post**](docs/api/RegistriesApi.md#registries_post) | **POST** /registries | Create container registry
*RegistriesApi* | [**registries_put**](docs/api/RegistriesApi.md#registries_put) | **PUT** /registries/{registryId} | Create or replace a container registry
*RepositoriesApi* | [**registries_repositories_delete**](docs/api/RepositoriesApi.md#registries_repositories_delete) | **DELETE** /registries/{registryId}/repositories/{repositoryName} | Delete repository
*RepositoriesApi* | [**registries_repositories_find_by_name**](docs/api/RepositoriesApi.md#registries_repositories_find_by_name) | **GET** /registries/{registryId}/repositories/{repositoryName} | Retrieve Repository
*RepositoriesApi* | [**registries_repositories_get**](docs/api/RepositoriesApi.md#registries_repositories_get) | **GET** /registries/{registryId}/repositories | Retrieve all Repositories
*TokensApi* | [**registries_tokens_delete**](docs/api/TokensApi.md#registries_tokens_delete) | **DELETE** /registries/{registryId}/tokens/{tokenId} | Delete token
*TokensApi* | [**registries_tokens_find_by_id**](docs/api/TokensApi.md#registries_tokens_find_by_id) | **GET** /registries/{registryId}/tokens/{tokenId} | Get token information
*TokensApi* | [**registries_tokens_get**](docs/api/TokensApi.md#registries_tokens_get) | **GET** /registries/{registryId}/tokens | List all tokens for the container registry
*TokensApi* | [**registries_tokens_patch**](docs/api/TokensApi.md#registries_tokens_patch) | **PATCH** /registries/{registryId}/tokens/{tokenId} | Update token
*TokensApi* | [**registries_tokens_post**](docs/api/TokensApi.md#registries_tokens_post) | **POST** /registries/{registryId}/tokens | Create token
*TokensApi* | [**registries_tokens_put**](docs/api/TokensApi.md#registries_tokens_put) | **PUT** /registries/{registryId}/tokens/{tokenId} | Create or replace token
*VulnerabilitiesApi* | [**vulnerabilities_find_by_id**](docs/api/VulnerabilitiesApi.md#vulnerabilities_find_by_id) | **GET** /vulnerabilities/{vulnerabilityId} | Retrieve Vulnerability


## Documentation For Models

 - [ApiErrorMessage](docs/models/ApiErrorMessage.md)
 - [ApiErrorResponse](docs/models/ApiErrorResponse.md)
 - [ApiResourceMetadata](docs/models/ApiResourceMetadata.md)
 - [Artifact](docs/models/Artifact.md)
 - [ArtifactMetadata](docs/models/ArtifactMetadata.md)
 - [ArtifactRead](docs/models/ArtifactRead.md)
 - [ArtifactReadList](docs/models/ArtifactReadList.md)
 - [ArtifactVulnerabilityReadList](docs/models/ArtifactVulnerabilityReadList.md)
 - [Credentials](docs/models/Credentials.md)
 - [Day](docs/models/Day.md)
 - [Error](docs/models/Error.md)
 - [ErrorMessagesInner](docs/models/ErrorMessagesInner.md)
 - [Feature](docs/models/Feature.md)
 - [FeatureVulnerabilityScanning](docs/models/FeatureVulnerabilityScanning.md)
 - [Links](docs/models/Links.md)
 - [Location](docs/models/Location.md)
 - [LocationsResponse](docs/models/LocationsResponse.md)
 - [Metadata](docs/models/Metadata.md)
 - [Pagination](docs/models/Pagination.md)
 - [PaginationLinks](docs/models/PaginationLinks.md)
 - [PatchRegistryInput](docs/models/PatchRegistryInput.md)
 - [PatchTokenInput](docs/models/PatchTokenInput.md)
 - [PostRegistryInput](docs/models/PostRegistryInput.md)
 - [PostRegistryOutput](docs/models/PostRegistryOutput.md)
 - [PostRegistryProperties](docs/models/PostRegistryProperties.md)
 - [PostTokenInput](docs/models/PostTokenInput.md)
 - [PostTokenOutput](docs/models/PostTokenOutput.md)
 - [PostTokenProperties](docs/models/PostTokenProperties.md)
 - [Purl](docs/models/Purl.md)
 - [PutRegistryInput](docs/models/PutRegistryInput.md)
 - [PutRegistryOutput](docs/models/PutRegistryOutput.md)
 - [PutTokenInput](docs/models/PutTokenInput.md)
 - [PutTokenOutput](docs/models/PutTokenOutput.md)
 - [RegistriesResponse](docs/models/RegistriesResponse.md)
 - [RegistryArtifactsReadList](docs/models/RegistryArtifactsReadList.md)
 - [RegistryFeatures](docs/models/RegistryFeatures.md)
 - [RegistryPagination](docs/models/RegistryPagination.md)
 - [RegistryProperties](docs/models/RegistryProperties.md)
 - [RegistryResponse](docs/models/RegistryResponse.md)
 - [Repository](docs/models/Repository.md)
 - [RepositoryMetadata](docs/models/RepositoryMetadata.md)
 - [RepositoryRead](docs/models/RepositoryRead.md)
 - [RepositoryReadList](docs/models/RepositoryReadList.md)
 - [Scope](docs/models/Scope.md)
 - [StorageUsage](docs/models/StorageUsage.md)
 - [TokenProperties](docs/models/TokenProperties.md)
 - [TokenResponse](docs/models/TokenResponse.md)
 - [TokensResponse](docs/models/TokensResponse.md)
 - [Vulnerability](docs/models/Vulnerability.md)
 - [VulnerabilityDataSource](docs/models/VulnerabilityDataSource.md)
 - [VulnerabilityMetadata](docs/models/VulnerabilityMetadata.md)
 - [VulnerabilityRead](docs/models/VulnerabilityRead.md)
 - [VulnerabilityReadList](docs/models/VulnerabilityReadList.md)
 - [WeeklySchedule](docs/models/WeeklySchedule.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="basicAuth"></a>
### basicAuth

- **Type**: HTTP basic authentication

<a id="tokenAuth"></a>
### tokenAuth

- **Type**: API key
- **API key parameter name**: Authorization
- **Location**: HTTP header


## Author

support@cloud.ionos.com



