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.



11120
11121
11122
# File 'lib/google/apis/apigee_v1/classes.rb', line 11120

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


11058
11059
11060
# File 'lib/google/apis/apigee_v1/classes.rb', line 11058

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


11063
11064
11065
# File 'lib/google/apis/apigee_v1/classes.rb', line 11063

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


11068
11069
11070
# File 'lib/google/apis/apigee_v1/classes.rb', line 11068

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


11075
11076
11077
# File 'lib/google/apis/apigee_v1/classes.rb', line 11075

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


11083
11084
11085
# File 'lib/google/apis/apigee_v1/classes.rb', line 11083

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


11088
11089
11090
# File 'lib/google/apis/apigee_v1/classes.rb', line 11088

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


11093
11094
11095
# File 'lib/google/apis/apigee_v1/classes.rb', line 11093

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


11100
11101
11102
# File 'lib/google/apis/apigee_v1/classes.rb', line 11100

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


11106
11107
11108
# File 'lib/google/apis/apigee_v1/classes.rb', line 11106

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


11112
11113
11114
# File 'lib/google/apis/apigee_v1/classes.rb', line 11112

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


11118
11119
11120
# File 'lib/google/apis/apigee_v1/classes.rb', line 11118

def user_agents
  @user_agents
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
# File 'lib/google/apis/apigee_v1/classes.rb', line 11125

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