def get_required_apis()

in google_cloud_automlops/utils/utils.py [0:0]


def get_required_apis(defaults: dict) -> list:
    """Returns the list of required APIs based on the user tooling selection determined during
    the generate() step.

    Args:
        defaults (dict): Contents of the Defaults yaml file (config/defaults.yaml).

    Returns:
        list: Required APIs.
    """
    required_apis = [
        'cloudbuild.googleapis.com',
        'cloudresourcemanager.googleapis.com',
        'compute.googleapis.com',
        'iamcredentials.googleapis.com',
        'iam.googleapis.com',
        'pubsub.googleapis.com',
        'storage.googleapis.com']
    if defaults['tooling']['orchestration_framework'] == Orchestrator.KFP.value:
        required_apis.append('aiplatform.googleapis.com')
    if defaults['gcp']['artifact_repo_type'] == ArtifactRepository.ARTIFACT_REGISTRY.value:
        required_apis.append('artifactregistry.googleapis.com')
    # if defaults['tooling']['deployment_framework'] == Deployer.CLOUDBUILD.value:
    #     required_apis.add('cloudbuild.googleapis.com')
    if defaults['tooling']['use_ci']:
        if defaults['gcp']['schedule_pattern'] != DEFAULT_SCHEDULE_PATTERN:
            required_apis.append('cloudscheduler.googleapis.com')
        if defaults['gcp']['pipeline_job_submission_service_type'] == PipelineJobSubmitter.CLOUD_RUN.value:
            required_apis.append('run.googleapis.com')
        if defaults['gcp']['pipeline_job_submission_service_type'] == PipelineJobSubmitter.CLOUD_FUNCTIONS.value:
            required_apis.append('cloudfunctions.googleapis.com')
        if defaults['gcp']['setup_model_monitoring']:
            required_apis.append('logging.googleapis.com')
    return required_apis