Sha256: 0b00b1605fabe252ebf83507999e5855fe271a12633905fa79f7dbc6c6b64824

Contents?: true

Size: 1.07 KB

Versions: 4

Compression:

Stored size: 1.07 KB

Contents

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

    cmd.desc "Disassociate firewall policy from given server group"
    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-1.1.0 lib/brightbox-cli/commands/firewall-policies-remove.rb
brightbox-cli-1.0.0 lib/brightbox-cli/commands/firewall-policies-remove.rb
brightbox-cli-1.0.0.rc2 lib/brightbox-cli/commands/firewall-policies-remove.rb
brightbox-cli-1.0.0.rc1 lib/brightbox-cli/commands/firewall-policies-remove.rb