def initialize(log_kwargs=None, interactive=False):
    log_kwargs = log_kwargs or {}
    logs.info(f'Installing crds', **log_kwargs)
    crds_manager.install_crd(CRD_SINGULAR,
                             CRD_PLURAL,
                             CRD_KIND,
                             hash_names=True)
    ckan_infra = CkanInfra(required=False)
    if interactive:
        providers_manager.config_interactive_set(
            PROVIDER_SUBMODULE,
            default_values={
                'gcloud-storage-import-bucket':
                ckan_infra.GCLOUD_SQL_DEIS_IMPORT_BUCKET
            },
            suffix='deis-migration')
    else:
        if not providers_manager.config_get(PROVIDER_SUBMODULE,
                                            key='gcloud-storage-import-bucket',
                                            suffix='deis-migration',
                                            required=False):
            providers_manager.config_set(
                PROVIDER_SUBMODULE,
                values={
                    'gcloud-storage-import-bucket':
                    ckan_infra.GCLOUD_SQL_DEIS_IMPORT_BUCKET
                },
                suffix='deis-migration')
def _config_interactive_set(default_values,
                            namespace=None,
                            is_secret=False,
                            suffix=None,
                            from_file=False):
    providers_manager.config_interactive_set(PROVIDER_SUBMODULE, PROVIDER_ID,
                                             default_values, namespace,
                                             is_secret, suffix, from_file)
def _config_interactive_set(default_values, namespace=None, is_secret=False, suffix=None, from_file=False, interactive=True): providers_manager.config_interactive_set(PROVIDER_SUBMODULE, PROVIDER_ID, default_values, namespace, is_secret, suffix, from_file, interactive)

################################
# custom provider code starts here
#

import subprocess