class QingCloud::SDK::SecurityGroupService

Attributes

config[RW]
properties[RW]

Public Class Methods

new(config, properties) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 24
def initialize(config, properties)
  self.config     = config
  self.properties = properties.deep_symbolize_keys
end

Public Instance Methods

add_security_group_rules(rules: [], security_group: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/add_security_group_rules.html

# File lib/qingcloud/sdk/service/security_group.rb, line 30
def add_security_group_rules(rules: [], security_group: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'AddSecurityGroupRules',
    request_method: 'GET',
    request_params: {
      'rules'          => rules,
      'security_group' => security_group,
    },
  }

  add_security_group_rules_input_validate input

  request = Request.new input
  request.send
end
apply_security_group(instances: [], security_group: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/apply_security_group.html

# File lib/qingcloud/sdk/service/security_group.rb, line 76
def apply_security_group(instances: [], security_group: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ApplySecurityGroup',
    request_method: 'GET',
    request_params: {
      'instances'      => instances,
      'security_group' => security_group,
    },
  }

  apply_security_group_input_validate input

  request = Request.new input
  request.send
end
create_security_group(security_group_name: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/create_security_group.html

# File lib/qingcloud/sdk/service/security_group.rb, line 107
def create_security_group(security_group_name: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'CreateSecurityGroup',
    request_method: 'GET',
    request_params: {
      'security_group_name' => security_group_name,
    },
  }

  create_security_group_input_validate input

  request = Request.new input
  request.send
end
create_security_group_ip_set(ipset_type: nil, security_group_ipset_name: '', val: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/create_security_group_ipset.html

# File lib/qingcloud/sdk/service/security_group.rb, line 133
def create_security_group_ip_set(ipset_type: nil, security_group_ipset_name: '', val: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'CreateSecurityGroupIPSet',
    request_method: 'GET',
    request_params: {
      'ipset_type'                => ipset_type, # ipset_type's available values: 0, 1
      'security_group_ipset_name' => security_group_ipset_name,
      'val'                       => val,
    },
  }

  create_security_group_ip_set_input_validate input

  request = Request.new input
  request.send
end
create_security_group_snapshot(name: '', security_group: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/create_security_group_snapshot.html

# File lib/qingcloud/sdk/service/security_group.rb, line 180
def create_security_group_snapshot(name: '', security_group: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'CreateSecurityGroupSnapshot',
    request_method: 'GET',
    request_params: {
      'name'           => name,
      'security_group' => security_group,
    },
  }

  create_security_group_snapshot_input_validate input

  request = Request.new input
  request.send
end
delete_security_group_ip_sets(security_group_ipsets: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/delete_security_group_ipsets.html

# File lib/qingcloud/sdk/service/security_group.rb, line 211
def delete_security_group_ip_sets(security_group_ipsets: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DeleteSecurityGroupIPSets',
    request_method: 'GET',
    request_params: {
      'security_group_ipsets' => security_group_ipsets,
    },
  }

  delete_security_group_ip_sets_input_validate input

  request = Request.new input
  request.send
end
delete_security_group_rules(security_group_rules: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/delete_security_group_rules.html

# File lib/qingcloud/sdk/service/security_group.rb, line 241
def delete_security_group_rules(security_group_rules: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DeleteSecurityGroupRules',
    request_method: 'GET',
    request_params: {
      'security_group_rules' => security_group_rules,
    },
  }

  delete_security_group_rules_input_validate input

  request = Request.new input
  request.send
end
delete_security_group_snapshots(security_group_snapshots: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/delete_security_group_snapshots.html

# File lib/qingcloud/sdk/service/security_group.rb, line 271
def delete_security_group_snapshots(security_group_snapshots: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DeleteSecurityGroupSnapshots',
    request_method: 'GET',
    request_params: {
      'security_group_snapshots' => security_group_snapshots,
    },
  }

  delete_security_group_snapshots_input_validate input

  request = Request.new input
  request.send
end
delete_security_groups(security_groups: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/delete_security_groups.html

# File lib/qingcloud/sdk/service/security_group.rb, line 301
def delete_security_groups(security_groups: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DeleteSecurityGroups',
    request_method: 'GET',
    request_params: {
      'security_groups' => security_groups,
    },
  }

  delete_security_groups_input_validate input

  request = Request.new input
  request.send
end
describe_security_group_ip_sets(ipset_type: nil, limit: nil, offset: nil, security_group_ipset_name: '', security_group_ipsets: [], tags: [], verbose: nil) click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/describe_security_group_ipsets.html

# File lib/qingcloud/sdk/service/security_group.rb, line 331
def describe_security_group_ip_sets(ipset_type: nil, limit: nil, offset: nil, security_group_ipset_name: '', security_group_ipsets: [], tags: [], verbose: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeSecurityGroupIPSets',
    request_method: 'GET',
    request_params: {
      'ipset_type'                => ipset_type, # ipset_type's available values: 0, 1
      'limit'                     => limit,
      'offset'                    => offset,
      'security_group_ipset_name' => security_group_ipset_name,
      'security_group_ipsets'     => security_group_ipsets,
      'tags'                      => tags,
      'verbose'                   => verbose,
    },
  }

  describe_security_group_ip_sets_input_validate input

  request = Request.new input
  request.send
end
describe_security_group_rules(direction: nil, limit: nil, offset: nil, security_group: '', security_group_rules: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/describe_security_group_rules.html

# File lib/qingcloud/sdk/service/security_group.rb, line 374
def describe_security_group_rules(direction: nil, limit: nil, offset: nil, security_group: '', security_group_rules: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeSecurityGroupRules',
    request_method: 'GET',
    request_params: {
      'direction'            => direction, # direction's available values: 0, 1
      'limit'                => limit,
      'offset'               => offset,
      'security_group'       => security_group,
      'security_group_rules' => security_group_rules,
    },
  }

  describe_security_group_rules_input_validate input

  request = Request.new input
  request.send
end
describe_security_group_snapshots(limit: nil, offset: nil, reverse: nil, security_group: '', security_group_snapshots: []) click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/describe_security_group_snapshots.html

# File lib/qingcloud/sdk/service/security_group.rb, line 419
def describe_security_group_snapshots(limit: nil, offset: nil, reverse: nil, security_group: '', security_group_snapshots: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeSecurityGroupSnapshots',
    request_method: 'GET',
    request_params: {
      'limit'                    => limit,
      'offset'                   => offset,
      'reverse'                  => reverse,
      'security_group'           => security_group,
      'security_group_snapshots' => security_group_snapshots,
    },
  }

  describe_security_group_snapshots_input_validate input

  request = Request.new input
  request.send
end
describe_security_groups(limit: nil, offset: nil, search_word: '', security_groups: [], tags: [], verbose: nil) click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/describe_security_groups.html

# File lib/qingcloud/sdk/service/security_group.rb, line 453
def describe_security_groups(limit: nil, offset: nil, search_word: '', security_groups: [], tags: [], verbose: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeSecurityGroups',
    request_method: 'GET',
    request_params: {
      'limit'           => limit,
      'offset'          => offset,
      'search_word'     => search_word,
      'security_groups' => security_groups,
      'tags'            => tags,
      'verbose'         => verbose,
    },
  }

  describe_security_groups_input_validate input

  request = Request.new input
  request.send
end
modify_security_group_attributes(description: '', security_group: '', security_group_name: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/modify_security_group_attributes.html

# File lib/qingcloud/sdk/service/security_group.rb, line 484
def modify_security_group_attributes(description: '', security_group: '', security_group_name: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ModifySecurityGroupAttributes',
    request_method: 'GET',
    request_params: {
      'description'         => description,
      'security_group'      => security_group,
      'security_group_name' => security_group_name,
    },
  }

  modify_security_group_attributes_input_validate input

  request = Request.new input
  request.send
end
modify_security_group_ip_set_attributes(description: '', security_group_ipset: '', security_group_ipset_name: '', val: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/modify_security_group_ipset_attributes.html

# File lib/qingcloud/sdk/service/security_group.rb, line 516
def modify_security_group_ip_set_attributes(description: '', security_group_ipset: '', security_group_ipset_name: '', val: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ModifySecurityGroupIPSetAttributes',
    request_method: 'GET',
    request_params: {
      'description'               => description,
      'security_group_ipset'      => security_group_ipset,
      'security_group_ipset_name' => security_group_ipset_name,
      'val'                       => val,
    },
  }

  modify_security_group_ip_set_attributes_input_validate input

  request = Request.new input
  request.send
end
modify_security_group_rule_attributes(direction: nil, priority: nil, protocol: '', rule_action: '', security_group: '', security_group_rule: '', security_group_rule_name: '', val1: nil, val2: nil, val3: nil) click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/modify_security_group_rule_attributes.html

# File lib/qingcloud/sdk/service/security_group.rb, line 549
def modify_security_group_rule_attributes(direction: nil, priority: nil, protocol: '', rule_action: '', security_group: '', security_group_rule: '', security_group_rule_name: '', val1: nil, val2: nil, val3: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ModifySecurityGroupRuleAttributes',
    request_method: 'GET',
    request_params: {
      'direction'                => direction, # direction's available values: 0, 1
      'priority'                 => priority,
      'protocol'                 => protocol,
      'rule_action'              => rule_action, # rule_action's available values: accept, drop
      'security_group'           => security_group,
      'security_group_rule'      => security_group_rule,
      'security_group_rule_name' => security_group_rule_name,
      'val1'                     => val1,
      'val2'                     => val2,
      'val3'                     => val3,
    },
  }

  modify_security_group_rule_attributes_input_validate input

  request = Request.new input
  request.send
end
rollback_security_group(security_group: '', security_group_snapshot: '') click to toggle source

Documentation URL: docs.qingcloud.com/api/sg/rollback_security_group.html

# File lib/qingcloud/sdk/service/security_group.rb, line 610
def rollback_security_group(security_group: '', security_group_snapshot: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'RollbackSecurityGroup',
    request_method: 'GET',
    request_params: {
      'security_group'          => security_group,
      'security_group_snapshot' => security_group_snapshot,
    },
  }

  rollback_security_group_input_validate input

  request = Request.new input
  request.send
end

Private Instance Methods

add_security_group_rules_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 50
def add_security_group_rules_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['rules'].nil? && !input['request_params']['rules'].to_s.empty?
    raise ParameterRequiredError.new('rules', 'AddSecurityGroupRulesInput')
  end

  input['request_params']['rules'].map do |x|
    next unless x['action'] && !x['action'].to_s.empty?
    action_valid_values = %w(accept drop)
    next if action_valid_values.include? x['action'].to_s
    raise ParameterValueNotAllowedError.new(
      'action',
      x['action'],
      action_valid_values,
    )
  end

  unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
    raise ParameterRequiredError.new('security_group', 'AddSecurityGroupRulesInput')
  end
end
apply_security_group_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 96
def apply_security_group_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
    raise ParameterRequiredError.new('security_group', 'ApplySecurityGroupInput')
  end
end
create_security_group_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 126
def create_security_group_input_validate(input)
  input.deep_stringify_keys!
end
create_security_group_ip_set_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 154
def create_security_group_ip_set_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['ipset_type'].nil? && !input['request_params']['ipset_type'].to_s.empty?
    raise ParameterRequiredError.new('ipset_type', 'CreateSecurityGroupIPSetInput')
  end

  if input['request_params']['ipset_type'] && !input['request_params']['ipset_type'].to_s.empty?
    ipset_type_valid_values = %w(0 1)
    unless ipset_type_valid_values.include? input['request_params']['ipset_type'].to_s
      raise ParameterValueNotAllowedError.new(
        'ipset_type',
        input['request_params']['ipset_type'],
        ipset_type_valid_values,
      )
    end
  end

  unless !input['request_params']['val'].nil? && !input['request_params']['val'].to_s.empty?
    raise ParameterRequiredError.new('val', 'CreateSecurityGroupIPSetInput')
  end
end
create_security_group_snapshot_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 200
def create_security_group_snapshot_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
    raise ParameterRequiredError.new('security_group', 'CreateSecurityGroupSnapshotInput')
  end
end
delete_security_group_ip_sets_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 230
def delete_security_group_ip_sets_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['security_group_ipsets'].nil? && !input['request_params']['security_group_ipsets'].to_s.empty?
    raise ParameterRequiredError.new('security_group_ipsets', 'DeleteSecurityGroupIPSetsInput')
  end
end
delete_security_group_rules_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 260
def delete_security_group_rules_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['security_group_rules'].nil? && !input['request_params']['security_group_rules'].to_s.empty?
    raise ParameterRequiredError.new('security_group_rules', 'DeleteSecurityGroupRulesInput')
  end
end
delete_security_group_snapshots_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 290
def delete_security_group_snapshots_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['security_group_snapshots'].nil? && !input['request_params']['security_group_snapshots'].to_s.empty?
    raise ParameterRequiredError.new('security_group_snapshots', 'DeleteSecurityGroupSnapshotsInput')
  end
end
delete_security_groups_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 320
def delete_security_groups_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['security_groups'].nil? && !input['request_params']['security_groups'].to_s.empty?
    raise ParameterRequiredError.new('security_groups', 'DeleteSecurityGroupsInput')
  end
end
describe_security_group_ip_sets_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 356
def describe_security_group_ip_sets_input_validate(input)
  input.deep_stringify_keys!

  if input['request_params']['ipset_type'] && !input['request_params']['ipset_type'].to_s.empty?
    ipset_type_valid_values = %w(0 1)
    unless ipset_type_valid_values.include? input['request_params']['ipset_type'].to_s
      raise ParameterValueNotAllowedError.new(
        'ipset_type',
        input['request_params']['ipset_type'],
        ipset_type_valid_values,
      )
    end
  end
end
describe_security_group_rules_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 397
def describe_security_group_rules_input_validate(input)
  input.deep_stringify_keys!

  if input['request_params']['direction'] && !input['request_params']['direction'].to_s.empty?
    direction_valid_values = %w(0 1)
    unless direction_valid_values.include? input['request_params']['direction'].to_s
      raise ParameterValueNotAllowedError.new(
        'direction',
        input['request_params']['direction'],
        direction_valid_values,
      )
    end
  end

  unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
    raise ParameterRequiredError.new('security_group', 'DescribeSecurityGroupRulesInput')
  end
end
describe_security_group_snapshots_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 442
def describe_security_group_snapshots_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
    raise ParameterRequiredError.new('security_group', 'DescribeSecurityGroupSnapshotsInput')
  end
end
describe_security_groups_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 477
def describe_security_groups_input_validate(input)
  input.deep_stringify_keys!
end
modify_security_group_attributes_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 505
def modify_security_group_attributes_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
    raise ParameterRequiredError.new('security_group', 'ModifySecurityGroupAttributesInput')
  end
end
modify_security_group_ip_set_attributes_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 538
def modify_security_group_ip_set_attributes_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['security_group_ipset'].nil? && !input['request_params']['security_group_ipset'].to_s.empty?
    raise ParameterRequiredError.new('security_group_ipset', 'ModifySecurityGroupIPSetAttributesInput')
  end
end
modify_security_group_rule_attributes_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 577
def modify_security_group_rule_attributes_input_validate(input)
  input.deep_stringify_keys!

  if input['request_params']['direction'] && !input['request_params']['direction'].to_s.empty?
    direction_valid_values = %w(0 1)
    unless direction_valid_values.include? input['request_params']['direction'].to_s
      raise ParameterValueNotAllowedError.new(
        'direction',
        input['request_params']['direction'],
        direction_valid_values,
      )
    end
  end

  if input['request_params']['rule_action'] && !input['request_params']['rule_action'].to_s.empty?
    rule_action_valid_values = %w(accept drop)
    unless rule_action_valid_values.include? input['request_params']['rule_action'].to_s
      raise ParameterValueNotAllowedError.new(
        'rule_action',
        input['request_params']['rule_action'],
        rule_action_valid_values,
      )
    end
  end

  unless !input['request_params']['security_group_rule'].nil? && !input['request_params']['security_group_rule'].to_s.empty?
    raise ParameterRequiredError.new('security_group_rule', 'ModifySecurityGroupRuleAttributesInput')
  end
end
rollback_security_group_input_validate(input) click to toggle source
# File lib/qingcloud/sdk/service/security_group.rb, line 630
def rollback_security_group_input_validate(input)
  input.deep_stringify_keys!

  unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
    raise ParameterRequiredError.new('security_group', 'RollbackSecurityGroupInput')
  end

  unless !input['request_params']['security_group_snapshot'].nil? && !input['request_params']['security_group_snapshot'].to_s.empty?
    raise ParameterRequiredError.new('security_group_snapshot', 'RollbackSecurityGroupInput')
  end
end