Class: Uffizzi::Cli::Disconnect

Inherits:
Object
  • Object
show all
Includes:
ApiClient
Defined in:
lib/uffizzi/cli/disconnect.rb

Instance Method Summary collapse

Methods included from ApiClient

#bulk_create_secrets, #check_can_install, #check_credential, #create_access_token, #create_account_controller_settings, #create_ci_session, #create_cluster, #create_credential, #create_deployment, #create_project, #create_session, #delete_account_controller_settings, #delete_cluster, #delete_credential, #delete_deployment, #delete_project, #delete_secret, #deploy_containers, #describe_compose_file, #describe_deployment, #destroy_session, #fetch_account, #fetch_account_projects, #fetch_accounts, #fetch_credentials, #fetch_deployment_service_logs, #fetch_deployment_services, #fetch_deployments, #fetch_events, #fetch_project, #fetch_projects, #fetch_secrets, #get_access_token, #get_account_clusters, #get_account_controller_settings, #get_activity_items, #get_cluster, #get_cluster_ingresses, #get_k8s_container_description, #get_project_clusters, #scale_down_cluster, #scale_up_cluster, #set_compose_file, #sync_cluster, #unset_compose_file, #update_account, #update_account_controller_settings, #update_credential, #update_deployment, #validate_compose_file

Methods included from ApiRoutes

#access_token_url, #access_tokens_url, #account_can_install_uri, #account_clusters_uri, #account_controller_setting_uri, #account_controller_settings_uri, #account_projects_uri, #account_uri, #accounts_uri, #activity_items_uri, #browser_sign_in_url, #check_credential_uri, #ci_session_uri, #cluster_uri, #compose_file_uri, #create_projects_uri, #credential_uri, #credentials_uri, #deploy_containers_uri, #deployment_uri, #deployments_uri, #events_uri, #k8s_container_description_uri, #preview_service_logs_uri, #preview_services_uri, #project_cluster_ingresses_uri, #project_clusters_uri, #project_uri, #projects_uri, #scale_down_cluster_uri, #scale_up_cluster_uri, #secret_uri, #secrets_uri, #session_uri, #sync_cluster_uri, #validate_compose_file_uri

Instance Method Details

#run(credential_type) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/uffizzi/cli/disconnect.rb', line 9

def run(credential_type)
  connection_type = case credential_type
                    when 'docker-hub'
                      Uffizzi.configuration.credential_types[:dockerhub]
                    when 'docker-registry'
                      Uffizzi.configuration.credential_types[:docker_registry]
                    when 'acr'
                      Uffizzi.configuration.credential_types[:azure]
                    when 'ecr'
                      Uffizzi.configuration.credential_types[:amazon]
                    when 'gcr'
                      Uffizzi.configuration.credential_types[:google]
                    when 'ghcr'
                      Uffizzi.configuration.credential_types[:github_registry]
                    else
                      raise Uffizzi::Error.new('Unsupported credential type.')
  end

  response = delete_credential(ConfigFile.read_option(:server), ConfigFile.read_option(:account, :id), connection_type)

  if ResponseHelper.no_content?(response)
    Uffizzi.ui.say("Successfully disconnected from #{connection_name(credential_type)}.")
  else
    ResponseHelper.handle_failed_response(response)
  end
end