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.



8919
8920
8921
# File 'lib/google/apis/apigee_v1/classes.rb', line 8919

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>)


8877
8878
8879
# File 'lib/google/apis/apigee_v1/classes.rb', line 8877

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>)


8882
8883
8884
# File 'lib/google/apis/apigee_v1/classes.rb', line 8882

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>)


8887
8888
8889
# File 'lib/google/apis/apigee_v1/classes.rb', line 8887

def api_products
  @api_products
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>)


8895
8896
8897
# File 'lib/google/apis/apigee_v1/classes.rb', line 8895

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>)


8900
8901
8902
# File 'lib/google/apis/apigee_v1/classes.rb', line 8900

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>)


8905
8906
8907
# File 'lib/google/apis/apigee_v1/classes.rb', line 8905

def developers
  @developers
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>)


8911
8912
8913
# File 'lib/google/apis/apigee_v1/classes.rb', line 8911

def ip_address_ranges
  @ip_address_ranges
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>)


8917
8918
8919
# File 'lib/google/apis/apigee_v1/classes.rb', line 8917

def user_agents
  @user_agents
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
# File 'lib/google/apis/apigee_v1/classes.rb', line 8924

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)
  @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)
  @ip_address_ranges = args[:ip_address_ranges] if args.key?(:ip_address_ranges)
  @user_agents = args[:user_agents] if args.key?(:user_agents)
end