Class: ESP::CustomSignature::Result

Inherits:
Resource show all
Defined in:
lib/esp/resources/custom_signature/result.rb,
lib/esp/resources/custom_signature/result/alert.rb

Defined Under Namespace

Classes: Alert

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Dirty

#changed_attributes, #original_attributes, #original_attributes=

Methods included from LoadWithOriginalAttributes

#load

Class Method Details

.allActiveResource::PaginatedCollection<ESP::CustomSignature::Result>

Returns a paginated list.



# File 'lib/esp/resources/custom_signature/result.rb', line 61

.create(attributes = {}) ⇒ ESP::CustomSignature::Result

Create a CustomSignature::Result call-seq -> super.create(attributes={})

Examples:

signature = "# Demo Ruby Signature\r\nconfigure do |c|\r\n  # Set regions to run in. Remove this line to run in all regions.\r\n  c.valid_regions     = [:us_east_1]\r\n  # Override region to display as global. Useful when checking resources\r\n  # like IAM that do not have a specific region.\r\n  c.display_as        = :global\r\n  # deep_inspection works with set_data to automically collect\r\n  # data fields for each alert. Not required.\r\n  c.deep_inspection   = [:users]\r\nend\r\n\r\n# Required perform method\r\ndef perform(aws)\r\n  list_users = aws.iam.list_users\r\n  count = list_users[:users].count\r\n\r\n  # Set data for deep_inspection to use\r\n  set_data(list_users)\r\n\r\n  if count == 0\r\n    fail(user_count: count, condition: 'count == 0')\r\n  else\r\n    pass(user_count: count, condition: 'count >= 1')\r\n  end\r\nend\r\n"
result = ESP::CustomSignature::Result.create(signature: signature, language: "ruby", region_id: 1, external_account_id: 1)

Parameters:

  • attributes (Hash) (defaults to: {})

    Required hash of custom signature result attributes.

    Valid Attributes

    See API documentation for valid arguments

Returns:



# File 'lib/esp/resources/custom_signature/result.rb', line 66

.find(id) ⇒ ActiveResource::PaginatedCollection<ESP::CustomSignature::Result> .find(id, options = {}) ⇒ ActiveResource::PaginatedCollection<ESP::CustomSignature::Result>

Find a CustomSignature::Result by id

call-seq -> super.find(id, options = {})

Overloads:

Parameters:

  • id (Integer, Numeric, #to_i)

    Required ID of the custom signature result to retrieve.

Returns:



# File 'lib/esp/resources/custom_signature/result.rb', line 43

.where(clauses = {}) ⇒ ActiveResource::PaginatedCollection<ESP::CustomSignature::Result>

Returns a paginated list filtered by search parameters

call-seq -> super.where(clauses = {})

Parameters:

  • clauses (Hash) (defaults to: {})

    A hash of attributes with appended predicates to search, sort and include.

    Valid Clauses

    See API documentation for valid arguments

Returns:



# File 'lib/esp/resources/custom_signature/result.rb', line 32

Instance Method Details

#alertsActiveResource::PaginatedCollection<ESP::CustomSignature::Result::Alert>



13
14
15
16
# File 'lib/esp/resources/custom_signature/result.rb', line 13

def alerts
  return attributes['alerts'] if attributes['alerts'].present?
  CustomSignature::Result::Alert.for_result(id)
end

#destroyvoid

This method returns an undefined value.

Not Implemented. You cannot destroy a CustomSignature::Result.



28
29
30
# File 'lib/esp/resources/custom_signature/result.rb', line 28

def destroy
  fail ESP::NotImplementedError
end

#saveBoolean

Create or update a CustomSignature::Result

Valid Attributes

See API documentation for valid arguments

Examples:

signature = "# Demo Ruby Signature\r\nconfigure do |c|\r\n  # Set regions to run in. Remove this line to run in all regions.\r\n  c.valid_regions     = [:us_east_1]\r\n  # Override region to display as global. Useful when checking resources\r\n  # like IAM that do not have a specific region.\r\n  c.display_as        = :global\r\n  # deep_inspection works with set_data to automically collect\r\n  # data fields for each alert. Not required.\r\n  c.deep_inspection   = [:users]\r\nend\r\n\r\n# Required perform method\r\ndef perform(aws)\r\n  list_users = aws.iam.list_users\r\n  count = list_users[:users].count\r\n\r\n  # Set data for deep_inspection to use\r\n  set_data(list_users)\r\n\r\n  if count == 0\r\n    fail(user_count: count, condition: 'count == 0')\r\n  else\r\n    pass(user_count: count, condition: 'count >= 1')\r\n  end\r\nend\r\n"
result = ESP::CustomSignature::Result.new(signature: signature, language: "ruby", region_id: 1, external_account_id: 1)
result.save

Returns:

  • (Boolean)


# File 'lib/esp/resources/custom_signature/result.rb', line 79

#updatevoid

This method returns an undefined value.

Not Implemented. You cannot update a CustomSignature::Result.



21
22
23
# File 'lib/esp/resources/custom_signature/result.rb', line 21

def update
  fail ESP::NotImplementedError
end