Sha256: 81b9f80efc052a9eb04cf65c207d1ebf6625a098bb4841e56104f3a2d5bb6cb8

Contents?: true

Size: 1.02 KB

Versions: 4

Compression:

Stored size: 1.02 KB

Contents

module Brightbox
  command [:"firewall-policies"] do |cmd|

    cmd.desc "Create Firewall Policy"
    cmd.arg_name "[server-group-id...]"
    cmd.command [:create] do |c|

      c.desc "Name of firewall policy"
      c.flag [:n, :name]

      c.desc "Description of firewall policy"
      c.flag [:d, :description]

      c.action do |global_options, options, args|
        server_group_id = nil
        server_group = nil

        unless args.empty?
          server_group_id = args.shift
        end

        if server_group_id && !server_group_id.empty?
          server_group = ServerGroup.find(server_group_id)
        end


        name = options[:n]
        description = options[:d]

        firewall_options = {
          :name => name, :description => description
        }

        if server_group
          firewall_options.update(:server_group_id => server_group.id)
        end

        firewall_policy = FirewallPolicy.create(firewall_options)
        render_table([firewall_policy], global_options)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
brightbox-cli-1.1.0 lib/brightbox-cli/commands/firewall-policies-create.rb
brightbox-cli-1.0.0 lib/brightbox-cli/commands/firewall-policies-create.rb
brightbox-cli-1.0.0.rc2 lib/brightbox-cli/commands/firewall-policies-create.rb
brightbox-cli-1.0.0.rc1 lib/brightbox-cli/commands/firewall-policies-create.rb