Class: ThreeScaleToolbox::Commands::CopyCommand::ServiceSubcommand

Inherits:
Cri::CommandRunner
  • Object
show all
Includes:
ThreeScaleToolbox::Command
Defined in:
lib/3scale_toolbox/commands/copy_command/service_command.rb

Class Method Summary collapse

Methods included from ThreeScaleToolbox::Command

#config, #config_file, #exit_with_message, #fetch_required_option, included, #keep_alive, #remotes, #threescale_client, #verbose, #verify_ssl

Class Method Details

.commandObject



7
8
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
35
36
# File 'lib/3scale_toolbox/commands/copy_command/service_command.rb', line 7

def self.command
  Cri::Command.define do
    name        'service'
    usage       'service [opts] -s <src> -d <dst> <source-service>'
    summary     'copy service'
    description <<-HEREDOC
    This command makes a copy of the referenced service.
    Target service will be searched by source service system name. System name can be overriden with `--target_system_name` option.
    If a service with the selected `system_name` is not found, it will be created.
    \n Components of the service being copied:
    \nservice settings
    \nproxy settings
    \npricing rules
    \nactivedocs
    \nmetrics
    \nmethods
    \napplication plans
    \nmapping rules
    HEREDOC

    option  :s, :source, '3scale source instance. Url or remote name', argument: :required
    option  :d, :destination, '3scale target instance. Url or remote name', argument: :required
    option  :t, 'target_system_name', 'Target system name. Default to source system name', argument: :required
    flag    :f, :force, 'Overwrites the mapping rules by deleting all rules from target service first'
    flag    :r, 'rules-only', 'Only mapping rules are copied'
    param   :source_service

    runner Commands::ServiceCommand::CopySubcommand
  end
end