swa 0.6.0 → 0.6.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 +4 -4
- data/lib/swa/cli/collection_behaviour.rb +8 -0
- data/lib/swa/cli/ec2_command.rb +22 -0
- data/lib/swa/cli/elb_command.rb +53 -0
- data/lib/swa/cli/main_command.rb +2 -0
- data/lib/swa/cloud_formation/stack.rb +4 -0
- data/lib/swa/ec2/image.rb +4 -0
- data/lib/swa/ec2/instance.rb +4 -0
- data/lib/swa/ec2/key_pair.rb +4 -0
- data/lib/swa/ec2/security_group.rb +4 -0
- data/lib/swa/ec2/snapshot.rb +13 -4
- data/lib/swa/ec2/subnet.rb +4 -0
- data/lib/swa/ec2/volume.rb +4 -0
- data/lib/swa/ec2/vpc.rb +4 -0
- data/lib/swa/elb/load_balancer.rb +24 -0
- data/lib/swa/iam/group.rb +11 -1
- data/lib/swa/iam/policy.rb +4 -0
- data/lib/swa/iam/role.rb +4 -0
- data/lib/swa/iam/user.rb +4 -0
- data/lib/swa/kms/alias.rb +4 -0
- data/lib/swa/record.rb +6 -0
- data/lib/swa/s3/bucket.rb +7 -1
- data/lib/swa/version.rb +1 -1
- metadata +5 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 518a3bd32a4bf016d2001f1c218a11075bcb439f
         | 
| 4 | 
            +
              data.tar.gz: 14cef26fd503b59396ae9eeb2eb950cd3823ff30
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 677537cc4f3c0acb8f93569eb27950b3b76db266b5dfe4a6233ca5990d97f09583a7725c5219a2bddb18d7c29dd8496d42965ffc9f565c81b6b81355e697c77a
         | 
| 7 | 
            +
              data.tar.gz: 26d882e959cbd567c9533d2e97144aeeea21cae0e42ca3770f93b908e2cda20d2d815f9d17c45fa99ae9c34040b6c0bb9001128f6ef15a852c97682232b5c9b0
         | 
| @@ -19,6 +19,14 @@ module Swa | |
| 19 19 |  | 
| 20 20 | 
             
                    end
         | 
| 21 21 |  | 
| 22 | 
            +
                    target.subcommand ["ids"], "Just print ids" do
         | 
| 23 | 
            +
                      def execute
         | 
| 24 | 
            +
                        collection.each do |i|
         | 
| 25 | 
            +
                          puts i.id
         | 
| 26 | 
            +
                        end
         | 
| 27 | 
            +
                      end
         | 
| 28 | 
            +
                    end
         | 
| 29 | 
            +
             | 
| 22 30 | 
             
                    target.subcommand ["data", "d"], "Full details" do
         | 
| 23 31 |  | 
| 24 32 | 
             
                      parameter "[QUERY]", "JMESPath expression"
         | 
    
        data/lib/swa/cli/ec2_command.rb
    CHANGED
    
    | @@ -302,12 +302,34 @@ module Swa | |
| 302 302 | 
             
                    EOF
         | 
| 303 303 |  | 
| 304 304 | 
             
                    option "--owned-by", "OWNER", "with specified owner", :default => "self"
         | 
| 305 | 
            +
                    option ["--volume", "--of"], "VOLUME-ID", "for specified volume"
         | 
| 306 | 
            +
             | 
| 307 | 
            +
                    option ["--started-after", "--after"], "WHEN", "earliest start-time"
         | 
| 308 | 
            +
                    option ["--started-before", "--before"], "WHEN", "latest start-time"
         | 
| 305 309 |  | 
| 306 310 | 
             
                    include TagFilterOptions
         | 
| 307 311 | 
             
                    include CollectionBehaviour
         | 
| 308 312 |  | 
| 309 313 | 
             
                    private
         | 
| 310 314 |  | 
| 315 | 
            +
                    def volume=(volume_id)
         | 
| 316 | 
            +
                      add_filter("volume-id", volume_id)
         | 
| 317 | 
            +
                    end
         | 
| 318 | 
            +
             | 
| 319 | 
            +
                    def started_after=(datetime_string)
         | 
| 320 | 
            +
                      min_start_time = parse_datetime(datetime_string).max
         | 
| 321 | 
            +
                      selector.add do |image|
         | 
| 322 | 
            +
                        image.start_time > min_start_time
         | 
| 323 | 
            +
                      end
         | 
| 324 | 
            +
                    end
         | 
| 325 | 
            +
             | 
| 326 | 
            +
                    def started_before=(datetime_string)
         | 
| 327 | 
            +
                      max_start_time = parse_datetime(datetime_string).min
         | 
| 328 | 
            +
                      selector.add do |image|
         | 
| 329 | 
            +
                        image.start_time < max_start_time
         | 
| 330 | 
            +
                      end
         | 
| 331 | 
            +
                    end
         | 
| 332 | 
            +
             | 
| 311 333 | 
             
                    def snapshots
         | 
| 312 334 | 
             
                      query_options[:owner_ids] = [owned_by]
         | 
| 313 335 | 
             
                      query_for(:snapshots, Swa::EC2::Snapshot)
         | 
| @@ -0,0 +1,53 @@ | |
| 1 | 
            +
            require "aws-sdk-resources"
         | 
| 2 | 
            +
            require "swa/cli/base_command"
         | 
| 3 | 
            +
            require "swa/cli/collection_behaviour"
         | 
| 4 | 
            +
            require "swa/cli/item_behaviour"
         | 
| 5 | 
            +
            require "swa/elb/load_balancer"
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            module Swa
         | 
| 8 | 
            +
              module CLI
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                class ElbCommand < BaseCommand
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  subcommand ["load-balancer", "lb"], "Show load-balancer" do
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                    parameter "NAME", "ELB name"
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                    include ItemBehaviour
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                    private
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                    def item
         | 
| 21 | 
            +
                      results = describe_load_balancers(:load_balancer_names => [name])
         | 
| 22 | 
            +
                      signal_error "No such ELB '#{name}'" unless results.any?
         | 
| 23 | 
            +
                      Swa::ELB::LoadBalancer.new(results.first)
         | 
| 24 | 
            +
                    end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                  end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                  subcommand ["load-balancers", "lbs"], "Show load-balancers" do
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                    include CollectionBehaviour
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                    private
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                    def collection
         | 
| 35 | 
            +
                      Swa::ELB::LoadBalancer.list(describe_load_balancers)
         | 
| 36 | 
            +
                    end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                  end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                  protected
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                  def elb_client
         | 
| 43 | 
            +
                    ::Aws::ElasticLoadBalancing::Client.new(aws_config)
         | 
| 44 | 
            +
                  end
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                  def describe_load_balancers(options = {})
         | 
| 47 | 
            +
                    elb_client.describe_load_balancers(options).load_balancer_descriptions
         | 
| 48 | 
            +
                  end
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                end
         | 
| 51 | 
            +
             | 
| 52 | 
            +
              end
         | 
| 53 | 
            +
            end
         | 
    
        data/lib/swa/cli/main_command.rb
    CHANGED
    
    | @@ -1,6 +1,7 @@ | |
| 1 1 | 
             
            require "swa/cli/base_command"
         | 
| 2 2 | 
             
            require "swa/cli/cloud_formation_command"
         | 
| 3 3 | 
             
            require "swa/cli/ec2_command"
         | 
| 4 | 
            +
            require "swa/cli/elb_command"
         | 
| 4 5 | 
             
            require "swa/cli/iam_command"
         | 
| 5 6 | 
             
            require "swa/cli/kms_command"
         | 
| 6 7 | 
             
            require "swa/cli/s3_command"
         | 
| @@ -12,6 +13,7 @@ module Swa | |
| 12 13 |  | 
| 13 14 | 
             
                  subcommand ["cf", "cloudformation"], "CloudFormation stuff", CloudFormationCommand
         | 
| 14 15 | 
             
                  subcommand "ec2", "EC2 stuff", Ec2Command
         | 
| 16 | 
            +
                  subcommand "elb", "elb stuff", ElbCommand
         | 
| 15 17 | 
             
                  subcommand "iam", "IAM stuff", IamCommand
         | 
| 16 18 | 
             
                  subcommand "kms", "KMS stuff", KmsCommand
         | 
| 17 19 | 
             
                  subcommand "s3", "S3 stuff", S3Command
         | 
    
        data/lib/swa/ec2/image.rb
    CHANGED
    
    
    
        data/lib/swa/ec2/instance.rb
    CHANGED
    
    
    
        data/lib/swa/ec2/key_pair.rb
    CHANGED
    
    
    
        data/lib/swa/ec2/snapshot.rb
    CHANGED
    
    | @@ -8,17 +8,26 @@ module Swa | |
| 8 8 |  | 
| 9 9 | 
             
                  include TaggedResource
         | 
| 10 10 |  | 
| 11 | 
            +
                  def id
         | 
| 12 | 
            +
                    s.snapshot_id
         | 
| 13 | 
            +
                  end
         | 
| 14 | 
            +
             | 
| 11 15 | 
             
                  def summary
         | 
| 12 16 | 
             
                    [
         | 
| 13 17 | 
             
                      field(s, :snapshot_id),
         | 
| 14 18 | 
             
                      field(s, :volume_id),
         | 
| 15 | 
            -
                      sprintf("%5d",  | 
| 16 | 
            -
                       | 
| 17 | 
            -
                      rpad( | 
| 18 | 
            -
                      quoted( | 
| 19 | 
            +
                      sprintf("%5d", volume_size),
         | 
| 20 | 
            +
                      start_time.iso8601,
         | 
| 21 | 
            +
                      rpad(progress, 4),
         | 
| 22 | 
            +
                      quoted(description)
         | 
| 19 23 | 
             
                    ].join("  ")
         | 
| 20 24 | 
             
                  end
         | 
| 21 25 |  | 
| 26 | 
            +
                  delegate :description
         | 
| 27 | 
            +
                  delegate :progress
         | 
| 28 | 
            +
                  delegate :start_time
         | 
| 29 | 
            +
                  delegate :volume_size
         | 
| 30 | 
            +
             | 
| 22 31 | 
             
                  delegate :delete
         | 
| 23 32 |  | 
| 24 33 | 
             
                  private
         | 
    
        data/lib/swa/ec2/subnet.rb
    CHANGED
    
    
    
        data/lib/swa/ec2/volume.rb
    CHANGED
    
    
    
        data/lib/swa/ec2/vpc.rb
    CHANGED
    
    
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            require "swa/record"
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Swa
         | 
| 4 | 
            +
              module ELB
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                class LoadBalancer < Record
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                  def summary
         | 
| 9 | 
            +
                    [
         | 
| 10 | 
            +
                      pad(name, 36),
         | 
| 11 | 
            +
                      scheme
         | 
| 12 | 
            +
                    ].join("  ")
         | 
| 13 | 
            +
                  end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                  def name
         | 
| 16 | 
            +
                    aws_record.load_balancer_name
         | 
| 17 | 
            +
                  end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                  delegate :scheme
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
            end
         | 
    
        data/lib/swa/iam/group.rb
    CHANGED
    
    
    
        data/lib/swa/iam/policy.rb
    CHANGED
    
    
    
        data/lib/swa/iam/role.rb
    CHANGED
    
    
    
        data/lib/swa/iam/user.rb
    CHANGED
    
    
    
        data/lib/swa/kms/alias.rb
    CHANGED
    
    
    
        data/lib/swa/record.rb
    CHANGED
    
    
    
        data/lib/swa/s3/bucket.rb
    CHANGED
    
    
    
        data/lib/swa/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: swa
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.6. | 
| 4 | 
            +
              version: 0.6.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Mike Williams
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016-11- | 
| 11 | 
            +
            date: 2016-11-21 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -145,6 +145,7 @@ files: | |
| 145 145 | 
             
            - lib/swa/cli/collection_behaviour.rb
         | 
| 146 146 | 
             
            - lib/swa/cli/data_output.rb
         | 
| 147 147 | 
             
            - lib/swa/cli/ec2_command.rb
         | 
| 148 | 
            +
            - lib/swa/cli/elb_command.rb
         | 
| 148 149 | 
             
            - lib/swa/cli/filter_options.rb
         | 
| 149 150 | 
             
            - lib/swa/cli/iam_command.rb
         | 
| 150 151 | 
             
            - lib/swa/cli/item_behaviour.rb
         | 
| @@ -164,6 +165,7 @@ files: | |
| 164 165 | 
             
            - lib/swa/ec2/tagged_resource.rb
         | 
| 165 166 | 
             
            - lib/swa/ec2/volume.rb
         | 
| 166 167 | 
             
            - lib/swa/ec2/vpc.rb
         | 
| 168 | 
            +
            - lib/swa/elb/load_balancer.rb
         | 
| 167 169 | 
             
            - lib/swa/iam/group.rb
         | 
| 168 170 | 
             
            - lib/swa/iam/policy.rb
         | 
| 169 171 | 
             
            - lib/swa/iam/role.rb
         | 
| @@ -197,7 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 197 199 | 
             
                  version: '0'
         | 
| 198 200 | 
             
            requirements: []
         | 
| 199 201 | 
             
            rubyforge_project: 
         | 
| 200 | 
            -
            rubygems_version: 2. | 
| 202 | 
            +
            rubygems_version: 2.6.7
         | 
| 201 203 | 
             
            signing_key: 
         | 
| 202 204 | 
             
            specification_version: 4
         | 
| 203 205 | 
             
            summary: AWS, backwards
         |