Sha256: 11beb9ff1c73153f56d6d2b2caf200899e47c94954481032906b071eb0785a1a

Contents?: true

Size: 1.57 KB

Versions: 9

Compression:

Stored size: 1.57 KB

Contents

# encoding: utf-8

require "thor"

module Doggy
  class CLI < Thor
    include Thor::Actions

    desc "pull", "Pulls objects from Datadog"
    long_desc <<-D
      Pull objects from Datadog. All objects are pulled unless the type switches
      are used.
    D

    method_option "dashboards", type: :boolean, desc: 'Pull dashboards'
    method_option "monitors",   type: :boolean, desc: 'Pull monitors'
    method_option "screens",    type: :boolean, desc: 'Pull screens'

    def pull
      CLI::Pull.new(options.dup).run
    end

    desc "push", "Pushes objects to Datadog"
    long_desc <<-D
      Pushes objects to Datadog. Any objects that aren't skipped and don't have
      the marker in their title will get it as a result of a push.
    D

    method_option "dashboards", type: :boolean, desc: 'Pull dashboards'
    method_option "monitors",   type: :boolean, desc: 'Pull monitors'
    method_option "screens",    type: :boolean, desc: 'Pull screens'

    def push
      CLI::Push.new(options.dup).run
    end


    desc "mute OBJECT_ID OBJECT_ID OBJECT_ID", "Mutes monitor on DataDog"
    long_desc <<-D
      Mutes monitors on Datadog.
    D

    def mute(*ids)
      CLI::Mute.new(options.dup, ids).run
    end

    desc "unmute OBJECT_ID OBJECT_ID OBJECT_ID", "Unmutes monitor on DataDog"
    long_desc <<-D
      Unmutes monitors on datadog
    D

    def unmute(*ids)
      CLI::Unmute.new(options.dup, ids).run
    end

    desc "edit OBJECT_ID", "Edits an object"
    long_desc <<-D
      Edits an object
    D

    def edit(id)
      CLI::Edit.new(options.dup, id).run
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
doggy-2.0.10 lib/doggy/cli.rb
doggy-2.0.9 lib/doggy/cli.rb
doggy-2.0.8 lib/doggy/cli.rb
doggy-2.0.7 lib/doggy/cli.rb
doggy-2.0.6 lib/doggy/cli.rb
doggy-2.0.5 lib/doggy/cli.rb
doggy-2.0.4 lib/doggy/cli.rb
doggy-2.0.3 lib/doggy/cli.rb
doggy-2.0.2 lib/doggy/cli.rb