hammer_cli_foreman_webhooks 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
 - data/LICENSE +5 -0
 - data/README.md +32 -0
 - data/config/foreman_webhooks.yml +2 -0
 - data/lib/hammer_cli_foreman_webhooks.rb +24 -0
 - data/lib/hammer_cli_foreman_webhooks/command_extensions.rb +3 -0
 - data/lib/hammer_cli_foreman_webhooks/command_extensions/webhook.rb +43 -0
 - data/lib/hammer_cli_foreman_webhooks/version.rb +7 -0
 - data/lib/hammer_cli_foreman_webhooks/webhook.rb +65 -0
 - data/lib/hammer_cli_foreman_webhooks/webhook_template.rb +100 -0
 - metadata +73 -0
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA256:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 0feb157669e6b414e8b3a9ac20b2a6f02bd1c070cf8e8c29a57c8e80e7c7420d
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 51b5e1e238c9218dac0968f1127eb45ce2e1b52c51e08babda53d69241237efb
         
     | 
| 
      
 5 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 25f6a72ed3e8d8b5c6ed21b2d5da48bdf49c2f2d56a35b479167832a88191a03d81e51f29d83f384c2b0e8fdda185a7d70033be397b3a78e5639a027e7b1c0bc
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 5133fc734abaef5a43a5690b4929817c5e2c49cd606108966590c78d526824d606bb7b44ae809636b27633147de5abba57aac720f499549735ba9d68f80398d6
         
     | 
    
        data/LICENSE
    ADDED
    
    | 
         @@ -0,0 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            This program and entire repository is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
         
     | 
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,32 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Hammer CLI Foreman Webhooks
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            This Hammer CLI plugin contains set of commands for [foreman_webhooks](
         
     | 
| 
      
 4 
     | 
    
         
            +
              https://github.com/theforeman/foreman_webhooks
         
     | 
| 
      
 5 
     | 
    
         
            +
            ), a plugin to Foreman for Webhooks management.
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            ## Versions
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            This is the list of which version of Foreman Webhooks is needed to which version of this plugin.
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            | hammer_cli_foreman_webhooks | v0.0.1 |  
         
     | 
| 
      
 12 
     | 
    
         
            +
            |-----------------------------|--------|
         
     | 
| 
      
 13 
     | 
    
         
            +
            |            foreman_webhooks | v0.0.1 |
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            ## Installation
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                $ gem install hammer_cli_foreman_webhooks
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                $ mkdir -p ~/.hammer/cli.modules.d/
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                $ cat <<EOQ > ~/.hammer/cli.modules.d/foreman_webhooks.yml
         
     | 
| 
      
 22 
     | 
    
         
            +
                :foreman_webhooks:
         
     | 
| 
      
 23 
     | 
    
         
            +
                  :enable_module: true
         
     | 
| 
      
 24 
     | 
    
         
            +
                EOQ
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                # to confirm things work, this should return useful output
         
     | 
| 
      
 27 
     | 
    
         
            +
                hammer webhooks --help
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            ## More info
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            See our [Hammer CLI installation and configuration instuctions](
         
     | 
| 
      
 32 
     | 
    
         
            +
            https://github.com/theforeman/hammer-cli/blob/master/doc/installation.md#installation).
         
     | 
| 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module HammerCLIForemanWebhooks
         
     | 
| 
      
 4 
     | 
    
         
            +
              require 'hammer_cli'
         
     | 
| 
      
 5 
     | 
    
         
            +
              require 'hammer_cli_foreman'
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              require 'hammer_cli_foreman_webhooks/version'
         
     | 
| 
      
 8 
     | 
    
         
            +
              require 'hammer_cli_foreman_webhooks/command_extensions'
         
     | 
| 
      
 9 
     | 
    
         
            +
              require 'hammer_cli_foreman_webhooks/webhook'
         
     | 
| 
      
 10 
     | 
    
         
            +
              require 'hammer_cli_foreman_webhooks/webhook_template'
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
              HammerCLI::MainCommand.lazy_subcommand(
         
     | 
| 
      
 13 
     | 
    
         
            +
                'webhook',
         
     | 
| 
      
 14 
     | 
    
         
            +
                'Manage webhooks',
         
     | 
| 
      
 15 
     | 
    
         
            +
                'HammerCLIForemanWebhooks::Webhook',
         
     | 
| 
      
 16 
     | 
    
         
            +
                'hammer_cli_foreman_webhooks/webhook'
         
     | 
| 
      
 17 
     | 
    
         
            +
              )
         
     | 
| 
      
 18 
     | 
    
         
            +
              HammerCLI::MainCommand.lazy_subcommand(
         
     | 
| 
      
 19 
     | 
    
         
            +
                'webhook-template',
         
     | 
| 
      
 20 
     | 
    
         
            +
                'Manipulate webhook templates',
         
     | 
| 
      
 21 
     | 
    
         
            +
                'HammerCLIForemanWebhooks::WebhookTemplate',
         
     | 
| 
      
 22 
     | 
    
         
            +
                'hammer_cli_foreman_webhooks/webhook_template'
         
     | 
| 
      
 23 
     | 
    
         
            +
              )
         
     | 
| 
      
 24 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,43 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module HammerCLIForemanWebhooks
         
     | 
| 
      
 4 
     | 
    
         
            +
              module CommandExtensions
         
     | 
| 
      
 5 
     | 
    
         
            +
                class Webhook < HammerCLI::CommandExtensions
         
     | 
| 
      
 6 
     | 
    
         
            +
                  option '--ssl-ca-certs', 'PATH_TO_CA_FILE',
         
     | 
| 
      
 7 
     | 
    
         
            +
                         _('File containing X509 Certification Authorities concatenated in PEM format'),
         
     | 
| 
      
 8 
     | 
    
         
            +
                         format: HammerCLI::Options::Normalizers::File.new
         
     | 
| 
      
 9 
     | 
    
         
            +
                  option '--http-headers', 'HTTP_HEADERS', '',
         
     | 
| 
      
 10 
     | 
    
         
            +
                         format: HammerCLI::Options::Normalizers::KeyValueList.new
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                  before_print do |data|
         
     | 
| 
      
 13 
     | 
    
         
            +
                    data['http_headers'] = http_headers_from_json(data['http_headers'])
         
     | 
| 
      
 14 
     | 
    
         
            +
                  end
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                  request_params do |params|
         
     | 
| 
      
 17 
     | 
    
         
            +
                    if params['webhook']['http_headers']
         
     | 
| 
      
 18 
     | 
    
         
            +
                      params['webhook']['http_headers'] = http_headers_to_json(params['webhook']['http_headers'])
         
     | 
| 
      
 19 
     | 
    
         
            +
                    end
         
     | 
| 
      
 20 
     | 
    
         
            +
                  end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                  def self.http_headers_to_json(headers)
         
     | 
| 
      
 23 
     | 
    
         
            +
                    return headers unless headers.is_a?(Hash)
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                    require 'json'
         
     | 
| 
      
 26 
     | 
    
         
            +
                    JSON.dump(headers)
         
     | 
| 
      
 27 
     | 
    
         
            +
                  end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                  def self.http_headers_from_json(data)
         
     | 
| 
      
 30 
     | 
    
         
            +
                    return data unless data.is_a?(String)
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                    require 'json'
         
     | 
| 
      
 33 
     | 
    
         
            +
                    begin
         
     | 
| 
      
 34 
     | 
    
         
            +
                      JSON.parse(data).each_pair.each_with_object([]) do |(key, value), result|
         
     | 
| 
      
 35 
     | 
    
         
            +
                        result << { name: key, value: value }
         
     | 
| 
      
 36 
     | 
    
         
            +
                      end
         
     | 
| 
      
 37 
     | 
    
         
            +
                    rescue JSON::ParserError
         
     | 
| 
      
 38 
     | 
    
         
            +
                      [{}]
         
     | 
| 
      
 39 
     | 
    
         
            +
                    end
         
     | 
| 
      
 40 
     | 
    
         
            +
                  end
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
      
 42 
     | 
    
         
            +
              end
         
     | 
| 
      
 43 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,65 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module HammerCLIForemanWebhooks
         
     | 
| 
      
 4 
     | 
    
         
            +
              class Webhook < HammerCLIForeman::Command
         
     | 
| 
      
 5 
     | 
    
         
            +
                resource :webhooks
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                class ListCommand < HammerCLIForeman::ListCommand
         
     | 
| 
      
 8 
     | 
    
         
            +
                  output do
         
     | 
| 
      
 9 
     | 
    
         
            +
                    field :id, _('Id')
         
     | 
| 
      
 10 
     | 
    
         
            +
                    field :name, _('Name')
         
     | 
| 
      
 11 
     | 
    
         
            +
                    field :target_url, _('Target URL')
         
     | 
| 
      
 12 
     | 
    
         
            +
                    field :enabled, _('Enabled'), Fields::Boolean
         
     | 
| 
      
 13 
     | 
    
         
            +
                  end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                  build_options
         
     | 
| 
      
 16 
     | 
    
         
            +
                end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                class InfoCommand < HammerCLIForeman::InfoCommand
         
     | 
| 
      
 19 
     | 
    
         
            +
                  output Webhook::ListCommand.output_definition do
         
     | 
| 
      
 20 
     | 
    
         
            +
                    field :event, _('Event')
         
     | 
| 
      
 21 
     | 
    
         
            +
                    field :http_method, _('HTTP Method')
         
     | 
| 
      
 22 
     | 
    
         
            +
                    field :http_content_type, _('HTTP Content Type')
         
     | 
| 
      
 23 
     | 
    
         
            +
                    custom_field Fields::Reference, label: _('Webhook Template'), path: [:webhook_template]
         
     | 
| 
      
 24 
     | 
    
         
            +
                    field :user, _('User'), Fields::Field, sets: %w[ADDITIONAL ALL]
         
     | 
| 
      
 25 
     | 
    
         
            +
                    field :verify_sll, _('Verify SSL'), Fields::Boolean, sets: %w[ADDITIONAL ALL]
         
     | 
| 
      
 26 
     | 
    
         
            +
                    field :ssl_ca_certs, _('X509 Certification Authorities'), Fields::Text, sets: %w[ADDITIONAL ALL]
         
     | 
| 
      
 27 
     | 
    
         
            +
                    collection :http_headers, _('HTTP Headers'), sets: %w[ADDITIONAL ALL] do
         
     | 
| 
      
 28 
     | 
    
         
            +
                      custom_field Fields::KeyValue
         
     | 
| 
      
 29 
     | 
    
         
            +
                    end
         
     | 
| 
      
 30 
     | 
    
         
            +
                    HammerCLIForeman::References.timestamps(self)
         
     | 
| 
      
 31 
     | 
    
         
            +
                  end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                  build_options
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                  extend_with(HammerCLIForemanWebhooks::CommandExtensions::Webhook.new(only: :before_print))
         
     | 
| 
      
 36 
     | 
    
         
            +
                end
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                class CreateCommand < HammerCLIForeman::CreateCommand
         
     | 
| 
      
 39 
     | 
    
         
            +
                  success_message _('Webhook [%{name}] created.')
         
     | 
| 
      
 40 
     | 
    
         
            +
                  failure_message _('Could not create the webhook')
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                  build_options without: %i[ssl_ca_certs http_headers]
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                  extend_with(HammerCLIForemanWebhooks::CommandExtensions::Webhook.new(only: :options))
         
     | 
| 
      
 45 
     | 
    
         
            +
                end
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
                class UpdateCommand < HammerCLIForeman::UpdateCommand
         
     | 
| 
      
 48 
     | 
    
         
            +
                  success_message _('Webhook [%{name}] updated.')
         
     | 
| 
      
 49 
     | 
    
         
            +
                  failure_message _('Could not update the webhook')
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                  build_options without: %i[ssl_ca_certs http_headers]
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                  extend_with(HammerCLIForemanWebhooks::CommandExtensions::Webhook.new(only: :options))
         
     | 
| 
      
 54 
     | 
    
         
            +
                end
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
                class DeleteCommand < HammerCLIForeman::DeleteCommand
         
     | 
| 
      
 57 
     | 
    
         
            +
                  success_message _('Webhook [%{name}] deleted.')
         
     | 
| 
      
 58 
     | 
    
         
            +
                  failure_message _('Could not delete the webhook')
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                  build_options
         
     | 
| 
      
 61 
     | 
    
         
            +
                end
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                autoload_subcommands
         
     | 
| 
      
 64 
     | 
    
         
            +
              end
         
     | 
| 
      
 65 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,100 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module HammerCLIForemanWebhooks
         
     | 
| 
      
 4 
     | 
    
         
            +
              class WebhookTemplate < HammerCLIForeman::Command
         
     | 
| 
      
 5 
     | 
    
         
            +
                resource :webhook_templates
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                class ListCommand < HammerCLIForeman::ListCommand
         
     | 
| 
      
 8 
     | 
    
         
            +
                  output do
         
     | 
| 
      
 9 
     | 
    
         
            +
                    field :id, _('Id')
         
     | 
| 
      
 10 
     | 
    
         
            +
                    field :name, _('Name')
         
     | 
| 
      
 11 
     | 
    
         
            +
                  end
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                  build_options
         
     | 
| 
      
 14 
     | 
    
         
            +
                end
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                class InfoCommand < HammerCLIForeman::InfoCommand
         
     | 
| 
      
 17 
     | 
    
         
            +
                  output WebhookTemplate::ListCommand.output_definition do
         
     | 
| 
      
 18 
     | 
    
         
            +
                    field :description, _('Description'), Fields::Text
         
     | 
| 
      
 19 
     | 
    
         
            +
                    field :locked, _('Locked'), Fields::Boolean
         
     | 
| 
      
 20 
     | 
    
         
            +
                    field :default, _('Default'), Fields::Boolean
         
     | 
| 
      
 21 
     | 
    
         
            +
                    HammerCLIForeman::References.timestamps(self)
         
     | 
| 
      
 22 
     | 
    
         
            +
                    HammerCLIForeman::References.taxonomies(self)
         
     | 
| 
      
 23 
     | 
    
         
            +
                    collection :inputs, _('Template inputs') do
         
     | 
| 
      
 24 
     | 
    
         
            +
                      field :id, _('Id'), Fields::Id
         
     | 
| 
      
 25 
     | 
    
         
            +
                      field :name, _('Name')
         
     | 
| 
      
 26 
     | 
    
         
            +
                      field :description, _('Description')
         
     | 
| 
      
 27 
     | 
    
         
            +
                      field :required, _('Required'), Fields::Boolean
         
     | 
| 
      
 28 
     | 
    
         
            +
                      field :options, _('Options'), Fields::List, hide_blank: true
         
     | 
| 
      
 29 
     | 
    
         
            +
                    end
         
     | 
| 
      
 30 
     | 
    
         
            +
                  end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                  build_options
         
     | 
| 
      
 33 
     | 
    
         
            +
                end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                class CloneCommand < HammerCLIForeman::UpdateCommand
         
     | 
| 
      
 36 
     | 
    
         
            +
                  action :clone
         
     | 
| 
      
 37 
     | 
    
         
            +
                  command_name 'clone'
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                  success_message _('Webhook template cloned.')
         
     | 
| 
      
 40 
     | 
    
         
            +
                  failure_message _('Could not clone the webhook template')
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                  validate_options do
         
     | 
| 
      
 43 
     | 
    
         
            +
                    option(:option_new_name).required
         
     | 
| 
      
 44 
     | 
    
         
            +
                  end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                  build_options
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
                class ImportCommand < HammerCLIForeman::Command
         
     | 
| 
      
 50 
     | 
    
         
            +
                  command_name 'import'
         
     | 
| 
      
 51 
     | 
    
         
            +
                  action :import
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
                  option '--file', 'PATH', _('Path to a file that contains the webhook template content including metadata'),
         
     | 
| 
      
 54 
     | 
    
         
            +
                         attribute_name: :option_template, format: HammerCLI::Options::Normalizers::File.new
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
                  validate_options do
         
     | 
| 
      
 57 
     | 
    
         
            +
                    all(:option_name, :option_template).required
         
     | 
| 
      
 58 
     | 
    
         
            +
                  end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                  success_message _('Imported webhook template successfully.')
         
     | 
| 
      
 61 
     | 
    
         
            +
                  failure_message _('Could not import the webhook template')
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                  build_options without: %i[template]
         
     | 
| 
      
 64 
     | 
    
         
            +
                end
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
                class DumpCommand < HammerCLIForeman::InfoCommand
         
     | 
| 
      
 67 
     | 
    
         
            +
                  command_name 'dump'
         
     | 
| 
      
 68 
     | 
    
         
            +
                  desc _('View webhook template content')
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
                  def print_data(webhook_template)
         
     | 
| 
      
 71 
     | 
    
         
            +
                    puts webhook_template['template']
         
     | 
| 
      
 72 
     | 
    
         
            +
                  end
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
                  build_options
         
     | 
| 
      
 75 
     | 
    
         
            +
                end
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
                class CreateCommand < HammerCLIForeman::CreateCommand
         
     | 
| 
      
 78 
     | 
    
         
            +
                  success_message _('Webhook template [%{name}] created.')
         
     | 
| 
      
 79 
     | 
    
         
            +
                  failure_message _('Could not create the webhook template')
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
                  build_options
         
     | 
| 
      
 82 
     | 
    
         
            +
                end
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
                class UpdateCommand < HammerCLIForeman::UpdateCommand
         
     | 
| 
      
 85 
     | 
    
         
            +
                  success_message _('Webhook template [%{name}] updated.')
         
     | 
| 
      
 86 
     | 
    
         
            +
                  failure_message _('Could not update the webhook template')
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
                  build_options
         
     | 
| 
      
 89 
     | 
    
         
            +
                end
         
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
      
 91 
     | 
    
         
            +
                class DeleteCommand < HammerCLIForeman::DeleteCommand
         
     | 
| 
      
 92 
     | 
    
         
            +
                  success_message _('Webhook template [%{name}] deleted.')
         
     | 
| 
      
 93 
     | 
    
         
            +
                  failure_message _('Could not delete the webhook template')
         
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
      
 95 
     | 
    
         
            +
                  build_options
         
     | 
| 
      
 96 
     | 
    
         
            +
                end
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
                autoload_subcommands
         
     | 
| 
      
 99 
     | 
    
         
            +
              end
         
     | 
| 
      
 100 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    ADDED
    
    | 
         @@ -0,0 +1,73 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            --- !ruby/object:Gem::Specification
         
     | 
| 
      
 2 
     | 
    
         
            +
            name: hammer_cli_foreman_webhooks
         
     | 
| 
      
 3 
     | 
    
         
            +
            version: !ruby/object:Gem::Version
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.0.1
         
     | 
| 
      
 5 
     | 
    
         
            +
            platform: ruby
         
     | 
| 
      
 6 
     | 
    
         
            +
            authors:
         
     | 
| 
      
 7 
     | 
    
         
            +
            - Oleh Fedorenko
         
     | 
| 
      
 8 
     | 
    
         
            +
            autorequire: 
         
     | 
| 
      
 9 
     | 
    
         
            +
            bindir: bin
         
     | 
| 
      
 10 
     | 
    
         
            +
            cert_chain: []
         
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2021-02-15 00:00:00.000000000 Z
         
     | 
| 
      
 12 
     | 
    
         
            +
            dependencies:
         
     | 
| 
      
 13 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 14 
     | 
    
         
            +
              name: hammer_cli_foreman
         
     | 
| 
      
 15 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 16 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 17 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 18 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 19 
     | 
    
         
            +
                    version: 2.0.0
         
     | 
| 
      
 20 
     | 
    
         
            +
                - - "<"
         
     | 
| 
      
 21 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 22 
     | 
    
         
            +
                    version: 3.0.0
         
     | 
| 
      
 23 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 24 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 25 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 26 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 27 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 28 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 29 
     | 
    
         
            +
                    version: 2.0.0
         
     | 
| 
      
 30 
     | 
    
         
            +
                - - "<"
         
     | 
| 
      
 31 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 32 
     | 
    
         
            +
                    version: 3.0.0
         
     | 
| 
      
 33 
     | 
    
         
            +
            description: 
         
     | 
| 
      
 34 
     | 
    
         
            +
            email:
         
     | 
| 
      
 35 
     | 
    
         
            +
            - ofedoren@redhat.com
         
     | 
| 
      
 36 
     | 
    
         
            +
            executables: []
         
     | 
| 
      
 37 
     | 
    
         
            +
            extensions: []
         
     | 
| 
      
 38 
     | 
    
         
            +
            extra_rdoc_files: []
         
     | 
| 
      
 39 
     | 
    
         
            +
            files:
         
     | 
| 
      
 40 
     | 
    
         
            +
            - LICENSE
         
     | 
| 
      
 41 
     | 
    
         
            +
            - README.md
         
     | 
| 
      
 42 
     | 
    
         
            +
            - config/foreman_webhooks.yml
         
     | 
| 
      
 43 
     | 
    
         
            +
            - lib/hammer_cli_foreman_webhooks.rb
         
     | 
| 
      
 44 
     | 
    
         
            +
            - lib/hammer_cli_foreman_webhooks/command_extensions.rb
         
     | 
| 
      
 45 
     | 
    
         
            +
            - lib/hammer_cli_foreman_webhooks/command_extensions/webhook.rb
         
     | 
| 
      
 46 
     | 
    
         
            +
            - lib/hammer_cli_foreman_webhooks/version.rb
         
     | 
| 
      
 47 
     | 
    
         
            +
            - lib/hammer_cli_foreman_webhooks/webhook.rb
         
     | 
| 
      
 48 
     | 
    
         
            +
            - lib/hammer_cli_foreman_webhooks/webhook_template.rb
         
     | 
| 
      
 49 
     | 
    
         
            +
            homepage: https://github.com/theforeman/hammer-cli-foreman-webhooks
         
     | 
| 
      
 50 
     | 
    
         
            +
            licenses:
         
     | 
| 
      
 51 
     | 
    
         
            +
            - GPL-3.0
         
     | 
| 
      
 52 
     | 
    
         
            +
            metadata: {}
         
     | 
| 
      
 53 
     | 
    
         
            +
            post_install_message: 
         
     | 
| 
      
 54 
     | 
    
         
            +
            rdoc_options: []
         
     | 
| 
      
 55 
     | 
    
         
            +
            require_paths:
         
     | 
| 
      
 56 
     | 
    
         
            +
            - lib
         
     | 
| 
      
 57 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 58 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 59 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 60 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 61 
     | 
    
         
            +
                  version: '2.5'
         
     | 
| 
      
 62 
     | 
    
         
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 63 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 64 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 65 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 66 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 67 
     | 
    
         
            +
            requirements: []
         
     | 
| 
      
 68 
     | 
    
         
            +
            rubyforge_project: 
         
     | 
| 
      
 69 
     | 
    
         
            +
            rubygems_version: 2.7.6.2
         
     | 
| 
      
 70 
     | 
    
         
            +
            signing_key: 
         
     | 
| 
      
 71 
     | 
    
         
            +
            specification_version: 4
         
     | 
| 
      
 72 
     | 
    
         
            +
            summary: Foreman Webhooks plugin for Hammer CLI
         
     | 
| 
      
 73 
     | 
    
         
            +
            test_files: []
         
     |