Class: Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionConditionConfig

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/apigee_v1/classes.rb,
lib/google/apis/apigee_v1/representations.rb,
lib/google/apis/apigee_v1/representations.rb

Overview

The following are a list of conditions. A valid SecurityAction must contain at least one condition. Within a condition, each element is ORed. Across conditions elements are ANDed. For example if a SecurityAction has the following: ip_address_ranges: ["ip1", "ip2"] and bot_reasons: ["Flooder", " Robot Abuser"] then this is interpreted as: enforce the action if the incoming request has ((ip_address_ranges = "ip1" OR ip_address_ranges = "ip2") AND ( bot_reasons="Flooder" OR bot_reasons="Robot Abuser")). Conditions other than ip_address_ranges and bot_reasons cannot be ANDed.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudApigeeV1SecurityActionConditionConfig

Returns a new instance of GoogleCloudApigeeV1SecurityActionConditionConfig.



9665
9666
9667
# File 'lib/google/apis/apigee_v1/classes.rb', line 9665

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#access_tokensArray<String>

Optional. A list of access_tokens. Limit 1000 per action. Corresponds to the JSON property accessTokens

Returns:

  • (Array<String>)


9603
9604
9605
# File 'lib/google/apis/apigee_v1/classes.rb', line 9603

def access_tokens
  @access_tokens
end

#api_keysArray<String>

Optional. A list of API keys. Limit 1000 per action. Corresponds to the JSON property apiKeys

Returns:

  • (Array<String>)


9608
9609
9610
# File 'lib/google/apis/apigee_v1/classes.rb', line 9608

def api_keys
  @api_keys
end

#api_productsArray<String>

Optional. A list of API Products. Limit 1000 per action. Corresponds to the JSON property apiProducts

Returns:

  • (Array<String>)


9613
9614
9615
# File 'lib/google/apis/apigee_v1/classes.rb', line 9613

def api_products
  @api_products
end

#asnsArray<Fixnum>

Optional. A list of ASN numbers to act on, e.g. 23. https://en.wikipedia.org/ wiki/Autonomous_system_(Internet) This uses int64 instead of uint32 because of https://linter.aip.dev/141/forbidden-types. Corresponds to the JSON property asns

Returns:

  • (Array<Fixnum>)


9620
9621
9622
# File 'lib/google/apis/apigee_v1/classes.rb', line 9620

def asns
  @asns
end

#bot_reasonsArray<String>

Optional. A list of Bot Reasons. Current options: Flooder, Brute Guessor, Static Content Scraper, OAuth Abuser, Robot Abuser, TorListRule, Advanced Anomaly Detection, Advanced API Scraper, Search Engine Crawlers, Public Clouds, Public Cloud AWS, Public Cloud Azure, and Public Cloud Google. Corresponds to the JSON property botReasons

Returns:

  • (Array<String>)


9628
9629
9630
# File 'lib/google/apis/apigee_v1/classes.rb', line 9628

def bot_reasons
  @bot_reasons
end

#developer_appsArray<String>

Optional. A list of developer apps. Limit 1000 per action. Corresponds to the JSON property developerApps

Returns:

  • (Array<String>)


9633
9634
9635
# File 'lib/google/apis/apigee_v1/classes.rb', line 9633

def developer_apps
  @developer_apps
end

#developersArray<String>

Optional. A list of developers. Limit 1000 per action. Corresponds to the JSON property developers

Returns:

  • (Array<String>)


9638
9639
9640
# File 'lib/google/apis/apigee_v1/classes.rb', line 9638

def developers
  @developers
end

#http_methodsArray<String>

Optional. Act only on particular HTTP methods. E.g. A read-only API can block POST/PUT/DELETE methods. Accepted values are: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE and PATCH. Corresponds to the JSON property httpMethods

Returns:

  • (Array<String>)


9645
9646
9647
# File 'lib/google/apis/apigee_v1/classes.rb', line 9645

def http_methods
  @http_methods
end

#ip_address_rangesArray<String>

Optional. A list of IP addresses. This could be either IPv4 or IPv6. Limited to 100 per action. Corresponds to the JSON property ipAddressRanges

Returns:

  • (Array<String>)


9651
9652
9653
# File 'lib/google/apis/apigee_v1/classes.rb', line 9651

def ip_address_ranges
  @ip_address_ranges
end

#region_codesArray<String>

Optional. A list of countries/region codes to act on, e.g. US. This follows https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2. Corresponds to the JSON property regionCodes

Returns:

  • (Array<String>)


9657
9658
9659
# File 'lib/google/apis/apigee_v1/classes.rb', line 9657

def region_codes
  @region_codes
end

#user_agentsArray<String>

Optional. A list of user agents to deny. We look for exact matches. Limit 50 per action. Corresponds to the JSON property userAgents

Returns:

  • (Array<String>)


9663
9664
9665
# File 'lib/google/apis/apigee_v1/classes.rb', line 9663

def user_agents
  @user_agents
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
# File 'lib/google/apis/apigee_v1/classes.rb', line 9670

def update!(**args)
  @access_tokens = args[:access_tokens] if args.key?(:access_tokens)
  @api_keys = args[:api_keys] if args.key?(:api_keys)
  @api_products = args[:api_products] if args.key?(:api_products)
  @asns = args[:asns] if args.key?(:asns)
  @bot_reasons = args[:bot_reasons] if args.key?(:bot_reasons)
  @developer_apps = args[:developer_apps] if args.key?(:developer_apps)
  @developers = args[:developers] if args.key?(:developers)
  @http_methods = args[:http_methods] if args.key?(:http_methods)
  @ip_address_ranges = args[:ip_address_ranges] if args.key?(:ip_address_ranges)
  @region_codes = args[:region_codes] if args.key?(:region_codes)
  @user_agents = args[:user_agents] if args.key?(:user_agents)
end