iiblib 7.4.0
IIB client library
Requires Python: >=3.6

iiblib
======

IIB lib is python IIB client library that allows user to operate with IIB service



Requirements
------------

* Python 3.7 over

Setup
-----


    # pip install -r requirements.txt
    $ python -m pip install --user iiblib
    or
    (venv)$ python -m pip install iiblib

Usage
-----

Basic usage of IIBClient from iiblib is following

    $ python
    >>> from iiblib.iib_client import IIBClient
    >>> from iiblib.iib_authentication import IIBKrbAuth
    >>> krbauth = IIBKrbAuth()
    >>> iibc = IIBClient('iib-host', auth=krbauth)
    >>> build = iibc.add_bundles('index_image', 'binary_image', ['bundle1','bundle2'], ['amd64'])
    >>> iibc.wait_for_build(build)
    >>>
    >>> iibc.remove_operators('index_image', 'binary_image', ['operator1'], ['amd64'])

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Unreleased

## 7.4.0 - 2024-08-28

### Added
 - Add operation add_deprecations
 - Add AddDeprecationsModel for new IIB API endpoint

## 7.3.0 - 2024-03-27

### Removed
 - Removed retries based on specific state_reason

## 7.2.0 - 2023-09-12

### Added
 - Added check-related-images parameter to Add request

## 7.1.0 - 2023-05-18

### Added
 - Added FBCOperationsModel
 - Added retry for Kerberos authentication

## 7.0.0 - 2023-02-14

### Added
 - Added RecursiveRelatedBundlesModel
 - Added retries for IIB requests

### Fixed
 - Fixed codestyle issues

### Removed
- Dropped support for Python2

## 6.0.0 - 2022-06-20

### Added
 - Added internal_index_image_copy and internal_index_image_copy_resolved attributes support

## 5.0.0 - 2021-11-09

### Added
 - Added build_tags attribute support

## 4.0.0 - 2021-07-26

### Added
 - CreateEmptyIndexModel and functionality
 - create_empty_index function in iib_client.py

## 3.0.0 - 2021-03-19

### Added
 - index_image_resolved attribute
 - deprecation_list attribute to AddModel
 - deprecation_list parameter to add_bundles function

## 2.2.0 - 2021-02-15

### Added
 - new model MergeIndexImageModel

## 2.1.0 - 2021-01-20

### Added
 - regenerate_bundle function in iib_client.py

## 2.0.1 - 2020-11-26

### Fixed

 - fixed a Python 2.6 compatibility issue in iib_build_details_model

## 2.0.0 - 2020-11-19

### Added
 - new models AddModel, RmModel and RegenerateBundleModel to iib_build_details_model
 - new functions _get_args, _validate_data and \_\_getattribute\_\_ in IIBBuildDetailsModel
 - use \__slots\__ for backward compatibility
 - new class variables _operation_attrs, _optional_attrs, _general_attrs and
 _accepted_request_type

### Changed
 - class IIBBuildDetailsModel change to generic class which is inherited by new models
 - functions from\_dict, to\_dict and \__eq\__ in IIBBuildDetailsModel


## 1.0.0 - 2020-10-20

### Changed
 - Version set to 1.0.0 to indicate stable release

## 0.13.0 - 2020-10-14

### Changed
 - Rename file iibclient.py to iib_client.py
 - Create new files for classes from iib_client.py

## 0.12.0 - 2020-09-29

### Added

 - added support for 'omps_operator_version'
  
### Changed

 - 'bundles' is now an optional parameter in IIB requests
 - 'binary_image' is now an optional parameter in IIB requests

## 0.11.0 - 2020-07-06

### Added

 - timout for getting build in final state (default 2 hours)
 - backoff factor for retrying data from API 
  
### Changed

 - retry is now triggered for all 5xx HTTP status codes (500-511)

## 0.10.0 - 2020-06-25

### Fixed

- usage in README
- default location for keytab

### Added

- support for "overwrite-from-index-token" when calling IIB

### Changed

- password-based auth to token by replacing content-delivery-release-bot

## 0.9.0 - 2020-03-30

### Added

- added overwrite_from_index param support

## 0.8.0 - 2020-03-04

### Changed

- better error reporting for IIB errors

### Added

- to_dict method for IIBBuildDetailsModel

## 0.7.0 - 2020-03-04

### Fixed

- rhel 6 compatibility kerberos fixes

## 0.6.0 - 2020-03-01

### Fixed

- requests-gssapi replaced with requests-kerberos

## 0.5.0 - 2020-02-29

### Fixed

- kerberos auth fixed

## 0.4.0 - 2020-02-27

### Fixed

- make client compatible with upstream IIB

## 0.3.0 - 2020-02-27

### Fixed

- Fixed kerberos auth
- added way how to configure insecure ssl connection to IIB

## 0.2.0 - 2020-02-26

### Fixed

- Fixed incompatibilities with IIB

## 0.1.0 - 2020-02-21

### Added
- First iiblib release with support of basic IIB operations