Class: Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionConditionConfig
- Inherits:
-
Object
- Object
- Google::Apis::ApigeeV1::GoogleCloudApigeeV1SecurityActionConditionConfig
- 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
-
#access_tokens ⇒ Array<String>
Optional.
-
#api_keys ⇒ Array<String>
Optional.
-
#api_products ⇒ Array<String>
Optional.
-
#asns ⇒ Array<Fixnum>
Optional.
-
#bot_reasons ⇒ Array<String>
Optional.
-
#developer_apps ⇒ Array<String>
Optional.
-
#developers ⇒ Array<String>
Optional.
-
#http_methods ⇒ Array<String>
Optional.
-
#ip_address_ranges ⇒ Array<String>
Optional.
-
#region_codes ⇒ Array<String>
Optional.
-
#user_agents ⇒ Array<String>
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GoogleCloudApigeeV1SecurityActionConditionConfig
constructor
A new instance of GoogleCloudApigeeV1SecurityActionConditionConfig.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ GoogleCloudApigeeV1SecurityActionConditionConfig
Returns a new instance of GoogleCloudApigeeV1SecurityActionConditionConfig.
10974 10975 10976 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 10974 def initialize(**args) update!(**args) end |
Instance Attribute Details
#access_tokens ⇒ Array<String>
Optional. A list of access_tokens. Limit 1000 per action.
Corresponds to the JSON property accessTokens
10912 10913 10914 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 10912 def access_tokens @access_tokens end |
#api_keys ⇒ Array<String>
Optional. A list of API keys. Limit 1000 per action.
Corresponds to the JSON property apiKeys
10917 10918 10919 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 10917 def api_keys @api_keys end |
#api_products ⇒ Array<String>
Optional. A list of API Products. Limit 1000 per action.
Corresponds to the JSON property apiProducts
10922 10923 10924 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 10922 def api_products @api_products end |
#asns ⇒ Array<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
10929 10930 10931 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 10929 def asns @asns end |
#bot_reasons ⇒ Array<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
10937 10938 10939 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 10937 def bot_reasons @bot_reasons end |
#developer_apps ⇒ Array<String>
Optional. A list of developer apps. Limit 1000 per action.
Corresponds to the JSON property developerApps
10942 10943 10944 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 10942 def developer_apps @developer_apps end |
#developers ⇒ Array<String>
Optional. A list of developers. Limit 1000 per action.
Corresponds to the JSON property developers
10947 10948 10949 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 10947 def developers @developers end |
#http_methods ⇒ Array<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
10954 10955 10956 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 10954 def http_methods @http_methods end |
#ip_address_ranges ⇒ Array<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
10960 10961 10962 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 10960 def ip_address_ranges @ip_address_ranges end |
#region_codes ⇒ Array<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
10966 10967 10968 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 10966 def region_codes @region_codes end |
#user_agents ⇒ Array<String>
Optional. A list of user agents to deny. We look for exact matches. Limit 50
per action.
Corresponds to the JSON property userAgents
10972 10973 10974 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 10972 def user_agents @user_agents end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 |
# File 'lib/google/apis/apigee_v1/classes.rb', line 10979 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 |