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.



910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
# File 'lib/models/porcelain.rb', line 910

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



890
891
892
# File 'lib/models/porcelain.rb', line 890

def 
  @account_ids
end

#descriptionObject

Description of the Connector.



892
893
894
# File 'lib/models/porcelain.rb', line 892

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.



895
896
897
# File 'lib/models/porcelain.rb', line 895

def exclude_tags
  @exclude_tags
end

#idObject

Unique identifier of the Connector.



897
898
899
# File 'lib/models/porcelain.rb', line 897

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



900
901
902
# File 'lib/models/porcelain.rb', line 900

def include_tags
  @include_tags
end

#nameObject

Unique human-readable name of the Connector.



902
903
904
# File 'lib/models/porcelain.rb', line 902

def name
  @name
end

#role_nameObject

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



904
905
906
# File 'lib/models/porcelain.rb', line 904

def role_name
  @role_name
end

#scan_periodObject

ScanPeriod identifies which remote system this Connector discovers



906
907
908
# File 'lib/models/porcelain.rb', line 906

def scan_period
  @scan_period
end

#servicesObject

Services is a list of services this connector should scan.



908
909
910
# File 'lib/models/porcelain.rb', line 908

def services
  @services
end

Instance Method Details

#to_json(options = {}) ⇒ Object



932
933
934
935
936
937
938
# File 'lib/models/porcelain.rb', line 932

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