def add_active_repository(self, repository_id: str, plan: str, archive: str, **kwargs):
    "Adds a new active repository identified by 'repository_id' and that uses 'plan' as base.\n\n        Args:\n            repository_id (str): The ID to give to the repository. This must be unique, if it is not an error will be\n                returned.\n            plan (str): The name of the plan to use as base for the repository. If it does not exist the service\n                will return an error.\n            archive (str): The location to store the data in. It must be accessible by all nodes. To use S3 instead of\n                providing a path to a filesystem directory use the syntax.\n                s3://<bucket-name>/<optional_prefix>/<archive>\n            **kwargs: Optional parameters [bucket_name, credentials_name, credentials_id, credentials_key, cloud_region,\n                staging_dir, cloud_endpoint, s3_path_style]\n        "
    if (not repository_id):
        _exit_if_errors(['--id is required'])
    if (not plan):
        _exit_if_errors(['--plan is required'])
    if (not archive):
        _exit_if_errors(['--backup-archive is required'])
    _exit_if_errors(self.check_cloud_params(archive, **kwargs))
    add_request_body = {'plan': plan, 'archive': archive}
    if kwargs.get('bucket_name', False):
        add_request_body['bucket_name'] = kwargs.get('bucket_name')
    if kwargs.get('credentials_name', False):
        add_request_body['cloud_credential_name'] = kwargs.get('credentials_name')
    if kwargs.get('credentials_id', False):
        add_request_body['cloud_credentials_id'] = kwargs.get('credentials_id')
    if kwargs.get('credentials_key', False):
        add_request_body['cloud_credentials_key'] = kwargs.get('credentials_key')
    if kwargs.get('cloud_region', False):
        add_request_body['cloud_credentials_region'] = kwargs.get('cloud_region')
    if kwargs.get('cloud_endpoint', False):
        add_request_body['cloud_endpoint'] = kwargs.get('cloud_endpoint')
    if kwargs.get('s3_path_style', False):
        add_request_body['cloud_force_path_style'] = kwargs.get('s3_path_style')
    (_, errors) = self.rest.add_backup_active_repository(repository_id, add_request_body)
    _exit_if_errors(errors)
    _success('Added repository')
Adds a new active repository identified by 'repository_id' and that uses 'plan' as base.

Args:
    repository_id (str): The ID to give to the repository. This must be unique, if it is not an error will be
        returned.
    plan (str): The name of the plan to use as base for the repository. If it does not exist the service
        will return an error.
    archive (str): The location to store the data in. It must be accessible by all nodes. To use S3 instead of
        providing a path to a filesystem directory use the syntax.
        s3://<bucket-name>/<optional_prefix>/<archive>
    **kwargs: Optional parameters [bucket_name, credentials_name, credentials_id, credentials_key, cloud_region,
        staging_dir, cloud_endpoint, s3_path_style]
def add_active_repository(self, repository_id: str, plan: str, archive: str, **kwargs):
    "Adds a new active repository identified by 'repository_id' and that uses 'plan' as base.\n\n        Args:\n            repository_id (str): The ID to give to the repository. This must be unique, if it is not an error will be\n                returned.\n            plan (str): The name of the plan to use as base for the repository. If it does not exist the service\n                will return an error.\n            archive (str): The location to store the data in. It must be accessible by all nodes. To use S3 instead of\n                providing a path to a filesystem directory use the syntax.\n                s3://<bucket-name>/<optional_prefix>/<archive>\n            **kwargs: Optional parameters [bucket_name, credentials_name, credentials_id, credentials_key, cloud_region,\n                staging_dir, cloud_endpoint, s3_path_style]\n        "
    if (not repository_id):
        _exit_if_errors(['--id is required'])
    if (not plan):
        _exit_if_errors(['--plan is required'])
    if (not archive):
        _exit_if_errors(['--backup-archive is required'])
    _exit_if_errors(self.check_cloud_params(archive, **kwargs))
    add_request_body = {'plan': plan, 'archive': archive}
    if kwargs.get('bucket_name', False):
        add_request_body['bucket_name'] = kwargs.get('bucket_name')
    if kwargs.get('credentials_name', False):
        add_request_body['cloud_credential_name'] = kwargs.get('credentials_name')
    if kwargs.get('credentials_id', False):
        add_request_body['cloud_credentials_id'] = kwargs.get('credentials_id')
    if kwargs.get('credentials_key', False):
        add_request_body['cloud_credentials_key'] = kwargs.get('credentials_key')
    if kwargs.get('cloud_region', False):
        add_request_body['cloud_credentials_region'] = kwargs.get('cloud_region')
    if kwargs.get('cloud_endpoint', False):
        add_request_body['cloud_endpoint'] = kwargs.get('cloud_endpoint')
    if kwargs.get('s3_path_style', False):
        add_request_body['cloud_force_path_style'] = kwargs.get('s3_path_style')
    (_, errors) = self.rest.add_backup_active_repository(repository_id, add_request_body)
    _exit_if_errors(errors)
    _success('Added repository')