Sha256: 357046ed5695b246dbc0c7596c96407553711d97d0c584d0f89179ddda922ddf

Contents?: true

Size: 1.07 KB

Versions: 4

Compression:

Stored size: 1.07 KB

Contents

module Brightbox
  command ["firewall-policies", "firewall-policy"] do |cmd|
    cmd.desc I18n.t("firewall.policies.remove.desc")
    cmd.arg_name "firewall-policy-id server-group-id"
    cmd.command [:remove] do |c|
      c.action do |global_options, options, args|
        if args.size != 2
          raise "You must specify firewall_policy_id and server_group_id as arguments"
        end

        firewall_policy_id = args.shift
        raise "Invalid firewall policy id" unless firewall_policy_id[/^fwp-/]

        server_group_id = args.shift
        raise "Invalid Server Group id" unless server_group_id[/^grp-/]

        firewall_policy = FirewallPolicy.find(firewall_policy_id)

        unless firewall_policy
          raise "Could not find firewall policy with #{firewall_policy_id}"
        end

        server_group = ServerGroup.find(server_group_id)
        unless server_group
          raise "Can't find group with #{options[:g]}"
        end

        firewall_policy.remove(server_group.id)
        render_table([firewall_policy], global_options)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
brightbox-cli-5.0.0 lib/brightbox-cli/commands/firewall/policies_remove.rb
brightbox-cli-5.0.0.rc2 lib/brightbox-cli/commands/firewall/policies_remove.rb
brightbox-cli-5.0.0.rc1 lib/brightbox-cli/commands/firewall/policies_remove.rb
brightbox-cli-5.0.0.alpha lib/brightbox-cli/commands/firewall/policies_remove.rb