Class: SDM::AWSConnector

Inherits:
Object
  • Object
show all
Defined in:
lib/models/porcelain.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(account_ids: nil, description: nil, exclude_tags: nil, id: nil, include_tags: nil, name: nil, role_name: nil, scan_period: nil, services: nil) ⇒ AWSConnector

Returns a new instance of AWSConnector.



661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
# File 'lib/models/porcelain.rb', line 661

def initialize(
  account_ids: nil,
  description: nil,
  exclude_tags: nil,
  id: nil,
  include_tags: nil,
  name: nil,
  role_name: nil,
  scan_period: nil,
  services: nil
)
  @account_ids =  == nil ? [] : 
  @description = description == nil ? "" : description
  @exclude_tags = exclude_tags == nil ? [] : exclude_tags
  @id = id == nil ? "" : id
  @include_tags = include_tags == nil ? [] : include_tags
  @name = name == nil ? "" : name
  @role_name = role_name == nil ? "" : role_name
  @scan_period = scan_period == nil ? "" : scan_period
  @services = services == nil ? [] : services
end

Instance Attribute Details

#account_idsObject

AccountIds is the list of AWS Accounts to scan



641
642
643
# File 'lib/models/porcelain.rb', line 641

def 
  @account_ids
end

#descriptionObject

Description of the Connector.



643
644
645
# File 'lib/models/porcelain.rb', line 643

def description
  @description
end

#exclude_tagsObject

ExcludeTags filters out discovered resources that have the tag and value. We do allow duplicate tag names for ExcludeTags to support multiple excluded values for the tag.



646
647
648
# File 'lib/models/porcelain.rb', line 646

def exclude_tags
  @exclude_tags
end

#idObject

Unique identifier of the Connector.



648
649
650
# File 'lib/models/porcelain.rb', line 648

def id
  @id
end

#include_tagsObject

IncludeTags only discovers cloud resources that have one of the included tags. We do not allow duplicate tag names for IncludeTags



651
652
653
# File 'lib/models/porcelain.rb', line 651

def include_tags
  @include_tags
end

#nameObject

Unique human-readable name of the Connector.



653
654
655
# File 'lib/models/porcelain.rb', line 653

def name
  @name
end

#role_nameObject

RoleName is the Role we're assuming into for an account



655
656
657
# File 'lib/models/porcelain.rb', line 655

def role_name
  @role_name
end

#scan_periodObject

ScanPeriod identifies which remote system this Connector discovers



657
658
659
# File 'lib/models/porcelain.rb', line 657

def scan_period
  @scan_period
end

#servicesObject

Services is a list of services this connector should scan.



659
660
661
# File 'lib/models/porcelain.rb', line 659

def services
  @services
end

Instance Method Details

#to_json(options = {}) ⇒ Object



683
684
685
686
687
688
689
# File 'lib/models/porcelain.rb', line 683

def to_json(options = {})
  hash = {}
  self.instance_variables.each do |var|
    hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
  end
  hash.to_json
end