Class: ESP::CustomSignature

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

Defined Under Namespace

Classes: Definition, Result

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>

Return a paginated CustomSignature list



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

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

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

Examples:

custom_signature = ESP::CustomSignature.create(description: "A test custom signature.", identifier: "AWS::IAM::001", name: "Test Signature", risk_level: "Medium")

Parameters:

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

    Required hash of custom signature attributes.

    Valid Attributes

    See API documentation for valid arguments

Returns:



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

.find(id, options = {}) ⇒ ESP::CustomSignature

Find a CustomSignature by id

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

Parameters:

  • id (Integer, Numeric, #to_i)

    Required ID of the custom signature to retrieve.

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

    Optional hash of options.

    Valid Options

    include | The list of associated objects to return on the initial request.

    Valid Includable Associations

    See API documentation for valid arguments

Returns:



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

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

Find a list of custom signatures filtered by search parameters.

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

Parameters:

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

    Attributes with appended predicates to search, sort, and include.

    Valid Clauses

    See API documentation for valid arguments

Returns:



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

Instance Method Details

#definitionsActiveResource::PaginatedCollection<ESP::CustomSignature::Definition>



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

has_many :definitions, class_name: 'ESP::CustomSignature::Definition'

#destroyself

Delete a CustomSignature

Returns:

  • (self)


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

#organizationESP::Organization

The organization this custom signature belongs to.

Returns:



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

belongs_to :organization, class_name: 'ESP::Organization'

#saveBoolean

Create or update a CustomSignature

Valid Attributes

See API documentation for valid arguments

Examples:

custom_signature = ESP::CustomSignature.new(description: "A test custom signature.", identifier: "AWS::IAM::001", name: "Test Signature", risk_level: "Medium")
custom_signature.save

Returns:

  • (Boolean)


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

#suppress(arguments = {}) ⇒ ESP::Suppression::Signature

Create a suppression for this custom signature.

Examples:

suppress(regions: ['us_east_1'], external_account_ids: [5], reason: 'My very good reason for creating this suppression')

Parameters:

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

    Required hash of signature suppression attributes

    Valid Arguments

    See API documentation for valid arguments

Returns:



30
31
32
33
# File 'lib/esp/resources/custom_signature.rb', line 30

def suppress(arguments = {})
  arguments = arguments.with_indifferent_access
  ESP::Suppression::Signature.create(custom_signature_ids: [id], regions: Array(arguments[:regions]), external_account_ids: Array(arguments[:external_account_ids]), reason: arguments[:reason])
end

#teamsActiveResource::PaginatedCollection<ESP::Team>

The collection of teams that belong to the custom_signature.



16
17
18
19
# File 'lib/esp/resources/custom_signature.rb', line 16

def teams
  return attributes['teams'] if attributes['teams'].present?
  Team.where(custom_signatures_id_eq: id)
end