Class: ThreeScaleToolbox::Commands::ImportCommand::OpenAPI::CreateBackendStep

Inherits:
Object
  • Object
show all
Includes:
Step
Defined in:
lib/3scale_toolbox/commands/import_command/openapi/create_backend_step.rb

Instance Attribute Summary

Attributes included from Step

#context

Instance Method Summary collapse

Methods included from Step

#api_spec, #backend, #backend=, #backend_api_host_header, #backend_api_secret_token, #base_path, #build_3scale_operations, #default_credentials_userkey, #host, #initialize, #logger, #oidc_issuer_endpoint, #oidc_issuer_type, #operations, #override_private_base_url, #override_private_basepath, #override_public_basepath, #prefix_matching, #private_base_path, #private_endpoint, #production_public_base_url, #public_base_path, #report, #resource, #service, #service=, #staging_public_base_url, #target_system_name, #threescale_client

Instance Method Details

#callObject

Creates backend with a given system_name If the backend already exists, update basic settings like name and description



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/3scale_toolbox/commands/import_command/openapi/create_backend_step.rb', line 11

def call
  # Update backend and update context
  self.backend = Entities::Backend.find_by_system_name(remote: threescale_client,
                                                       system_name: system_name)
  if backend.nil?
    # Create service and update context
    self.backend = Entities::Backend.create(remote: threescale_client,
                                            attrs: create_attrs)
  else
    backend.update(update_attrs)
  end

  report['id'] = backend.id
  report['system_name'] = backend.system_name
  report['private_endpoint'] = backend.private_endpoint
end