Class: Aws::RDS::DBSecurityGroup

Inherits:
Object
  • Object
show all
Extended by:
Deprecations
Defined in:
lib/aws-sdk-rds/db_security_group.rb

Defined Under Namespace

Classes: Collection

Read-Only Attributes collapse

Actions collapse

Associations collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, options = {}) ⇒ DBSecurityGroup #initialize(options = {}) ⇒ DBSecurityGroup

Returns a new instance of DBSecurityGroup.

Overloads:

  • #initialize(name, options = {}) ⇒ DBSecurityGroup

    Parameters:

    • name (String)

    Options Hash (options):

  • #initialize(options = {}) ⇒ DBSecurityGroup

    Options Hash (options):

    • :name (required, String)
    • :client (Client)


19
20
21
22
23
24
# File 'lib/aws-sdk-rds/db_security_group.rb', line 19

def initialize(*args)
  options = Hash === args.last ? args.pop.dup : {}
  @name = extract_name(args, options)
  @data = options.delete(:data)
  @client = options.delete(:client) || Client.new(options)
end

Instance Method Details

#authorize_ingress(options = {}) ⇒ DBSecurityGroup

Examples:

Request syntax with placeholder values


dbsecuritygroup = db_security_group.authorize_ingress({
  cidrip: "String",
  ec2_security_group_name: "String",
  ec2_security_group_id: "String",
  ec2_security_group_owner_id: "String",
})

Parameters:

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

    ({})

Options Hash (options):

  • :cidrip (String)

    The IP range to authorize.

  • :ec2_security_group_name (String)

    Name of the EC2 security group to authorize. For VPC DB security groups, ‘EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.

  • :ec2_security_group_id (String)

    Id of the EC2 security group to authorize. For VPC DB security groups, ‘EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.

  • :ec2_security_group_owner_id (String)

    AWS account number of the owner of the EC2 security group specified in the ‘EC2SecurityGroupName` parameter. The AWS Access Key ID is not an acceptable value. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.

Returns:



135
136
137
138
139
140
141
142
143
# File 'lib/aws-sdk-rds/db_security_group.rb', line 135

def authorize_ingress(options = {})
  options = options.merge(db_security_group_name: @name)
  resp = @client.authorize_db_security_group_ingress(options)
  DBSecurityGroup.new(
    name: resp.data.db_security_group.db_security_group_name,
    data: resp.data.db_security_group,
    client: @client
  )
end

#clientClient

Returns:



73
74
75
# File 'lib/aws-sdk-rds/db_security_group.rb', line 73

def client
  @client
end

#create(options = {}) ⇒ DBSecurityGroup

Examples:

Request syntax with placeholder values


dbsecuritygroup = db_security_group.create({
  db_security_group_description: "String", # required
  tags: [
    {
      key: "String",
      value: "String",
    },
  ],
})

Parameters:

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

    ({})

Options Hash (options):

  • :db_security_group_description (required, String)

    The description for the DB security group.

  • :tags (Array<Types::Tag>)

    A list of tags.

Returns:



162
163
164
165
166
167
168
169
170
# File 'lib/aws-sdk-rds/db_security_group.rb', line 162

def create(options = {})
  options = options.merge(db_security_group_name: @name)
  resp = @client.create_db_security_group(options)
  DBSecurityGroup.new(
    name: resp.data.db_security_group.db_security_group_name,
    data: resp.data.db_security_group,
    client: @client
  )
end

#dataTypes::DBSecurityGroup

Returns the data for this Aws::RDS::DBSecurityGroup. Calls Client#describe_db_security_groups if #data_loaded? is ‘false`.

Returns:



93
94
95
96
# File 'lib/aws-sdk-rds/db_security_group.rb', line 93

def data
  load unless @data
  @data
end

#data_loaded?Boolean

Returns ‘true` if this resource is loaded. Accessing attributes or #data on an unloaded resource will trigger a call to #load.

Returns:

  • (Boolean)

    Returns ‘true` if this resource is loaded. Accessing attributes or #data on an unloaded resource will trigger a call to #load.



101
102
103
# File 'lib/aws-sdk-rds/db_security_group.rb', line 101

def data_loaded?
  !!@data
end

#db_security_group_arnString

The Amazon Resource Name (ARN) for the DB security group.

Returns:

  • (String)


66
67
68
# File 'lib/aws-sdk-rds/db_security_group.rb', line 66

def db_security_group_arn
  data.db_security_group_arn
end

#db_security_group_descriptionString

Provides the description of the DB security group.

Returns:

  • (String)


42
43
44
# File 'lib/aws-sdk-rds/db_security_group.rb', line 42

def db_security_group_description
  data.db_security_group_description
end

#delete(options = {}) ⇒ EmptyStructure

Examples:

Request syntax with placeholder values


db_security_group.delete()

Parameters:

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

    ({})

Returns:

  • (EmptyStructure)


177
178
179
180
181
# File 'lib/aws-sdk-rds/db_security_group.rb', line 177

def delete(options = {})
  options = options.merge(db_security_group_name: @name)
  resp = @client.delete_db_security_group(options)
  resp.data
end

#ec2_security_groupsArray<Types::EC2SecurityGroup>

Contains a list of EC2SecurityGroup elements.

Returns:



54
55
56
# File 'lib/aws-sdk-rds/db_security_group.rb', line 54

def ec2_security_groups
  data.ec2_security_groups
end

#events(options = {}) ⇒ Event::Collection

Examples:

Request syntax with placeholder values


events = db_security_group.events({
  start_time: Time.now,
  end_time: Time.now,
  duration: 1,
  event_categories: ["String"],
  filters: [
    {
      name: "String", # required
      values: ["String"], # required
    },
  ],
})

Parameters:

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

    ({})

Options Hash (options):

  • :start_time (Time, DateTime, Date, Integer, String)

    The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the

    ISO8601 Wikipedia page.][1

    Example: 2009-07-08T18:00Z

    [1]: en.wikipedia.org/wiki/ISO_8601

  • :end_time (Time, DateTime, Date, Integer, String)

    The end of the time interval for which to retrieve events, specified in ISO 8601 format. For more information about ISO 8601, go to the

    ISO8601 Wikipedia page.][1

    Example: 2009-07-08T18:00Z

    [1]: en.wikipedia.org/wiki/ISO_8601

  • :duration (Integer)

    The number of minutes to retrieve events for.

    Default: 60

  • :event_categories (Array<String>)

    A list of event categories that trigger notifications for a event notification subscription.

  • :filters (Array<Types::Filter>)

    This parameter is not currently supported.

Returns:



311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
# File 'lib/aws-sdk-rds/db_security_group.rb', line 311

def events(options = {})
  batches = Enumerator.new do |y|
    options = options.merge(
      source_type: "db-security-group",
      source_identifier: @name
    )
    resp = @client.describe_events(options)
    resp.each_page do |page|
      batch = []
      page.data.events.each do |e|
        batch << Event.new(
          source_id: e.source_identifier,
          date: e.date,
          data: e,
          client: @client
        )
      end
      y.yield(batch)
    end
  end
  Event::Collection.new(batches)
end

#identifiersObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.


336
337
338
# File 'lib/aws-sdk-rds/db_security_group.rb', line 336

def identifiers
  { name: @name }
end

#ip_rangesArray<Types::IPRange>

Contains a list of IPRange elements.

Returns:



60
61
62
# File 'lib/aws-sdk-rds/db_security_group.rb', line 60

def ip_ranges
  data.ip_ranges
end

#loadself Also known as: reload

Loads, or reloads #data for the current Aws::RDS::DBSecurityGroup. Returns ‘self` making it possible to chain methods.

db_security_group.reload.data

Returns:

  • (self)


83
84
85
86
87
# File 'lib/aws-sdk-rds/db_security_group.rb', line 83

def load
  resp = @client.describe_db_security_groups(db_security_group_name: @name)
  @data = resp.db_security_groups[0]
  self
end

#nameString Also known as: db_security_group_name

Returns:

  • (String)


29
30
31
# File 'lib/aws-sdk-rds/db_security_group.rb', line 29

def name
  @name
end

#owner_idString

Provides the AWS ID of the owner of a specific DB security group.

Returns:

  • (String)


36
37
38
# File 'lib/aws-sdk-rds/db_security_group.rb', line 36

def owner_id
  data.owner_id
end

#revoke_ingress(options = {}) ⇒ DBSecurityGroup

Examples:

Request syntax with placeholder values


dbsecuritygroup = db_security_group.revoke_ingress({
  cidrip: "String",
  ec2_security_group_name: "String",
  ec2_security_group_id: "String",
  ec2_security_group_owner_id: "String",
})

Parameters:

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

    ({})

Options Hash (options):

  • :cidrip (String)

    The IP range to revoke access from. Must be a valid CIDR range. If ‘CIDRIP` is specified, `EC2SecurityGroupName`, `EC2SecurityGroupId` and `EC2SecurityGroupOwnerId` cannot be provided.

  • :ec2_security_group_name (String)

    The name of the EC2 security group to revoke access from. For VPC DB security groups, ‘EC2SecurityGroupId` must be provided. Otherwise, EC2SecurityGroupOwnerId and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.

  • :ec2_security_group_id (String)

    The id of the EC2 security group to revoke access from. For VPC DB security groups, ‘EC2SecurityGroupId` must be provided. Otherwise, EC2SecurityGroupOwnerId and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.

  • :ec2_security_group_owner_id (String)

    The AWS Account Number of the owner of the EC2 security group specified in the ‘EC2SecurityGroupName` parameter. The AWS Access Key ID is not an acceptable value. For VPC DB security groups, `EC2SecurityGroupId` must be provided. Otherwise, EC2SecurityGroupOwnerId and either `EC2SecurityGroupName` or `EC2SecurityGroupId` must be provided.

Returns:



214
215
216
217
218
219
220
221
222
# File 'lib/aws-sdk-rds/db_security_group.rb', line 214

def revoke_ingress(options = {})
  options = options.merge(db_security_group_name: @name)
  resp = @client.revoke_db_security_group_ingress(options)
  DBSecurityGroup.new(
    name: resp.data.db_security_group.db_security_group_name,
    data: resp.data.db_security_group,
    client: @client
  )
end

#subscribe_to(options = {}) ⇒ EventSubscription

Examples:

Request syntax with placeholder values


eventsubscription = db_security_group.subscribe_to({
  subscription_name: "String", # required
})

Parameters:

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

    ({})

Options Hash (options):

  • :subscription_name (required, String)

    The name of the RDS event notification subscription you want to add a source identifier to.

Returns:



234
235
236
237
238
239
240
241
242
# File 'lib/aws-sdk-rds/db_security_group.rb', line 234

def subscribe_to(options = {})
  options = options.merge(source_identifier: @name)
  resp = @client.add_source_identifier_to_subscription(options)
  EventSubscription.new(
    name: resp.data.event_subscription.cust_subscription_id,
    data: resp.data.event_subscription,
    client: @client
  )
end

#unsubscribe_from(options = {}) ⇒ EventSubscription

Examples:

Request syntax with placeholder values


eventsubscription = db_security_group.unsubscribe_from({
  subscription_name: "String", # required
})

Parameters:

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

    ({})

Options Hash (options):

  • :subscription_name (required, String)

    The name of the RDS event notification subscription you want to remove a source identifier from.

Returns:



254
255
256
257
258
259
260
261
262
# File 'lib/aws-sdk-rds/db_security_group.rb', line 254

def unsubscribe_from(options = {})
  options = options.merge(source_identifier: @name)
  resp = @client.remove_source_identifier_from_subscription(options)
  EventSubscription.new(
    name: resp.data.event_subscription.cust_subscription_id,
    data: resp.data.event_subscription,
    client: @client
  )
end

#vpc_idString

Provides the VpcId of the DB security group.

Returns:

  • (String)


48
49
50
# File 'lib/aws-sdk-rds/db_security_group.rb', line 48

def vpc_id
  data.vpc_id
end